@kurot/cli 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +25 -20
  3. package/dist/core/components/discover-components.d.ts.map +1 -1
  4. package/dist/core/components/discover-components.js +0 -9
  5. package/dist/core/components/discover-components.js.map +1 -1
  6. package/dist/core/kui/codegen.d.ts.map +1 -1
  7. package/dist/core/kui/codegen.js +7 -4
  8. package/dist/core/kui/codegen.js.map +1 -1
  9. package/dist/core/kui/kui-parser.d.ts.map +1 -1
  10. package/dist/core/kui/kui-parser.js +26 -24
  11. package/dist/core/kui/kui-parser.js.map +1 -1
  12. package/dist/core/plugins/compile-kui.d.ts.map +1 -1
  13. package/dist/core/plugins/compile-kui.js +35 -11
  14. package/dist/core/plugins/compile-kui.js.map +1 -1
  15. package/package.json +2 -2
  16. package/templates/game/resource/ui/skins/ButtonSkin.kui.xml +4 -22
  17. package/templates/game/resource/ui/skins/CheckBoxSkin.kui.xml +7 -42
  18. package/templates/game/resource/ui/skins/ComboBoxSkin.kui.xml +7 -30
  19. package/templates/game/resource/ui/skins/GroupSkin.kui.xml +2 -9
  20. package/templates/game/resource/ui/skins/HScrollBarSkin.kui.xml +2 -9
  21. package/templates/game/resource/ui/skins/HSliderSkin.kui.xml +3 -11
  22. package/templates/game/resource/ui/skins/ImageSkin.kui.xml +2 -9
  23. package/templates/game/resource/ui/skins/ItemRendererSkin.kui.xml +3 -20
  24. package/templates/game/resource/ui/skins/LabelSkin.kui.xml +2 -9
  25. package/templates/game/resource/ui/skins/ListSkin.kui.xml +5 -13
  26. package/templates/game/resource/ui/skins/PanelSkin.kui.xml +6 -15
  27. package/templates/game/resource/ui/skins/ProgressBarSkin.kui.xml +4 -12
  28. package/templates/game/resource/ui/skins/RadioButtonSkin.kui.xml +7 -42
  29. package/templates/game/resource/ui/skins/ScrollerSkin.kui.xml +3 -11
  30. package/templates/game/resource/ui/skins/TabBarSkin.kui.xml +3 -10
  31. package/templates/game/resource/ui/skins/TextInputSkin.kui.xml +4 -26
  32. package/templates/game/resource/ui/skins/ToggleButtonSkin.kui.xml +3 -32
  33. package/templates/game/resource/ui/skins/ToggleSwitchSkin.kui.xml +3 -27
  34. package/templates/game/resource/ui/skins/VScrollBarSkin.kui.xml +2 -9
  35. package/templates/game/resource/ui/skins/VSliderSkin.kui.xml +3 -11
  36. package/templates/game/resource/ui/skins/ViewStackSkin.kui.xml +2 -9
package/CHANGELOG.md CHANGED
@@ -5,7 +5,31 @@ All notable changes to `@kurot/cli` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## Unreleased
8
+ ## 2.0.2 — 2026-09-22
9
+
10
+ ### Changed
11
+
12
+ - Raised the `@kurot/ui-document` requirement to `^0.6.2`.
13
+ - KUI compilation now treats `<Skin>` as the visual root container: Skin
14
+ properties and layouts apply directly to the runtime Skin, and direct XML
15
+ children become `skin.elementsContent` without generating an extra Group.
16
+ - Updated all bundled default skins to remove their redundant root Group.
17
+
18
+ ## 2.0.1 — 2026-09-21
19
+
20
+ ### Changed
21
+
22
+ - Raised the `@kurot/ui-document` requirement to `^0.6.1` for canonical Skin
23
+ state and internal-node handling.
24
+ - Simplified the authored Skin root to `class`; storage IDs, format versions,
25
+ runtime targets, and default flags are no longer user-edited XML metadata.
26
+ - Default theme mappings now come from internal built-in conventions and
27
+ configured project component pairs.
28
+ - Skin parts are inferred from identified visual nodes; internal nodes can omit
29
+ IDs. States use the root `states` list and local `property.state` attributes,
30
+ so state-only targets do not require artificial part names.
31
+ - Image `source` values use plain resource keys without an
32
+ `@resource:image:` prefix.
9
33
 
10
34
  ## 2.0.0 — 2026-09-21
11
35
 
package/README.md CHANGED
@@ -3,11 +3,11 @@
3
3
  Build tooling for the Kurot UI Editor workflow. It uses esbuild, emits ES2022
4
4
  ESM, and compiles canonical KUI XML skins into runtime theme modules.
5
5
 
6
- > **Current release: 2.0.0.** Node.js 20 or later is required.
6
+ > **Current release: 2.0.2.** Node.js 20 or later is required.
7
7
 
8
- > **Release scope:** 2.0.0 is currently dedicated to Kurot Editor integration.
8
+ > **Release scope:** The 2.0.x line is currently dedicated to Kurot Editor integration.
9
9
  > Existing game projects that use EXML, including CrashMaster, should remain on
10
- > `@kurot/cli@1.3.x`. Version 2.0.0 is not an in-place project upgrade and does
10
+ > `@kurot/cli@1.3.x`. Version 2.0.x is not an in-place project upgrade and does
11
11
  > not require those projects to change their configuration or UI assets.
12
12
 
13
13
  See [CHANGELOG.md](CHANGELOG.md) for release history.
@@ -114,36 +114,41 @@ The HTML template must contain these placeholders:
114
114
 
115
115
  ## KUI XML compilation
116
116
 
117
- KUI XML is the only authored UI format. A skin declares its runtime target and
118
- whether it is the default skin directly on the document root:
117
+ KUI XML is the authored Skin format. A Skin root declares its generated class
118
+ name and, when needed, its state names. The Skin itself is the visual root
119
+ container, so size and layout properties belong on `<Skin>` and visual nodes
120
+ are direct children:
119
121
 
120
122
  ```xml
121
123
  <?xml version="1.0" encoding="utf-8"?>
122
- <Skin xmlns="https://kurot.dev/ui/1"
123
- id="skins.ButtonSkin"
124
- version="2"
125
- target="kui.Button"
126
- default="true">
127
- <Group id="root" minWidth="100" minHeight="50">
128
- <Label id="labelDisplay" horizontalCenter="0" verticalCenter="0" />
129
- </Group>
124
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ButtonSkin" states="up,down,disabled"
125
+ minWidth="100" minHeight="50">
126
+ <Rect fillColor="#315A9D" fillColor.down="#244474" alpha.disabled="0.5" />
127
+ <Label id="labelDisplay" horizontalCenter="0" verticalCenter="0" />
130
128
  </Skin>
131
129
  ```
132
130
 
131
+ Only nodes exposed as runtime skin parts need an `id`. State-specific values
132
+ use `property.state` on the affected node, so internal graphics remain unnamed.
133
+ Image sources use their resource key directly, for example
134
+ `source="button_up_png"`.
135
+
133
136
  The pipeline is:
