@kurot/ui-runtime 0.2.1 → 0.2.3

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 (69) hide show
  1. package/README.md +10 -6
  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/{applyControlProperties.d.ts → applyBuiltInProperties.d.ts} +3 -3
  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 +7 -0
  10. package/dist/kurot/runtime/builtins/applyButtonProperties.d.ts.map +1 -0
  11. package/dist/kurot/runtime/builtins/{applyControlProperties.js → applyButtonProperties.js} +3 -6
  12. package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -0
  13. package/dist/kurot/runtime/builtins/applyComponentProperties.d.ts +3 -3
  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 +7 -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 +7 -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 +7 -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 +7 -0
  30. package/dist/kurot/runtime/builtins/applyImageProperties.d.ts.map +1 -0
  31. package/dist/kurot/runtime/builtins/applyImageProperties.js +42 -0
  32. package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -0
  33. package/dist/kurot/runtime/builtins/applyLabelProperties.d.ts +7 -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 +7 -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 +7 -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 +7 -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 +10 -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 +5 -1
  55. package/dist/kurot/runtime/builtins/componentFactories.js.map +1 -1
  56. package/dist/kurot/runtime/descriptors/createLayout.js +8 -6
  57. package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
  58. package/package.json +3 -3
  59. package/dist/kurot/runtime/builtins/applyContainerProperties.d.ts +0 -7
  60. package/dist/kurot/runtime/builtins/applyContainerProperties.d.ts.map +0 -1
  61. package/dist/kurot/runtime/builtins/applyContainerProperties.js.map +0 -1
  62. package/dist/kurot/runtime/builtins/applyControlProperties.d.ts.map +0 -1
  63. package/dist/kurot/runtime/builtins/applyControlProperties.js.map +0 -1
  64. package/dist/kurot/runtime/builtins/applyDisplayProperties.d.ts +0 -7
  65. package/dist/kurot/runtime/builtins/applyDisplayProperties.d.ts.map +0 -1
  66. package/dist/kurot/runtime/builtins/applyDisplayProperties.js.map +0 -1
  67. package/dist/kurot/runtime/builtins/applyTextProperties.d.ts +0 -7
  68. package/dist/kurot/runtime/builtins/applyTextProperties.d.ts.map +0 -1
  69. package/dist/kurot/runtime/builtins/applyTextProperties.js.map +0 -1
package/README.md CHANGED
@@ -11,12 +11,16 @@ const result = createKurotUI(document, { assets });
11
11
  stage.addChild(result.root);
