@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.
- package/README.md +40 -14
- package/dist/kurot/runtime/applyRuntimeProperty.d.ts.map +1 -1
- package/dist/kurot/runtime/applyRuntimeProperty.js +16 -7
- package/dist/kurot/runtime/applyRuntimeProperty.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyBuiltInProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyBuiltInProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyBuiltInProperties.js +61 -0
- package/dist/kurot/runtime/builtins/applyBuiltInProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyButtonProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyButtonProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyButtonProperties.js +43 -0
- package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyComponentProperties.d.ts +3 -4
- package/dist/kurot/runtime/builtins/applyComponentProperties.d.ts.map +1 -1
- package/dist/kurot/runtime/builtins/applyComponentProperties.js +2 -97
- package/dist/kurot/runtime/builtins/applyComponentProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/{applyDisplayProperties.js → applyDisplayObjectProperties.js} +3 -68
- package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyEditableTextProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyEditableTextProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyEditableTextProperties.js +41 -0
- package/dist/kurot/runtime/builtins/applyEditableTextProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyGroupProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyGroupProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/{applyContainerProperties.js → applyGroupProperties.js} +3 -14
- package/dist/kurot/runtime/builtins/applyGroupProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyImageProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyImageProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyImageProperties.js +44 -0
- package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyLabelProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyLabelProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/{applyTextProperties.js → applyLabelProperties.js} +3 -6
- package/dist/kurot/runtime/builtins/applyLabelProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyProgressBarProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyProgressBarProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyProgressBarProperties.js +40 -0
- package/dist/kurot/runtime/builtins/applyProgressBarProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyRectProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyRectProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyRectProperties.js +40 -0
- package/dist/kurot/runtime/builtins/applyRectProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyTextInputProperties.d.ts +6 -0
- package/dist/kurot/runtime/builtins/applyTextInputProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyTextInputProperties.js +55 -0
- package/dist/kurot/runtime/builtins/applyTextInputProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts +9 -0
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.js +80 -0
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.js.map +1 -0
- package/dist/kurot/runtime/builtins/componentFactories.d.ts.map +1 -1
- package/dist/kurot/runtime/builtins/componentFactories.js +3 -1
- package/dist/kurot/runtime/builtins/componentFactories.js.map +1 -1
- package/dist/kurot/runtime/createKurotUI.d.ts.map +1 -1
- package/dist/kurot/runtime/createKurotUI.js +29 -1
- package/dist/kurot/runtime/createKurotUI.js.map +1 -1
- package/dist/kurot/runtime/descriptors/createLayout.d.ts +1 -2
- package/dist/kurot/runtime/descriptors/createLayout.d.ts.map +1 -1
- package/dist/kurot/runtime/descriptors/createLayout.js +8 -6
- package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
- package/dist/kurot/runtime/descriptors/createRectangle.d.ts +1 -2
- package/dist/kurot/runtime/descriptors/createRectangle.d.ts.map +1 -1
- package/dist/kurot/runtime/descriptors/createRectangle.js.map +1 -1
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts +7 -0
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts.map +1 -0
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.js +11 -0
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.js.map +1 -0
- package/dist/kurot/runtime/dynamics/createDataController.d.ts +7 -0
- package/dist/kurot/runtime/dynamics/createDataController.d.ts.map +1 -0
- package/dist/kurot/runtime/dynamics/createDataController.js +68 -0
- package/dist/kurot/runtime/dynamics/createDataController.js.map +1 -0
- package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts +7 -0
- package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts.map +1 -0
- package/dist/kurot/runtime/dynamics/registerSemanticActions.js +42 -0
- package/dist/kurot/runtime/dynamics/registerSemanticActions.js.map +1 -0
- package/dist/kurot/runtime/index.d.ts +2 -1
- package/dist/kurot/runtime/index.d.ts.map +1 -1
- package/dist/kurot/runtime/index.js +1 -0
- package/dist/kurot/runtime/index.js.map +1 -1
- package/dist/kurot/runtime/materializeAppearance.d.ts.map +1 -1
- package/dist/kurot/runtime/materializeAppearance.js +8 -1
- package/dist/kurot/runtime/materializeAppearance.js.map +1 -1
- package/dist/kurot/runtime/materializeComponentInstance.d.ts.map +1 -1
- package/dist/kurot/runtime/materializeComponentInstance.js +24 -11
- package/dist/kurot/runtime/materializeComponentInstance.js.map +1 -1
- package/dist/kurot/runtime/resolvePropertyValue.d.ts +1 -1
- package/dist/kurot/runtime/resolvePropertyValue.d.ts.map +1 -1
- package/dist/kurot/runtime/resolvePropertyValue.js +6 -3
- package/dist/kurot/runtime/resolvePropertyValue.js.map +1 -1
- package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.d.ts +6 -0
- package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.d.ts.map +1 -0
- package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.js +16 -0
- package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.js.map +1 -0
- package/dist/kurot/runtime/transitions/TransitionSetProperty.d.ts +21 -0
- package/dist/kurot/runtime/transitions/TransitionSetProperty.d.ts.map +1 -0
- package/dist/kurot/runtime/transitions/TransitionSetProperty.js +93 -0
- package/dist/kurot/runtime/transitions/TransitionSetProperty.js.map +1 -0
- package/dist/kurot/runtime/types.d.ts +92 -8
- package/dist/kurot/runtime/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/kurot/runtime/builtins/applyContainerProperties.d.ts +0 -7
- package/dist/kurot/runtime/builtins/applyContainerProperties.d.ts.map +0 -1
- package/dist/kurot/runtime/builtins/applyContainerProperties.js.map +0 -1
- package/dist/kurot/runtime/builtins/applyControlProperties.d.ts +0 -7
- package/dist/kurot/runtime/builtins/applyControlProperties.d.ts.map +0 -1
- package/dist/kurot/runtime/builtins/applyControlProperties.js +0 -79
- package/dist/kurot/runtime/builtins/applyControlProperties.js.map +0 -1
- package/dist/kurot/runtime/builtins/applyDisplayProperties.d.ts +0 -7
- package/dist/kurot/runtime/builtins/applyDisplayProperties.d.ts.map +0 -1
- package/dist/kurot/runtime/builtins/applyDisplayProperties.js.map +0 -1
- package/dist/kurot/runtime/builtins/applyTextProperties.d.ts +0 -7
- package/dist/kurot/runtime/builtins/applyTextProperties.d.ts.map +0 -1
- package/dist/kurot/runtime/builtins/applyTextProperties.js.map +0 -1
package/README.md
CHANGED
|
@@ -11,17 +11,22 @@ const result = createKurotUI(document, { assets });
|
|
|
11
11
|
stage.addChild(result.root);
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
The runtime supports `kui.Group`, `kui.Label`, `kui.
|
|
15
|
-
`kui.Button`, `kui.ToggleButton`,
|
|
16
|
-
inherited properties, children, layout
|
|
17
|
-
ProgressBar appearances bind live thumb
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
The runtime supports `kui.Group`, `kui.Label`, `kui.EditableText`, `kui.Image`,
|
|
15
|
+
`kui.Rect`, `kui.Button`, `kui.ToggleButton`, `kui.ProgressBar`, and
|
|
16
|
+
`kui.TextInput`, including their audited inherited properties, children, layout
|
|
17
|
+
descriptors, and nine-slice rectangles. ProgressBar appearances bind live thumb
|
|
18
|
+
and label parts. TextInput appearances bind a real EditableText `textDisplay`
|
|
19
|
+
and Label `promptDisplay`, preserving native focus, text entry, restrictions,
|
|
20
|
+
and prompt states. Reusable component assets are expanded with parameter
|
|
21
|
+
bindings, variants, part overrides, and projected Slot content. Appearance
|
|
22
|
+
assets become native Kurot skins and states, including the selected appearance
|
|
23
|
+
variant.
|
|
24
|
+
|
|
25
|
+
Version 0.3 completes the first bounded visual-semantics slice. Contract data
|
|
26
|
+
fields drive declared one-way property bindings, semantic actions expose
|
|
27
|
+
declared `tap` and `change` events, and numeric appearance overrides may use
|
|
28
|
+
bounded transitions. The package still performs full-tree creation; incremental
|
|
29
|
+
preview reconciliation belongs to the next phase.
|
|
25
30
|
|
|
26
31
|
The result also provides a stable node lookup for editor selection and event
|
|
27
32
|
wiring:
|
|
@@ -33,6 +38,9 @@ const internalLabel = result.instances.get('startButton/label');
|
|
|
33
38
|
const state = result.stateControllers.get('startButton');
|
|
34
39
|
state?.setState('disabled');
|
|
35
40
|
state?.clearState();
|
|
41
|
+
|
|
42
|
+
result.data.setValue('balanceText', '$1,250.00');
|
|
43
|
+
result.dispose();
|
|
36
44
|
```
|
|
37
45
|
|
|
38
46
|
Reusable-component state controllers apply Contract state overrides at runtime
|
|
@@ -40,9 +48,27 @@ and restore the exact pre-state values when cleared. Controllers are isolated
|
|
|
40
48
|
per component instance; an unknown state throws `KurotUIRuntimeError`.
|
|
41
49
|
|
|
42
50
|
Design tokens resolve from the supplied `UIAssetRegistry`. Resource references
|
|
43
|
-
use their registered key by default
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
use their registered key by default. Applications may replace the adapter for
|
|
52
|
+
each semantic category without adding resource-system behavior to the document
|
|
53
|
+
model:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
const result = createKurotUI(document, {
|
|
57
|
+
assets,
|
|
58
|
+
resourceAdapters: {
|
|
59
|
+
image: reference => resource.getRes(reference.key),
|
|
60
|
+
font: reference => fontFamilies[reference.key],
|
|
61
|
+
spine: reference => spineAssets[reference.key],
|
|
62
|
+
animation: reference => animations[reference.key],
|
|
63
|
+
},
|
|
64
|
+
onAction: action => controller.handle(action.action),
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Image and sprite-frame references can feed built-in `Image` properties. Spine
|
|
69
|
+
and animation remain project component boundaries: their category adapters
|
|
70
|
+
resolve the registered resource, while a project component adapter owns the
|
|
71
|
+
corresponding runtime object.
|
|
46
72
|
|
|
47
73
|
Project component types are added by extending a foundation
|
|
48
74
|
`UIComponentRegistry` and supplying a matching runtime adapter. Invalid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyRuntimeProperty.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/applyRuntimeProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"applyRuntimeProperty.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/applyRuntimeProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,KAAK,EAEX,sBAAsB,EACtB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC7B,IAAI,CAiBN"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { applyDisplayProperty } from './builtins/applyDisplayProperties.js';
|
|
1
|
+
import { applyBuiltInProperty } from './builtins/applyBuiltInProperties.js';
|
|
3
2
|
import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
|
|
4
3
|
import { resolvePropertyValue } from './resolvePropertyValue.js';
|
|
5
4
|
/**
|
|
@@ -7,12 +6,22 @@ import { resolvePropertyValue } from './resolvePropertyValue.js';
|
|
|
7
6
|
*/
|
|
8
7
|
export function applyRuntimeProperty(target, type, name, value, path, context) {
|
|
9
8
|
const resolved = resolvePropertyValue(value, path, context);
|
|
9
|
+
if (applyBuiltInProperty(target, name, resolved, path)) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
10
12
|
const adapter = context.adapters[type];
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (applyAdapterProperty(adapter, target, name, resolved, path)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
throw new KurotUIRuntimeError('invalid-property', `Runtime property "${name}" is not supported by ${type}.`, path);
|
|
17
|
+
}
|
|
18
|
+
function applyAdapterProperty(adapter, target, name, value, path) {
|
|
19
|
+
if (adapter === undefined) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (adapter.applyProperty === undefined) {
|
|
23
|
+
return false;
|
|
16
24
|
}
|
|
25
|
+
return adapter.applyProperty(target, name, value, path);
|
|
17
26
|
}
|
|
18
27
|
//# sourceMappingURL=applyRuntimeProperty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyRuntimeProperty.js","sourceRoot":"","sources":["../../../src/kurot/runtime/applyRuntimeProperty.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"applyRuntimeProperty.js","sourceRoot":"","sources":["../../../src/kurot/runtime/applyRuntimeProperty.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAMjE;;GAEG;AACH,MAAM,UAAU,oBAAoB,CACnC,MAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,KAAsB,EACtB,IAAY,EACZ,OAA+B;IAE/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO;IACR,CAAC;IAED,MAAM,IAAI,mBAAmB,CAC5B,kBAAkB,EAClB,qBAAqB,IAAI,yBAAyB,IAAI,GAAG,EACzD,IAAI,CACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC5B,OAA4C,EAC5C,MAAqB,EACrB,IAAY,EACZ,KAAc,EACd,IAAY;IAEZ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DisplayObject } from '@kurot/core';
|
|
2
|
+
/**
|
|
3
|
+
* Routes one property to the matching built-in component layer.
|
|
4
|
+
*/
|
|
5
|
+
export declare function applyBuiltInProperty(target: DisplayObject, name: string, value: unknown, path: string): boolean;
|
|
6
|
+
//# sourceMappingURL=applyBuiltInProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyBuiltInProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyBuiltInProperties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyBjD;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAiCT"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Button, Component, EditableText, Group, Image, Label, ProgressBar, Rect, TextInput, isUIComponent, } from '@kurot/ui';
|
|
2
|
+
import { applyButtonProperty } from './applyButtonProperties.js';
|
|
3
|
+
import { applyComponentProperty } from './applyComponentProperties.js';
|
|
4
|
+
import { applyEditableTextProperty } from './applyEditableTextProperties.js';
|
|
5
|
+
import { applyDisplayObjectProperty } from './applyDisplayObjectProperties.js';
|
|
6
|
+
import { applyGroupProperty } from './applyGroupProperties.js';
|
|
7
|
+
import { applyImageProperty } from './applyImageProperties.js';
|
|
8
|
+
import { applyLabelProperty } from './applyLabelProperties.js';
|
|
9
|
+
import { applyProgressBarProperty } from './applyProgressBarProperties.js';
|
|
10
|
+
import { applyRectProperty } from './applyRectProperties.js';
|
|
11
|
+
import { applyTextInputProperty } from './applyTextInputProperties.js';
|
|
12
|
+
import { applyUIComponentProperty } from './applyUIComponentProperties.js';
|
|
13
|
+
/**
|
|
14
|
+
* Routes one property to the matching built-in component layer.
|
|
15
|
+
*/
|
|
16
|
+
export function applyBuiltInProperty(target, name, value, path) {
|
|
17
|
+
if (applyDisplayObjectProperty(target, name, value, path))
|
|
18
|
+
return true;
|
|
19
|
+
if (isUIComponent(target)) {
|
|
20
|
+
if (applyUIComponentProperty(target, name, value, path))
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
if (target instanceof Component) {
|
|
24
|
+
if (applyComponentProperty(target, name, value, path))
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
if (target instanceof Group) {
|
|
28
|
+
if (applyGroupProperty(target, name, value, path))
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
if (target instanceof Label) {
|
|
32
|
+
if (applyLabelProperty(target, name, value, path))
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
if (target instanceof EditableText) {
|
|
36
|
+
if (applyEditableTextProperty(target, name, value, path))
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
if (target instanceof TextInput) {
|
|
40
|
+
if (applyTextInputProperty(target, name, value, path))
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
if (target instanceof Image) {
|
|
44
|
+
if (applyImageProperty(target, name, value, path))
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (target instanceof Rect) {
|
|
48
|
+
if (applyRectProperty(target, name, value, path))
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
if (target instanceof Button) {
|
|
52
|
+
if (applyButtonProperty(target, name, value, path))
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
if (target instanceof ProgressBar) {
|
|
56
|
+
if (applyProgressBarProperty(target, name, value, path))
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=applyBuiltInProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyBuiltInProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyBuiltInProperties.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Button } from '@kurot/ui';
|
|
2
|
+
/**
|
|
3
|
+
* Applies one property declared by Button and inherited by its subclasses.
|
|
4
|
+
*/
|
|
5
|
+
export declare function applyButtonProperty(target: Button, name: string, value: unknown, path: string): boolean;
|
|
6
|
+
//# sourceMappingURL=applyButtonProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyButtonProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyButtonProperties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAiBT"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Texture } from '@kurot/core';
|
|
2
|
+
import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
|
|
3
|
+
/**
|
|
4
|
+
* Applies one property declared by Button and inherited by its subclasses.
|
|
5
|
+
*/
|
|
6
|
+
export function applyButtonProperty(target, name, value, path) {
|
|
7
|
+
switch (name) {
|
|
8
|
+
case 'icon':
|
|
9
|
+
target.icon = requireImageSource(value, path);
|
|
10
|
+
return true;
|
|
11
|
+
case 'label':
|
|
12
|
+
target.label = requireString(value, path);
|
|
13
|
+
return true;
|
|
14
|
+
case 'selected':
|
|
15
|
+
target.selected = requireBoolean(value, path);
|
|
16
|
+
return true;
|
|
17
|
+
case 'toggle':
|
|
18
|
+
target.toggle = requireBoolean(value, path);
|
|
19
|
+
return true;
|
|
20
|
+
default:
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function requireBoolean(value, path) {
|
|
25
|
+
if (typeof value === 'boolean')
|
|
26
|
+
return value;
|
|
27
|
+
throw invalidValue('boolean', path);
|
|
28
|
+
}
|
|
29
|
+
function requireString(value, path) {
|
|
30
|
+
if (typeof value === 'string')
|
|
31
|
+
return value;
|
|
32
|
+
throw invalidValue('string', path);
|
|
33
|
+
}
|
|
34
|
+
function requireImageSource(value, path) {
|
|
35
|
+
if (typeof value === 'string' || value instanceof Texture) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
throw invalidValue('a string or Texture', path);
|
|
39
|
+
}
|
|
40
|
+
function invalidValue(type, path) {
|
|
41
|
+
return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=applyButtonProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyButtonProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyButtonProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAAc,EACd,IAAY,EACZ,KAAc,EACd,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,MAAM;YACV,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACb,KAAK,OAAO;YACX,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,KAAK,UAAU;YACd,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IACnD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,IAAY;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,IAAI,mBAAmB,CAC7B,kBAAkB,EAClB,4BAA4B,IAAI,GAAG,EACnC,IAAI,CACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { UIPropertyValue } from '@kurot/ui-document';
|
|
1
|
+
import { Component } from '@kurot/ui';
|
|
3
2
|
/**
|
|
4
|
-
* Applies one property declared directly by
|
|
3
|
+
* Applies one property declared directly by Component.
|
|
5
4
|
*/
|
|
6
|
-
export declare function applyComponentProperty(target:
|
|
5
|
+
export declare function applyComponentProperty(target: Component, name: string, value: unknown, path: string): boolean;
|
|
7
6
|
//# sourceMappingURL=applyComponentProperties.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyComponentProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyComponentProperties.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"applyComponentProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyComponentProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAQT"}
|
|
@@ -1,89 +1,12 @@
|
|
|
1
|
-
import { Component, Image, Rect } from '@kurot/ui';
|
|
2
|
-
import { createRectangle } from '../descriptors/createRectangle.js';
|
|
3
1
|
import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
|
|
4
|
-
import { applyContainerProperty } from './applyContainerProperties.js';
|
|
5
|
-
import { applyControlProperty } from './applyControlProperties.js';
|
|
6
|
-
import { applyTextProperty } from './applyTextProperties.js';
|
|
7
2
|
/**
|
|
8
|
-
* Applies one property declared directly by
|
|
3
|
+
* Applies one property declared directly by Component.
|
|
9
4
|
*/
|
|
10
5
|
export function applyComponentProperty(target, name, value, path) {
|
|
11
|
-
if (target instanceof Component && applySkinnableProperty(target, name, value, path)) {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
if (applyContainerProperty(target, name, value, path)) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
if (applyTextProperty(target, name, value, path)) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
if (target instanceof Image && applyImageProperty(target, name, value, path)) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
if (target instanceof Rect && applyRectProperty(target, name, value, path)) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
return applyControlProperty(target, name, value, path);
|
|
27
|
-
}
|
|
28
|
-
function applySkinnableProperty(target, name, value, path) {
|
|
29
6
|
switch (name) {
|
|
30
|
-
case 'currentState':
|
|
31
|
-
target.currentState = requireString(value, path);
|
|
32
|
-
return true;
|
|
33
7
|
case 'enabled':
|
|
34
8
|
target.enabled = requireBoolean(value, path);
|
|
35
9
|
return true;
|
|
36
|
-
case 'hostComponentKey':
|
|
37
|
-
target.hostComponentKey = requireString(value, path);
|
|
38
|
-
return true;
|
|
39
|
-
case 'skinName':
|
|
40
|
-
target.skinName = requireString(value, path);
|
|
41
|
-
return true;
|
|
42
|
-
default:
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function applyImageProperty(target, name, value, path) {
|
|
47
|
-
switch (name) {
|
|
48
|
-
case 'fillMode':
|
|
49
|
-
target.fillMode = requireFillMode(value, path);
|
|
50
|
-
return true;
|
|
51
|
-
case 'scale9Grid':
|
|
52
|
-
target.scale9Grid = createRectangle(value, path);
|
|
53
|
-
return true;
|
|
54
|
-
case 'smoothing':
|
|
55
|
-
target.smoothing = requireBoolean(value, path);
|
|
56
|
-
return true;
|
|
57
|
-
case 'source':
|
|
58
|
-
target.source = requireString(value, path);
|
|
59
|
-
return true;
|
|
60
|
-
default:
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function applyRectProperty(target, name, value, path) {
|
|
65
|
-
switch (name) {
|
|
66
|
-
case 'ellipseHeight':
|
|
67
|
-
target.ellipseHeight = requireNumber(value, path);
|
|
68
|
-
return true;
|
|
69
|
-
case 'ellipseWidth':
|
|
70
|
-
target.ellipseWidth = requireNumber(value, path);
|
|
71
|
-
return true;
|
|
72
|
-
case 'fillAlpha':
|
|
73
|
-
target.fillAlpha = requireNumber(value, path);
|
|
74
|
-
return true;
|
|
75
|
-
case 'fillColor':
|
|
76
|
-
target.fillColor = requireNumber(value, path);
|
|
77
|
-
return true;
|
|
78
|
-
case 'strokeAlpha':
|
|
79
|
-
target.strokeAlpha = requireNumber(value, path);
|
|
80
|
-
return true;
|
|
81
|
-
case 'strokeColor':
|
|
82
|
-
target.strokeColor = requireNumber(value, path);
|
|
83
|
-
return true;
|
|
84
|
-
case 'strokeWeight':
|
|
85
|
-
target.strokeWeight = requireNumber(value, path);
|
|
86
|
-
return true;
|
|
87
10
|
default:
|
|
88
11
|
return false;
|
|
89
12
|
}
|
|
@@ -91,24 +14,6 @@ function applyRectProperty(target, name, value, path) {
|
|
|
91
14
|
function requireBoolean(value, path) {
|
|
92
15
|
if (typeof value === 'boolean')
|
|
93
16
|
return value;
|
|
94
|
-
throw
|
|
95
|
-
}
|
|
96
|
-
function requireNumber(value, path) {
|
|
97
|
-
if (typeof value === 'number' && Number.isFinite(value))
|
|
98
|
-
return value;
|
|
99
|
-
throw invalidValue('number', path);
|
|
100
|
-
}
|
|
101
|
-
function requireString(value, path) {
|
|
102
|
-
if (typeof value === 'string')
|
|
103
|
-
return value;
|
|
104
|
-
throw invalidValue('string', path);
|
|
105
|
-
}
|
|
106
|
-
function requireFillMode(value, path) {
|
|
107
|
-
if (value === 'clip' || value === 'repeat' || value === 'scale')
|
|
108
|
-
return value;
|
|
109
|
-
throw invalidValue('clip, repeat, or scale', path);
|
|
110
|
-
}
|
|
111
|
-
function invalidValue(type, path) {
|
|
112
|
-
return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
|
|
17
|
+
throw new KurotUIRuntimeError('invalid-property', 'Runtime property must be boolean.', path);
|
|
113
18
|
}
|
|
114
19
|
//# sourceMappingURL=applyComponentProperties.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyComponentProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyComponentProperties.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"applyComponentProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyComponentProperties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACrC,MAAiB,EACjB,IAAY,EACZ,KAAc,EACd,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,SAAS;YACb,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACb;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IACnD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,mBAAmB,CAC5B,kBAAkB,EAClB,mCAAmC,EACnC,IAAI,CACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DisplayObject } from '@kurot/core';
|
|
2
|
+
/**
|
|
3
|
+
* Applies one property declared by kurot.DisplayObject.
|
|
4
|
+
*/
|
|
5
|
+
export declare function applyDisplayObjectProperty(target: DisplayObject, name: string, value: unknown, path: string): boolean;
|
|
6
|
+
//# sourceMappingURL=applyDisplayObjectProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyDisplayObjectProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyDisplayObjectProperties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAiET"}
|
package/dist/kurot/runtime/builtins/{applyDisplayProperties.js → applyDisplayObjectProperties.js}
RENAMED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { DisplayObjectContainer } from '@kurot/core';
|
|
2
|
-
import { isUIComponent } from '@kurot/ui';
|
|
3
1
|
import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
|
|
4
2
|
/**
|
|
5
|
-
* Applies one
|
|
3
|
+
* Applies one property declared by kurot.DisplayObject.
|
|
6
4
|
*/
|
|
7
|
-
export function
|
|
5
|
+
export function applyDisplayObjectProperty(target, name, value, path) {
|
|
8
6
|
switch (name) {
|
|
9
7
|
case 'alpha':
|
|
10
8
|
target.alpha = requireNumber(value, path);
|
|
@@ -66,78 +64,15 @@ export function applyDisplayProperty(target, name, value, path) {
|
|
|
66
64
|
case 'zIndex':
|
|
67
65
|
target.zIndex = requireNumber(value, path);
|
|
68
66
|
return true;
|
|
69
|
-
default:
|
|
70
|
-
return applyUIProperty(target, name, value, path);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function applyUIProperty(target, name, value, path) {
|
|
74
|
-
if (!isUIComponent(target))
|
|
75
|
-
return false;
|
|
76
|
-
switch (name) {
|
|
77
|
-
case 'bottom':
|
|
78
|
-
target.bottom = requireConstraint(value, path);
|
|
79
|
-
return true;
|
|
80
|
-
case 'horizontalCenter':
|
|
81
|
-
target.horizontalCenter = requireConstraint(value, path);
|
|
82
|
-
return true;
|
|
83
|
-
case 'includeInLayout':
|
|
84
|
-
target.includeInLayout = requireBoolean(value, path);
|
|
85
|
-
return true;
|
|
86
|
-
case 'isRenderGroup':
|
|
87
|
-
requireContainer(target, path).isRenderGroup = requireBoolean(value, path);
|
|
88
|
-
return true;
|
|
89
|
-
case 'left':
|
|
90
|
-
target.left = requireConstraint(value, path);
|
|
91
|
-
return true;
|
|
92
|
-
case 'maxHeight':
|
|
93
|
-
target.maxHeight = requireNumber(value, path);
|
|
94
|
-
return true;
|
|
95
|
-
case 'maxWidth':
|
|
96
|
-
target.maxWidth = requireNumber(value, path);
|
|
97
|
-
return true;
|
|
98
|
-
case 'minHeight':
|
|
99
|
-
target.minHeight = requireNumber(value, path);
|
|
100
|
-
return true;
|
|
101
|
-
case 'minWidth':
|
|
102
|
-
target.minWidth = requireNumber(value, path);
|
|
103
|
-
return true;
|
|
104
|
-
case 'percentHeight':
|
|
105
|
-
target.percentHeight = requireNumber(value, path);
|
|
106
|
-
return true;
|
|
107
|
-
case 'percentWidth':
|
|
108
|
-
target.percentWidth = requireNumber(value, path);
|
|
109
|
-
return true;
|
|
110
|
-
case 'right':
|
|
111
|
-
target.right = requireConstraint(value, path);
|
|
112
|
-
return true;
|
|
113
|
-
case 'top':
|
|
114
|
-
target.top = requireConstraint(value, path);
|
|
115
|
-
return true;
|
|
116
|
-
case 'touchChildren':
|
|
117
|
-
requireContainer(target, path).touchChildren = requireBoolean(value, path);
|
|
118
|
-
return true;
|
|
119
|
-
case 'verticalCenter':
|
|
120
|
-
target.verticalCenter = requireConstraint(value, path);
|
|
121
|
-
return true;
|
|
122
67
|
default:
|
|
123
68
|
return false;
|
|
124
69
|
}
|
|
125
70
|
}
|
|
126
|
-
function requireContainer(target, path) {
|
|
127
|
-
if (target instanceof DisplayObjectContainer)
|
|
128
|
-
return target;
|
|
129
|
-
throw new KurotUIRuntimeError('invalid-property', 'Property requires a display-object container.', path);
|
|
130
|
-
}
|
|
131
71
|
function requireBoolean(value, path) {
|
|
132
72
|
if (typeof value === 'boolean')
|
|
133
73
|
return value;
|
|
134
74
|
throw invalidValue('boolean', path);
|
|
135
75
|
}
|
|
136
|
-
function requireConstraint(value, path) {
|
|
137
|
-
if (typeof value === 'number' || typeof value === 'string')
|
|
138
|
-
return value;
|
|
139
|
-
throw invalidValue('number or string', path);
|
|
140
|
-
}
|
|
141
76
|
function requireNumber(value, path) {
|
|
142
77
|
if (typeof value === 'number' && Number.isFinite(value))
|
|
143
78
|
return value;
|
|
@@ -151,4 +86,4 @@ function requireString(value, path) {
|
|
|
151
86
|
function invalidValue(type, path) {
|
|
152
87
|
return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
|
|
153
88
|
}
|
|
154
|
-
//# sourceMappingURL=
|
|
89
|
+
//# sourceMappingURL=applyDisplayObjectProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyDisplayObjectProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyDisplayObjectProperties.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EditableText } from '@kurot/ui';
|
|
2
|
+
/**
|
|
3
|
+
* Applies one property declared directly by EditableText.
|
|
4
|
+
*/
|
|
5
|
+
export declare function applyEditableTextProperty(target: EditableText, name: string, value: unknown, path: string): boolean;
|
|
6
|
+
//# sourceMappingURL=applyEditableTextProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyEditableTextProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyEditableTextProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAiBT"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
|
|
2
|
+
/**
|
|
3
|
+
* Applies one property declared directly by EditableText.
|
|
4
|
+
*/
|
|
5
|
+
export function applyEditableTextProperty(target, name, value, path) {
|
|
6
|
+
switch (name) {
|
|
7
|
+
case 'inputType':
|
|
8
|
+
target.inputType = requireInputType(value, path);
|
|
9
|
+
return true;
|
|
10
|
+
case 'prompt':
|
|
11
|
+
target.prompt = requireString(value, path);
|
|
12
|
+
return true;
|
|
13
|
+
case 'promptColor':
|
|
14
|
+
target.promptColor = requireNumber(value, path);
|
|
15
|
+
return true;
|
|
16
|
+
case 'restrict':
|
|
17
|
+
target.restrict = requireString(value, path);
|
|
18
|
+
return true;
|
|
19
|
+
default:
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function requireInputType(value, path) {
|
|
24
|
+
if (value === 'text')
|
|
25
|
+
return value;
|
|
26
|
+
throw invalidValue('text', path);
|
|
27
|
+
}
|
|
28
|
+
function requireNumber(value, path) {
|
|
29
|
+
if (typeof value === 'number' && Number.isFinite(value))
|
|
30
|
+
return value;
|
|
31
|
+
throw invalidValue('number', path);
|
|
32
|
+
}
|
|
33
|
+
function requireString(value, path) {
|
|
34
|
+
if (typeof value === 'string')
|
|
35
|
+
return value;
|
|
36
|
+
throw invalidValue('string', path);
|
|
37
|
+
}
|
|
38
|
+
function invalidValue(type, path) {
|
|
39
|
+
return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=applyEditableTextProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyEditableTextProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyEditableTextProperties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACxC,MAAoB,EACpB,IAAY,EACZ,KAAc,EACd,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,WAAW;YACf,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACb,KAAK,aAAa;YACjB,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACb,KAAK,UAAU;YACd,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACb;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,IAAY;IACrD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,IAAI,mBAAmB,CAC7B,kBAAkB,EAClB,4BAA4B,IAAI,GAAG,EACnC,IAAI,CACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyGroupProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyGroupProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAoBT"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import { Group } from '@kurot/ui';
|
|
2
1
|
import { createLayout } from '../descriptors/createLayout.js';
|
|
3
2
|
import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
|
|
4
3
|
/**
|
|
5
|
-
* Applies one property
|
|
4
|
+
* Applies one property declared directly by Group.
|
|
6
5
|
*/
|
|
7
|
-
export function
|
|
8
|
-
if (!(target instanceof Group))
|
|
9
|
-
return false;
|
|
6
|
+
export function applyGroupProperty(target, name, value, path) {
|
|
10
7
|
switch (name) {
|
|
11
|
-
case 'currentState':
|
|
12
|
-
target.currentState = requireString(value, path);
|
|
13
|
-
return true;
|
|
14
8
|
case 'layout':
|
|
15
9
|
target.layout = createLayout(value, path);
|
|
16
10
|
return true;
|
|
@@ -40,12 +34,7 @@ function requireNumber(value, path) {
|
|
|
40
34
|
return value;
|
|
41
35
|
throw invalidValue('number', path);
|
|
42
36
|
}
|
|
43
|
-
function requireString(value, path) {
|
|
44
|
-
if (typeof value === 'string')
|
|
45
|
-
return value;
|
|
46
|
-
throw invalidValue('string', path);
|
|
47
|
-
}
|
|
48
37
|
function invalidValue(type, path) {
|
|
49
38
|
return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
|
|
50
39
|
}
|
|
51
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=applyGroupProperties.js.map
|