@kurot/cli 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +115 -331
  3. package/dist/core/components/discover-components.d.ts.map +1 -1
  4. package/dist/core/components/discover-components.js +12 -11
  5. package/dist/core/components/discover-components.js.map +1 -1
  6. package/dist/core/config.d.ts +8 -16
  7. package/dist/core/config.d.ts.map +1 -1
  8. package/dist/core/config.js +12 -4
  9. package/dist/core/config.js.map +1 -1
  10. package/dist/core/dev-server.d.ts +1 -1
  11. package/dist/core/dev-server.js +13 -13
  12. package/dist/core/dev-server.js.map +1 -1
  13. package/dist/core/diagnostics/codes.d.ts +3 -6
  14. package/dist/core/diagnostics/codes.d.ts.map +1 -1
  15. package/dist/core/diagnostics/codes.js +4 -10
  16. package/dist/core/diagnostics/codes.js.map +1 -1
  17. package/dist/core/diagnostics/output.d.ts +1 -1
  18. package/dist/core/diagnostics/output.d.ts.map +1 -1
  19. package/dist/core/{exml → kui}/ast.d.ts +17 -107
  20. package/dist/core/kui/ast.d.ts.map +1 -0
  21. package/dist/core/kui/ast.js +8 -0
  22. package/dist/core/{exml → kui}/ast.js.map +1 -1
  23. package/dist/core/kui/codegen.d.ts.map +1 -0
  24. package/dist/core/{exml → kui}/codegen.js +17 -176
  25. package/dist/core/kui/codegen.js.map +1 -0
  26. package/dist/core/kui/index.d.ts +29 -0
  27. package/dist/core/kui/index.d.ts.map +1 -0
  28. package/dist/core/kui/index.js +23 -0
  29. package/dist/core/kui/index.js.map +1 -0
  30. package/dist/core/{exml/exml-diagnostics.d.ts → kui/kui-diagnostics.d.ts} +2 -2
  31. package/dist/core/kui/kui-diagnostics.d.ts.map +1 -0
  32. package/dist/core/{exml/exml-diagnostics.js → kui/kui-diagnostics.js} +4 -4
  33. package/dist/core/kui/kui-diagnostics.js.map +1 -0
  34. package/dist/core/kui/kui-parser.d.ts +7 -0
  35. package/dist/core/kui/kui-parser.d.ts.map +1 -0
  36. package/dist/core/kui/kui-parser.js +157 -0
  37. package/dist/core/kui/kui-parser.js.map +1 -0
  38. package/dist/core/{exml → kui}/registry.d.ts +3 -26
  39. package/dist/core/kui/registry.d.ts.map +1 -0
  40. package/dist/core/{exml → kui}/registry.js +12 -43
  41. package/dist/core/kui/registry.js.map +1 -0
  42. package/dist/core/{exml → kui}/skin-module-builder.d.ts +6 -6
  43. package/dist/core/kui/skin-module-builder.d.ts.map +1 -0
  44. package/dist/core/{exml → kui}/skin-module-builder.js +7 -6
  45. package/dist/core/kui/skin-module-builder.js.map +1 -0
  46. package/dist/core/kui/skin-parts-declaration.d.ts.map +1 -0
  47. package/dist/core/{exml → kui}/skin-parts-declaration.js +2 -2
  48. package/dist/core/kui/skin-parts-declaration.js.map +1 -0
  49. package/dist/core/kui/source-location.d.ts.map +1 -0
  50. package/dist/core/kui/source-location.js.map +1 -0
  51. package/dist/core/namespace-external-plugin.d.ts +1 -1
  52. package/dist/core/namespace-external-plugin.js +1 -1
  53. package/dist/core/plugins/compile-custom-namespaces.d.ts +3 -3
  54. package/dist/core/plugins/compile-custom-namespaces.js +3 -3
  55. package/dist/core/plugins/compile-kui.d.ts +6 -0
  56. package/dist/core/plugins/compile-kui.d.ts.map +1 -0
  57. package/dist/core/plugins/compile-kui.js +143 -0
  58. package/dist/core/plugins/compile-kui.js.map +1 -0
  59. package/dist/core/plugins/copy-assets.d.ts +3 -3
  60. package/dist/core/plugins/copy-assets.d.ts.map +1 -1
  61. package/dist/core/plugins/copy-assets.js +7 -6
  62. package/dist/core/plugins/copy-assets.js.map +1 -1
  63. package/dist/core/plugins/index.d.ts +1 -1
  64. package/dist/core/plugins/index.d.ts.map +1 -1
  65. package/dist/core/plugins/index.js +3 -3
  66. package/dist/core/plugins/index.js.map +1 -1
  67. package/dist/core/project.d.ts +14 -10
  68. package/dist/core/project.d.ts.map +1 -1
  69. package/dist/core/project.js +11 -7
  70. package/dist/core/project.js.map +1 -1
  71. package/dist/core/template.js +1 -1
  72. package/dist/core/template.js.map +1 -1
  73. package/dist/define.d.ts +1 -1
  74. package/dist/define.d.ts.map +1 -1
  75. package/package.json +5 -3
  76. package/templates/game/kurot.config.ts +3 -3
  77. package/templates/game/resource/ui/skins/ButtonSkin.kui.xml +24 -0
  78. package/templates/game/resource/ui/skins/CheckBoxSkin.kui.xml +45 -0
  79. package/templates/game/resource/ui/skins/ComboBoxSkin.kui.xml +32 -0
  80. package/templates/game/resource/ui/skins/GroupSkin.kui.xml +11 -0
  81. package/templates/game/resource/ui/skins/HScrollBarSkin.kui.xml +11 -0
  82. package/templates/game/resource/ui/skins/HSliderSkin.kui.xml +13 -0
  83. package/templates/game/resource/ui/skins/ImageSkin.kui.xml +11 -0
  84. package/templates/game/resource/ui/skins/ItemRendererSkin.kui.xml +22 -0
  85. package/templates/game/resource/ui/skins/LabelSkin.kui.xml +11 -0
  86. package/templates/game/resource/ui/skins/ListSkin.kui.xml +15 -0
  87. package/templates/game/resource/ui/skins/PanelSkin.kui.xml +18 -0
  88. package/templates/game/resource/ui/skins/ProgressBarSkin.kui.xml +14 -0
  89. package/templates/game/resource/ui/skins/RadioButtonSkin.kui.xml +45 -0
  90. package/templates/game/resource/ui/skins/ScrollerSkin.kui.xml +13 -0
  91. package/templates/game/resource/ui/skins/TabBarSkin.kui.xml +12 -0
  92. package/templates/game/resource/ui/skins/TextInputSkin.kui.xml +28 -0
  93. package/templates/game/resource/ui/skins/ToggleButtonSkin.kui.xml +34 -0
  94. package/templates/game/resource/ui/skins/ToggleSwitchSkin.kui.xml +29 -0
  95. package/templates/game/resource/ui/skins/VScrollBarSkin.kui.xml +11 -0
  96. package/templates/game/resource/ui/skins/VSliderSkin.kui.xml +13 -0
  97. package/templates/game/resource/ui/skins/ViewStackSkin.kui.xml +11 -0
  98. package/dist/core/exml/ast.d.ts.map +0 -1
  99. package/dist/core/exml/ast.js +0 -8
  100. package/dist/core/exml/codegen.d.ts.map +0 -1
  101. package/dist/core/exml/codegen.js.map +0 -1
  102. package/dist/core/exml/exml-diagnostics.d.ts.map +0 -1
  103. package/dist/core/exml/exml-diagnostics.js.map +0 -1
  104. package/dist/core/exml/exml-parser.d.ts +0 -27
  105. package/dist/core/exml/exml-parser.d.ts.map +0 -1
  106. package/dist/core/exml/exml-parser.js +0 -380
  107. package/dist/core/exml/exml-parser.js.map +0 -1
  108. package/dist/core/exml/index.d.ts +0 -54
  109. package/dist/core/exml/index.d.ts.map +0 -1
  110. package/dist/core/exml/index.js +0 -51
  111. package/dist/core/exml/index.js.map +0 -1
  112. package/dist/core/exml/registry.d.ts.map +0 -1
  113. package/dist/core/exml/registry.js.map +0 -1
  114. package/dist/core/exml/skin-module-builder.d.ts.map +0 -1
  115. package/dist/core/exml/skin-module-builder.js.map +0 -1
  116. package/dist/core/exml/skin-parts-declaration.d.ts.map +0 -1
  117. package/dist/core/exml/skin-parts-declaration.js.map +0 -1
  118. package/dist/core/exml/source-location.d.ts.map +0 -1
  119. package/dist/core/exml/source-location.js.map +0 -1
  120. package/dist/core/exml/xml-parser.d.ts +0 -86
  121. package/dist/core/exml/xml-parser.d.ts.map +0 -1
  122. package/dist/core/exml/xml-parser.js +0 -196
  123. package/dist/core/exml/xml-parser.js.map +0 -1
  124. package/dist/core/plugins/compile-exml.d.ts +0 -14
  125. package/dist/core/plugins/compile-exml.d.ts.map +0 -1
  126. package/dist/core/plugins/compile-exml.js +0 -256
  127. package/dist/core/plugins/compile-exml.js.map +0 -1
  128. package/templates/game/resource/default.thm.json +0 -19
  129. package/templates/game/resource/skins/eui/ButtonSkin.exml +0 -16
  130. package/templates/game/resource/skins/eui/CheckBoxSkin.exml +0 -18
  131. package/templates/game/resource/skins/eui/ComboBoxSkin.exml +0 -31
  132. package/templates/game/resource/skins/eui/GroupSkin.exml +0 -4
  133. package/templates/game/resource/skins/eui/HScrollBarSkin.exml +0 -6
  134. package/templates/game/resource/skins/eui/HSliderSkin.exml +0 -7
  135. package/templates/game/resource/skins/eui/ImageSkin.exml +0 -4
  136. package/templates/game/resource/skins/eui/ItemRendererSkin.exml +0 -15
  137. package/templates/game/resource/skins/eui/LabelSkin.exml +0 -7
  138. package/templates/game/resource/skins/eui/ListSkin.exml +0 -11
  139. package/templates/game/resource/skins/eui/PanelSkin.exml +0 -15
  140. package/templates/game/resource/skins/eui/ProgressBarSkin.exml +0 -11
  141. package/templates/game/resource/skins/eui/RadioButtonSkin.exml +0 -18
  142. package/templates/game/resource/skins/eui/ScrollerSkin.exml +0 -8
  143. package/templates/game/resource/skins/eui/TabBarSkin.exml +0 -6
  144. package/templates/game/resource/skins/eui/TextInputSkin.exml +0 -22
  145. package/templates/game/resource/skins/eui/ToggleButtonSkin.exml +0 -21
  146. package/templates/game/resource/skins/eui/ToggleSwitchSkin.exml +0 -15
  147. package/templates/game/resource/skins/eui/VScrollBarSkin.exml +0 -6
  148. package/templates/game/resource/skins/eui/VSliderSkin.exml +0 -7
  149. package/templates/game/resource/skins/eui/ViewStackSkin.exml +0 -4
  150. /package/dist/core/{exml → kui}/codegen.d.ts +0 -0
  151. /package/dist/core/{exml → kui}/skin-parts-declaration.d.ts +0 -0
  152. /package/dist/core/{exml → kui}/source-location.d.ts +0 -0
  153. /package/dist/core/{exml → kui}/source-location.js +0 -0