134
137
 
135
138
  ```text
136
139
  .kui.xml → UIDocument → SkinIR → ESM skin factory → theme bundle
137
140
  ```
138
141
 
139
- Default skin mappings are derived from `target` and `default`; the build writes
140
- `default.thm.json` with the mappings and the generated `skinsJs` module path.
141
- Duplicate defaults are errors. Unknown tags are warnings in normal development
142
- and errors under strict or release builds.
142
+ The build derives default skin mappings from built-in component conventions and
143
+ configured project component pairs. The build writes `default.thm.json` with
144
+ those mappings and the generated `skinsJs` module path. Duplicate conventional
145
+ mappings are errors. Unknown tags are warnings in normal development and errors
146
+ under strict or release builds.
143
147
 
144
- Successful compilation also writes `.kurot/skin-parts.d.ts`. It augments the UI
145
- runtime with the exact named parts and types declared by each skin. This file is
146
- editor-only, ignored by git, and never enters browser bundles.
148
+ Successful compilation also writes `.kurot/skin-parts.d.ts`. Every identified
149
+ node inside the Skin is inferred as a skin part; its `id` is the part
150
+ name. The declaration augments the UI runtime with those exact names and types.
151
+ This file is editor-only, ignored by git, and never enters browser bundles.
147
152
 
148
153
  ## Reusable components
149
154
 