12
12
  ```
13
13
 
14
- The runtime supports `kui.Group`, `kui.Label`, `kui.Image`, `kui.Rect`, and
15
- `kui.Button`, including their audited inherited properties, children, layout
16
- descriptors, and nine-slice rectangles. Reusable component assets are expanded
17
- with parameter bindings, variants, part overrides, and projected Slot content.
18
- Appearance assets become native Kurot skins and states, including the selected
19
- appearance variant.
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.
20
24
 
21
25
  Version 0.2 performs full-tree creation. It does not yet provide incremental
22
26
  reconciliation, bindings, actions, or transitions.
@@ -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;AAK1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;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,CAcN"}
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 { applyComponentProperty } from './builtins/applyComponentProperties.js';
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
- const handled = applyDisplayProperty(target, name, resolved, path) ||
12
- applyComponentProperty(target, name, resolved, path) ||
13
- adapter?.applyProperty?.(target, name, resolved, path) === true;
14
- if (!handled) {
15
- throw new KurotUIRuntimeError('invalid-property', `Runtime property "${name}" is not supported by ${type}.`, path);
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,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE;;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;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GACZ,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;QAClD,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;QACpD,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,mBAAmB,CAC5B,kBAAkB,EAClB,qBAAqB,IAAI,yBAAyB,IAAI,GAAG,EACzD,IAAI,CACJ,CAAC;IACH,CAAC;AACF,CAAC"}
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;IACL,CAAC;IAEJ,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,KAAsB,EACtB,IAAY;IAEZ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACX,CAAC;IAEJ,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IAEE,OAAO,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DisplayObject } from '@kurot/core';
2
2
  import type { UIPropertyValue } from '@kurot/ui-document';
3
3
  /**
4
- * Applies one property owned by a built-in interactive control.
4
+ * Routes one property to the matching built-in component layer.
5
5
  */
6
- export declare function applyControlProperty(target: DisplayObject, name: string, value: UIPropertyValue, path: string): boolean;
7
- //# sourceMappingURL=applyControlProperties.d.ts.map
6
+ export declare function applyBuiltInProperty(target: DisplayObject, name: string, value: UIPropertyValue, path: string): boolean;
7
+ //# 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;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAyB1D;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,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,7 @@
1
+ import { Button } from '@kurot/ui';
2
+ import type { UIPropertyValue } from '@kurot/ui-document';
3
+ /**
4
+ * Applies one property declared by Button and inherited by its subclasses.
5
+ */
6
+ export declare function applyButtonProperty(target: Button, name: string, value: UIPropertyValue, path: string): boolean;
7
+ //# 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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,GACV,OAAO,CAiBT"}
@@ -1,11 +1,8 @@
1
- import { Button } from '@kurot/ui';
2
1
  import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
3
2
  /**
4
- * Applies one property owned by a built-in interactive control.
3
+ * Applies one property declared by Button and inherited by its subclasses.
5
4
  */
6
- export function applyControlProperty(target, name, value, path) {
7
- if (!(target instanceof Button))
8
- return false;
5
+ export function applyButtonProperty(target, name, value, path) {
9
6
  switch (name) {
10
7
  case 'icon':
11
8
  target.icon = requireString(value, path);
@@ -36,4 +33,4 @@ function requireString(value, path) {
36
33
  function invalidValue(type, path) {
37
34
  return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
38
35
  }
39
- //# sourceMappingURL=applyControlProperties.js.map
36
+ //# sourceMappingURL=applyButtonProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyButtonProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyButtonProperties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAAc,EACd,IAAY,EACZ,KAAsB,EACtB,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,MAAM;YACV,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,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,KAAsB,EAAE,IAAY;IAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,IAAY;IAC1D,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"}
@@ -1,7 +1,7 @@
1
- import type { DisplayObject } from '@kurot/core';
1
+ import { Component } from '@kurot/ui';
2
2
  import type { UIPropertyValue } from '@kurot/ui-document';
3
3
  /**
4
- * Applies one property declared directly by a built-in Kurot UI component.
4
+ * Applies one property declared directly by Component.
5
5
  */
6
- export declare function applyComponentProperty(target: DisplayObject, name: string, value: UIPropertyValue, path: string): boolean;
6
+ export declare function applyComponentProperty(target: Component, name: string, value: UIPropertyValue, path: string): boolean;
7
7
  //# 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,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQ1D;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,GACV,OAAO,CAiBT"}
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;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,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 a built-in Kurot UI component.
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 invalidValue('boolean', path);
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":"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"}
1
+ {"version":3,"file":"applyComponentProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyComponentProperties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACrC,MAAiB,EACjB,IAAY,EACZ,KAAsB,EACtB,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,KAAsB,EAAE,IAAY;IAC3D,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,7 @@
1
+ import type { DisplayObject } from '@kurot/core';
2
+ import type { UIPropertyValue } from '@kurot/ui-document';
3
+ /**
4
+ * Applies one property declared by kurot.DisplayObject.
5
+ */
6
+ export declare function applyDisplayObjectProperty(target: DisplayObject, name: string, value: UIPropertyValue, path: string): boolean;
7
+ //# 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;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,GACV,OAAO,CAiET"}
@@ -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 inherited display or UI-layout property when recognized.
3
+ * Applies one property declared by kurot.DisplayObject.
6
4
  */
7
- export function applyDisplayProperty(target, name, value, path) {
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=applyDisplayProperties.js.map
89
+ //# sourceMappingURL=applyDisplayObjectProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyDisplayObjectProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyDisplayObjectProperties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACzC,MAAqB,EACrB,IAAY,EACZ,KAAsB,EACtB,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,OAAO;YACX,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,KAAK,eAAe;YACnB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,KAAK,eAAe;YACnB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,KAAK,WAAW;YACf,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACb,KAAK,eAAe;YACnB,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACb,KAAK,MAAM;YACV,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACb,KAAK,UAAU;YACd,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACb,KAAK,OAAO;YACX,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,KAAK,OAAO;YACX,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,KAAK,kBAAkB;YACtB,MAAM,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACb,KAAK,MAAM;YACV,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACb,KAAK,cAAc;YAClB,MAAM,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,KAAK,SAAS;YACb,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACb,KAAK,OAAO;YACX,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,KAAK,GAAG;YACP,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACb,KAAK,GAAG;YACP,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACb;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB,EAAE,IAAY;IAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,IAAY;IAC1D,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,KAAsB,EAAE,IAAY;IAC1D,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,7 @@
1
+ import { EditableText } from '@kurot/ui';
2
+ import type { UIPropertyValue } from '@kurot/ui-document';
3
+ /**
4
+ * Applies one property declared directly by EditableText.
5
+ */
6
+ export declare function applyEditableTextProperty(target: EditableText, name: string, value: UIPropertyValue, path: string): boolean;
7
+ //# 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;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,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":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACxC,MAAoB,EACpB,IAAY,EACZ,KAAsB,EACtB,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,KAAsB,EAAE,IAAY;IAC7D,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,IAAY;IAC1D,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,KAAsB,EAAE,IAAY;IAC1D,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,7 @@
1
+ import { Group } from '@kurot/ui';
2
+ import type { UIPropertyValue } from '@kurot/ui-document';
3
+ /**
4
+ * Applies one property declared directly by Group.
5
+ */
6
+ export declare function applyGroupProperty(target: Group, name: string, value: UIPropertyValue, path: string): boolean;
7
+ //# sourceMappingURL=applyGroupProperties.d.ts.map
@@ -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;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,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 owned by a built-in container component.
4
+ * Applies one property declared directly by Group.
6
5
  */
7
- export function applyContainerProperty(target, name, value, path) {
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=applyContainerProperties.js.map
40
+ //# sourceMappingURL=applyGroupProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyGroupProperties.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyGroupProperties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAAa,EACb,IAAY,EACZ,KAAsB,EACtB,IAAY;IAEZ,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,QAAQ;YACZ,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,KAAK,eAAe;YACnB,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACb,KAAK,SAAS;YACb,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,KAAK,SAAS;YACb,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,KAAK,cAAc;YAClB,MAAM,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACb;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB,EAAE,IAAY;IAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,IAAY;IAC1D,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,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,7 @@
1
+ import { Image } from '@kurot/ui';
2
+ import type { UIPropertyValue } from '@kurot/ui-document';
3
+ /**
4
+ * Applies one property declared directly by Image.
5
+ */
6
+ export declare function applyImageProperty(target: Image, name: string, value: UIPropertyValue, path: string): boolean;
7
+ //# sourceMappingURL=applyImageProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyImageProperties.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/builtins/applyImageProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,GACV,OAAO,CAiBT"}
@@ -0,0 +1,42 @@
1
+ import { createRectangle } from '../descriptors/createRectangle.js';
2
+ import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
3
+ /**
4
+ * Applies one property declared directly by Image.
5
+ */
6
+ export function applyImageProperty(target, name, value, path) {
7
+ switch (name) {
8
+ case 'fillMode':
9
+ target.fillMode = requireFillMode(value, path);
10
+ return true;
11
+ case 'scale9Grid':
12
+ target.scale9Grid = createRectangle(value, path);
13
+ return true;
14
+ case 'smoothing':
15
+ target.smoothing = requireBoolean(value, path);
16
+ return true;
17
+ case 'source':
18
+ target.source = requireString(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 requireFillMode(value, path) {
35
+ if (value === 'clip' || value === 'repeat' || value === 'scale')
36
+ return value;
37
+ throw invalidValue('clip, repeat, or scale', path);
38
+ }
39
+ function invalidValue(type, path) {
40
+ return new KurotUIRuntimeError('invalid-property', `Runtime property must be ${type}.`, path);
41
+ }
42
+ //# sourceMappingURL=applyImageProperties.js.map