@@ -0,0 +1,34 @@
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>
34
+ </Skin>
@@ -0,0 +1,29 @@
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>
29
+ </Skin>
@@ -0,0 +1,11 @@
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>
11
+ </Skin>
@@ -0,0 +1,13 @@
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>
13
+ </Skin>
@@ -0,0 +1,11 @@
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>
11
+ </Skin>
@@ -1 +0,0 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/core/exml/ast.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Intermediate representation (IR / AST) for a parsed EXML skin.
3
- *
4
- * The EXML parser converts XML → SkinIR, then the code generator
5
- * converts SkinIR → JS source code.
6
- */
7
- export {};
8
- //# sourceMappingURL=ast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/core/exml/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;AAcD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAE1E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/core/exml/codegen.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exml-diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/exml/exml-diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,aAAa,EAAE,EAC9B,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,SAAS,UAAU,EAAE,CAkBvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exml-diagnostics.js","sourceRoot":"","sources":["../../../src/core/exml/exml-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC7C,IAAY,EACZ,MAAc,EACd,IAA8B,EAC9B,mBAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnE,OAAO;YACN,IAAI,EAAE,gBAAgB,CAAC,gBAAgB;YACvC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,qBAAqB,GAAG,CAAC,IAAI,wCAAwC;YAC9E,QAAQ,EAAE;gBACT,IAAI;gBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACvB;YACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,iBAAiB,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * EXML Parser — converts an XML element tree into a SkinIR.
3
- *
4
- * Walks the XML tree produced by the lightweight XML parser and
5
- * produces an intermediate representation ready for code generation.
6
- */
7
- import type { SkinIR } from './ast.js';
8
- import type { NamespaceModule } from './registry.js';
9
- import type { XElement } from './xml-parser.js';
10
- /**
11
- * Parses an EXML source string into a skin intermediate representation.
12
- *
13
- * @param source - EXML source text.
14
- * @param className - Optional class name used for the generated factory.
15
- * @param customNamespaces - Project-defined EXML namespaces.
16
- * @returns The parsed skin intermediate representation.
17
- */
18
- export declare function parseEXML(source: string, className?: string, customNamespaces?: readonly NamespaceModule[]): SkinIR;
19
- /**
20
- * Converts an already-parsed XML root into a skin intermediate representation.
21
- *
22
- * @param root - Parsed XML root element.
23
- * @param customNamespaces - Project-defined EXML namespaces.
24
- * @returns The parsed skin intermediate representation.
25
- */
26
- export declare function parseSkinRoot(root: XElement, customNamespaces?: readonly NamespaceModule[]): SkinIR;
27
- //# sourceMappingURL=exml-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exml-parser.d.ts","sourceRoot":"","sources":["../../../src/core/exml/exml-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACX,MAAM,EAUN,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAAG,MAAM,CAIvG"}
@@ -1,380 +0,0 @@
1
- /**
2
- * EXML Parser — converts an XML element tree into a SkinIR.
3
- *
4
- * Walks the XML tree produced by the lightweight XML parser and
5
- * produces an intermediate representation ready for code generation.
6
- */
7
- import { filterElements, getTextContent, parseXML } from './xml-parser.js';
8
- import { isPropertyNode, localName, lookupComponent, parsePropertyNode } from './registry.js';
9
- // ── Public API ───────────────────────────────────────────────────────
10
- /**
11
- * Parses an EXML source string into a skin intermediate representation.
12
- *
13
- * @param source - EXML source text.
14
- * @param className - Optional class name used for the generated factory.
15
- * @param customNamespaces - Project-defined EXML namespaces.
16
- * @returns The parsed skin intermediate representation.
17
- */
18
- export function parseEXML(source, className, customNamespaces = []) {
19
- const root = parseXML(source);
20
- const ir = parseSkinRoot(root, customNamespaces);
21
- return className ? { ...ir, className } : ir;
22
- }
23
- /**
24
- * Converts an already-parsed XML root into a skin intermediate representation.
25
- *
26
- * @param root - Parsed XML root element.
27
- * @param customNamespaces - Project-defined EXML namespaces.
28
- * @returns The parsed skin intermediate representation.
29
- */
30
- export function parseSkinRoot(root, customNamespaces = []) {
31
- const ctx = new ParseContext(customNamespaces);
32
- ctx.processRoot(root);
33
- return ctx.toIR();
34
- }
35
- // ── Parse context ────────────────────────────────────────────────────
36
- class ParseContext {
37
- _customNamespaces;
38
- // ── Instance fields ───────────────────────────────────────────────
39
- _imports = new Map();
40
- _skinParts = [];
41
- _allNodes = [];
42
- _states = [];
43
- _declarations = [];
44
- _unresolvedTags = [];
45
- _rootProperties = [];
46
- _idSet = new Set();
47
- _className = '';
48
- _width;
49
- _height;
50
- _varCounter = 0;
51
- // ── Constructor ───────────────────────────────────────────────────
52
- constructor(_customNamespaces) {
53
- this._customNamespaces = _customNamespaces;
54
- }
55
- // ── Public methods ────────────────────────────────────────────────
56
- /**
57
- * Processes the root `<eui:Skin>` element.
58
- */
59
- processRoot(root) {
60
- const rootClass = localName(root.name);
61
- if (rootClass !== 'Skin') {
62
- throw new Error(`EXML: expected root element to be Skin, got "${rootClass}"`);
63
- }
64
- this.addImport('Skin', '@kurot/ui');
65
- for (const attr of root.attributes) {
66
- if (attr.name === 'xmlns' || attr.name.startsWith('xmlns:'))
67
- continue;
68
- if (attr.name === 'class') {
69
- this._className = attr.value;
70
- }
71
- else if (attr.name === 'width') {
72
- this._width = this.parseValue(attr.value);
73
- }
74
- else if (attr.name === 'height') {
75
- this._height = this.parseValue(attr.value);
76
- }
77
- else if (attr.name === 'states') {
78
- const stateNames = attr.value
79
- .split(',')
80
- .map(s => s.trim())
81
- .filter(Boolean);
82
- for (const name of stateNames) {
83
- if (!this._states.find(s => s.name === name)) {
84
- this._states.push({ name, stateGroups: [], overrides: [] });
85
- }
86
- }
87
- }
88
- else {
89
- const dotIndex = attr.name.indexOf('.');
90
- this._rootProperties.push({
91
- name: dotIndex >= 0 ? attr.name.substring(0, dotIndex) : attr.name,
92
- state: dotIndex >= 0 ? attr.name.substring(dotIndex + 1) : '',
93
- value: this.parseValue(attr.value),
94
- });
95
- }
96
- }
97
- // State names must exist before node attributes generate their overrides.
98
- const childElements = filterElements(root.children);
99
- this.collectStates(childElements);
100
- for (const el of childElements) {
101
- const cls = localName(el.name);
102
- const isPropNode = isPropertyNode(el.name);
103
- const isLowerProp = cls.length > 0 && cls[0] === cls[0].toLowerCase();
104
- if (isPropNode || isLowerProp)
105
- continue;
106
- if (cls === 'Declarations') {
107
- this.processDeclarations(el);
108
- continue;
109
- }
110
- const node = this.parseNode(el);
111
- if (node) {
112
- this._allNodes.push(node);
113
- }
114
- }
115
- this.collectStateOverrides();
116
- }
117
- /**
118
- * Returns the completed immutable-facing skin representation.
119
- */
120
- toIR() {
121
- let width;
122
- let height;
123
- if (this._width?.type === 'literal' && typeof this._width.value === 'number') {
124
- width = this._width.value;
125
- }
126
- if (this._height?.type === 'literal' && typeof this._height.value === 'number') {
127
- height = this._height.value;
128
- }
129
- return {
130
- className: this._className,
131
- superClassName: 'Skin',
132
- width,
133
- height,
134
- properties: this._rootProperties,
135
- imports: this._imports,
136
- skinParts: this._skinParts,
137
- children: this._allNodes,
138
- propertyChildren: [],
139
- states: this._states,
140
- declarations: this._declarations,
141
- unresolvedTags: this._unresolvedTags,
142
- };
143
- }
144
- // ── Private methods ───────────────────────────────────────────────
145
- /**
146
- * Collect state definitions from children.
147
- *
148
- * Handles both direct `<eui:State>` children and `<eui:states>` property
149
- * children.
150
- */
151
- collectStates(childElements) {
152
- for (const el of childElements) {
153
- const cls = localName(el.name);
154
- if (cls === 'State') {
155
- this._states.push(this.parseState(el));
156
- continue;
157
- }
158
- const isLowerProp = cls.length > 0 && cls[0] === cls[0].toLowerCase();
159
- if (isLowerProp || isPropertyNode(el.name)) {
160
- for (const child of filterElements(el.children)) {
161
- const childCls = localName(child.name);
162
- if (childCls === 'State') {
163
- this._states.push(this.parseState(child));
164
- }
165
- }
166
- }
167
- }
168
- }
169
- processDeclarations(el) {
170
- const children = filterElements(el.children);
171
- for (const child of children) {
172
- const node = this.parseNode(child);
173
- if (node) {
174
- this._declarations.push(node);
175
- }
176
- }
177
- }
178
- parseState(el) {
179
- const nameAttr = this.getAttr(el, 'name') ?? '';
180
- const stateGroups = (this.getAttr(el, 'stateGroups') ?? '')
181
- .split(',')
182
- .map(s => s.trim())
183
- .filter(Boolean);
184
- const overrides = [];
185
- for (const child of filterElements(el.children)) {
186
- const cls = localName(child.name);
187
- if (cls === 'AddItems') {
188
- overrides.push(this.parseAddItems(child));
189
- }
190
- else if (cls === 'SetProperty') {
191
- overrides.push(this.parseSetProperty(child));
192
- }
193
- }
194
- return { name: nameAttr, stateGroups, overrides };
195
- }
196
- parseAddItems(el) {
197
- return {
198
- type: 'AddItems',
199
- targetId: this.getAttr(el, 'target') ?? '',
200
- destinationId: this.getAttr(el, 'destination') ?? '',
201
- position: Number.parseInt(this.getAttr(el, 'position') ?? '-1', 10),
202
- propertyName: this.getAttr(el, 'propertyName') ?? '',
203
- };
204
- }
205
- parseSetProperty(el) {
206
- const rawValue = this.getAttr(el, 'value') ?? '';
207
- return {
208
- type: 'SetProperty',
209
- targetId: this.getAttr(el, 'target') ?? '',
210
- name: this.getAttr(el, 'name') ?? '',
211
- value: this.parseValue(rawValue),
212
- };
213
- }
214
- parseNode(el) {
215
- const cls = localName(el.name);
216
- const info = lookupComponent(el.name, this._customNamespaces);
217
- if (!info) {
218
- // Unknown nodes remain diagnostic data but never enter generated code.
219
- this._unresolvedTags.push({ name: el.name, range: el.range });
220
- return undefined;
221
- }
222
- this.addImport(cls, info.module);
223
- const id = this.getAttr(el, 'id');
224
- if (id) {
225
- if (this._idSet.has(id)) {
226
- throw new Error(`EXML: duplicate id "${id}" in skin`);
227
- }
228
- this._idSet.add(id);
229
- }
230
- const varName = id || this.genVar(cls);
231
- if (id) {
232
- this._skinParts.push(id);
233
- }
234
- const properties = [];
235
- const includeIn = this.getAttr(el, 'includeIn')
236
- ?.split(',')
237
- .map(s => s.trim()) ?? [];
238
- const excludeFrom = this.getAttr(el, 'excludeFrom')
239
- ?.split(',')
240
- .map(s => s.trim()) ?? [];
241
- for (const attr of el.attributes) {
242
- const attrName = attr.name;
243
- const attrValue = attr.value;
244
- if (attrName === 'id' || attrName === 'includeIn' || attrName === 'excludeFrom')
245
- continue;
246
- // Dotted attributes target a named skin state, for example `label.up`.
247
- const dotIdx = attrName.lastIndexOf('.');
248
- if (dotIdx > 0) {
249
- const prop = attrName.substring(0, dotIdx);
250
- const state = attrName.substring(dotIdx + 1);
251
- properties.push({
252
- name: prop,
253
- state,
254
- value: this.parseValue(attrValue),
255
- });
256
- }
257
- else {
258
- properties.push({
259
- name: attrName,
260
- state: '',
261
- value: this.parseValue(attrValue),
262
- });
263
- }
264
- }
265
- const children = [];
266
- const propertyChildren = [];
267
- for (const child of filterElements(el.children)) {
268
- // Property node? Egret accepts both owner-qualified nodes such as
269
- // <eui:Button.label> and lowercase shorthand such as <eui:layout>.
270
- const childClass = localName(child.name);
271
- const isLowerProperty = childClass.length > 0 && childClass[0] === childClass[0].toLowerCase();
272
- if (isPropertyNode(child.name) || isLowerProperty) {
273
- const parsed = parsePropertyNode(child.name);
274
- const propertyName = parsed?.property ?? (isLowerProperty ? childClass : '');
275
- if (propertyName) {
276
- const childNodes = [];
277
- const text = getTextContent(child.children).trim();
278
- if (text) {
279
- childNodes.push(text);
280
- }
281
- for (const sub of filterElements(child.children)) {
282
- const node = this.parseNode(sub);
283
- if (node) {
284
- childNodes.push(node);
285
- }
286
- }
287
- propertyChildren.push({
288
- propertyName,
289
- nodes: childNodes,
290
- });
291
- }
292
- continue;
293
- }
294
- // Ordinary children are assigned through the component's default property.
295
- const childNode = this.parseNode(child);
296
- if (childNode) {
297
- children.push(childNode);
298
- }
299
- }
300
- return {
301
- className: cls,
302
- module: info.module,
303
- varName,
304
- id,
305
- properties,
306
- children,
307
- propertyChildren,
308
- includeIn,
309
- excludeFrom,
310
- };
311
- }
312
- /**
313
- * Coerces EXML attributes in protocol order: binding, percent, boolean,
314
- * `null`, number, then string.
315
- */
316
- parseValue(raw) {
317
- const bindingMatch = raw.match(/^\{(.+)\}$/);
318
- if (bindingMatch) {
319
- return { type: 'binding', expression: bindingMatch[1].trim() };
320
- }
321
- if (raw.endsWith('%')) {
322
- const num = Number.parseFloat(raw);
323
- if (!Number.isNaN(num)) {
324
- return { type: 'percent', value: num };
325
- }
326
- }
327
- if (raw === 'true')
328
- return { type: 'literal', value: true };
329
- if (raw === 'false')
330
- return { type: 'literal', value: false };
331
- if (raw === 'null')
332
- return { type: 'literal', value: null };
333
- const num = Number(raw);
334
- if (raw !== '' && !Number.isNaN(num)) {
335
- return { type: 'literal', value: num };
336
- }
337
- // Egret EXML treats the two-character `\n` sequence in string
338
- // attributes as a hard line break before generating runtime code.
339
- return { type: 'literal', value: raw.replace(/\\n/g, '\n') };
340
- }
341
- /**
342
- * Converts `includeIn` and `excludeFrom` membership into `AddItems` overrides.
343
- */
344
- collectStateOverrides() {
345
- for (const node of this._allNodes) {
346
- const includedStates = node.includeIn.length > 0
347
- ? node.includeIn
348
- : node.excludeFrom.length > 0
349
- ? this._states.map(state => state.name).filter(name => !node.excludeFrom.includes(name))
350
- : [];
351
- if (includedStates.length > 0) {
352
- for (const stateName of includedStates) {
353
- this.addStateOverride(stateName, {
354
- type: 'AddItems',
355
- targetId: node.id ?? node.varName,
356
- destinationId: '',
357
- position: -1,
358
- propertyName: 'elementsContent',
359
- });
360
- }
361
- }
362
- }
363
- }
364
- addStateOverride(stateName, override) {
365
- const state = this._states.find(s => s.name === stateName);
366
- if (state) {
367
- state.overrides.push(override);
368
- }
369
- }
370
- genVar(base) {
371
- return `_${base.charAt(0).toLowerCase() + base.slice(1)}${++this._varCounter}`;
372
- }
373
- getAttr(el, name) {
374
- return el.attributes.find(a => a.name === name)?.value;
375
- }
376
- addImport(className, module) {
377
- this._imports.set(className, module);
378
- }
379
- }
380
- //# sourceMappingURL=exml-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exml-parser.js","sourceRoot":"","sources":["../../../src/core/exml/exml-parser.ts"],"names":[],"mappings":"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"}