@@ -1 +1 @@
1
- {"version":3,"file":"discover-components.d.ts","sourceRoot":"","sources":["../../../src/core/components/discover-components.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3E;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,mBAAmB,GAAG,SAAS,GACzC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsF7B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CACxC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB"}
1
+ {"version":3,"file":"discover-components.d.ts","sourceRoot":"","sources":["../../../src/core/components/discover-components.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3E;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,mBAAmB,GAAG,SAAS,GACzC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6E7B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CACxC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB"}
@@ -55,15 +55,6 @@ export async function discoverComponents(root, convention) {
55
55
  let skinClass;
56
56
  try {
57
57
  const skinDocument = parseUIDocument(await fs.readFile(skin, 'utf-8'));
58
- if (skinDocument.assetKind !== 'appearance') {
59
- errors.push(`Component skin '${relative(root, skin)}' must be a KUI Skin document.`);
60
- continue;
61
- }
62
- const targetType = `${convention.prefix}.${name}`;
63
- if (skinDocument.contract.targetType !== targetType) {
64
- errors.push(`Component skin '${relative(root, skin)}' must target '${targetType}'.`);
65
- continue;
66
- }
67
58
  skinClass = skinDocument.id;
68
59
  }
69
60
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"discover-components.js","sourceRoot":"","sources":["../../../src/core/components/discover-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover-components.js","sourceRoot":"","sources":["../../../src/core/components/discover-components.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/core/kui/codegen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,MAAM,EAMN,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAE1E"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/core/kui/codegen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAA8C,MAAM,EAAqC,MAAM,UAAU,CAAC;AAKtH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAE1E"}
@@ -61,7 +61,6 @@ class CodeGenerator {
61
61
  const uiImports = moduleImports.get('@kurot/ui');
62
62
  uiImports.add('State');
63
63
  uiImports.add('SetProperty');
64
- uiImports.add('SetProperty');
65
64
  }
66
65
  for (const [modulePath, classes] of moduleImports) {
67
66
  const names = [...classes].sort().join(', ');
@@ -86,6 +85,7 @@ class CodeGenerator {
86
85
  for (const prop of this._ir.properties) {
87
86
  this.emitPropertyAssignment('skin', prop.name, prop.value);
88
87
  }
88
+ this.emitPropertyChildren('skin', this._ir.propertyChildren);
89
89
  this.emitNodeDeclarations(this._ir.children);
90
90
  if (this._ir.children.length > 0) {
91
91
  const childVars = this._ir.children.map(n => n.varName).join(', ');
@@ -123,7 +123,7 @@ class CodeGenerator {
123
123
  emitNodeCreation(node) {
124
124
  this.line(`const ${node.varName} = new ${node.className}();`);
125
125
  if (node.id) {
126
- this.line(`skin.${node.id} = ${node.varName};`);
126
+ this.line(`skin[${JSON.stringify(node.id)}] = ${node.varName};`);
127
127
  }
128
128
  }
129
129
  emitNodeProperties(node) {
@@ -146,11 +146,14 @@ class CodeGenerator {
146
146
  this.line(`${target}.${prop} = ${this.propertyValueToJS(prop, value)};`);
147
147
  }
148
148
  emitNodePropertyChildren(node) {
149
- for (const pc of node.propertyChildren) {
149
+ this.emitPropertyChildren(node.varName, node.propertyChildren);
150
+ }
151
+ emitPropertyChildren(target, propertyChildren) {
152
+ for (const pc of propertyChildren) {
150
153
  for (const child of pc.nodes) {
151
154
  this.emitNodeCreation(child);
152
155
  this.emitNodeProperties(child);
153
- this.line(`${node.varName}.${pc.propertyName} = ${child.varName};`);
156
+ this.line(`${target}.${pc.propertyName} = ${child.varName};`);
154
157
  }
155
158
  }
156
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/core/kui/codegen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAWhD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,QAAyB;IACjE,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,wEAAwE;AAExE,MAAM,aAAa;IAClB,qEAAqE;IAEpD,GAAG,CAAS;IACZ,MAAM,GAAa,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,CAAC;IAEpB,qEAAqE;IAErE,YAAmB,EAAU;QAC5B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IACf,CAAC;IAED,qEAAqE;IAE9D,QAAQ;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,qEAAqE;IAE7D,UAAU;QACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAEO,WAAW;QAClB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;QACrD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,0EAA0E;QAC1E,qDAAqD;QACrD,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,UAAU,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAEO,YAAY;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,mBAAmB,QAAQ,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,2BAA2B,SAAS,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,KAA0B;QACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,IAAI,EAAE,eAAe,IAAI,iBAAiB,CAAC;gBAC/D,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC;gBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,IAAI,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,OAAO,SAAS,IAAI,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC5E,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEO,gBAAgB,CAAC,IAAc;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAEO,kBAAkB,CAAC,IAAc;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;IAEO,sBAAsB,CAAC,MAAc,EAAE,IAAY,EAAE,KAAoB;QAChF,wCAAwC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtD,OAAO;YACR,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvD,OAAO;YACR,CAAC;QACF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;IAEO,wBAAwB,CAAC,IAAc;QAC9C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,YAAY,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YACrE,CAAC;QACF,CAAC;IACF,CAAC;IAEO,UAAU;QACjB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAEO,iBAAiB,CAAC,KAAe;QACxC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC;QACrC,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,OAAO,cAAc,KAAK,CAAC,IAAI,OAAO,SAAS,IAAI,CAAC;IACrD,CAAC;IAEO,oBAAoB,CAAC,QAAuB;QACnD,OAAO,oBAAoB,QAAQ,CAAC,QAAQ,OAAO,QAAQ,CAAC,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;IAChI,CAAC;IAEO,SAAS,CAAC,KAAoB;QACrC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,SAAS;gBACb,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3B,KAAK,SAAS;gBACb,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,KAAoB;QAC3D,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,OAAO,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,IAAI,CAAC,IAAY;QACxB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAEO,WAAW,CAAC,SAAiB;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,YAAY,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACjF,OAAO,SAAS,IAAI,EAAE,CAAC;IACxB,CAAC;IAEO,iBAAiB,CAAC,YAAoB;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9E,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAW,EAAE;YACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC1E,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;YACvC,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;CACD;AAED,wEAAwE;AAExE,SAAS,WAAW,CAAC,KAAmB;IACvC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5E,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/core/kui/codegen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kui-parser.d.ts","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAIX,MAAM,EAIN,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,MAAM,CAMR"}
1
+ {"version":3,"file":"kui-parser.d.ts","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIX,MAAM,EAIN,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,MAAM,CAGR"}
@@ -1,13 +1,10 @@
1
- import { isUIAssetReference, isUIDesignTokenReference, isUIResourceReference, parseUIDocument, } from '@kurot/ui-document';
1
+ import { isUIAssetReference, isUIDesignTokenReference, isUIResourceReference, isSyntheticNodeId, parseUIDocument, } from '@kurot/ui-document';
2
2
  import { localName, lookupComponent } from './registry.js';
3
3
  /**
4
4
  * Parses a KUI Skin document into the existing skin code-generation IR.
5
5
  */
6
6
  export function parseKUISkin(source, className, customNamespaces = []) {
7
7
  const document = parseUIDocument(source);
8
- if (document.assetKind !== 'appearance') {
9
- throw new Error(`KUI compiler expected a Skin document, received ${document.assetKind}.`);
10
- }
11
8
  return new KUIParseContext(source, document, className ?? document.id, customNamespaces).parse();
12
9
  }
13
10
  class KUIParseContext {
@@ -18,14 +15,12 @@ class KUIParseContext {
18
15
  _imports = new Map([['Skin', '@kurot/ui']]);
19
16
  _skinParts = [];
20
17
  _unresolvedTags = [];
21
- _partIds;
22
18
  _variable = 0;
23
19
  constructor(_source, _document, _className, _customNamespaces) {
24
20
  this._source = _source;
25
21
  this._document = _document;
26
22
  this._className = _className;
27
23
  this._customNamespaces = _customNamespaces;
28
- this._partIds = new Set(Object.values(this._document.contract.parts).map(part => part.nodeId));
29
24
  }
30
25
  parse() {
31
26
  const root = this._document.root;
@@ -34,22 +29,22 @@ class KUIParseContext {
34
29
  }
35
30
  const width = numericProperty(root.properties.width);
36
31
  const height = numericProperty(root.properties.height);
37
- const rootNode = this._node(root);
32
+ const rootProperties = this._properties(root, new Set(['height', 'width']));
38
33
  return {
39
34
  className: this._className,
40
35
  ...(width === undefined ? {} : { width }),
41
36
  ...(height === undefined ? {} : { height }),
42
- properties: [],
37
+ properties: rootProperties.properties,
43
38
  imports: this._imports,
44
39
  skinParts: this._skinParts,
45
- children: rootNode === undefined ? [] : [rootNode],
46
- propertyChildren: [],
40
+ children: root.children.map(child => this._node(child)).filter(isSkinNode),
41
+ propertyChildren: rootProperties.propertyChildren,
47
42
  states: this._states(),
48
43
  declarations: [],
49
44
  unresolvedTags: this._unresolvedTags,
50
45
  };
51
46
  }
52
- _node(node) {
47
+ _node(node, exposeAsPart = true) {
53
48
  if (node.instance !== undefined) {
54
49
  throw new Error(`KUI Skin node "${node.id}" cannot be a reusable component instance.`);
55
50
  }
@@ -61,19 +56,10 @@ class KUIParseContext {
61
56
  }
62
57
  const className = localName(tag);
63
58
  this._imports.set(className, info.module);
64
- if (this._partIds.has(node.id))
59
+ if (exposeAsPart && !isSyntheticNodeId(node.id)) {
65
60
  this._skinParts.push(node.id);
66
- const propertyChildren = [];
67
- const properties = [];
68
- for (const [name, value] of Object.entries(node.properties)) {
69
- const semanticChild = this._semanticChild(name, value);
70
- if (semanticChild) {
71
- propertyChildren.push(semanticChild);
72
- }
73
- else {
74
- properties.push({ name, value: propertyValue(value) });
75
- }
76
61
  }
62
+ const { properties, propertyChildren } = this._properties(node);
77
63
  return {
78
64
  className,
79
65
  module: info.module,
@@ -84,6 +70,22 @@ class KUIParseContext {
84
70
  propertyChildren,
85
71
  };
86
72
  }
73
+ _properties(node, excluded = new Set()) {
74
+ const properties = [];
75
+ const propertyChildren = [];
76
+ for (const [name, value] of Object.entries(node.properties)) {
77
+ if (excluded.has(name))
78
+ continue;
79
+ const semanticChild = this._semanticChild(name, value);
80
+ if (semanticChild) {
81
+ propertyChildren.push(semanticChild);
82
+ }
83
+ else {
84
+ properties.push({ name, value: propertyValue(value) });
85
+ }
86
+ }
87
+ return { properties, propertyChildren };
88
+ }
87
89
  _semanticChild(name, value) {
88
90
  if (!isPlainObject(value) || typeof value.type !== 'string')
89
91
  return undefined;
@@ -93,7 +95,7 @@ class KUIParseContext {
93
95
  type: value.type,
94
96
  properties,
95
97
  children: [],
96
- });
98
+ }, false);
97
99
  return node === undefined ? undefined : { propertyName: name, nodes: [node] };
98
100
  }
99
101
  _states() {
@@ -105,7 +107,7 @@ class KUIParseContext {
105
107
  }
106
108
  return {
107
109
  type: 'SetProperty',
108
- targetId: override.targetId,
110
+ targetId: override.targetId === this._document.root.id ? '' : override.targetId,
109
111
  name: override.property,
110
112
  value: propertyValue(override.value),
111
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"kui-parser.js","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kui-parser.js","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-kui.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/compile-kui.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAYhE;;GAEG;AACH,wBAAgB,UAAU,IAAI,WAAW,CA6CxC"}
1
+ {"version":3,"file":"compile-kui.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/compile-kui.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA8BhE;;GAEG;AACH,wBAAgB,UAAU,IAAI,WAAW,CA6CxC"}
@@ -8,6 +8,23 @@ import { buildSkinsModule } from '../kui/skin-module-builder.js';
8
8
  import { generateSkinPartsDeclaration, SKIN_PARTS_DECLARATION_PATH } from '../kui/skin-parts-declaration.js';
9
9
  import { BuildError } from '../errors.js';
10
10
  import { KUI_THEME_OUTPUT_PATH } from '../project.js';
11
+ const DEFAULT_BUILTIN_COMPONENTS = new Set([
12
+ 'Button',
13
+ 'CheckBox',
14
+ 'ComboBox',
15
+ 'HScrollBar',
16
+ 'HSlider',
17
+ 'ItemRenderer',
18
+ 'Panel',
19
+ 'ProgressBar',
20
+ 'RadioButton',
21
+ 'Scroller',
22
+ 'TextInput',
23
+ 'ToggleButton',
24
+ 'ToggleSwitch',
25
+ 'VScrollBar',
26
+ 'VSlider',
27
+ ]);
11
28
  /**
12
29
  * Compiles canonical KUI Skin documents and generates the runtime theme map.
13
30
  */
@@ -32,7 +49,7 @@ export function compileKUI() {
32
49
  logger.step('no KUI Skin files found, skipping');
33
50
  return;
34
51
  }
35
- const mappings = createDefaultMappings(ctx, parsed);
52
+ const mappings = createDefaultMappings(ctx, parsed, project.components);
36
53
  throwIfInputInvalid(ctx);
37
54
  const built = await buildSkinsModule(ctx, parsed.map(item => item.skin));
38
55
  ctx.outputs.skinsScript = `js/${built.filename}`;
@@ -50,10 +67,7 @@ function parseSkins(ctx, files) {
50
67
  for (const file of files) {
51
68
  try {
52
69
  const document = parseUIDocument(file.contents);
53
- if (document.assetKind !== 'appearance')
54
- continue;
55
70
  parsed.push({
56
- document,
57
71
  skin: { file, className: document.id },
58
72
  });
59
73
  }
@@ -68,22 +82,20 @@ function parseSkins(ctx, files) {
68
82
  }
69
83
  return parsed;
70
84
  }
71
- function createDefaultMappings(ctx, skins) {
85
+ function createDefaultMappings(ctx, skins, components) {
72
86
  const result = {};
73
87
  const sources = new Map();
74
88
  for (const item of skins) {
75
- if (item.document.contract.isDefault !== true)
89
+ const key = defaultComponentName(item.skin.className, components);
90
+ if (!key) {
76
91
  continue;
77
- const target = item.document.contract.targetType;
78
- if (!target)
79
- continue;
80
- const key = target.split('.').pop() ?? target;
92
+ }
81
93
  const previous = sources.get(key);
82
94
  if (previous) {
83
95
  reportDiagnostic(ctx, {
84
96
  code: DIAGNOSTIC_CODES.KUI_DUPLICATE_DEFAULT,
85
97
  severity: 'error',
86
- message: `Default KUI skins for "${target}" are duplicated by ${previous} and ${item.skin.file.relPath}.`,
98
+ message: `Default KUI skins for "${key}" are duplicated by ${previous} and ${item.skin.file.relPath}.`,
87
99
  location: { file: item.skin.file.relPath },
88
100
  });
89
101
  continue;
@@ -93,6 +105,18 @@ function createDefaultMappings(ctx, skins) {
93
105
  }
94
106
  return result;
95
107
  }
108
+ function defaultComponentName(skinClass, components) {
109
+ const projectComponent = components.find(component => component.skinClass === skinClass);
110
+ if (projectComponent) {
111
+ return projectComponent.name;
112
+ }
113
+ const shortName = skinClass.split('.').pop();
114
+ if (!shortName?.endsWith('Skin')) {
115
+ return undefined;
116
+ }
117
+ const componentName = shortName.slice(0, -'Skin'.length);
118
+ return DEFAULT_BUILTIN_COMPONENTS.has(componentName) ? componentName : undefined;
119
+ }
96
120
  async function collectKUIFiles(sourceDir, resourceDir) {
97
121
  const results = [];
98
122
  async function walk(directory) {
@@ -1 +1 @@
1
- {"version":3,"file":"compile-kui.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-kui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAiBtD;;GAEG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEvD,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC7B,gBAAgB,CAAC,eAAe;gBAChC,gBAAgB,CAAC,kBAAkB;gBACnC,gBAAgB,CAAC,qBAAqB;aACtC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnF,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACjD,OAAO;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpD,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,oBAAoB,GAAG,2BAA2B,CAAC;YAC/D,MAAM,SAAS,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,EACpD,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CACxD,CAAC;YAEF,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC3C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EACnC,MAAM,KAAK,CAAC,QAAQ,EAAE,CACtB,CAAC,CAAC;YACH,MAAM,KAAK,GAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAC3E,MAAM,SAAS,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,qBAAqB,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CACtC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB,EAAE,KAAyB;IAC/D,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,QAAQ,CAAC,SAAS,KAAK,YAAY;gBAAE,SAAS;YAClD,MAAM,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;aACtC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,gBAAgB,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;gBACzC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtF,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;aAChC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAiB,EAAE,KAA4B;IAC7E,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI;YAAE,SAAS;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACd,gBAAgB,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,gBAAgB,CAAC,qBAAqB;gBAC5C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,0BAA0B,MAAM,uBAAuB,QAAQ,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG;gBACzG,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;aAC1C,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,WAAmB;IACpE,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,KAAK,UAAU,IAAI,CAAC,SAAiB;QACpC,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC/D,MAAM,KAAK,CAAC;QACb,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBACtD,QAAQ,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC7C,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAiB,EAAE,UAAsB;IAClE,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAiB;IAC7C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE;QAAE,OAAO;IACzC,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"compile-kui.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-kui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAWtD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IAC1C,QAAQ;IACR,UAAU;IACV,UAAU;IACV,YAAY;IACZ,SAAS;IACT,cAAc;IACd,OAAO;IACP,aAAa;IACb,aAAa;IACb,UAAU;IACV,WAAW;IACX,cAAc;IACd,cAAc;IACd,YAAY;IACZ,SAAS;CACT,CAAC,CAAC;AAOH;;GAEG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAEvD,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC7B,gBAAgB,CAAC,eAAe;gBAChC,gBAAgB,CAAC,kBAAkB;gBACnC,gBAAgB,CAAC,qBAAqB;aACtC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnF,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACjD,OAAO;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACxE,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,oBAAoB,GAAG,2BAA2B,CAAC;YAC/D,MAAM,SAAS,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,EACpD,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CACxD,CAAC;YAEF,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC3C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EACnC,MAAM,KAAK,CAAC,QAAQ,EAAE,CACtB,CAAC,CAAC;YACH,MAAM,KAAK,GAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAC3E,MAAM,SAAS,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,qBAAqB,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CACtC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB,EAAE,KAAyB;IAC/D,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;aACtC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,gBAAgB,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;gBACzC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtF,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;aAChC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC7B,GAAiB,EACjB,KAA4B,EAC5B,UAAuC;IAEvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,SAAS;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACd,gBAAgB,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,gBAAgB,CAAC,qBAAqB;gBAC5C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,0BAA0B,GAAG,uBAAuB,QAAQ,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG;gBACtG,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;aAC1C,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC5B,SAAiB,EACjB,UAAuC;IAEvC,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACzF,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAC9B,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,0BAA0B,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,WAAmB;IACpE,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,KAAK,UAAU,IAAI,CAAC,SAAiB;QACpC,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC/D,MAAM,KAAK,CAAC;QACb,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBACtD,QAAQ,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC7C,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAiB,EAAE,UAAsB;IAClE,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAiB;IAC7C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE;QAAE,OAAO;IACzC,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurot/cli",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Kurot CLI - build tool for Kurot Editor KUI XML workflows",
5
5
  "author": "Kelvin <kyia.x52@gmail.com>",
6
6
  "license": "MIT",
@@ -27,7 +27,7 @@
27
27
  "kurot": "tsx src/index.ts"
28
28
  },
29
29
  "dependencies": {
30
- "@kurot/ui-document": "^0.6.0",
30
+ "@kurot/ui-document": "^0.6.2",
31
31
  "commander": "^13.0.0",
32
32
  "esbuild": "^0.25.0"
33
33
  },
@@ -1,24 +1,6 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ButtonSkin" version="2" target="kui.Button" default="true">
3
- <contract>
4
- <parts>
5
- <part name="iconDisplay" node="iconDisplay" />
6
- <part name="labelDisplay" node="labelDisplay" />
7
- </parts>
8
- <states>
9
- <state name="disabled">
10
- <set target="node_image1" property="alpha" value="0.5" />
11
- </state>
12
- <state name="down">
13
- <set target="node_image1" property="source" value="@resource:image:button_down_png" />
14
- </state>
15
- <state name="up">
16
- </state>
17
- </states>
18
- </contract>
19
- <Group id="root" minHeight="50" minWidth="100">
20
- <Image id="node_image1" height="100%" scale9Grid="1,3,8,8" source="@resource:image:button_up_png" width="100%" />
21
- <Label id="labelDisplay" bottom="8" left="8" right="8" size="20" textAlign="center" textColor="16777215" top="8" verticalAlign="middle" />
22
- <Image id="iconDisplay" horizontalCenter="0" verticalCenter="0" />
23
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ButtonSkin" states="disabled,down,up" minHeight="50" minWidth="100">
3
+ <Image height="100%" scale9Grid="1,3,8,8" source="button_up_png" width="100%" alpha.disabled="0.5" source.down="button_down_png" />
4
+ <Label id="labelDisplay" bottom="8" left="8" right="8" size="20" textAlign="center" textColor="#FFFFFF" top="8" verticalAlign="middle" />
5
+ <Image id="iconDisplay" horizontalCenter="0" verticalCenter="0" />
24
6
  </Skin>
@@ -1,45 +1,10 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.CheckBoxSkin" version="2" target="kui.CheckBox" default="true">
3
- <contract>
4
- <parts>
5
- <part name="labelDisplay" node="labelDisplay" />
6
- </parts>
7
- <states>
8
- <state name="disabled">
9
- <set target="node_image3" property="alpha" value="0.5" />
10
- </state>
11
- <state name="disabledAndSelected">
12
- <set target="node_image3" property="source" value="@resource:image:checkbox_select_disabled_png" />
13
- </state>
14
- <state name="down">
15
- <set target="node_image3" property="alpha" value="0.7" />
16
- </state>
17
- <state name="downAndSelected">
18
- <set target="node_image3" property="source" value="@resource:image:checkbox_select_down_png" />
19
- </state>
20
- <state name="up">
21
- </state>
22
- <state name="upAndSelected">
23
- <set target="node_image3" property="source" value="@resource:image:checkbox_select_up_png" />
24
- </state>
25
- </states>
26
- </contract>
27
- <Group id="root">
28
- <Group id="node_group1" height="100%" width="100%">
29
- <properties>
30
- <property name="layout">
31
- <object>
32
- <value name="properties">
33
- <object>
34
- <value name="verticalAlign" value="middle" />
35
- </object>
36
- </value>
37
- <value name="type" value="kui.HorizontalLayout" />
38
- </object>
39
- </property>
40
- </properties>
41
- <Image id="node_image3" alpha="1" fillMode="scale" source="@resource:image:checkbox_unselect_png" />
42
- <Label id="labelDisplay" fontFamily="Tahoma" size="20" textAlign="center" textColor="7368816" verticalAlign="middle" />
43
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.CheckBoxSkin" states="disabled,disabledAndSelected,down,downAndSelected,up,upAndSelected">
3
+ <Group height="100%" width="100%">
4
+ <layout>
5
+ <HorizontalLayout verticalAlign="middle" />
6
+ </layout>
7
+ <Image alpha="1" fillMode="scale" source="checkbox_unselect_png" alpha.disabled="0.5" source.disabledAndSelected="checkbox_select_disabled_png" alpha.down="0.7" source.downAndSelected="checkbox_select_down_png" source.upAndSelected="checkbox_select_up_png" />
8
+ <Label id="labelDisplay" fontFamily="Tahoma" size="20" textAlign="center" textColor="#707070" verticalAlign="middle" />
44
9
  </Group>
45
10
  </Skin>
@@ -1,32 +1,9 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ComboBoxSkin" version="2" target="kui.ComboBox" default="true">
3
- <contract>
4
- <parts>
5
- <part name="dropDown" node="dropDown" />
6
- <part name="labelDisplay" node="labelDisplay" />
7
- <part name="list" node="list" />
8
- </parts>
9
- <states>
10
- <state name="disabled">
11
- <set target="node_rect1" property="fillColor" value="1450302" />
12
- <set target="node_rect1" property="strokeColor" value="4871257" />
13
- <set target="labelDisplay" property="textColor" value="6516338" />
14
- </state>
15
- <state name="normal">
16
- </state>
17
- <state name="open">
18
- <set target="node_rect1" property="fillColor" value="1450302" />
19
- <set target="node_rect1" property="strokeColor" value="7101671" />
20
- <set target="node_label2" property="textColor" value="7101671" />
21
- </state>
22
- </states>
23
- </contract>
24
- <Group id="root" minHeight="36" minWidth="100">
25
- <Rect id="node_rect1" fillColor="1710638" height="36" strokeColor="996448" strokeWeight="1" width="100%" />
26
- <Label id="labelDisplay" height="36" left="10" right="36" size="14" textColor="14673641" top="0" verticalAlign="middle" />
27
- <Label id="node_label2" height="36" right="4" size="10" text="▼" textAlign="center" textColor="6516338" top="0" verticalAlign="middle" width="24" />
28
- <Scroller id="dropDown" height="180" left="0" right="0" top="36" visible="false">
29
- <List id="list" height="180" width="100%" />
30
- </Scroller>
31
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ComboBoxSkin" states="disabled,normal,open" minHeight="36" minWidth="100">
3
+ <Rect fillColor="#1A1A2E" height="36" strokeColor="#0F3460" strokeWeight="1" width="100%" fillColor.disabled="#16213E" strokeColor.disabled="#4A5459" fillColor.open="#16213E" strokeColor.open="#6C5CE7" />
4
+ <Label id="labelDisplay" height="36" left="10" right="36" size="14" textColor="#DFE6E9" top="0" verticalAlign="middle" textColor.disabled="#636E72" />
5
+ <Label height="36" right="4" size="10" text="▼" textAlign="center" textColor="#636E72" top="0" verticalAlign="middle" width="24" textColor.open="#6C5CE7" />
6
+ <Scroller id="dropDown" height="180" left="0" right="0" top="36" visible="false">
7
+ <List id="list" height="180" width="100%" />
8
+ </Scroller>
32
9
  </Skin>
@@ -1,11 +1,4 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.GroupSkin" version="2" target="kui.Group" default="false">
3
- <contract>
4
- <parts>
5
- <part name="contentGroup" node="contentGroup" />
6
- </parts>
7
- </contract>
8
- <Group id="root">
9
- <Group id="contentGroup" height="100%" width="100%" />
10
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.GroupSkin">
3
+ <Group id="contentGroup" height="100%" width="100%" />
11
4
  </Skin>
@@ -1,11 +1,4 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.HScrollBarSkin" version="2" target="kui.HScrollBar" default="true">
3
- <contract>
4
- <parts>
5
- <part name="thumb" node="thumb" />
6
- </parts>
7
- </contract>
8
- <Group id="root" minHeight="8" minWidth="20">
9
- <Image id="thumb" height="8" scale9Grid="3,3,2,2" source="@resource:image:roundthumb_png" verticalCenter="0" width="30" />
10
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.HScrollBarSkin" minHeight="8" minWidth="20">
3
+ <Image id="thumb" height="8" scale9Grid="3,3,2,2" source="roundthumb_png" verticalCenter="0" width="30" />
11
4
  </Skin>
@@ -1,13 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.HSliderSkin" version="2" target="kui.HSlider" default="true">
3
- <contract>
4
- <parts>
5
- <part name="thumb" node="thumb" />
6
- <part name="track" node="track" />
7
- </parts>
8
- </contract>
9
- <Group id="root" minHeight="8" minWidth="20">
10
- <Image id="track" height="6" scale9Grid="1,1,4,4" source="@resource:image:track_sb_png" verticalCenter="0" width="100%" />
11
- <Image id="thumb" source="@resource:image:thumb_png" verticalCenter="0" />
12
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.HSliderSkin" minHeight="8" minWidth="20">
3
+ <Image id="track" height="6" scale9Grid="1,1,4,4" source="track_sb_png" verticalCenter="0" width="100%" />
4
+ <Image id="thumb" source="thumb_png" verticalCenter="0" />
13
5
  </Skin>
@@ -1,11 +1,4 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ImageSkin" version="2" target="kui.Image" default="false">
3
- <contract>
4
- <parts>
5
- <part name="imageDisplay" node="imageDisplay" />
6
- </parts>
7
- </contract>
8
- <Group id="root">
9
- <Image id="imageDisplay" height="100%" width="100%" />
10
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ImageSkin">
3
+ <Image id="imageDisplay" height="100%" width="100%" />
11
4
  </Skin>
@@ -1,22 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ItemRendererSkin" version="2" target="kui.ItemRenderer" default="true">
3
- <contract>
4
- <parts>
5
- <part name="labelDisplay" node="labelDisplay" />
6
- </parts>
7
- <states>
8
- <state name="disabled">
9
- <set target="node_image1" property="alpha" value="0.5" />
10
- </state>
11
- <state name="down">
12
- <set target="node_image1" property="source" value="@resource:image:button_down_png" />
13
- </state>
14
- <state name="up">
15
- </state>
16
- </states>
17
- </contract>
18
- <Group id="root" minHeight="50" minWidth="100">
19
- <Image id="node_image1" height="100%" scale9Grid="1,3,8,8" source="@resource:image:button_up_png" width="100%" />
20
- <Label id="labelDisplay" bottom="8" fontFamily="Tahoma" left="8" right="8" size="20" textAlign="center" textColor="16777215" top="8" verticalAlign="middle" />
21
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ItemRendererSkin" states="disabled,down,up" minHeight="50" minWidth="100">
3
+ <Image height="100%" scale9Grid="1,3,8,8" source="button_up_png" width="100%" alpha.disabled="0.5" source.down="button_down_png" />
4
+ <Label id="labelDisplay" bottom="8" fontFamily="Tahoma" left="8" right="8" size="20" textAlign="center" textColor="#FFFFFF" top="8" verticalAlign="middle" />
22
5
  </Skin>
@@ -1,11 +1,4 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.LabelSkin" version="2" target="kui.Label" default="false">
3
- <contract>
4
- <parts>
5
- <part name="labelDisplay" node="labelDisplay" />
6
- </parts>
7
- </contract>
8
- <Group id="root">
9
- <Label id="labelDisplay" height="100%" size="14" textColor="14673641" width="100%" />
10
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.LabelSkin">
3
+ <Label id="labelDisplay" height="100%" size="14" textColor="#DFE6E9" width="100%" />
11
4
  </Skin>
@@ -1,15 +1,7 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ListSkin" version="2" target="kui.List" default="false">
3
- <contract>
4
- <parts>
5
- <part name="dataGroup" node="dataGroup" />
6
- <part name="scroller" node="scroller" />
7
- </parts>
8
- </contract>
9
- <Group id="root" minHeight="20" minWidth="20">
10
- <Rect id="node_rect1" fillColor="1710638" height="100%" strokeColor="996448" strokeWeight="1" width="100%" />
11
- <Scroller id="scroller" height="100%" width="100%">
12
- <DataGroup id="dataGroup" height="100%" width="100%" />
13
- </Scroller>
14
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ListSkin" minHeight="20" minWidth="20">
3
+ <Rect fillColor="#1A1A2E" height="100%" strokeColor="#0F3460" strokeWeight="1" width="100%" />
4
+ <Scroller id="scroller" height="100%" width="100%">
5
+ <DataGroup id="dataGroup" height="100%" width="100%" />
6
+ </Scroller>
15
7
  </Skin>
@@ -1,18 +1,9 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.PanelSkin" version="2" target="kui.Panel" default="true">
3
- <contract>
4
- <parts>
5
- <part name="closeButton" node="closeButton" />
6
- <part name="moveArea" node="moveArea" />
7
- <part name="titleDisplay" node="titleDisplay" />
8
- </parts>
9
- </contract>
10
- <Group id="root" minHeight="230" minWidth="450">
11
- <Image id="node_image1" bottom="0" left="0" right="0" scale9Grid="2,2,12,12" source="@resource:image:border_png" top="0" />
12
- <Group id="moveArea" height="45" left="0" right="0" top="0">
13
- <Image id="node_image2" bottom="0" left="0" right="0" scale9Grid="2,2,12,12" source="@resource:image:header_png" top="0" />
14
- <Label id="titleDisplay" fontFamily="Tahoma" left="15" right="5" size="20" textColor="16777215" verticalCenter="0" wordWrap="false" />
15
- </Group>
16
- <Button id="closeButton" bottom="5" horizontalCenter="0" label="close" />
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.PanelSkin" minHeight="230" minWidth="450">
3
+ <Image bottom="0" left="0" right="0" scale9Grid="2,2,12,12" source="border_png" top="0" />
4
+ <Group id="moveArea" height="45" left="0" right="0" top="0">
5
+ <Image bottom="0" left="0" right="0" scale9Grid="2,2,12,12" source="header_png" top="0" />
6
+ <Label id="titleDisplay" fontFamily="Tahoma" left="15" right="5" size="20" textColor="#FFFFFF" verticalCenter="0" wordWrap="false" />
17
7
  </Group>
8
+ <Button id="closeButton" bottom="5" horizontalCenter="0" label="close" />
18
9
  </Skin>
@@ -1,14 +1,6 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ProgressBarSkin" version="2" target="kui.ProgressBar" default="true">
3
- <contract>
4
- <parts>
5
- <part name="labelDisplay" node="labelDisplay" />
6
- <part name="thumb" node="thumb" />
7
- </parts>
8
- </contract>
9
- <Group id="root" minHeight="18" minWidth="30">
10
- <Image id="node_image1" height="100%" scale9Grid="1,1,4,4" source="@resource:image:track_pb_png" verticalCenter="0" width="100%" />
11
- <Image id="thumb" height="100%" scale9Grid="1,1,4,4" source="@resource:image:thumb_pb_png" width="100%" />
12
- <Label id="labelDisplay" fontFamily="Tahoma" horizontalCenter="0" size="15" textAlign="center" textColor="7368816" verticalAlign="middle" verticalCenter="0" />
13
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ProgressBarSkin" minHeight="18" minWidth="30">
3
+ <Image height="100%" scale9Grid="1,1,4,4" source="track_pb_png" verticalCenter="0" width="100%" />
4
+ <Image id="thumb" height="100%" scale9Grid="1,1,4,4" source="thumb_pb_png" width="100%" />
5
+ <Label id="labelDisplay" fontFamily="Tahoma" horizontalCenter="0" size="15" textAlign="center" textColor="#707070" verticalAlign="middle" verticalCenter="0" />
14
6
  </Skin>
@@ -1,45 +1,10 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.RadioButtonSkin" version="2" target="kui.RadioButton" default="true">
3
- <contract>
4
- <parts>
5
- <part name="labelDisplay" node="labelDisplay" />
6
- </parts>
7
- <states>
8
- <state name="disabled">
9
- <set target="node_image3" property="alpha" value="0.5" />
10
- </state>
11
- <state name="disabledAndSelected">
12
- <set target="node_image3" property="source" value="@resource:image:radiobutton_select_disabled_png" />
13
- </state>
14
- <state name="down">
15
- <set target="node_image3" property="alpha" value="0.7" />
16
- </state>
17
- <state name="downAndSelected">
18
- <set target="node_image3" property="source" value="@resource:image:radiobutton_select_down_png" />
19
- </state>
20
- <state name="up">
21
- </state>
22
- <state name="upAndSelected">
23
- <set target="node_image3" property="source" value="@resource:image:radiobutton_select_up_png" />
24
- </state>
25
- </states>
26
- </contract>
27
- <Group id="root">
28
- <Group id="node_group1" height="100%" width="100%">
29
- <properties>
30
- <property name="layout">
31
- <object>
32
- <value name="properties">
33
- <object>
34
- <value name="verticalAlign" value="middle" />
35
- </object>
36
- </value>
37
- <value name="type" value="kui.HorizontalLayout" />
38
- </object>
39
- </property>
40
- </properties>
41
- <Image id="node_image3" alpha="1" fillMode="scale" source="@resource:image:radiobutton_unselect_png" />
42
- <Label id="labelDisplay" fontFamily="Tahoma" size="20" textAlign="center" textColor="7368816" verticalAlign="middle" />
43
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.RadioButtonSkin" states="disabled,disabledAndSelected,down,downAndSelected,up,upAndSelected">
3
+ <Group height="100%" width="100%">
4
+ <layout>
5
+ <HorizontalLayout verticalAlign="middle" />
6
+ </layout>
7
+ <Image alpha="1" fillMode="scale" source="radiobutton_unselect_png" alpha.disabled="0.5" source.disabledAndSelected="radiobutton_select_disabled_png" alpha.down="0.7" source.downAndSelected="radiobutton_select_down_png" source.upAndSelected="radiobutton_select_up_png" />
8
+ <Label id="labelDisplay" fontFamily="Tahoma" size="20" textAlign="center" textColor="#707070" verticalAlign="middle" />
44
9
  </Group>
45
10
  </Skin>
@@ -1,13 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ScrollerSkin" version="2" target="kui.Scroller" default="true">
3
- <contract>
4
- <parts>
5
- <part name="horizontalScrollBar" node="horizontalScrollBar" />
6
- <part name="verticalScrollBar" node="verticalScrollBar" />
7
- </parts>
8
- </contract>
9
- <Group id="root" minHeight="20" minWidth="20">
10
- <HScrollBar id="horizontalScrollBar" autoVisibility="false" bottom="0" height="12" left="0" right="12" visible="false" />
11
- <VScrollBar id="verticalScrollBar" autoVisibility="false" bottom="12" right="0" top="0" visible="false" width="12" />
12
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ScrollerSkin" minHeight="20" minWidth="20">
3
+ <HScrollBar id="horizontalScrollBar" autoVisibility="false" bottom="0" height="12" left="0" right="12" visible="false" />
4
+ <VScrollBar id="verticalScrollBar" autoVisibility="false" bottom="12" right="0" top="0" visible="false" width="12" />
13
5
  </Skin>
@@ -1,12 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.TabBarSkin" version="2" target="kui.TabBar" default="false">
3
- <contract>
4
- <parts>
5
- <part name="dataGroup" node="dataGroup" />
6
- </parts>
7
- </contract>
8
- <Group id="root" minHeight="40" minWidth="100">
9
- <Rect id="node_rect1" fillColor="1450302" height="100%" width="100%" />
10
- <DataGroup id="dataGroup" height="100%" width="100%" />
11
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.TabBarSkin" minHeight="40" minWidth="100">
3
+ <Rect fillColor="#16213E" height="100%" width="100%" />
4
+ <DataGroup id="dataGroup" height="100%" width="100%" />
12
5
  </Skin>
@@ -1,28 +1,6 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.TextInputSkin" version="2" target="kui.TextInput" default="true">
3
- <contract>
4
- <parts>
5
- <part name="promptDisplay" node="promptDisplay" />
6
- <part name="textDisplay" node="textDisplay" />
7
- </parts>
8
- <states>
9
- <state name="disabled">
10
- <set target="node_rect1" property="alpha" value="0.5" />
11
- <set target="textDisplay" property="textColor" value="16711680" />
12
- </state>
13
- <state name="disabledWithPrompt">
14
- <set target="promptDisplay" property="visible" value="true" />
15
- </state>
16
- <state name="normal">
17
- </state>
18
- <state name="normalWithPrompt">
19
- <set target="promptDisplay" property="visible" value="true" />
20
- </state>
21
- </states>
22
- </contract>
23
- <Group id="root" minHeight="40" minWidth="300">
24
- <Rect id="node_rect1" fillColor="16777215" height="100%" width="100%" />
25
- <EditableText id="textDisplay" height="24" left="10" right="10" size="20" textColor="0" verticalAlign="middle" verticalCenter="0" />
26
- <Label id="promptDisplay" height="24" left="10" multiline="false" right="10" size="20" textColor="11119017" touchEnabled="false" verticalAlign="middle" verticalCenter="0" visible="false" wordWrap="false" />
27
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.TextInputSkin" states="disabled,disabledWithPrompt,normal,normalWithPrompt" minHeight="40" minWidth="300">
3
+ <Rect fillColor="#FFFFFF" height="100%" width="100%" alpha.disabled="0.5" />
4
+ <EditableText id="textDisplay" height="24" left="10" right="10" size="20" textColor="#000000" verticalAlign="middle" verticalCenter="0" textColor.disabled="#FF0000" />
5
+ <Label id="promptDisplay" height="24" left="10" multiline="false" right="10" size="20" textColor="#A9A9A9" touchEnabled="false" verticalAlign="middle" verticalCenter="0" visible="false" wordWrap="false" visible.disabledWithPrompt="true" visible.normalWithPrompt="true" />
28
6
  </Skin>
@@ -1,34 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ToggleButtonSkin" version="2" target="kui.ToggleButton" default="false">
3
- <contract>
4
- <parts>
5
- <part name="bg" node="bg" />
6
- <part name="labelDisplay" node="labelDisplay" />
7
- </parts>
8
- <states>
9
- <state name="disabled">
10
- <set target="bg" property="fillColor" value="2962486" />
11
- <set target="labelDisplay" property="textColor" value="6516338" />
12
- </state>
13
- <state name="disabledAndSelected">
14
- <set target="bg" property="fillColor" value="2962486" />
15
- </state>
16
- <state name="down">
17
- <set target="bg" property="fillColor" value="4871257" />
18
- </state>
19
- <state name="downAndSelected">
20
- <set target="bg" property="fillColor" value="5917649" />
21
- </state>
22
- <state name="up">
23
- </state>
24
- <state name="upAndSelected">
25
- <set target="bg" property="fillColor" value="7101671" />
26
- <set target="labelDisplay" property="textColor" value="16777215" />
27
- </state>
28
- </states>
29
- </contract>
30
- <Group id="root" minHeight="50" minWidth="100">
31
- <Rect id="bg" fillColor="6516338" height="100%" strokeColor="4871257" strokeWeight="1" width="100%" />
32
- <Label id="labelDisplay" bottom="8" left="8" right="8" size="16" textAlign="center" textColor="14673641" top="8" verticalAlign="middle" />
33
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ToggleButtonSkin" states="disabled,disabledAndSelected,down,downAndSelected,up,upAndSelected" minHeight="50" minWidth="100">
3
+ <Rect fillColor="#636E72" height="100%" strokeColor="#4A5459" strokeWeight="1" width="100%" fillColor.disabled="#2D3436" fillColor.disabledAndSelected="#2D3436" fillColor.down="#4A5459" fillColor.downAndSelected="#5A4BD1" fillColor.upAndSelected="#6C5CE7" />
4
+ <Label id="labelDisplay" bottom="8" left="8" right="8" size="16" textAlign="center" textColor="#DFE6E9" top="8" verticalAlign="middle" textColor.disabled="#636E72" textColor.upAndSelected="#FFFFFF" />
34
5
  </Skin>
@@ -1,29 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ToggleSwitchSkin" version="2" target="kui.ToggleSwitch" default="true">
3
- <contract>
4
- <states>
5
- <state name="disabled">
6
- <set target="node_image1" property="source" value="@resource:image:off_png" />
7
- </state>
8
- <state name="disabledAndSelected">
9
- <set target="node_image2" property="horizontalCenter" value="18" />
10
- </state>
11
- <state name="down">
12
- <set target="node_image1" property="source" value="@resource:image:off_png" />
13
- </state>
14
- <state name="downAndSelected">
15
- <set target="node_image2" property="horizontalCenter" value="18" />
16
- </state>
17
- <state name="up">
18
- <set target="node_image1" property="source" value="@resource:image:off_png" />
19
- </state>
20
- <state name="upAndSelected">
21
- <set target="node_image2" property="horizontalCenter" value="18" />
22
- </state>
23
- </states>
24
- </contract>
25
- <Group id="root">
26
- <Image id="node_image1" source="@resource:image:on_png" />
27
- <Image id="node_image2" horizontalCenter="-18" source="@resource:image:handle_png" verticalCenter="0" />
28
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ToggleSwitchSkin" states="disabled,disabledAndSelected,down,downAndSelected,up,upAndSelected">
3
+ <Image source="on_png" source.disabled="off_png" source.down="off_png" source.up="off_png" />
4
+ <Image horizontalCenter="-18" source="handle_png" verticalCenter="0" horizontalCenter.disabledAndSelected="18" horizontalCenter.downAndSelected="18" horizontalCenter.upAndSelected="18" />
29
5
  </Skin>
@@ -1,11 +1,4 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.VScrollBarSkin" version="2" target="kui.VScrollBar" default="true">
3
- <contract>
4
- <parts>
5
- <part name="thumb" node="thumb" />
6
- </parts>
7
- </contract>
8
- <Group id="root" minHeight="20" minWidth="8">
9
- <Image id="thumb" height="30" horizontalCenter="0" scale9Grid="3,3,2,2" source="@resource:image:roundthumb_png" width="8" />
10
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.VScrollBarSkin" minHeight="20" minWidth="8">
3
+ <Image id="thumb" height="30" horizontalCenter="0" scale9Grid="3,3,2,2" source="roundthumb_png" width="8" />
11
4
  </Skin>
@@ -1,13 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.VSliderSkin" version="2" target="kui.VSlider" default="true">
3
- <contract>
4
- <parts>
5
- <part name="thumb" node="thumb" />
6
- <part name="track" node="track" />
7
- </parts>
8
- </contract>
9
- <Group id="root" minHeight="30" minWidth="25">
10
- <Image id="track" height="100%" horizontalCenter="0" scale9Grid="1,1,4,4" source="@resource:image:track_png" width="7" />
11
- <Image id="thumb" horizontalCenter="0" source="@resource:image:thumb_png" />
12
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.VSliderSkin" minHeight="30" minWidth="25">
3
+ <Image id="track" height="100%" horizontalCenter="0" scale9Grid="1,1,4,4" source="track_png" width="7" />
4
+ <Image id="thumb" horizontalCenter="0" source="thumb_png" />
13
5
  </Skin>
@@ -1,11 +1,4 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <Skin xmlns="https://kurot.dev/ui/1" id="skins.ViewStackSkin" version="2" target="kui.ViewStack" default="false">
3
- <contract>
4
- <parts>
5
- <part name="contentGroup" node="contentGroup" />
6
- </parts>
7
- </contract>
8
- <Group id="root">
9
- <Group id="contentGroup" height="100%" width="100%" />
10
- </Group>
2
+ <Skin xmlns="https://kurot.dev/ui/1" class="skins.ViewStackSkin">
3
+ <Group id="contentGroup" height="100%" width="100%" />
11
4
  </Skin>