@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.
- package/CHANGELOG.md +25 -1
- package/README.md +25 -20
- package/dist/core/components/discover-components.d.ts.map +1 -1
- package/dist/core/components/discover-components.js +0 -9
- package/dist/core/components/discover-components.js.map +1 -1
- package/dist/core/kui/codegen.d.ts.map +1 -1
- package/dist/core/kui/codegen.js +7 -4
- package/dist/core/kui/codegen.js.map +1 -1
- package/dist/core/kui/kui-parser.d.ts.map +1 -1
- package/dist/core/kui/kui-parser.js +26 -24
- package/dist/core/kui/kui-parser.js.map +1 -1
- package/dist/core/plugins/compile-kui.d.ts.map +1 -1
- package/dist/core/plugins/compile-kui.js +35 -11
- package/dist/core/plugins/compile-kui.js.map +1 -1
- package/package.json +2 -2
- package/templates/game/resource/ui/skins/ButtonSkin.kui.xml +4 -22
- package/templates/game/resource/ui/skins/CheckBoxSkin.kui.xml +7 -42
- package/templates/game/resource/ui/skins/ComboBoxSkin.kui.xml +7 -30
- package/templates/game/resource/ui/skins/GroupSkin.kui.xml +2 -9
- package/templates/game/resource/ui/skins/HScrollBarSkin.kui.xml +2 -9
- package/templates/game/resource/ui/skins/HSliderSkin.kui.xml +3 -11
- package/templates/game/resource/ui/skins/ImageSkin.kui.xml +2 -9
- package/templates/game/resource/ui/skins/ItemRendererSkin.kui.xml +3 -20
- package/templates/game/resource/ui/skins/LabelSkin.kui.xml +2 -9
- package/templates/game/resource/ui/skins/ListSkin.kui.xml +5 -13
- package/templates/game/resource/ui/skins/PanelSkin.kui.xml +6 -15
- package/templates/game/resource/ui/skins/ProgressBarSkin.kui.xml +4 -12
- package/templates/game/resource/ui/skins/RadioButtonSkin.kui.xml +7 -42
- package/templates/game/resource/ui/skins/ScrollerSkin.kui.xml +3 -11
- package/templates/game/resource/ui/skins/TabBarSkin.kui.xml +3 -10
- package/templates/game/resource/ui/skins/TextInputSkin.kui.xml +4 -26
- package/templates/game/resource/ui/skins/ToggleButtonSkin.kui.xml +3 -32
- package/templates/game/resource/ui/skins/ToggleSwitchSkin.kui.xml +3 -27
- package/templates/game/resource/ui/skins/VScrollBarSkin.kui.xml +2 -9
- package/templates/game/resource/ui/skins/VSliderSkin.kui.xml +3 -11
- 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
|
-
##
|
|
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.
|
|
6
|
+
> **Current release: 2.0.2.** Node.js 20 or later is required.
|
|
7
7
|
|
|
8
|
-
> **Release scope:** 2.0.
|
|
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.
|
|
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
|
|
118
|
-
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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`.
|
|
145
|
-
|
|
146
|
-
|
|
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,
|
|
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":"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,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,IAAY,EACZ,UAA2C;IAE3C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3F,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KACvE,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,6BAA6B,OAAO,OAAO,CAAC,CAAC;YACjG,CAAC;YACD,SAAS;QACV,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,2BAA2B,OAAO,gBAAgB,CAAC,CAAC;YAC3G,SAAS;QACV,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,2CAA2C,CAAC,CAAC;YACpG,SAAS;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,uBAAuB,QAAQ,UAAU,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACxG,SAAS;QACV,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC9F,SAAS;QACV,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,gCAAgC,IAAI,IAAI,CAAC,CAAC;YACjG,SAAS;QACV,CAAC;QAED,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACvF,SAAS;QACV,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACf,IAAI;YACJ,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YACnC,SAAS,EAAE,UAAU,CAAC,MAAM;YAC5B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,MAAM;YACN,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,IAAI;YACJ,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;YAClC,SAAS;SACT,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,WAAW,CAAC,iCAAiC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAI9C;IACA,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvF,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,OAAsC;IACpF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,UAAU,IAAI,CAAC,OAAe;QAClC,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,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,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,IAAY;IACrD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,IAAY;IACjD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,IAAY;IACxD,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,OAAO,KAAK,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,eAAe,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,2BAA2B,OAAO,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjG,OAAO,QAAQ,IAAI,UAAU,CAAC;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,IAAY;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,IAAI,MAAM,CAAC,0CAA0C,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACpC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,OAAO,CAAC;YAClB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACrB,KAAK,EAAE,CAAC;YACT,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC9B,KAAK,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,SAAS;QACV,CAAC;QACD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC3D,KAAK,GAAG,OAAO,CAAC;YAChB,MAAM,IAAI,OAAO,CAAC;YAClB,SAAS;QACV,CAAC;QACD,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxD,KAAK,EAAE,CAAC;YACT,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;YACf,SAAS;QACV,CAAC;QACD,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACvF,KAAK,EAAE,CAAC;YACT,CAAC;YACD,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,CAAC;YACd,SAAS;QACV,CAAC;QACD,MAAM,IAAI,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC/C,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/C,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/core/kui/codegen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
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"}
|
package/dist/core/kui/codegen.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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(`${
|
|
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;
|
|
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":"
|
|
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
|
|
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:
|
|
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 (
|
|
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":"AAAA,OAAO,EACN,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GACf,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3D;;GAEG;AACH,MAAM,UAAU,YAAY,CAC3B,MAAc,EACd,SAA6B,EAC7B,mBAA+C,EAAE;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,
|
|
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":"
|
|
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
|
-
|
|
89
|
+
const key = defaultComponentName(item.skin.className, components);
|
|
90
|
+
if (!key) {
|
|
76
91
|
continue;
|
|
77
|
-
|
|
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 "${
|
|
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;
|
|
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.
|
|
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.
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
</
|
|
7
|
-
<
|
|
8
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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"
|
|
3
|
-
<
|
|
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"
|
|
3
|
-
<
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
</
|
|
7
|
-
<
|
|
8
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
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"
|
|
3
|
-
<
|
|
4
|
-
|
|
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"
|
|
3
|
-
<
|
|
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>
|