asajs 3.0.7 → 3.0.9

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 (289) hide show
  1. package/dist/cjs/compilers/BindingCompiler.js +1 -0
  2. package/dist/cjs/compilers/BindingCompiler.js.map +7 -0
  3. package/dist/cjs/compilers/BindingFunctions.js +1 -0
  4. package/dist/cjs/compilers/BindingFunctions.js.map +7 -0
  5. package/dist/cjs/compilers/Compiler.js +1 -0
  6. package/dist/cjs/compilers/Compiler.js.map +7 -0
  7. package/dist/cjs/compilers/Compress.js +1 -0
  8. package/dist/cjs/compilers/Compress.js.map +7 -0
  9. package/dist/cjs/compilers/Config.js +2 -0
  10. package/dist/cjs/compilers/Config.js.map +7 -0
  11. package/dist/cjs/compilers/Encoder.js +1 -0
  12. package/dist/cjs/compilers/Encoder.js.map +7 -0
  13. package/dist/cjs/compilers/Installer.js +1 -0
  14. package/dist/cjs/compilers/Installer.js.map +7 -0
  15. package/dist/cjs/compilers/PreCompile.js +1 -0
  16. package/dist/cjs/compilers/PreCompile.js.map +7 -0
  17. package/dist/cjs/compilers/generator/GenerateDir.js +1 -0
  18. package/dist/cjs/compilers/generator/GenerateDir.js.map +7 -0
  19. package/dist/cjs/compilers/generator/JsonBuilder.js +1 -0
  20. package/dist/cjs/compilers/generator/JsonBuilder.js.map +7 -0
  21. package/dist/cjs/compilers/generator/LangBuilder.js +1 -0
  22. package/dist/cjs/compilers/generator/LangBuilder.js.map +7 -0
  23. package/dist/cjs/compilers/generator/Log.js +1 -0
  24. package/dist/cjs/compilers/generator/Log.js.map +7 -0
  25. package/dist/cjs/compilers/generator/Manifest.js +1 -0
  26. package/dist/cjs/compilers/generator/Manifest.js.map +7 -0
  27. package/dist/cjs/compilers/generator/Save.js +1 -0
  28. package/dist/cjs/compilers/generator/Save.js.map +7 -0
  29. package/dist/cjs/compilers/generator/SearchFiles.js +1 -0
  30. package/dist/cjs/compilers/generator/SearchFiles.js.map +7 -0
  31. package/dist/cjs/compilers/generator/Sounds.js +1 -0
  32. package/dist/cjs/compilers/generator/Sounds.js.map +7 -0
  33. package/dist/cjs/compilers/generator/Template.js +1 -0
  34. package/dist/cjs/compilers/generator/Template.js.map +7 -0
  35. package/dist/cjs/compilers/generator/UIBuilder.js +16 -5
  36. package/dist/cjs/compilers/generator/UIBuilder.js.map +7 -0
  37. package/dist/cjs/compilers/reader/Audio.js +1 -0
  38. package/dist/cjs/compilers/reader/Audio.js.map +7 -0
  39. package/dist/cjs/compilers/reader/Color.js +1 -0
  40. package/dist/cjs/compilers/reader/Color.js.map +7 -0
  41. package/dist/cjs/compilers/reader/CurrentLine.js +1 -0
  42. package/dist/cjs/compilers/reader/CurrentLine.js.map +7 -0
  43. package/dist/cjs/compilers/reader/Env.js +1 -0
  44. package/dist/cjs/compilers/reader/Env.js.map +7 -0
  45. package/dist/cjs/compilers/reader/GlobalVariables.js +1 -0
  46. package/dist/cjs/compilers/reader/GlobalVariables.js.map +7 -0
  47. package/dist/cjs/compilers/reader/Object.js +1 -0
  48. package/dist/cjs/compilers/reader/Object.js.map +7 -0
  49. package/dist/cjs/compilers/reader/ReadBinding.js +1 -0
  50. package/dist/cjs/compilers/reader/ReadBinding.js.map +7 -0
  51. package/dist/cjs/compilers/reader/ReadProperties.js +1 -0
  52. package/dist/cjs/compilers/reader/ReadProperties.js.map +7 -0
  53. package/dist/cjs/components/AddCollectionChill.js +1 -0
  54. package/dist/cjs/components/AddCollectionChill.js.map +7 -0
  55. package/dist/cjs/components/Animation.js +1 -0
  56. package/dist/cjs/components/Animation.js.map +7 -0
  57. package/dist/cjs/components/AnimationKeyFrame.js +1 -0
  58. package/dist/cjs/components/AnimationKeyFrame.js.map +7 -0
  59. package/dist/cjs/components/Class.js +1 -0
  60. package/dist/cjs/components/Class.js.map +7 -0
  61. package/dist/cjs/components/LocalizeText.js +1 -0
  62. package/dist/cjs/components/LocalizeText.js.map +7 -0
  63. package/dist/cjs/components/Modify.js +7 -0
  64. package/dist/cjs/components/Modify.js.map +7 -0
  65. package/dist/cjs/components/Random.js +1 -0
  66. package/dist/cjs/components/Random.js.map +7 -0
  67. package/dist/cjs/components/UI.js +29 -7
  68. package/dist/cjs/components/UI.js.map +7 -0
  69. package/dist/cjs/components/Vanilla.js +1 -0
  70. package/dist/cjs/components/Vanilla.js.map +7 -0
  71. package/dist/cjs/index.js +1 -0
  72. package/dist/cjs/index.js.map +7 -0
  73. package/dist/cjs/template.js +2 -1
  74. package/dist/cjs/template.js.map +7 -0
  75. package/dist/cjs/types/components/ChildIdentifier.js +1 -0
  76. package/dist/cjs/types/components/ChildIdentifier.js.map +7 -0
  77. package/dist/cjs/types/components/Identifier.js +1 -0
  78. package/dist/cjs/types/components/Identifier.js.map +7 -0
  79. package/dist/cjs/types/components/NameCallback.js +1 -0
  80. package/dist/cjs/types/components/NameCallback.js.map +7 -0
  81. package/dist/cjs/types/components/UIIdentifier.js +1 -0
  82. package/dist/cjs/types/components/UIIdentifier.js.map +7 -0
  83. package/dist/cjs/types/components/UIInterface.js +1 -0
  84. package/dist/cjs/types/components/UIInterface.js.map +7 -0
  85. package/dist/cjs/types/enums/Anchor.js +1 -0
  86. package/dist/cjs/types/enums/Anchor.js.map +7 -0
  87. package/dist/cjs/types/enums/AnimTypes.js +1 -0
  88. package/dist/cjs/types/enums/AnimTypes.js.map +7 -0
  89. package/dist/cjs/types/enums/BindingCondition.js +1 -0
  90. package/dist/cjs/types/enums/BindingCondition.js.map +7 -0
  91. package/dist/cjs/types/enums/BindingName.js +1 -0
  92. package/dist/cjs/types/enums/BindingName.js.map +7 -0
  93. package/dist/cjs/types/enums/BindingType.js +1 -0
  94. package/dist/cjs/types/enums/BindingType.js.map +7 -0
  95. package/dist/cjs/types/enums/ClipDirecion.js +1 -0
  96. package/dist/cjs/types/enums/ClipDirecion.js.map +7 -0
  97. package/dist/cjs/types/enums/Collection.js +1 -0
  98. package/dist/cjs/types/enums/Collection.js.map +7 -0
  99. package/dist/cjs/types/enums/Direction.js +1 -0
  100. package/dist/cjs/types/enums/Direction.js.map +7 -0
  101. package/dist/cjs/types/enums/EasingTypes.js +1 -0
  102. package/dist/cjs/types/enums/EasingTypes.js.map +7 -0
  103. package/dist/cjs/types/enums/EnumColor.js +1 -0
  104. package/dist/cjs/types/enums/EnumColor.js.map +7 -0
  105. package/dist/cjs/types/enums/FocusNavigationMode.js +1 -0
  106. package/dist/cjs/types/enums/FocusNavigationMode.js.map +7 -0
  107. package/dist/cjs/types/enums/FontSize.js +1 -0
  108. package/dist/cjs/types/enums/FontSize.js.map +7 -0
  109. package/dist/cjs/types/enums/FontType.js +1 -0
  110. package/dist/cjs/types/enums/FontType.js.map +7 -0
  111. package/dist/cjs/types/enums/GlobalVariables.js +1 -0
  112. package/dist/cjs/types/enums/GlobalVariables.js.map +7 -0
  113. package/dist/cjs/types/enums/InputModeCondition.js +1 -0
  114. package/dist/cjs/types/enums/InputModeCondition.js.map +7 -0
  115. package/dist/cjs/types/enums/ItemAuxID.js +1 -0
  116. package/dist/cjs/types/enums/ItemAuxID.js.map +7 -0
  117. package/dist/cjs/types/enums/JsonUIArrayName.js +1 -0
  118. package/dist/cjs/types/enums/JsonUIArrayName.js.map +7 -0
  119. package/dist/cjs/types/enums/MappingFrom.js +1 -0
  120. package/dist/cjs/types/enums/MappingFrom.js.map +7 -0
  121. package/dist/cjs/types/enums/MappingTo.js +1 -0
  122. package/dist/cjs/types/enums/MappingTo.js.map +7 -0
  123. package/dist/cjs/types/enums/MappingTypes.js +1 -0
  124. package/dist/cjs/types/enums/MappingTypes.js.map +7 -0
  125. package/dist/cjs/types/enums/Orientation.js +1 -0
  126. package/dist/cjs/types/enums/Orientation.js.map +7 -0
  127. package/dist/cjs/types/enums/Renderer.js +1 -0
  128. package/dist/cjs/types/enums/Renderer.js.map +7 -0
  129. package/dist/cjs/types/enums/Rotation.js +1 -0
  130. package/dist/cjs/types/enums/Rotation.js.map +7 -0
  131. package/dist/cjs/types/enums/Scope.js +1 -0
  132. package/dist/cjs/types/enums/Scope.js.map +7 -0
  133. package/dist/cjs/types/enums/TextTypes.js +1 -0
  134. package/dist/cjs/types/enums/TextTypes.js.map +7 -0
  135. package/dist/cjs/types/enums/TextureFileSystem.js +1 -0
  136. package/dist/cjs/types/enums/TextureFileSystem.js.map +7 -0
  137. package/dist/cjs/types/enums/Types.js +1 -0
  138. package/dist/cjs/types/enums/Types.js.map +7 -0
  139. package/dist/cjs/types/objects/Animation.js +1 -0
  140. package/dist/cjs/types/objects/Animation.js.map +7 -0
  141. package/dist/cjs/types/objects/BindingHook.js +1 -0
  142. package/dist/cjs/types/objects/BindingHook.js.map +7 -0
  143. package/dist/cjs/types/objects/BindingInterface.js +1 -0
  144. package/dist/cjs/types/objects/BindingInterface.js.map +7 -0
  145. package/dist/cjs/types/objects/ButtonMapping.js +1 -0
  146. package/dist/cjs/types/objects/ButtonMapping.js.map +7 -0
  147. package/dist/cjs/types/objects/Factory.js +1 -0
  148. package/dist/cjs/types/objects/Factory.js.map +7 -0
  149. package/dist/cjs/types/objects/Installer.js +1 -0
  150. package/dist/cjs/types/objects/Installer.js.map +7 -0
  151. package/dist/cjs/types/objects/Manifest.js +1 -0
  152. package/dist/cjs/types/objects/Manifest.js.map +7 -0
  153. package/dist/cjs/types/objects/Modify.js +1 -0
  154. package/dist/cjs/types/objects/Modify.js.map +7 -0
  155. package/dist/cjs/types/objects/PropertyBag.js +1 -0
  156. package/dist/cjs/types/objects/PropertyBag.js.map +7 -0
  157. package/dist/cjs/types/objects/Sound.js +1 -0
  158. package/dist/cjs/types/objects/Sound.js.map +7 -0
  159. package/dist/cjs/types/objects/Variables.js +1 -0
  160. package/dist/cjs/types/objects/Variables.js.map +7 -0
  161. package/dist/cjs/types/objects/elements/Button.js +1 -0
  162. package/dist/cjs/types/objects/elements/Button.js.map +7 -0
  163. package/dist/cjs/types/objects/elements/CollectionPanel.js +1 -0
  164. package/dist/cjs/types/objects/elements/CollectionPanel.js.map +7 -0
  165. package/dist/cjs/types/objects/elements/Custom.js +1 -0
  166. package/dist/cjs/types/objects/elements/Custom.js.map +7 -0
  167. package/dist/cjs/types/objects/elements/Dropdown.js +1 -0
  168. package/dist/cjs/types/objects/elements/Dropdown.js.map +7 -0
  169. package/dist/cjs/types/objects/elements/EditBox.js +1 -0
  170. package/dist/cjs/types/objects/elements/EditBox.js.map +7 -0
  171. package/dist/cjs/types/objects/elements/Grid.js +1 -0
  172. package/dist/cjs/types/objects/elements/Grid.js.map +7 -0
  173. package/dist/cjs/types/objects/elements/Image.js +1 -0
  174. package/dist/cjs/types/objects/elements/Image.js.map +7 -0
  175. package/dist/cjs/types/objects/elements/InputPanel.js +1 -0
  176. package/dist/cjs/types/objects/elements/InputPanel.js.map +7 -0
  177. package/dist/cjs/types/objects/elements/Label.js +1 -0
  178. package/dist/cjs/types/objects/elements/Label.js.map +7 -0
  179. package/dist/cjs/types/objects/elements/PropertiesType.js +1 -0
  180. package/dist/cjs/types/objects/elements/PropertiesType.js.map +7 -0
  181. package/dist/cjs/types/objects/elements/Screen.js +1 -0
  182. package/dist/cjs/types/objects/elements/Screen.js.map +7 -0
  183. package/dist/cjs/types/objects/elements/ScrollView.js +1 -0
  184. package/dist/cjs/types/objects/elements/ScrollView.js.map +7 -0
  185. package/dist/cjs/types/objects/elements/ScrollbarBox.js +1 -0
  186. package/dist/cjs/types/objects/elements/ScrollbarBox.js.map +7 -0
  187. package/dist/cjs/types/objects/elements/ScrollbarTrack.js +1 -0
  188. package/dist/cjs/types/objects/elements/ScrollbarTrack.js.map +7 -0
  189. package/dist/cjs/types/objects/elements/SelectionWheel.js +1 -0
  190. package/dist/cjs/types/objects/elements/SelectionWheel.js.map +7 -0
  191. package/dist/cjs/types/objects/elements/Slider.js +1 -0
  192. package/dist/cjs/types/objects/elements/Slider.js.map +7 -0
  193. package/dist/cjs/types/objects/elements/SliderBox.js +1 -0
  194. package/dist/cjs/types/objects/elements/SliderBox.js.map +7 -0
  195. package/dist/cjs/types/objects/elements/StackPanel.js +1 -0
  196. package/dist/cjs/types/objects/elements/StackPanel.js.map +7 -0
  197. package/dist/cjs/types/objects/elements/Toggle.js +1 -0
  198. package/dist/cjs/types/objects/elements/Toggle.js.map +7 -0
  199. package/dist/cjs/types/objects/elements/TooltipTrigger.js +1 -0
  200. package/dist/cjs/types/objects/elements/TooltipTrigger.js.map +7 -0
  201. package/dist/cjs/types/objects/elements/panel.js +1 -0
  202. package/dist/cjs/types/objects/elements/panel.js.map +7 -0
  203. package/dist/cjs/types/objects/properties/Buttons.js +1 -0
  204. package/dist/cjs/types/objects/properties/Buttons.js.map +7 -0
  205. package/dist/cjs/types/objects/properties/CollectionIndexs.js +1 -0
  206. package/dist/cjs/types/objects/properties/CollectionIndexs.js.map +7 -0
  207. package/dist/cjs/types/objects/properties/Collections.js +1 -0
  208. package/dist/cjs/types/objects/properties/Collections.js.map +7 -0
  209. package/dist/cjs/types/objects/properties/Controls.js +1 -0
  210. package/dist/cjs/types/objects/properties/Controls.js.map +7 -0
  211. package/dist/cjs/types/objects/properties/Dropdowns.js +1 -0
  212. package/dist/cjs/types/objects/properties/Dropdowns.js.map +7 -0
  213. package/dist/cjs/types/objects/properties/Focus.js +1 -0
  214. package/dist/cjs/types/objects/properties/Focus.js.map +7 -0
  215. package/dist/cjs/types/objects/properties/FocusContainerCustom.js +1 -0
  216. package/dist/cjs/types/objects/properties/FocusContainerCustom.js.map +7 -0
  217. package/dist/cjs/types/objects/properties/Grids.js +1 -0
  218. package/dist/cjs/types/objects/properties/Grids.js.map +7 -0
  219. package/dist/cjs/types/objects/properties/Inputs.js +1 -0
  220. package/dist/cjs/types/objects/properties/Inputs.js.map +7 -0
  221. package/dist/cjs/types/objects/properties/Layouts.js +1 -0
  222. package/dist/cjs/types/objects/properties/Layouts.js.map +7 -0
  223. package/dist/cjs/types/objects/properties/Properties.js +1 -0
  224. package/dist/cjs/types/objects/properties/Properties.js.map +7 -0
  225. package/dist/cjs/types/objects/properties/Renderers.js +1 -0
  226. package/dist/cjs/types/objects/properties/Renderers.js.map +7 -0
  227. package/dist/cjs/types/objects/properties/Screens.js +1 -0
  228. package/dist/cjs/types/objects/properties/Screens.js.map +7 -0
  229. package/dist/cjs/types/objects/properties/ScrollViews.js +1 -0
  230. package/dist/cjs/types/objects/properties/ScrollViews.js.map +7 -0
  231. package/dist/cjs/types/objects/properties/SelectionWheels.js +1 -0
  232. package/dist/cjs/types/objects/properties/SelectionWheels.js.map +7 -0
  233. package/dist/cjs/types/objects/properties/SliderBoxs.js +1 -0
  234. package/dist/cjs/types/objects/properties/SliderBoxs.js.map +7 -0
  235. package/dist/cjs/types/objects/properties/Sliders.js +1 -0
  236. package/dist/cjs/types/objects/properties/Sliders.js.map +7 -0
  237. package/dist/cjs/types/objects/properties/Sounds.js +1 -0
  238. package/dist/cjs/types/objects/properties/Sounds.js.map +7 -0
  239. package/dist/cjs/types/objects/properties/Specials.js +1 -0
  240. package/dist/cjs/types/objects/properties/Specials.js.map +7 -0
  241. package/dist/cjs/types/objects/properties/Sprites.js +1 -0
  242. package/dist/cjs/types/objects/properties/Sprites.js.map +7 -0
  243. package/dist/cjs/types/objects/properties/StackPanels.js +1 -0
  244. package/dist/cjs/types/objects/properties/StackPanels.js.map +7 -0
  245. package/dist/cjs/types/objects/properties/TTS.js +1 -0
  246. package/dist/cjs/types/objects/properties/TTS.js.map +7 -0
  247. package/dist/cjs/types/objects/properties/TextEdits.js +1 -0
  248. package/dist/cjs/types/objects/properties/TextEdits.js.map +7 -0
  249. package/dist/cjs/types/objects/properties/Texts.js +1 -0
  250. package/dist/cjs/types/objects/properties/Texts.js.map +7 -0
  251. package/dist/cjs/types/objects/properties/Toggles.js +1 -0
  252. package/dist/cjs/types/objects/properties/Toggles.js.map +7 -0
  253. package/dist/cjs/types/objects/properties/TooltipTriggers.js +1 -0
  254. package/dist/cjs/types/objects/properties/TooltipTriggers.js.map +7 -0
  255. package/dist/cjs/types/objects/properties/Variables.js +1 -0
  256. package/dist/cjs/types/objects/properties/Variables.js.map +7 -0
  257. package/dist/cjs/types/values/Any.js +1 -0
  258. package/dist/cjs/types/values/Any.js.map +7 -0
  259. package/dist/cjs/types/values/Binding.js +1 -0
  260. package/dist/cjs/types/values/Binding.js.map +7 -0
  261. package/dist/cjs/types/values/Bool.js +1 -0
  262. package/dist/cjs/types/values/Bool.js.map +7 -0
  263. package/dist/cjs/types/values/ColorVector.js +1 -0
  264. package/dist/cjs/types/values/ColorVector.js.map +7 -0
  265. package/dist/cjs/types/values/ElementPath.js +1 -0
  266. package/dist/cjs/types/values/ElementPath.js.map +7 -0
  267. package/dist/cjs/types/values/Hex.js +1 -0
  268. package/dist/cjs/types/values/Hex.js.map +7 -0
  269. package/dist/cjs/types/values/Number.js +1 -0
  270. package/dist/cjs/types/values/Number.js.map +7 -0
  271. package/dist/cjs/types/values/RangeVector.js +1 -0
  272. package/dist/cjs/types/values/RangeVector.js.map +7 -0
  273. package/dist/cjs/types/values/Str.js +1 -0
  274. package/dist/cjs/types/values/Str.js.map +7 -0
  275. package/dist/cjs/types/values/StringVector.js +1 -0
  276. package/dist/cjs/types/values/StringVector.js.map +7 -0
  277. package/dist/cjs/types/values/TargetElementPath.js +1 -0
  278. package/dist/cjs/types/values/TargetElementPath.js.map +7 -0
  279. package/dist/cjs/types/values/Variable.js +1 -0
  280. package/dist/cjs/types/values/Variable.js.map +7 -0
  281. package/dist/cjs/types/values/Vector.js +1 -0
  282. package/dist/cjs/types/values/Vector.js.map +7 -0
  283. package/dist/esm/index.js +317 -280
  284. package/dist/esm/index.js.map +7 -0
  285. package/dist/types/compilers/Config.d.ts +1 -0
  286. package/dist/types/components/UI.d.ts +2 -0
  287. package/dist/types/components/Vanilla.d.ts +4 -4
  288. package/dist/types/template.d.ts +1 -1
  289. package/package.json +2 -2
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/Color.ts"],
4
+ "sourcesContent": ["import { Class } from \"../../components/Class\";\r\nimport { Vector3, Vector4 } from \"../../types/values/Vector\";\r\n\r\nexport class ColorHandler extends Class {\r\n static parse(data: string): Vector3 | Vector4 | null {\r\n if (data.startsWith(\"#\")) data = data.slice(1);\r\n\r\n try {\r\n const color = parseInt(data, 16);\r\n switch (data.length) {\r\n case 3:\r\n return [((color >> 8) & 15) / 15, ((color >> 4) & 15) / 15, (color & 15) / 15];\r\n case 6:\r\n return [\r\n ((color >> 16) & 255) / 255,\r\n ((color >> 8) & 255) / 255,\r\n (color & 255) / 255,\r\n ];\r\n case 4:\r\n return [\r\n ((color >> 16) & 15) / 15,\r\n ((color >> 8) & 15) / 15,\r\n ((color >> 4) & 15) / 15,\r\n (color & 15) / 15,\r\n ];\r\n case 8:\r\n return [\r\n ((color >> 24) & 255) / 255,\r\n ((color >> 16) & 255) / 255,\r\n ((color >> 8) & 255) / 255,\r\n (color & 255) / 255,\r\n ];\r\n default:\r\n return null;\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAGf,MAAM,qBAAqB,mBAAM;AAAA,EACpC,OAAO,MAAM,MAAwC;AACjD,QAAI,KAAK,WAAW,GAAG,EAAG,QAAO,KAAK,MAAM,CAAC;AAE7C,QAAI;AACA,YAAM,QAAQ,SAAS,MAAM,EAAE;AAC/B,cAAQ,KAAK,QAAQ;AAAA,QACjB,KAAK;AACD,iBAAO,EAAG,SAAS,IAAK,MAAM,KAAM,SAAS,IAAK,MAAM,KAAK,QAAQ,MAAM,EAAE;AAAA,QACjF,KAAK;AACD,iBAAO;AAAA,aACD,SAAS,KAAM,OAAO;AAAA,aACtB,SAAS,IAAK,OAAO;AAAA,aACtB,QAAQ,OAAO;AAAA,UACpB;AAAA,QACJ,KAAK;AACD,iBAAO;AAAA,aACD,SAAS,KAAM,MAAM;AAAA,aACrB,SAAS,IAAK,MAAM;AAAA,aACpB,SAAS,IAAK,MAAM;AAAA,aACrB,QAAQ,MAAM;AAAA,UACnB;AAAA,QACJ,KAAK;AACD,iBAAO;AAAA,aACD,SAAS,KAAM,OAAO;AAAA,aACtB,SAAS,KAAM,OAAO;AAAA,aACtB,SAAS,IAAK,OAAO;AAAA,aACtB,QAAQ,OAAO;AAAA,UACpB;AAAA,QACJ;AACI,iBAAO;AAAA,MACf;AAAA,IACJ,SAAS,OAAO;AACZ,cAAQ,MAAM,KAAK;AACnB,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;",
6
+ "names": []
7
+ }
@@ -34,3 +34,4 @@ function CurrentLine() {
34
34
  0 && (module.exports = {
35
35
  CurrentLine
36
36
  });
37
+ //# sourceMappingURL=CurrentLine.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/CurrentLine.ts"],
4
+ "sourcesContent": ["const regex: any = {\r\n win32: /[A-Z]:(.+):\\d+:\\d+/g,\r\n linux: /\\/(.+):\\d+:\\d+/g,\r\n};\r\n\r\nexport function CurrentLine() {\r\n const lines = new Error(\"Code Line\").stack?.match(regex[process.platform]);\r\n return lines ? lines[lines.length - 1] : \"Unknown\";\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,QAAa;AAAA,EACf,OAAO;AAAA,EACP,OAAO;AACX;AAEO,SAAS,cAAc;AAL9B;AAMI,QAAM,SAAQ,SAAI,MAAM,WAAW,EAAE,UAAvB,mBAA8B,MAAM,MAAM,QAAQ,QAAQ;AACxE,SAAO,QAAQ,MAAM,MAAM,SAAS,CAAC,IAAI;AAC7C;",
6
+ "names": []
7
+ }
@@ -19,3 +19,4 @@ import_Object.Obj.forEach(
19
19
  require("".concat(process.cwd(), "/asakiyuki.env.cjs")).env,
20
20
  (key, value) => process.env[key] = value
21
21
  );
22
+ //# sourceMappingURL=Env.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/Env.ts"],
4
+ "sourcesContent": ["import { Obj } from \"./Object\";\r\n\r\nObj.forEach(\r\n require(`${process.cwd()}/asakiyuki.env.cjs`).env,\r\n (key, value) => (process.env[key] = value)\r\n);\r\n\r\nexport {};\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA,oBAAoB;AAEpB,kBAAI;AAAA,EACA,QAAQ,GAAG,eAAQ,IAAI,GAAC,qBAAoB,EAAE;AAAA,EAC9C,CAAC,KAAK,UAAW,QAAQ,IAAI,GAAG,IAAI;AACxC;",
6
+ "names": []
7
+ }
@@ -21,3 +21,4 @@ import_Object.Obj.forEach(
21
21
  require("".concat(process.cwd(), "/asakiyuki.global_variables.cjs")).global_variables,
22
22
  (key, value) => import_JsonBuilder.JsonBuilder.registerGlobalVariable(key, (0, import_ReadProperties.ReadValue)(value))
23
23
  );
24
+ //# sourceMappingURL=GlobalVariables.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/GlobalVariables.ts"],
4
+ "sourcesContent": ["import { Obj } from \"./Object\";\r\nimport { JsonBuilder } from \"../generator/JsonBuilder\";\r\nimport { ReadValue } from \"./ReadProperties\";\r\n\r\nObj.forEach(require(`${process.cwd()}/asakiyuki.global_variables.cjs`).global_variables, (key, value) =>\r\n JsonBuilder.registerGlobalVariable(key, ReadValue(value))\r\n);\r\n\r\nexport { };\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA,oBAAoB;AACpB,yBAA4B;AAC5B,4BAA0B;AAE1B,kBAAI;AAAA,EAAQ,QAAQ,GAAG,eAAQ,IAAI,GAAC,kCAAiC,EAAE;AAAA,EAAkB,CAAC,KAAK,UAC3F,+BAAY,uBAAuB,SAAK,iCAAU,KAAK,CAAC;AAC5D;",
6
+ "names": []
7
+ }
@@ -42,3 +42,4 @@ class Obj extends import_Class.Class {
42
42
  0 && (module.exports = {
43
43
  Obj
44
44
  });
45
+ //# sourceMappingURL=Object.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/Object.ts"],
4
+ "sourcesContent": ["import { Class } from \"../../components/Class\";\r\n\r\ntype CallbackObject = (key: string, value: any) => void;\r\ntype CallbackObjectMap = (key: string, value: any) => { key: string; value: any };\r\n\r\nexport class Obj extends Class {\r\n static forEach(data: object, callback: CallbackObject): void {\r\n for (const key in data) {\r\n const element = (<any>data)[key];\r\n callback(key, element);\r\n }\r\n }\r\n\r\n static map(data: object, callback: CallbackObjectMap): object {\r\n for (const key in data) {\r\n const getdata = callback(key, (<any>data)[key]);\r\n delete (<any>data)[key];\r\n (<any>data)[getdata.key] = getdata.value;\r\n }\r\n return data;\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAKf,MAAM,YAAY,mBAAM;AAAA,EAC3B,OAAO,QAAQ,MAAc,UAAgC;AACzD,eAAW,OAAO,MAAM;AACpB,YAAM,UAAgB,KAAM,GAAG;AAC/B,eAAS,KAAK,OAAO;AAAA,IACzB;AAAA,EACJ;AAAA,EAEA,OAAO,IAAI,MAAc,UAAqC;AAC1D,eAAW,OAAO,MAAM;AACpB,YAAM,UAAU,SAAS,KAAW,KAAM,GAAG,CAAC;AAC9C,aAAa,KAAM,GAAG;AACtB,MAAM,KAAM,QAAQ,GAAG,IAAI,QAAQ;AAAA,IACvC;AACA,WAAO;AAAA,EACX;AACJ;",
6
+ "names": []
7
+ }
@@ -65,3 +65,4 @@ function ReadBinding(binding, arg) {
65
65
  0 && (module.exports = {
66
66
  ReadBinding
67
67
  });
68
+ //# sourceMappingURL=ReadBinding.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/ReadBinding.ts"],
4
+ "sourcesContent": ["import { UI } from \"../../components/UI\";\r\nimport { BindingName } from \"../../types/enums/BindingName\";\r\nimport { BindingType } from \"../../types/enums/BindingType\";\r\nimport { BindingInterface } from \"../../types/objects/BindingInterface\";\r\nimport { OverrideInterface } from \"../../types/objects/Modify\";\r\nimport { Var } from \"../../types/values/Variable\";\r\nimport { BindingCompiler } from \"../BindingCompiler\";\r\nimport { Log } from \"../generator/Log\";\r\nimport { CurrentLine } from \"./CurrentLine\";\r\n\r\nexport function ReadBinding(\r\n binding: BindingName | Var | BindingInterface,\r\n arg: UI | OverrideInterface\r\n): BindingInterface {\r\n if (typeof binding === \"string\")\r\n return {\r\n binding_name: binding,\r\n };\r\n else {\r\n const bindingObject: BindingInterface = <any>binding;\r\n\r\n if (bindingObject.source_property_name) {\r\n bindingObject.binding_type ||= BindingType.View;\r\n\r\n const srcBin = bindingObject.source_property_name;\r\n\r\n if (srcBin && BindingCompiler.isCanCompile(srcBin)) {\r\n if (bindingObject.source_control_name) {\r\n const srcControlName = <string>bindingObject.source_control_name;\r\n\r\n delete bindingObject.source_control_name;\r\n const newBindings = BindingCompiler.findSourceBindings(\r\n BindingCompiler.getCompilePart(srcBin),\r\n srcControlName,\r\n arg.sourceBindings\r\n );\r\n for (const key in newBindings.reSourceBindings)\r\n arg.sourceBindings[key] = newBindings.reSourceBindings[key];\r\n\r\n bindingObject.source_property_name = BindingCompiler.compile(\r\n `[${newBindings.newTokens.join(\"\")}]`,\r\n arg\r\n );\r\n } else bindingObject.source_property_name = BindingCompiler.compile(srcBin, arg);\r\n }\r\n\r\n if (!bindingObject.target_property_name) {\r\n Log.error(`${CurrentLine()} missing target_property_name.`);\r\n }\r\n } else if (bindingObject.binding_collection_name) {\r\n bindingObject.binding_type ||= BindingType.Collection;\r\n }\r\n\r\n return <BindingInterface>bindingObject;\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAA4B;AAI5B,6BAAgC;AAChC,iBAAoB;AACpB,yBAA4B;AAErB,SAAS,YACZ,SACA,KACgB;AAChB,MAAI,OAAO,YAAY;AACnB,WAAO;AAAA,MACH,cAAc;AAAA,IAClB;AAAA,OACC;AACD,UAAM,gBAAuC;AAE7C,QAAI,cAAc,sBAAsB;AACpC,oBAAc,iBAAd,cAAc,eAAiB,+BAAY;AAE3C,YAAM,SAAS,cAAc;AAE7B,UAAI,UAAU,uCAAgB,aAAa,MAAM,GAAG;AAChD,YAAI,cAAc,qBAAqB;AACnC,gBAAM,iBAAyB,cAAc;AAE7C,iBAAO,cAAc;AACrB,gBAAM,cAAc,uCAAgB;AAAA,YAChC,uCAAgB,eAAe,MAAM;AAAA,YACrC;AAAA,YACA,IAAI;AAAA,UACR;AACA,qBAAW,OAAO,YAAY;AAC1B,gBAAI,eAAe,GAAG,IAAI,YAAY,iBAAiB,GAAG;AAE9D,wBAAc,uBAAuB,uCAAgB;AAAA,YACjD,IAAI,mBAAY,UAAU,KAAK,EAAE,GAAC;AAAA,YAClC;AAAA,UACJ;AAAA,QACJ,MAAO,eAAc,uBAAuB,uCAAgB,QAAQ,QAAQ,GAAG;AAAA,MACnF;AAEA,UAAI,CAAC,cAAc,sBAAsB;AACrC,uBAAI,MAAM,GAAG,2CAAY,GAAC,iCAAgC;AAAA,MAC9D;AAAA,IACJ,WAAW,cAAc,yBAAyB;AAC9C,oBAAc,iBAAd,cAAc,eAAiB,+BAAY;AAAA,IAC/C;AAEA,WAAyB;AAAA,EAC7B;AACJ;",
6
+ "names": []
7
+ }
@@ -116,3 +116,4 @@ function ReadProperties(properties) {
116
116
  ReadProperties,
117
117
  ReadValue
118
118
  });
119
+ //# sourceMappingURL=ReadProperties.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/compilers/reader/ReadProperties.ts"],
4
+ "sourcesContent": ["import { Animation } from \"../../components/Animation\";\r\nimport { LocalizeText } from \"../../components/LocalizeText\";\r\nimport { Modify } from \"../../components/Modify\";\r\nimport { UI } from \"../../components/UI\";\r\nimport { Properties } from \"../../types/objects/properties/Properties\";\r\nimport { Log } from \"../generator/Log\";\r\nimport { SoundHandler as Sounds } from \"../generator/Sounds\";\r\nimport { ColorHandler } from \"./Color\";\r\nimport { Obj } from \"./Object\";\r\n\r\nexport function ReadValue(value: any, callback?: (type: string) => any) {\r\n if (Array.isArray(value)) {\r\n if (typeof value[0] === \"string\") {\r\n if (value[0].startsWith(\"#\") || value[0].startsWith(\"0x\"))\r\n value = ColorHandler.parse(value[0]);\r\n else if (value[0].startsWith(\"$\")) return callback?.(\"var\");\r\n }\r\n } else if (value instanceof Animation) return value.getKeyIndex(0);\r\n else if (value instanceof LocalizeText) return value.get();\r\n else if (value instanceof UI || value instanceof Modify) return value.getPath();\r\n\r\n return value;\r\n}\r\n\r\nexport function ReadProperties(properties: Properties) {\r\n if (properties.x || properties.y) {\r\n properties.offset = [properties.x || 0, properties.y || 0];\r\n delete properties.x;\r\n delete properties.y;\r\n }\r\n\r\n if (properties.min_w || properties.min_h) {\r\n properties.min_size = [properties.min_w || 0, properties.min_h || 0];\r\n delete properties.min_w;\r\n delete properties.min_h;\r\n } else if (\r\n properties.min_size !== undefined &&\r\n !Array.isArray(properties.min_size) &&\r\n ((typeof properties.min_size === \"string\" && !properties.min_size.startsWith(\"$\")) ||\r\n typeof properties.min_size === \"number\")\r\n )\r\n (<any>properties.min_size) = [properties.min_size, properties.min_size];\r\n\r\n if (properties.max_w || properties.max_h) {\r\n properties.max_size = [properties.max_w || 0, properties.max_h || 0];\r\n delete properties.max_w;\r\n delete properties.max_h;\r\n } else if (\r\n properties.max_size !== undefined &&\r\n !Array.isArray(properties.max_size) &&\r\n ((typeof properties.max_size === \"string\" && !properties.max_size.startsWith(\"$\")) ||\r\n typeof properties.max_size === \"number\")\r\n )\r\n (<any>properties.max_size) = [properties.max_size, properties.max_size];\r\n\r\n if (properties.w || properties.h) {\r\n properties.size = [properties.w || 0, properties.h || 0];\r\n delete properties.w;\r\n delete properties.h;\r\n } else if (\r\n properties.size !== undefined &&\r\n !Array.isArray(properties.size) &&\r\n ((typeof properties.size === \"string\" && !properties.size.startsWith(\"$\")) ||\r\n typeof properties.size === \"number\")\r\n )\r\n (<any>properties.size) = [properties.size, properties.size];\r\n\r\n if (properties.sound_path) {\r\n properties.sound_name = Sounds.get(properties.sound_path);\r\n delete properties.sound_path;\r\n }\r\n\r\n if (properties.sounds) {\r\n properties.sounds = properties.sounds.map(sound => {\r\n if (sound.sound_path) {\r\n const soundId = Sounds.get(sound.sound_path);\r\n delete sound.sound_path;\r\n return {\r\n sound_name: soundId,\r\n };\r\n } else return sound;\r\n });\r\n }\r\n\r\n Obj.forEach(properties, (key, value) => {\r\n if (key.startsWith(\"#\")) {\r\n if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\r\n (<any>(properties.property_bag ||= {}))[key] = value;\r\n } else Log.error(`Invalid value for property \"${key}\"`);\r\n delete (<any>properties)[key];\r\n } else {\r\n (<any>properties)[key] = ReadValue(value, type => {\r\n if (type === \"var\") {\r\n const isSpecialProperty = [\"size\", \"min_size\", \"max_size\"].includes(key);\r\n\r\n const disableDefault = value[2];\r\n const propertyName = disableDefault ? value[0] : `${value[0]}|default`;\r\n\r\n if (isSpecialProperty) {\r\n if (Array.isArray(value[1])) properties[propertyName] = value[1];\r\n else properties[propertyName] = [value[1], value[1]];\r\n } else {\r\n properties[propertyName] = ReadValue(value[1]);\r\n }\r\n\r\n return value[0];\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (properties.anchor) {\r\n properties.anchor_from = properties.anchor;\r\n properties.anchor_to = properties.anchor;\r\n delete properties.anchor;\r\n }\r\n\r\n return properties;\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B;AAC1B,0BAA6B;AAC7B,oBAAuB;AACvB,gBAAmB;AAEnB,iBAAoB;AACpB,oBAAuC;AACvC,mBAA6B;AAC7B,oBAAoB;AAEb,SAAS,UAAU,OAAY,UAAkC;AACpE,MAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,QAAI,OAAO,MAAM,CAAC,MAAM,UAAU;AAC9B,UAAI,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,MAAM,CAAC,EAAE,WAAW,IAAI;AACpD,gBAAQ,0BAAa,MAAM,MAAM,CAAC,CAAC;AAAA,eAC9B,MAAM,CAAC,EAAE,WAAW,GAAG,EAAG,QAAO,qCAAW;AAAA,IACzD;AAAA,EACJ,WAAW,iBAAiB,2BAAW,QAAO,MAAM,YAAY,CAAC;AAAA,WACxD,iBAAiB,iCAAc,QAAO,MAAM,IAAI;AAAA,WAChD,iBAAiB,gBAAM,iBAAiB,qBAAQ,QAAO,MAAM,QAAQ;AAE9E,SAAO;AACX;AAEO,SAAS,eAAe,YAAwB;AACnD,MAAI,WAAW,KAAK,WAAW,GAAG;AAC9B,eAAW,SAAS,CAAC,WAAW,KAAK,GAAG,WAAW,KAAK,CAAC;AACzD,WAAO,WAAW;AAClB,WAAO,WAAW;AAAA,EACtB;AAEA,MAAI,WAAW,SAAS,WAAW,OAAO;AACtC,eAAW,WAAW,CAAC,WAAW,SAAS,GAAG,WAAW,SAAS,CAAC;AACnE,WAAO,WAAW;AAClB,WAAO,WAAW;AAAA,EACtB,WACI,WAAW,aAAa,UACxB,CAAC,MAAM,QAAQ,WAAW,QAAQ,MAChC,OAAO,WAAW,aAAa,YAAY,CAAC,WAAW,SAAS,WAAW,GAAG,KAC5E,OAAO,WAAW,aAAa;AAEnC,IAAM,WAAW,WAAY,CAAC,WAAW,UAAU,WAAW,QAAQ;AAE1E,MAAI,WAAW,SAAS,WAAW,OAAO;AACtC,eAAW,WAAW,CAAC,WAAW,SAAS,GAAG,WAAW,SAAS,CAAC;AACnE,WAAO,WAAW;AAClB,WAAO,WAAW;AAAA,EACtB,WACI,WAAW,aAAa,UACxB,CAAC,MAAM,QAAQ,WAAW,QAAQ,MAChC,OAAO,WAAW,aAAa,YAAY,CAAC,WAAW,SAAS,WAAW,GAAG,KAC5E,OAAO,WAAW,aAAa;AAEnC,IAAM,WAAW,WAAY,CAAC,WAAW,UAAU,WAAW,QAAQ;AAE1E,MAAI,WAAW,KAAK,WAAW,GAAG;AAC9B,eAAW,OAAO,CAAC,WAAW,KAAK,GAAG,WAAW,KAAK,CAAC;AACvD,WAAO,WAAW;AAClB,WAAO,WAAW;AAAA,EACtB,WACI,WAAW,SAAS,UACpB,CAAC,MAAM,QAAQ,WAAW,IAAI,MAC5B,OAAO,WAAW,SAAS,YAAY,CAAC,WAAW,KAAK,WAAW,GAAG,KACpE,OAAO,WAAW,SAAS;AAE/B,IAAM,WAAW,OAAQ,CAAC,WAAW,MAAM,WAAW,IAAI;AAE9D,MAAI,WAAW,YAAY;AACvB,eAAW,aAAa,cAAAA,aAAO,IAAI,WAAW,UAAU;AACxD,WAAO,WAAW;AAAA,EACtB;AAEA,MAAI,WAAW,QAAQ;AACnB,eAAW,SAAS,WAAW,OAAO,IAAI,WAAS;AAC/C,UAAI,MAAM,YAAY;AAClB,cAAM,UAAU,cAAAA,aAAO,IAAI,MAAM,UAAU;AAC3C,eAAO,MAAM;AACb,eAAO;AAAA,UACH,YAAY;AAAA,QAChB;AAAA,MACJ,MAAO,QAAO;AAAA,IAClB,CAAC;AAAA,EACL;AAEA,oBAAI,QAAQ,YAAY,CAAC,KAAK,UAAU;AACpC,QAAI,IAAI,WAAW,GAAG,GAAG;AACrB,UAAI,CAAC,UAAU,UAAU,SAAS,EAAE,SAAS,OAAO,KAAK,GAAG;AACxD,SAAO,WAAW,iBAAX,WAAW,eAAiB,CAAC,IAAI,GAAG,IAAI;AAAA,MACnD,MAAO,gBAAI,MAAM,+BAA+B,YAAG,IAAG;AACtD,aAAa,WAAY,GAAG;AAAA,IAChC,OAAO;AACH,MAAM,WAAY,GAAG,IAAI,UAAU,OAAO,UAAQ;AAC9C,YAAI,SAAS,OAAO;AAChB,gBAAM,oBAAoB,CAAC,QAAQ,YAAY,UAAU,EAAE,SAAS,GAAG;AAEvE,gBAAM,iBAAiB,MAAM,CAAC;AAC9B,gBAAM,eAAe,iBAAiB,MAAM,CAAC,IAAI,GAAG,aAAM,CAAC,GAAC;AAE5D,cAAI,mBAAmB;AACnB,gBAAI,MAAM,QAAQ,MAAM,CAAC,CAAC,EAAG,YAAW,YAAY,IAAI,MAAM,CAAC;AAAA,gBAC1D,YAAW,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,UACvD,OAAO;AACH,uBAAW,YAAY,IAAI,UAAU,MAAM,CAAC,CAAC;AAAA,UACjD;AAEA,iBAAO,MAAM,CAAC;AAAA,QAClB;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,CAAC;AAED,MAAI,WAAW,QAAQ;AACnB,eAAW,cAAc,WAAW;AACpC,eAAW,YAAY,WAAW;AAClC,WAAO,WAAW;AAAA,EACtB;AAEA,SAAO;AACX;",
6
+ "names": ["Sounds"]
7
+ }
@@ -39,3 +39,4 @@ function AddCollectionChild(parent, child, collectionLength, startIndex = 0, pro
39
39
  0 && (module.exports = {
40
40
  AddCollectionChild
41
41
  });
42
+ //# sourceMappingURL=AddCollectionChill.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AddCollectionChill.ts"],
4
+ "sourcesContent": ["import { UIChildNameCallback } from \"../types/components/NameCallback\";\r\nimport { Properties } from \"../types/objects/properties/Properties\";\r\nimport { UI } from \"./UI\";\r\n\r\ntype setNameCallback = (index: number) => string;\r\n\r\nexport function AddCollectionChild(\r\n parent: UI,\r\n child: UI,\r\n collectionLength: number,\r\n startIndex: number = 0,\r\n properties?: Properties,\r\n setName?: setNameCallback,\r\n callback?: UIChildNameCallback\r\n) {\r\n for (let index = startIndex; index < collectionLength; index++) {\r\n const name = setName?.(index);\r\n parent.addChild(\r\n child,\r\n {\r\n ...properties,\r\n collection_index: index,\r\n },\r\n name,\r\n callback\r\n );\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,SAAS,mBACZ,QACA,OACA,kBACA,aAAqB,GACrB,YACA,SACA,UACF;AACE,WAAS,QAAQ,YAAY,QAAQ,kBAAkB,SAAS;AAC5D,UAAM,OAAO,mCAAU;AACvB,WAAO;AAAA,MACH;AAAA,MACA;AAAA,QACI,GAAG;AAAA,QACH,kBAAkB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACJ;",
6
+ "names": []
7
+ }
@@ -125,3 +125,4 @@ class Animation extends import_Class.Class {
125
125
  0 && (module.exports = {
126
126
  Animation
127
127
  });
128
+ //# sourceMappingURL=Animation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Animation.ts"],
4
+ "sourcesContent": ["import { Configs } from \"../compilers/Config\";\r\nimport { Identifier } from \"../types/components/Identifier\";\r\nimport { AnimationTypes } from \"../types/enums/AnimTypes\";\r\nimport { AnimationInterface } from \"../types/objects/Animation\";\r\nimport { AnimationKeyFrame } from \"./AnimationKeyFrame\";\r\nimport { Class } from \"./Class\";\r\nimport { Random } from \"./Random\";\r\n\r\nexport class Animation extends Class {\r\n private keyFrames: Array<string> = [];\r\n private buildKey: number = 0;\r\n private config = Configs.getConfig();\r\n\r\n static register(animation: AnimationInterface, identifier?: Identifier): Animation {\r\n return new Animation(animation, identifier);\r\n }\r\n\r\n constructor(animation: AnimationInterface, private identifier?: Identifier) {\r\n super()\r\n if (!(identifier && !this.config.compiler.UI.obfuscateName))\r\n identifier = {\r\n name: Random.getAnimationName(),\r\n namespace: Random.getNamespace(),\r\n };\r\n else {\r\n if (!identifier.name) identifier.name = Random.getAnimationName();\r\n if (!identifier.namespace) identifier.namespace = Random.getAnimationName();\r\n }\r\n\r\n this.buildAnimation(animation, identifier);\r\n }\r\n\r\n getKeyIndex(index: number): string {\r\n let i = index < 0 ? 0 : Math.min(index, this.keyFrames.length);\r\n return `@${this.keyFrames[index]}`;\r\n }\r\n\r\n private buildAnimation(\r\n { from, keyFrames, loop, type, durationPerKeyFrame = 1, smartCycle, defaultEase }: AnimationInterface,\r\n identifier: Identifier\r\n ) {\r\n const prefix = keyFrames.length - 1;\r\n\r\n if ((smartCycle === undefined || smartCycle) && loop) {\r\n if (typeof keyFrames[prefix] == \"number\") keyFrames[prefix] = {\r\n duration: keyFrames[prefix],\r\n to: from,\r\n }\r\n else if (JSON.stringify((keyFrames[prefix] as any).to) != JSON.stringify(from)) {\r\n keyFrames.push({\r\n to: (keyFrames[0] as any).from ?? from,\r\n duration: durationPerKeyFrame,\r\n easing: defaultEase\r\n });\r\n }\r\n }\r\n\r\n const frameLength = keyFrames.length - 1;\r\n\r\n keyFrames.forEach((keyFrame, index) => {\r\n this.keyFrames.push(`${identifier.namespace}.${identifier.name}`);\r\n const currentIdentifier = identifier;\r\n\r\n let next;\r\n\r\n if (index === frameLength) {\r\n if (loop) next = this.getKeyIndex(0);\r\n } else {\r\n identifier = this.generateIdentifier();\r\n next = this.getFrameKeyByIdentifier(identifier);\r\n }\r\n\r\n if (typeof keyFrame == \"number\") {\r\n new AnimationKeyFrame(\r\n <any>{\r\n next,\r\n anim_type: AnimationTypes.Wait,\r\n duration: keyFrame,\r\n },\r\n currentIdentifier\r\n );\r\n } else {\r\n new AnimationKeyFrame(\r\n <any>{\r\n next,\r\n anim_type: type,\r\n from,\r\n duration: (<any>keyFrame).duration ?? durationPerKeyFrame,\r\n easing: defaultEase,\r\n ...(<any>keyFrame),\r\n },\r\n currentIdentifier\r\n );\r\n }\r\n\r\n if (typeof keyFrame === \"object\") from = (<any>keyFrame).to;\r\n });\r\n }\r\n\r\n private generateIdentifier() {\r\n if (this.config.compiler.UI.obfuscateName) return {\r\n name: Random.getAnimationName(),\r\n namespace: Random.getNamespace(),\r\n }\r\n else return {\r\n name: this.identifier?.name ? `${this.identifier.name}-f${this.buildKey++}` : Random.getAnimationName(),\r\n namespace: this.identifier?.namespace || Random.getNamespace(),\r\n };\r\n }\r\n\r\n private getFrameKeyByIdentifier(identifier: Identifier) {\r\n return `@${identifier.namespace}.${identifier.name}`;\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
+ "names": ["_a"]
7
+ }
@@ -47,3 +47,4 @@ class AnimationKeyFrame extends import_Class.Class {
47
47
  0 && (module.exports = {
48
48
  AnimationKeyFrame
49
49
  });
50
+ //# sourceMappingURL=AnimationKeyFrame.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AnimationKeyFrame.ts"],
4
+ "sourcesContent": ["import { JsonBuilder } from \"../compilers/generator/JsonBuilder\";\r\nimport { ReadValue } from \"../compilers/reader/ReadProperties\";\r\nimport { Identifier } from \"../types/components/Identifier\";\r\nimport { AnimationKeyFrameInterface } from \"../types/objects/Animation\";\r\nimport { Class } from \"./Class\";\r\n\r\nexport class AnimationKeyFrame extends Class {\r\n private properties: AnimationKeyFrameInterface;\r\n\r\n constructor(keyFrame: AnimationKeyFrameInterface, private identifier: Identifier) {\r\n super()\r\n this.properties = keyFrame;\r\n if (this.properties.from) this.properties.from = ReadValue(this.properties.from);\r\n if (this.properties.to) this.properties.to = ReadValue(this.properties.to);\r\n JsonBuilder.registerElement(identifier.namespace || \"\", this);\r\n }\r\n\r\n getFullPath() {\r\n return this.identifier.name || \"\";\r\n }\r\n\r\n getUI() {\r\n return this.properties;\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B;AAC5B,4BAA0B;AAG1B,mBAAsB;AAEf,MAAM,0BAA0B,mBAAM;AAAA,EAGzC,YAAY,UAA8C,YAAwB;AAC9E,UAAM;AADgD;AAF1D,wBAAQ;AAIJ,SAAK,aAAa;AAClB,QAAI,KAAK,WAAW,KAAM,MAAK,WAAW,WAAO,iCAAU,KAAK,WAAW,IAAI;AAC/E,QAAI,KAAK,WAAW,GAAI,MAAK,WAAW,SAAK,iCAAU,KAAK,WAAW,EAAE;AACzE,mCAAY,gBAAgB,WAAW,aAAa,IAAI,IAAI;AAAA,EAChE;AAAA,EAEA,cAAc;AACV,WAAO,KAAK,WAAW,QAAQ;AAAA,EACnC;AAAA,EAEA,QAAQ;AACJ,WAAO,KAAK;AAAA,EAChB;AACJ;",
6
+ "names": []
7
+ }
@@ -93,3 +93,4 @@ __publicField(Class, "name", "");
93
93
  0 && (module.exports = {
94
94
  Class
95
95
  });
96
+ //# sourceMappingURL=Class.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Class.ts"],
4
+ "sourcesContent": ["/**\r\n * Represents a class with several static methods and properties that appear to serve as placeholders or utilities.\r\n * The methods in this class are defined but not yet implemented, potentially for future extensions or overriding.\r\n *\r\n * @class Class\r\n */\r\nexport class Class {\r\n\t/**\r\n\t * A static method that seems to serve as a placeholder, but has no functionality as of now.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t */\r\n\tprivate static apply() {}\r\n\r\n\t/**\r\n\t * A static property initialized to an empty string, likely intended to hold arguments or be overridden in the future.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t * @type {string}\r\n\t */\r\n\tprivate static arguments = \"\";\r\n\r\n\t/**\r\n\t * A static method that seems to serve as a placeholder, but has no functionality as of now.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t */\r\n\tprivate static bind() {}\r\n\r\n\t/**\r\n\t * A static method that seems to serve as a placeholder, but has no functionality as of now.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t */\r\n\tprivate static call() {}\r\n\r\n\t/**\r\n\t * A static property initialized to an empty string, likely intended to hold caller information or be overridden in the future.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t * @type {string}\r\n\t */\r\n\tprivate static caller = \"\";\r\n\r\n\t/**\r\n\t * A static property initialized to an empty string, likely intended to hold length-related data or be overridden in the future.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t * @type {string}\r\n\t */\r\n\tprivate static length = \"\";\r\n\r\n\t/**\r\n\t * A static property initialized to an empty string, likely intended to hold a name or be overridden in the future.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t * @type {string}\r\n\t */\r\n\tprivate static name = \"\";\r\n\r\n\t/**\r\n\t * A static method that seems to serve as a placeholder, but has no functionality as of now.\r\n\t *\r\n\t * @private\r\n\t * @static\r\n\t */\r\n\tprivate static toString() {}\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlB,OAAe,QAAQ;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBxB,OAAe,OAAO;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQvB,OAAe,OAAO;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmCvB,OAAe,WAAW;AAAA,EAAC;AAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AApDC,cAhBY,OAgBG,aAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyB3B,cAzCY,OAyCG,UAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxB,cAlDY,OAkDG,UAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxB,cA3DY,OA2DG,QAAO;",
6
+ "names": []
7
+ }
@@ -57,3 +57,4 @@ class LocalizeText {
57
57
  LocalizeText,
58
58
  localizeText
59
59
  });
60
+ //# sourceMappingURL=LocalizeText.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/LocalizeText.ts"],
4
+ "sourcesContent": ["import { StaticUIInterface } from \"../types/components/UIInterface\";\r\nimport { Label } from \"../types/objects/elements/Label\";\r\nimport { UI } from \"./UI\";\r\n\r\ninterface LocalizeTextInterface {\r\n [language: string]: {\r\n [key: string]: string;\r\n };\r\n}\r\n\r\ninterface SetLocalizeTextInterface {\r\n [language: string]: string;\r\n}\r\n\r\nexport const localizeText: LocalizeTextInterface = {};\r\n\r\nexport class LocalizeText {\r\n constructor(public key: string, value: string | SetLocalizeTextInterface) {\r\n if (typeof value === \"string\") {\r\n this.set({ en_US: value });\r\n } else {\r\n this.set(value);\r\n }\r\n }\r\n\r\n createLabel(properties?: Omit<Label, \"text\">, identifier?: StaticUIInterface) {\r\n const label = UI.label(properties, identifier);\r\n\r\n label.setProperties({\r\n text: this.key,\r\n });\r\n\r\n return label;\r\n }\r\n\r\n set(texts: SetLocalizeTextInterface) {\r\n for (const language in texts) {\r\n (localizeText[language] ||= {})[this.key] = texts[language];\r\n }\r\n }\r\n\r\n get() {\r\n return this.key;\r\n }\r\n\r\n static register(key: string, value: string | SetLocalizeTextInterface) {\r\n return new LocalizeText(key, value);\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gBAAmB;AAYZ,MAAM,eAAsC,CAAC;AAE7C,MAAM,aAAa;AAAA,EACtB,YAAmB,KAAa,OAA0C;AAAvD;AACf,QAAI,OAAO,UAAU,UAAU;AAC3B,WAAK,IAAI,EAAE,OAAO,MAAM,CAAC;AAAA,IAC7B,OAAO;AACH,WAAK,IAAI,KAAK;AAAA,IAClB;AAAA,EACJ;AAAA,EAEA,YAAY,YAAkC,YAAgC;AAC1E,UAAM,QAAQ,aAAG,MAAM,YAAY,UAAU;AAE7C,UAAM,cAAc;AAAA,MAChB,MAAM,KAAK;AAAA,IACf,CAAC;AAED,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,OAAiC;AACjC,eAAW,YAAY,OAAO;AAC1B,OAAC,oDAA2B,CAAC,IAAG,KAAK,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC9D;AAAA,EACJ;AAAA,EAEA,MAAM;AACF,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAO,SAAS,KAAa,OAA0C;AACnE,WAAO,IAAI,aAAa,KAAK,KAAK;AAAA,EACtC;AACJ;",
6
+ "names": []
7
+ }
@@ -79,6 +79,7 @@ class Modify extends import_Class.Class {
79
79
  this.controls.push({
80
80
  ["".concat(name, "@").concat(typeof element === "string" ? element.startsWith("@") ? element.slice(1) : element : element.getPath())]: properties ? (0, import_ReadProperties.ReadProperties)(properties) : {}
81
81
  });
82
+ if (element instanceof import_UI.UI) element.isExtended = true;
82
83
  callback == null ? void 0 : callback(this, name);
83
84
  return this.override;
84
85
  },
@@ -191,6 +192,7 @@ class Modify extends import_Class.Class {
191
192
  return this.modify.controls;
192
193
  },
193
194
  replace: (childName, ui, properties, elementName) => {
195
+ if (ui instanceof import_UI.UI) ui.isExtended = true;
194
196
  this.modifyControls.replace.push([
195
197
  childName,
196
198
  {
@@ -200,6 +202,7 @@ class Modify extends import_Class.Class {
200
202
  return this.modify.controls;
201
203
  },
202
204
  insertAfter: (childName, ui, properties, elementName) => {
205
+ if (ui instanceof import_UI.UI) ui.isExtended = true;
203
206
  this.modifyControls.insertAfter.push([
204
207
  childName,
205
208
  {
@@ -209,6 +212,7 @@ class Modify extends import_Class.Class {
209
212
  return this.modify.controls;
210
213
  },
211
214
  insertBefore: (childName, ui, properties, elementName) => {
215
+ if (ui instanceof import_UI.UI) ui.isExtended = true;
212
216
  this.modifyControls.insertBefore.push([
213
217
  childName,
214
218
  {
@@ -218,12 +222,14 @@ class Modify extends import_Class.Class {
218
222
  return this.modify.controls;
219
223
  },
220
224
  insertBack: (ui, properties, elementName) => {
225
+ if (ui instanceof import_UI.UI) ui.isExtended = true;
221
226
  this.modifyControls.insertBack.push({
222
227
  ["".concat(elementName || import_Random.Random.getName(), "@").concat(typeof ui === "string" ? ui : ui.getPath())]: (0, import_ReadProperties.ReadProperties)(properties || {})
223
228
  });
224
229
  return this.modify.controls;
225
230
  },
226
231
  insertFront: (ui, properties, elementName) => {
232
+ if (ui instanceof import_UI.UI) ui.isExtended = true;
227
233
  this.modifyControls.insertFront.push({
228
234
  ["".concat(elementName || import_Random.Random.getName(), "@").concat(typeof ui === "string" ? ui : ui.getPath())]: (0, import_ReadProperties.ReadProperties)(properties || {})
229
235
  });
@@ -393,3 +399,4 @@ class Modify extends import_Class.Class {
393
399
  0 && (module.exports = {
394
400
  Modify
395
401
  });
402
+ //# sourceMappingURL=Modify.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Modify.ts"],
4
+ "sourcesContent": ["import { JsonBuilder } from \"../compilers/generator/JsonBuilder\";\r\nimport { Log } from \"../compilers/generator/Log\";\r\nimport { CurrentLine } from \"../compilers/reader/CurrentLine\";\r\nimport { Obj } from \"../compilers/reader/Object\";\r\nimport { ReadBinding } from \"../compilers/reader/ReadBinding\";\r\nimport { ReadProperties, ReadValue } from \"../compilers/reader/ReadProperties\";\r\nimport { ChildElement } from \"../types/components/ChildIdentifier\";\r\nimport { Identifier } from \"../types/components/Identifier\";\r\nimport { ExtendInterface } from \"../types/components/UIInterface\";\r\nimport { MappingType } from \"../types/enums/MappingTypes\";\r\nimport { Types } from \"../types/enums/Types\";\r\nimport { BindingInterface } from \"../types/objects/BindingInterface\";\r\nimport { ButtonMapping } from \"../types/objects/ButtonMapping\";\r\nimport { PropertiesType } from \"../types/objects/elements/PropertiesType\";\r\nimport {\r\n ModificationControls,\r\n OverrideInterface,\r\n ModificationInterface,\r\n ExtractUIType,\r\n} from \"../types/objects/Modify\";\r\nimport { Properties } from \"../types/objects/properties/Properties\";\r\nimport { VariablesInterface } from \"../types/objects/Variables\";\r\nimport { Binding } from \"../types/values/Binding\";\r\nimport { Class } from \"./Class\";\r\nimport { Random } from \"./Random\";\r\nimport { UI } from \"./UI\";\r\n\r\nexport class Modify<T extends Types = Types.Any, K extends string = string> extends Class {\r\n private properties: Properties = {};\r\n private controls?: Array<ChildElement>;\r\n private bindings?: Array<BindingInterface>;\r\n private button_mappings?: Array<ButtonMapping>;\r\n private variables?: VariablesInterface;\r\n private anims?: Array<string>;\r\n\r\n private isValidPath: boolean;\r\n name: string = \"\";\r\n namespace: string = \"\";\r\n\r\n private modifyBindings?: Array<BindingInterface>;\r\n private removeModifyBindings?: Array<BindingInterface>;\r\n private modifyControls: ModificationControls = {\r\n remove: [],\r\n replace: [],\r\n insertBack: [],\r\n insertFront: [],\r\n insertAfter: [],\r\n insertBefore: [],\r\n moveAfter: [],\r\n moveBack: [],\r\n moveBefore: [],\r\n moveFront: [],\r\n };\r\n\r\n override: OverrideInterface = {\r\n sourceBindings: {},\r\n\r\n setProperties: (properties: PropertiesType[T]) => {\r\n this.properties = {\r\n ...this.properties,\r\n ...properties,\r\n };\r\n return this.override;\r\n },\r\n\r\n addChild: (element, properties, name, callback) => {\r\n if (!element) {\r\n this.controls ||= [];\r\n return this.override;\r\n }\r\n if (!this.controls) this.controls = [];\r\n name ||= Random.getName();\r\n\r\n this.controls.push({\r\n [`${name}@${\r\n typeof element === \"string\"\r\n ? element.startsWith(\"@\")\r\n ? element.slice(1)\r\n : element\r\n : element.getPath()\r\n }`]: properties ? ReadProperties(properties) : {},\r\n });\r\n\r\n if (element instanceof UI) element.isExtended = true;\r\n callback?.(this, name);\r\n\r\n return this.override;\r\n },\r\n\r\n addBindings: bindings => {\r\n if (!bindings) {\r\n this.bindings ||= [];\r\n return this.override;\r\n }\r\n if (Array.isArray(bindings))\r\n for (const binding of bindings) this.override.addBindings(binding);\r\n else (this.bindings ||= []).push(ReadBinding(<any>bindings, this.override));\r\n return this.override;\r\n },\r\n\r\n addMapping: mapping => {\r\n this.button_mappings ||= [];\r\n if (!mapping) return this.override;\r\n if (Array.isArray(mapping)) mapping.forEach(v => this.override.addMapping(v));\r\n else {\r\n mapping.mapping_type ||= MappingType.Global;\r\n this.button_mappings.push(mapping);\r\n }\r\n\r\n return this.override;\r\n },\r\n\r\n addVariables: variables => {\r\n this.variables ||= {};\r\n\r\n if (variables)\r\n Obj.forEach(variables, (key, value) => {\r\n (<any>this.variables)[key] = {\r\n ...Obj.map(value, (k, v) => {\r\n return { key: k, value: ReadValue(v) };\r\n }),\r\n };\r\n });\r\n\r\n return this.override;\r\n },\r\n\r\n addAnimation: (animation, startIndex) => {\r\n this.anims ||= [];\r\n\r\n if (animation) this.anims.push(animation.getKeyIndex(startIndex || 0));\r\n return this.override;\r\n },\r\n\r\n searchBinding: (\r\n bindingName: Binding,\r\n controlName?: string,\r\n targetBindingName?: Binding\r\n ) => {\r\n for (let index = 0; index < (this.bindings?.length || 0); index++) {\r\n const binding = this.bindings?.[index];\r\n if (controlName) {\r\n if (\r\n binding?.source_control_name === controlName &&\r\n binding.source_property_name === bindingName\r\n ) {\r\n if (targetBindingName) {\r\n if (binding.target_property_name === targetBindingName) {\r\n return targetBindingName;\r\n } else return undefined;\r\n } else return binding.target_property_name;\r\n }\r\n } else {\r\n if (binding?.source_property_name === bindingName) {\r\n if (targetBindingName) {\r\n if (binding.target_property_name === targetBindingName) {\r\n return targetBindingName;\r\n } else return undefined;\r\n } else return binding.target_property_name;\r\n }\r\n }\r\n }\r\n return undefined;\r\n },\r\n };\r\n\r\n modify: ModificationInterface<K> = {\r\n bindings: {\r\n remove: bindings => {\r\n if (Array.isArray(bindings)) {\r\n (this.removeModifyBindings ||= [])?.push(...bindings);\r\n } else (this.removeModifyBindings ||= [])?.push(bindings);\r\n return this.modify.bindings;\r\n },\r\n\r\n addBindings: bindings => {\r\n if (Array.isArray(bindings))\r\n bindings.forEach(binding => this.modify.bindings.addBindings(binding));\r\n else {\r\n (this.modifyBindings ||= []).push(\r\n ReadBinding(<any>bindings, <any>this.modify.bindings)\r\n );\r\n }\r\n return this.modify.bindings;\r\n },\r\n },\r\n controls: {\r\n remove: childName => {\r\n if (Array.isArray(childName)) this.modifyControls.remove.push(...childName);\r\n else this.modifyControls.remove.push(childName);\r\n return this.modify.controls;\r\n },\r\n\r\n moveAfter: childName => {\r\n if (Array.isArray(childName)) this.modifyControls.moveAfter.push(...childName);\r\n else this.modifyControls.moveAfter.push(childName);\r\n return this.modify.controls;\r\n },\r\n\r\n moveBack: childName => {\r\n if (Array.isArray(childName)) this.modifyControls.moveBack.push(...childName);\r\n else this.modifyControls.moveBack.push(childName);\r\n return this.modify.controls;\r\n },\r\n moveFront: childName => {\r\n if (Array.isArray(childName)) this.modifyControls.moveFront.push(...childName);\r\n else this.modifyControls.moveFront.push(childName);\r\n return this.modify.controls;\r\n },\r\n moveBefore: childName => {\r\n if (Array.isArray(childName)) this.modifyControls.moveBefore.push(...childName);\r\n else this.modifyControls.moveBefore.push(childName);\r\n return this.modify.controls;\r\n },\r\n\r\n replace: (childName, ui, properties, elementName) => {\r\n if (ui instanceof UI) ui.isExtended = true;\r\n this.modifyControls.replace.push([\r\n childName,\r\n {\r\n [`${elementName || Random.getName()}@${\r\n typeof ui === \"string\" ? ui : ui.getPath()\r\n }`]: ReadProperties(properties || {}),\r\n },\r\n ]);\r\n return this.modify.controls;\r\n },\r\n insertAfter: (childName, ui, properties, elementName) => {\r\n if (ui instanceof UI) ui.isExtended = true;\r\n this.modifyControls.insertAfter.push([\r\n childName,\r\n {\r\n [`${elementName || Random.getName()}@${\r\n typeof ui === \"string\" ? ui : ui.getPath()\r\n }`]: ReadProperties(properties || {}),\r\n },\r\n ]);\r\n return this.modify.controls;\r\n },\r\n insertBefore: (childName, ui, properties, elementName) => {\r\n if (ui instanceof UI) ui.isExtended = true;\r\n this.modifyControls.insertBefore.push([\r\n childName,\r\n {\r\n [`${elementName || Random.getName()}@${\r\n typeof ui === \"string\" ? ui : ui.getPath()\r\n }`]: ReadProperties(properties || {}),\r\n },\r\n ]);\r\n return this.modify.controls;\r\n },\r\n\r\n insertBack: (ui, properties, elementName) => {\r\n if (ui instanceof UI) ui.isExtended = true;\r\n this.modifyControls.insertBack.push({\r\n [`${elementName || Random.getName()}@${\r\n typeof ui === \"string\" ? ui : ui.getPath()\r\n }`]: ReadProperties(properties || {}),\r\n });\r\n return this.modify.controls;\r\n },\r\n insertFront: (ui, properties, elementName) => {\r\n if (ui instanceof UI) ui.isExtended = true;\r\n this.modifyControls.insertFront.push({\r\n [`${elementName || Random.getName()}@${\r\n typeof ui === \"string\" ? ui : ui.getPath()\r\n }`]: ReadProperties(properties || {}),\r\n });\r\n return this.modify.controls;\r\n },\r\n },\r\n };\r\n\r\n private constructor(properties?: Properties, identifier?: Identifier) {\r\n super();\r\n\r\n if (properties) this.override.setProperties(properties);\r\n if (identifier && identifier.name?.match(/\\w+/g)?.length === 1 && identifier.namespace)\r\n this.isValidPath = true;\r\n else this.isValidPath = false;\r\n\r\n this.name = identifier?.name || \"\";\r\n this.namespace = identifier?.namespace || \"\";\r\n }\r\n\r\n getPath() {\r\n if (this.isValidPath) return `${this.namespace}.${this.name}`;\r\n else {\r\n Log.error(`${CurrentLine()} Cannot use this element for extend or addChild!`);\r\n return \"\";\r\n }\r\n }\r\n\r\n getElement() {\r\n return `@${this.getPath()}`;\r\n }\r\n\r\n extend(identifier?: ExtendInterface, properties?: PropertiesType[ExtractUIType<typeof this>]) {\r\n return UI.extend(this, properties, identifier);\r\n }\r\n\r\n getUI() {\r\n const code: any = ReadProperties(this.properties);\r\n const modifications: Array<any> = [];\r\n for (const key of [\"type\", \"controls\", \"bindings\", \"button_mappings\", \"anims\"])\r\n if ((<any>this)[key]) code[key] = (<any>this)[key];\r\n\r\n if (this.variables) code.variables;\r\n if (this.variables && Object(this.variables).length !== 0)\r\n Obj.forEach(this.variables, (k, v) => {\r\n code.variables.push({\r\n requires: k,\r\n ...v,\r\n });\r\n });\r\n\r\n {\r\n if (this.modifyBindings) {\r\n modifications.push({\r\n array_name: \"bindings\",\r\n operation: \"insert_front\",\r\n value: this.modifyBindings,\r\n });\r\n }\r\n if (this.removeModifyBindings) {\r\n modifications.push(\r\n ...this.removeModifyBindings.map(v => ({\r\n array_name: \"bindings\",\r\n operation: \"remove\",\r\n where: v,\r\n }))\r\n );\r\n }\r\n }\r\n {\r\n modifications.push(\r\n ...this.modifyControls.remove.map(controlName => ({\r\n array_name: \"controls\",\r\n operation: \"remove\",\r\n control_name: controlName,\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.moveAfter.map(controlName => ({\r\n array_name: \"controls\",\r\n operation: \"move_after\",\r\n control_name: controlName,\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.moveBack.map(controlName => ({\r\n array_name: \"controls\",\r\n operation: \"move_back\",\r\n control_name: controlName,\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.moveBefore.map(controlName => ({\r\n array_name: \"controls\",\r\n operation: \"move_before\",\r\n control_name: controlName,\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.moveFront.map(controlName => ({\r\n array_name: \"controls\",\r\n operation: \"move_front\",\r\n control_name: controlName,\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.replace.map(([childName, element]) => ({\r\n array_name: \"controls\",\r\n operation: \"replace\",\r\n control_name: childName,\r\n value: element,\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.insertAfter.map(([childName, element]) => ({\r\n array_name: \"controls\",\r\n operation: \"insert_after\",\r\n control_name: childName,\r\n value: [element],\r\n }))\r\n );\r\n modifications.push(\r\n ...this.modifyControls.insertBefore.map(([childName, element]) => ({\r\n array_name: \"controls\",\r\n operation: \"insert_before\",\r\n control_name: childName,\r\n value: [element],\r\n }))\r\n );\r\n if (this.modifyControls.insertBack.length)\r\n modifications.push({\r\n array_name: \"controls\",\r\n operation: \"insert_back\",\r\n value: this.modifyControls.insertBack,\r\n });\r\n if (this.modifyControls.insertFront.length)\r\n modifications.push({\r\n array_name: \"controls\",\r\n operation: \"insert_front\",\r\n value: this.modifyControls.insertFront,\r\n });\r\n }\r\n\r\n if (modifications.length > 0) code[\"modifications\"] = modifications;\r\n\r\n for (const bindingKey in this.override.sourceBindings) {\r\n const targetBinding = this.override.sourceBindings[bindingKey];\r\n const [sourceBinding, sourceControl] = bindingKey.split(\":\");\r\n\r\n code.bindings.push({\r\n binding_type: \"view\",\r\n source_control_name: sourceControl,\r\n source_property_name: sourceBinding,\r\n target_property_name: targetBinding,\r\n });\r\n }\r\n\r\n return Object.keys(code).length > 0 ? code : undefined;\r\n }\r\n\r\n addChild<T extends string | UI<any> | Modify<any, any>>(\r\n element: T,\r\n properties?: PropertiesType[ExtractUIType<typeof element>],\r\n elementName?: string\r\n ) {\r\n this.modify.controls.insertFront(element, properties, elementName);\r\n return this;\r\n }\r\n\r\n static register<T extends Types = Types.Any, K extends string = string>(\r\n filePath: string,\r\n elementPath: string,\r\n properties?: Properties\r\n ) {\r\n return this.registerWithNamespace<T, K>(filePath, elementPath, \"\", properties);\r\n }\r\n\r\n static registerWithNamespace<T extends Types = Types.Any, K extends string = string>(\r\n filePath: string,\r\n elementPath: string,\r\n namespace: string,\r\n properties?: Properties\r\n ) {\r\n const modify = JsonBuilder.getModify(filePath, elementPath);\r\n modify?.override?.setProperties(properties || {});\r\n return <Modify<T, K>>(modify ||\r\n JsonBuilder.registerModify(\r\n filePath,\r\n elementPath,\r\n new Modify<T, K>(properties, {\r\n name: elementPath,\r\n namespace,\r\n })\r\n ));\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -102,3 +102,4 @@ let Random = _Random;
102
102
  0 && (module.exports = {
103
103
  Random
104
104
  });
105
+ //# sourceMappingURL=Random.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Random.ts"],
4
+ "sourcesContent": ["import { UUID } from \"../types/objects/Manifest\";\r\nimport { Class } from \"./Class\";\r\nimport { Configs } from \"../compilers/Config\";\r\nimport { Binding } from \"../types/values/Binding\";\r\n\r\nconst HEX: string[] = Array.from({ length: 256 }, (_, i) =>\r\n i.toString(16).toUpperCase().padStart(2, \"0\")\r\n);\r\nconst CHARS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\r\n\r\nexport class Random extends Class {\r\n private static namespaces?: string[];\r\n private static namespaceIndex = 0;\r\n\r\n private static _uiConfig?: ReturnType<typeof Configs.getConfig>[\"compiler\"][\"UI\"];\r\n private static get uiConfig() {\r\n return (this._uiConfig ??= Configs.getConfig().compiler.UI);\r\n }\r\n\r\n private static get isObfuscate(): boolean {\r\n return Configs.getConfig().compiler.UI.obfuscateName;\r\n }\r\n\r\n private static _uniqueKey?: string;\r\n private static get uniqueKey() {\r\n return (this._uniqueKey ??= Random.genString(5, 16).toUpperCase());\r\n }\r\n\r\n private static get prefix() {\r\n return this.uniqueKey;\r\n }\r\n\r\n private static counter = { element: 0, animation: 0, binding: 0 };\r\n\r\n static genString(length: number, base: number = 32): string {\r\n const chars = CHARS.slice(0, base);\r\n const out = new Array<string>(length);\r\n\r\n try {\r\n const buffer = new Uint8Array(length);\r\n crypto.getRandomValues(buffer);\r\n for (let i = 0; i < length; i++) {\r\n out[i] = chars[buffer[i] % base];\r\n }\r\n } catch {\r\n for (let i = 0; i < length; i++) {\r\n out[i] = chars[Math.floor(Math.random() * base)];\r\n }\r\n }\r\n\r\n return out.join(\"\");\r\n }\r\n\r\n static getName(length: number = Random.uiConfig.nameLength): string {\r\n if (Random.isObfuscate) return Random.genString(length);\r\n const counter = ++Random.counter.element;\r\n return `${Random.prefix}_ELEMENT_${counter.toString(16).toUpperCase()}`;\r\n }\r\n\r\n static getAnimationName(length: number = Random.uiConfig.nameLength): string {\r\n if (Random.isObfuscate) return Random.genString(length);\r\n const counter = ++Random.counter.animation;\r\n return `${Random.prefix}_ANIMATION_${counter.toString(16).toUpperCase()}`;\r\n }\r\n\r\n static getNamespace(): string {\r\n if (!Random.namespaces) {\r\n const { namespaceAmount, namespaceLength } = Random.uiConfig;\r\n Random.namespaces = Array.from({ length: namespaceAmount }, (_, index) =>\r\n Random.isObfuscate\r\n ? Random.genString(namespaceLength)\r\n : `${Random.prefix}_NAMESPACE_${(index + 1).toString(16).toUpperCase()}`\r\n );\r\n }\r\n const index = Random.namespaceIndex++ % Random.namespaces.length;\r\n return Random.namespaces[index];\r\n }\r\n\r\n static getUUID(): UUID {\r\n const b = Array.from({ length: 16 }, () => Math.floor(Math.random() * 256));\r\n return <UUID>(\r\n `${HEX[b[0]]}${HEX[b[1]]}${HEX[b[2]]}${HEX[b[3]]}-${HEX[b[4]]}${HEX[b[5]]}-${\r\n HEX[b[6]]\r\n }${HEX[b[7]]}-${HEX[b[8]]}${HEX[b[9]]}-${HEX[b[10]]}${HEX[b[11]]}${HEX[b[12]]}${\r\n HEX[b[13]]\r\n }${HEX[b[14]]}${HEX[b[15]]}`\r\n );\r\n }\r\n\r\n static bindingName(): Binding {\r\n if (Random.isObfuscate) return `#${Random.genString(Random.uiConfig.nameLength)}`;\r\n const counter = ++Random.counter.binding;\r\n return `#${Random.prefix}_BINDING_${counter.toString(16).toUpperCase()}`;\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
+ "names": ["index"]
7
+ }
@@ -41,6 +41,8 @@ const _UI = class _UI {
41
41
  __publicField(this, "namespace");
42
42
  __publicField(this, "extends");
43
43
  __publicField(this, "sourceBindings", {});
44
+ __publicField(this, "isExtended", false);
45
+ __publicField(this, "addCount", 0);
44
46
  __publicField(this, "type");
45
47
  __publicField(this, "controls");
46
48
  __publicField(this, "bindings");
@@ -62,7 +64,8 @@ const _UI = class _UI {
62
64
  }
63
65
  if (identifier.extends instanceof _UI)
64
66
  this.extends = "".concat(identifier.extends.getPath());
65
- else if (identifier.extends instanceof import_Modify.Modify) this.extends = identifier.extends.getPath();
67
+ else if (identifier.extends instanceof import_Modify.Modify)
68
+ this.extends = identifier.extends.getPath();
66
69
  else if (typeof identifier.extends === "string") this.extends = identifier.extends;
67
70
  else this.extends = "".concat(identifier.extends.namespace, ".").concat(identifier.extends.name);
68
71
  } else {
@@ -280,21 +283,26 @@ const _UI = class _UI {
280
283
  this.controls || (this.controls = []);
281
284
  if (!element) return this;
282
285
  name || (name = import_Random.Random.getName());
283
- if (this.isDuplicate(name)) {
286
+ if (this.isDuplicate(name))
284
287
  import_Log.Log.warning("".concat((0, import_CurrentLine.CurrentLine)(), " child element should have a unique name!"));
285
- }
286
288
  if (typeof element === "string") {
287
289
  this.controls.push({
288
290
  ["".concat(name, "@").concat(element)]: properties ? (0, import_ReadProperties.ReadProperties)(properties) : {}
289
291
  });
290
292
  } else if (element instanceof _UI || element instanceof import_Modify.Modify) {
291
- {
292
- if ((element == null ? void 0 : element.getPath()) === this.getPath()) {
293
- import_Log.Log.warning("".concat((0, import_CurrentLine.CurrentLine)(), " child element should have a unique name!"));
293
+ if ((element == null ? void 0 : element.getPath()) === this.getPath())
294
+ import_Log.Log.warning("".concat((0, import_CurrentLine.CurrentLine)(), " child element should have a unique name!"));
295
+ if (properties || element instanceof import_Modify.Modify) {
296
+ if (element instanceof _UI) {
297
+ element.isExtended = true;
298
+ element.addCount++;
294
299
  }
295
300
  this.controls.push({
296
301
  ["".concat(name, "@").concat(element == null ? void 0 : element.getPath())]: properties ? (0, import_ReadProperties.ReadProperties)(properties) : {}
297
302
  });
303
+ } else {
304
+ element.addCount++;
305
+ this.controls.push({ [name]: element });
298
306
  }
299
307
  }
300
308
  callback == null ? void 0 : callback(this, name);
@@ -335,8 +343,9 @@ const _UI = class _UI {
335
343
  return this;
336
344
  }
337
345
  getUI() {
338
- var _a;
346
+ var _a, _b;
339
347
  const code = (0, import_ReadProperties.ReadProperties)((_a = this.properties) != null ? _a : {});
348
+ const config = import_Config.Configs.getConfig();
340
349
  for (const key of ["type", "controls", "bindings", "button_mappings", "anims"])
341
350
  if (this[key]) code[key] = this[key];
342
351
  for (const bindingKey in this.sourceBindings) {
@@ -357,6 +366,18 @@ const _UI = class _UI {
357
366
  ...v
358
367
  });
359
368
  });
369
+ code.controls = (_b = this.controls) == null ? void 0 : _b.map((control) => {
370
+ const key = Object.keys(control)[0];
371
+ const element = control[key];
372
+ if (element instanceof _UI) {
373
+ if (element.isExtended || element.addCount > 1 || !config.compiler.UI.optimizeControls)
374
+ return { ["".concat(key, "@").concat(element.getPath())]: {} };
375
+ else
376
+ return {
377
+ [key]: element.getUI()
378
+ };
379
+ } else return control;
380
+ });
360
381
  return code;
361
382
  }
362
383
  getPath() {
@@ -393,3 +414,4 @@ let UI = _UI;
393
414
  0 && (module.exports = {
394
415
  UI
395
416
  });
417
+ //# sourceMappingURL=UI.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/UI.ts"],
4
+ "sourcesContent": ["import { Configs } from \"../compilers/Config\";\r\nimport { JsonBuilder } from \"../compilers/generator/JsonBuilder\";\r\nimport { Log } from \"../compilers/generator/Log\";\r\nimport { CurrentLine } from \"../compilers/reader/CurrentLine\";\r\nimport { Obj } from \"../compilers/reader/Object\";\r\nimport { ReadBinding } from \"../compilers/reader/ReadBinding\";\r\nimport { ReadProperties, ReadValue } from \"../compilers/reader/ReadProperties\";\r\nimport { ChildElement } from \"../types/components/ChildIdentifier\";\r\nimport { Identifier } from \"../types/components/Identifier\";\r\nimport { UIChildNameCallback } from \"../types/components/NameCallback\";\r\nimport { ExtendInterface, StaticUIInterface, UIInterface } from \"../types/components/UIInterface\";\r\nimport { MappingType } from \"../types/enums/MappingTypes\";\r\nimport { Renderer } from \"../types/enums/Renderer\";\r\nimport { Types } from \"../types/enums/Types\";\r\nimport { BindingInterface } from \"../types/objects/BindingInterface\";\r\nimport { ButtonMapping } from \"../types/objects/ButtonMapping\";\r\nimport { Button } from \"../types/objects/elements/Button\";\r\nimport { CollectionPanel } from \"../types/objects/elements/CollectionPanel\";\r\nimport { Dropdown } from \"../types/objects/elements/Dropdown\";\r\nimport { EditBox } from \"../types/objects/elements/EditBox\";\r\nimport { Grid } from \"../types/objects/elements/Grid\";\r\nimport { Image } from \"../types/objects/elements/Image\";\r\nimport { InputPanel } from \"../types/objects/elements/InputPanel\";\r\nimport { Label } from \"../types/objects/elements/Label\";\r\nimport { Panel } from \"../types/objects/elements/panel\";\r\nimport { PropertiesType } from \"../types/objects/elements/PropertiesType\";\r\nimport { Screen } from \"../types/objects/elements/Screen\";\r\nimport { ScrollbarBox } from \"../types/objects/elements/ScrollbarBox\";\r\nimport { ScrollbarTrack } from \"../types/objects/elements/ScrollbarTrack\";\r\nimport { ScrollView } from \"../types/objects/elements/ScrollView\";\r\nimport { Slider } from \"../types/objects/elements/Slider\";\r\nimport { SliderBox } from \"../types/objects/elements/SliderBox\";\r\nimport { StackPanel } from \"../types/objects/elements/StackPanel\";\r\nimport { Toggle } from \"../types/objects/elements/Toggle\";\r\nimport { TooltipTrigger } from \"../types/objects/elements/TooltipTrigger\";\r\nimport { Properties } from \"../types/objects/properties/Properties\";\r\nimport { Specials } from \"../types/objects/properties/Specials\";\r\nimport { VariablesInterface } from \"../types/objects/Variables\";\r\nimport { Binding } from \"../types/values/Binding\";\r\nimport { Animation } from \"./Animation\";\r\nimport { Modify } from \"./Modify\";\r\nimport { Random } from \"./Random\";\r\n\r\ntype ExtractUIType<T, K extends Types = Types.Any> = T extends UI<infer U>\r\n ? U\r\n : T extends Modify<infer U>\r\n ? U\r\n : T extends string\r\n ? K\r\n : T extends Identifier\r\n ? K\r\n : never;\r\n\r\ninterface TypeExtend {\r\n [key: string]: string;\r\n}\r\nconst typeExtend: TypeExtend = {};\r\n\r\nexport class UI<T extends Types = Types.Any> {\r\n name?: string;\r\n namespace?: string;\r\n extends?: string;\r\n sourceBindings: Record<string, string> = {};\r\n\r\n isExtended = false;\r\n addCount = 0;\r\n\r\n private type?: Types;\r\n private controls?: Array<ChildElement | Record<string, UI>>;\r\n private bindings?: Array<BindingInterface>;\r\n private button_mappings?: Array<ButtonMapping>;\r\n private variables?: VariablesInterface;\r\n private anims?: Array<string>;\r\n private properties?: PropertiesType[T];\r\n constructor(identifier: UIInterface | UI | Modify) {\r\n const config = Configs.getConfig();\r\n\r\n if (identifier instanceof UI || identifier instanceof Modify) {\r\n this.name = Random.getName();\r\n this.namespace = Random.getNamespace();\r\n this.extends = identifier.getPath();\r\n } else {\r\n this.name = (!config.compiler.UI.obfuscateName && identifier?.name) || Random.getName();\r\n this.namespace =\r\n (!config.compiler.UI.obfuscateName && identifier?.namespace) ||\r\n Random.getNamespace();\r\n\r\n if (identifier?.extends) {\r\n if (identifier.type) {\r\n this.type = identifier.type;\r\n }\r\n\r\n if (identifier.extends instanceof UI)\r\n this.extends = `${identifier.extends.getPath()}`;\r\n else if (identifier.extends instanceof Modify)\r\n this.extends = identifier.extends.getPath();\r\n else if (typeof identifier.extends === \"string\") this.extends = identifier.extends;\r\n else this.extends = `${identifier.extends.namespace}.${identifier.extends.name}`;\r\n } else {\r\n if (config.compiler.UI.obfuscateType && identifier.namespace !== \"_type_c\") {\r\n const type = identifier?.type || Types.Panel;\r\n this.extends = typeExtend[type] ||= new UI({\r\n name: type,\r\n namespace: \"_type_c\",\r\n type,\r\n }).getPath();\r\n } else this.type = identifier?.type || Types.Panel;\r\n }\r\n\r\n if (identifier?.properties) this.setProperties(<any>identifier.properties);\r\n }\r\n\r\n JsonBuilder.registerElement(this.namespace, <any>this);\r\n }\r\n\r\n static panel(properties?: Panel, identifier?: StaticUIInterface) {\r\n return new UI<Types.Panel>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Panel,\r\n properties,\r\n });\r\n }\r\n\r\n static stackPanel(properties?: StackPanel, identifier?: StaticUIInterface) {\r\n return new UI<Types.StackPanel>(<UIInterface>{\r\n ...identifier,\r\n type: Types.StackPanel,\r\n properties,\r\n });\r\n }\r\n\r\n static collectionPanel(properties?: CollectionPanel, identifier?: StaticUIInterface) {\r\n return new UI<Types.CollectionPanel>(<UIInterface>{\r\n ...identifier,\r\n type: Types.CollectionPanel,\r\n properties,\r\n });\r\n }\r\n\r\n static inputPanel(properties?: InputPanel, identifier?: StaticUIInterface) {\r\n return new UI<Types.InputPanel>(<UIInterface>{\r\n ...identifier,\r\n type: Types.InputPanel,\r\n properties,\r\n });\r\n }\r\n\r\n static grid(properties?: Grid, identifier?: StaticUIInterface) {\r\n return new UI<Types.Grid>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Grid,\r\n properties,\r\n });\r\n }\r\n\r\n static button(properties?: Button, identifier?: StaticUIInterface) {\r\n return new UI<Types.Button>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Button,\r\n properties,\r\n });\r\n }\r\n\r\n static toggle(properties?: Toggle, identifier?: StaticUIInterface) {\r\n return new UI<Types.Toggle>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Toggle,\r\n properties,\r\n });\r\n }\r\n\r\n static label(properties?: Label, identifier?: StaticUIInterface) {\r\n return new UI<Types.Label>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Label,\r\n properties,\r\n });\r\n }\r\n\r\n static image(properties?: Image, identifier?: StaticUIInterface) {\r\n return new UI<Types.Image>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Image,\r\n properties,\r\n });\r\n }\r\n\r\n static dropdown(properties?: Dropdown, identifier?: StaticUIInterface) {\r\n return new UI<Types.Dropdown>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Dropdown,\r\n properties,\r\n });\r\n }\r\n\r\n static slider(properties?: Slider, identifier?: StaticUIInterface) {\r\n return new UI<Types.Slider>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Slider,\r\n properties,\r\n });\r\n }\r\n\r\n static sliderBox(properties?: SliderBox, identifier?: StaticUIInterface) {\r\n return new UI<Types.SliderBox>(<UIInterface>{\r\n ...identifier,\r\n type: Types.SliderBox,\r\n properties,\r\n });\r\n }\r\n\r\n static editBox(properties?: EditBox, identifier?: StaticUIInterface) {\r\n return new UI<Types.EditBox>(<UIInterface>{\r\n ...identifier,\r\n type: Types.EditBox,\r\n properties,\r\n });\r\n }\r\n\r\n static scrollView(properties?: ScrollView, identifier?: StaticUIInterface) {\r\n return new UI<Types.ScrollView>(<UIInterface>{\r\n ...identifier,\r\n type: Types.ScrollView,\r\n properties,\r\n });\r\n }\r\n\r\n static scrollbarTrack(properties?: ScrollbarTrack, identifier?: StaticUIInterface) {\r\n return new UI<Types.ScrollbarTrack>(<UIInterface>{\r\n ...identifier,\r\n type: Types.ScrollbarTrack,\r\n properties,\r\n });\r\n }\r\n\r\n static scrollbarBox(properties?: ScrollbarBox, identifier?: StaticUIInterface) {\r\n return new UI<Types.ScrollbarBox>(<UIInterface>{\r\n ...identifier,\r\n type: Types.ScrollbarBox,\r\n properties,\r\n });\r\n }\r\n\r\n static screen(properties?: Screen, identifier?: StaticUIInterface) {\r\n return new UI<Types.Screen>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Screen,\r\n properties,\r\n });\r\n }\r\n\r\n static custom<T extends Renderer>(\r\n renderer: T,\r\n properties?: Panel | Specials[T],\r\n identifier?: StaticUIInterface\r\n ) {\r\n return new UI<Types.Custom>(<UIInterface>{\r\n ...identifier,\r\n type: Types.Custom,\r\n properties: {\r\n ...properties,\r\n renderer,\r\n },\r\n });\r\n }\r\n\r\n static tooltipTrigger(properties?: TooltipTrigger, identifier?: StaticUIInterface) {\r\n return new UI<Types.TooltipTrigger>(<UIInterface>{\r\n ...identifier,\r\n type: Types.TooltipTrigger,\r\n properties,\r\n });\r\n }\r\n\r\n static extend<K extends Types = Types.Any, T extends string | Identifier | UI | Modify = UI>(\r\n extendElement?: T,\r\n properties?: PropertiesType[ExtractUIType<typeof extendElement, K>],\r\n identifier?: StaticUIInterface\r\n ) {\r\n if (identifier)\r\n return new UI<ExtractUIType<typeof extendElement, K>>({\r\n extends: extendElement,\r\n ...identifier,\r\n });\r\n else\r\n return new UI<ExtractUIType<typeof extendElement, K>>({\r\n extends: extendElement,\r\n properties: <Properties>properties,\r\n });\r\n }\r\n\r\n searchBinding(bindingName: Binding, controlName?: string, targetBindingName?: Binding) {\r\n for (let index = 0; index < (this.bindings?.length || 0); index++) {\r\n const binding = this.bindings?.[index];\r\n if (controlName) {\r\n if (\r\n binding?.source_control_name === controlName &&\r\n binding.source_property_name === bindingName\r\n ) {\r\n if (targetBindingName) {\r\n if (binding.target_property_name === targetBindingName) {\r\n return targetBindingName;\r\n } else return undefined;\r\n } else return binding.target_property_name;\r\n }\r\n } else {\r\n if (binding?.source_property_name === bindingName) {\r\n if (targetBindingName) {\r\n if (binding.target_property_name === targetBindingName) {\r\n return targetBindingName;\r\n } else return undefined;\r\n } else return binding.target_property_name;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n setProperties(properties: PropertiesType[T]) {\r\n if ((<any>properties).property_bag) {\r\n (<any>properties).property_bag = {\r\n ...(<any>this).properties?.property_bag,\r\n ...(<any>properties).property_bag,\r\n };\r\n }\r\n (<any>this).properties = {\r\n ...(this.properties || {}),\r\n ...properties,\r\n };\r\n return this;\r\n }\r\n\r\n private isDuplicate(name: string) {\r\n for (const childElement of this.controls || []) {\r\n const childKey = Object.keys(childElement)[0];\r\n const childName = childKey.split(\"@\")[0];\r\n\r\n if (childName === name) return true;\r\n }\r\n return false;\r\n }\r\n\r\n private isRecusive(name: string) {\r\n return name === this.name;\r\n }\r\n\r\n addChild<K extends Types = Types.Any, T extends string | Identifier | UI | Modify = any>(\r\n element?: T,\r\n properties?: PropertiesType[ExtractUIType<typeof element, K>] | null | 0,\r\n name?: string | null | 0,\r\n callback?: UIChildNameCallback\r\n ) {\r\n this.controls ||= [];\r\n if (!element) return this;\r\n\r\n name ||= Random.getName();\r\n\r\n if (this.isDuplicate(name))\r\n Log.warning(`${CurrentLine()} child element should have a unique name!`);\r\n\r\n if (typeof element === \"string\") {\r\n this.controls.push({\r\n [`${name}@${element}`]: properties ? ReadProperties(<Properties>properties) : {},\r\n });\r\n } else if (element instanceof UI || element instanceof Modify) {\r\n if (element?.getPath() === this.getPath())\r\n Log.warning(`${CurrentLine()} child element should have a unique name!`);\r\n\r\n if (properties || element instanceof Modify) {\r\n if (element instanceof UI) {\r\n element.isExtended = true;\r\n element.addCount++;\r\n }\r\n\r\n this.controls.push({\r\n [`${name}@${element?.getPath()}`]: properties\r\n ? ReadProperties(<Properties>properties)\r\n : {},\r\n });\r\n } else {\r\n element.addCount++;\r\n this.controls.push({ [name]: element });\r\n }\r\n }\r\n\r\n callback?.(this, name);\r\n\r\n return this;\r\n }\r\n\r\n addBindings(bindings?: Array<BindingInterface> | BindingInterface) {\r\n this.bindings ||= [];\r\n if (!bindings) return this;\r\n if (Array.isArray(bindings)) for (const binding of bindings) this.addBindings(binding);\r\n else this.bindings.push(ReadBinding(<any>bindings, <any>this));\r\n return this;\r\n }\r\n\r\n addMapping(mapping?: Array<ButtonMapping> | ButtonMapping) {\r\n this.button_mappings ||= [];\r\n if (!mapping) return this;\r\n if (Array.isArray(mapping)) mapping.forEach(v => this.addMapping(v));\r\n else {\r\n mapping.mapping_type ||= MappingType.Global;\r\n this.button_mappings.push(mapping);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n addVariables(variables?: VariablesInterface) {\r\n this.variables ||= {};\r\n\r\n if (variables)\r\n Obj.forEach(variables, (key, value) => {\r\n (<any>this.variables)[key] = {\r\n ...Obj.map(value, (k, v) => {\r\n return { key: k, value: ReadValue(v) };\r\n }),\r\n };\r\n });\r\n\r\n return this;\r\n }\r\n\r\n addAnimation(animation?: Animation, startIndex?: number) {\r\n this.anims ||= [];\r\n if (animation) this.anims.push(animation.getKeyIndex(startIndex || 0));\r\n return this;\r\n }\r\n\r\n getUI() {\r\n const code: any = ReadProperties(<any>(this.properties ?? {}));\r\n const config = Configs.getConfig();\r\n\r\n for (const key of [\"type\", \"controls\", \"bindings\", \"button_mappings\", \"anims\"])\r\n if ((<any>this)[key]) code[key] = (<any>this)[key];\r\n\r\n for (const bindingKey in this.sourceBindings) {\r\n const targetBinding = this.sourceBindings[bindingKey];\r\n const [sourceBinding, sourceControl] = bindingKey.split(\":\");\r\n\r\n code.bindings.push({\r\n binding_type: \"view\",\r\n source_control_name: sourceControl,\r\n source_property_name: sourceBinding,\r\n target_property_name: targetBinding,\r\n });\r\n }\r\n\r\n if (this.variables) code.variables ||= [];\r\n if (this.variables && Object(this.variables).length !== 0)\r\n Obj.forEach(this.variables, (k, v) => {\r\n code.variables.push({\r\n requires: k,\r\n ...v,\r\n });\r\n });\r\n\r\n code.controls = this.controls?.map(control => {\r\n const key = Object.keys(control)[0];\r\n const element = control[key];\r\n\r\n if (element instanceof UI) {\r\n if (\r\n element.isExtended ||\r\n element.addCount > 1 ||\r\n !config.compiler.UI.optimizeControls\r\n )\r\n return { [`${key}@${element.getPath()}`]: {} };\r\n else\r\n return {\r\n [key]: element.getUI(),\r\n };\r\n } else return control;\r\n });\r\n\r\n return code;\r\n }\r\n\r\n getPath() {\r\n return `${this.namespace}.${this.name}`;\r\n }\r\n\r\n getElement() {\r\n return `@${this.getPath()}`;\r\n }\r\n\r\n getFullPath(): string {\r\n return `${this.name}${this.extends ? `@${this.extends}` : \"\"}`;\r\n }\r\n\r\n extend(identifier?: ExtendInterface, properties?: PropertiesType[T]) {\r\n return new UI<T>({\r\n ...identifier,\r\n extends: this,\r\n properties: <Properties>properties,\r\n });\r\n }\r\n\r\n private static apply() {}\r\n private static arguments = \"\";\r\n private static bind() {}\r\n private static call() {}\r\n private static caller = \"\";\r\n private static length = \"\";\r\n private static name = \"\";\r\n private static toString() {}\r\n}\r\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -57535,3 +57535,4 @@ __publicField(Vanilla, "worldSection", WorldSection);
57535
57535
  0 && (module.exports = {
57536
57536
  Vanilla
57537
57537
  });
57538
+ //# sourceMappingURL=Vanilla.js.map