@kitten-science/kitten-scientists 2.0.0-beta.10-20250403-28002ba → 2.0.0-beta.10-20250407-52a10b3

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 (419) hide show
  1. package/lib/BonfireManager.d.ts +3 -3
  2. package/lib/BonfireManager.d.ts.map +1 -1
  3. package/lib/BonfireManager.js +10 -10
  4. package/lib/BonfireManager.js.map +1 -1
  5. package/lib/Engine.d.ts +89 -89
  6. package/lib/Engine.d.ts.map +1 -1
  7. package/lib/Engine.js +17 -17
  8. package/lib/Engine.js.map +1 -1
  9. package/lib/KittenScientists.d.ts +1 -1
  10. package/lib/KittenScientists.d.ts.map +1 -1
  11. package/lib/KittenScientists.js +8 -8
  12. package/lib/KittenScientists.js.map +1 -1
  13. package/lib/ReligionManager.d.ts +2 -2
  14. package/lib/ReligionManager.d.ts.map +1 -1
  15. package/lib/ReligionManager.js +6 -6
  16. package/lib/ReligionManager.js.map +1 -1
  17. package/lib/ScienceManager.d.ts +2 -2
  18. package/lib/ScienceManager.d.ts.map +1 -1
  19. package/lib/ScienceManager.js +2 -2
  20. package/lib/ScienceManager.js.map +1 -1
  21. package/lib/SpaceManager.d.ts +2 -2
  22. package/lib/SpaceManager.d.ts.map +1 -1
  23. package/lib/SpaceManager.js +2 -2
  24. package/lib/SpaceManager.js.map +1 -1
  25. package/lib/TimeControlManager.d.ts +2 -2
  26. package/lib/TimeControlManager.d.ts.map +1 -1
  27. package/lib/TimeControlManager.js +3 -3
  28. package/lib/TimeControlManager.js.map +1 -1
  29. package/lib/TimeManager.d.ts +2 -2
  30. package/lib/TimeManager.d.ts.map +1 -1
  31. package/lib/TimeManager.js +3 -3
  32. package/lib/TimeManager.js.map +1 -1
  33. package/lib/TradeManager.d.ts +3 -3
  34. package/lib/TradeManager.d.ts.map +1 -1
  35. package/lib/TradeManager.js +4 -4
  36. package/lib/TradeManager.js.map +1 -1
  37. package/lib/UpgradeManager.js +3 -3
  38. package/lib/UpgradeManager.js.map +1 -1
  39. package/lib/VillageManager.d.ts +3 -3
  40. package/lib/VillageManager.d.ts.map +1 -1
  41. package/lib/VillageManager.js +2 -2
  42. package/lib/VillageManager.js.map +1 -1
  43. package/lib/WorkshopManager.d.ts +3 -3
  44. package/lib/WorkshopManager.d.ts.map +1 -1
  45. package/lib/WorkshopManager.js +4 -4
  46. package/lib/WorkshopManager.js.map +1 -1
  47. package/lib/helper/BulkPurchaseHelper.d.ts +1 -1
  48. package/lib/helper/BulkPurchaseHelper.d.ts.map +1 -1
  49. package/lib/helper/BulkPurchaseHelper.js +5 -5
  50. package/lib/helper/BulkPurchaseHelper.js.map +1 -1
  51. package/lib/i18n/en-US.json +20 -20
  52. package/lib/i18n/translations/da-DK.json +20 -20
  53. package/lib/i18n/translations/de-DE.json +20 -20
  54. package/lib/i18n/translations/fr-FR.json +20 -20
  55. package/lib/i18n/translations/he-IL.json +20 -20
  56. package/lib/i18n/translations/ko-KR.json +20 -20
  57. package/lib/i18n/translations/ru-RU.json +20 -20
  58. package/lib/i18n/translations/zh-CN.json +20 -20
  59. package/lib/images/Icons.d.ts +8 -8
  60. package/lib/images/Icons.d.ts.map +1 -1
  61. package/lib/images/Icons.js +8 -8
  62. package/lib/images/Icons.js.map +1 -1
  63. package/lib/settings/BonfireSettings.d.ts.map +1 -1
  64. package/lib/settings/BonfireSettings.js.map +1 -1
  65. package/lib/settings/BuildingUpgradeSettings.d.ts.map +1 -1
  66. package/lib/settings/BuildingUpgradeSettings.js.map +1 -1
  67. package/lib/settings/ElectLeaderSettings.d.ts.map +1 -1
  68. package/lib/settings/ElectLeaderSettings.js.map +1 -1
  69. package/lib/settings/EmbassySettings.d.ts.map +1 -1
  70. package/lib/settings/EmbassySettings.js.map +1 -1
  71. package/lib/settings/EngineSettings.d.ts.map +1 -1
  72. package/lib/settings/EngineSettings.js.map +1 -1
  73. package/lib/settings/LogFilterSettings.d.ts.map +1 -1
  74. package/lib/settings/LogFilterSettings.js.map +1 -1
  75. package/lib/settings/MissionSettings.d.ts.map +1 -1
  76. package/lib/settings/MissionSettings.js.map +1 -1
  77. package/lib/settings/PolicySettings.d.ts.map +1 -1
  78. package/lib/settings/PolicySettings.js.map +1 -1
  79. package/lib/settings/ReligionSettings.d.ts.map +1 -1
  80. package/lib/settings/ReligionSettings.js.map +1 -1
  81. package/lib/settings/ResetBonfireSettings.d.ts.map +1 -1
  82. package/lib/settings/ResetBonfireSettings.js.map +1 -1
  83. package/lib/settings/ResetReligionSettings.d.ts.map +1 -1
  84. package/lib/settings/ResetReligionSettings.js.map +1 -1
  85. package/lib/settings/ResetResourcesSettings.d.ts.map +1 -1
  86. package/lib/settings/ResetResourcesSettings.js.map +1 -1
  87. package/lib/settings/ResetSettings.d.ts.map +1 -1
  88. package/lib/settings/ResetSettings.js.map +1 -1
  89. package/lib/settings/ResetSpaceSettings.d.ts.map +1 -1
  90. package/lib/settings/ResetSpaceSettings.js.map +1 -1
  91. package/lib/settings/ResetTimeSettings.d.ts.map +1 -1
  92. package/lib/settings/ResetTimeSettings.js.map +1 -1
  93. package/lib/settings/ResetUpgradeSettings.d.ts.map +1 -1
  94. package/lib/settings/ResetUpgradeSettings.js.map +1 -1
  95. package/lib/settings/ResourcesSettings.d.ts.map +1 -1
  96. package/lib/settings/ResourcesSettings.js +1 -1
  97. package/lib/settings/ResourcesSettings.js.map +1 -1
  98. package/lib/settings/ScienceSettings.d.ts.map +1 -1
  99. package/lib/settings/ScienceSettings.js.map +1 -1
  100. package/lib/settings/Settings.d.ts.map +1 -1
  101. package/lib/settings/Settings.js.map +1 -1
  102. package/lib/settings/SpaceSettings.d.ts.map +1 -1
  103. package/lib/settings/SpaceSettings.js.map +1 -1
  104. package/lib/settings/StateSettings.d.ts.map +1 -1
  105. package/lib/settings/StateSettings.js.map +1 -1
  106. package/lib/settings/TechSettings.d.ts.map +1 -1
  107. package/lib/settings/TechSettings.js.map +1 -1
  108. package/lib/settings/TimeControlSettings.d.ts.map +1 -1
  109. package/lib/settings/TimeControlSettings.js.map +1 -1
  110. package/lib/settings/TimeSettings.d.ts.map +1 -1
  111. package/lib/settings/TimeSettings.js.map +1 -1
  112. package/lib/settings/TimeSkipHeatSettings.d.ts.map +1 -1
  113. package/lib/settings/TimeSkipHeatSettings.js.map +1 -1
  114. package/lib/settings/TimeSkipSettings.d.ts.map +1 -1
  115. package/lib/settings/TimeSkipSettings.js.map +1 -1
  116. package/lib/settings/TradeSettings.d.ts.map +1 -1
  117. package/lib/settings/TradeSettings.js +2 -2
  118. package/lib/settings/TradeSettings.js.map +1 -1
  119. package/lib/settings/UpgradeSettings.d.ts.map +1 -1
  120. package/lib/settings/UpgradeSettings.js.map +1 -1
  121. package/lib/settings/VillageSettings.d.ts.map +1 -1
  122. package/lib/settings/VillageSettings.js.map +1 -1
  123. package/lib/settings/WorkshopSettings.d.ts.map +1 -1
  124. package/lib/settings/WorkshopSettings.js.map +1 -1
  125. package/lib/tools/Log.d.ts +1 -1
  126. package/lib/tools/Log.d.ts.map +1 -1
  127. package/lib/tools/Log.js +4 -1
  128. package/lib/tools/Log.js.map +1 -1
  129. package/lib/types/game.d.ts +2 -2
  130. package/lib/types/game.d.ts.map +1 -1
  131. package/lib/types/index.d.ts +1 -1
  132. package/lib/types/index.d.ts.map +1 -1
  133. package/lib/types/village.d.ts.map +1 -1
  134. package/lib/ui/BonfireSettingsUi.d.ts +4 -5
  135. package/lib/ui/BonfireSettingsUi.d.ts.map +1 -1
  136. package/lib/ui/BonfireSettingsUi.js +100 -115
  137. package/lib/ui/BonfireSettingsUi.js.map +1 -1
  138. package/lib/ui/BuildSectionTools.d.ts +2 -26
  139. package/lib/ui/BuildSectionTools.d.ts.map +1 -1
  140. package/lib/ui/BuildSectionTools.js +50 -59
  141. package/lib/ui/BuildSectionTools.js.map +1 -1
  142. package/lib/ui/BuildingUpgradeSettingsUi.d.ts +2 -4
  143. package/lib/ui/BuildingUpgradeSettingsUi.d.ts.map +1 -1
  144. package/lib/ui/BuildingUpgradeSettingsUi.js +16 -23
  145. package/lib/ui/BuildingUpgradeSettingsUi.js.map +1 -1
  146. package/lib/ui/EmbassySettingsUi.d.ts +4 -5
  147. package/lib/ui/EmbassySettingsUi.d.ts.map +1 -1
  148. package/lib/ui/EmbassySettingsUi.js +54 -67
  149. package/lib/ui/EmbassySettingsUi.js.map +1 -1
  150. package/lib/ui/EngineSettingsUi.d.ts +3 -3
  151. package/lib/ui/EngineSettingsUi.d.ts.map +1 -1
  152. package/lib/ui/EngineSettingsUi.js +11 -9
  153. package/lib/ui/EngineSettingsUi.js.map +1 -1
  154. package/lib/ui/InternalsUi.d.ts +2 -2
  155. package/lib/ui/InternalsUi.d.ts.map +1 -1
  156. package/lib/ui/InternalsUi.js +44 -54
  157. package/lib/ui/InternalsUi.js.map +1 -1
  158. package/lib/ui/LogFilterSettingsUi.d.ts +2 -4
  159. package/lib/ui/LogFilterSettingsUi.d.ts.map +1 -1
  160. package/lib/ui/LogFilterSettingsUi.js +24 -32
  161. package/lib/ui/LogFilterSettingsUi.js.map +1 -1
  162. package/lib/ui/MissionSettingsUi.d.ts +2 -4
  163. package/lib/ui/MissionSettingsUi.d.ts.map +1 -1
  164. package/lib/ui/MissionSettingsUi.js +15 -20
  165. package/lib/ui/MissionSettingsUi.js.map +1 -1
  166. package/lib/ui/PolicySettingsUi.d.ts +2 -4
  167. package/lib/ui/PolicySettingsUi.d.ts.map +1 -1
  168. package/lib/ui/PolicySettingsUi.js +15 -22
  169. package/lib/ui/PolicySettingsUi.js.map +1 -1
  170. package/lib/ui/ReligionSettingsUi.d.ts +4 -6
  171. package/lib/ui/ReligionSettingsUi.d.ts.map +1 -1
  172. package/lib/ui/ReligionSettingsUi.js +128 -152
  173. package/lib/ui/ReligionSettingsUi.js.map +1 -1
  174. package/lib/ui/ResetBonfireSettingsUi.d.ts +2 -2
  175. package/lib/ui/ResetBonfireSettingsUi.d.ts.map +1 -1
  176. package/lib/ui/ResetBonfireSettingsUi.js +33 -39
  177. package/lib/ui/ResetBonfireSettingsUi.js.map +1 -1
  178. package/lib/ui/ResetReligionSettingsUi.d.ts +2 -2
  179. package/lib/ui/ResetReligionSettingsUi.d.ts.map +1 -1
  180. package/lib/ui/ResetReligionSettingsUi.js +45 -54
  181. package/lib/ui/ResetReligionSettingsUi.js.map +1 -1
  182. package/lib/ui/ResetResourcesSettingsUi.d.ts +2 -2
  183. package/lib/ui/ResetResourcesSettingsUi.d.ts.map +1 -1
  184. package/lib/ui/ResetResourcesSettingsUi.js +27 -34
  185. package/lib/ui/ResetResourcesSettingsUi.js.map +1 -1
  186. package/lib/ui/ResetSettingsUi.d.ts +2 -4
  187. package/lib/ui/ResetSettingsUi.d.ts.map +1 -1
  188. package/lib/ui/ResetSettingsUi.js +19 -24
  189. package/lib/ui/ResetSettingsUi.js.map +1 -1
  190. package/lib/ui/ResetSpaceSettingsUi.d.ts +2 -2
  191. package/lib/ui/ResetSpaceSettingsUi.d.ts.map +1 -1
  192. package/lib/ui/ResetSpaceSettingsUi.js +33 -42
  193. package/lib/ui/ResetSpaceSettingsUi.js.map +1 -1
  194. package/lib/ui/ResetTimeSettingsUi.d.ts +2 -2
  195. package/lib/ui/ResetTimeSettingsUi.d.ts.map +1 -1
  196. package/lib/ui/ResetTimeSettingsUi.js +35 -44
  197. package/lib/ui/ResetTimeSettingsUi.js.map +1 -1
  198. package/lib/ui/ResetUpgradesSettingsUi.d.ts +2 -2
  199. package/lib/ui/ResetUpgradesSettingsUi.d.ts.map +1 -1
  200. package/lib/ui/ResetUpgradesSettingsUi.js +12 -12
  201. package/lib/ui/ResetUpgradesSettingsUi.js.map +1 -1
  202. package/lib/ui/ResourcesSettingsUi.d.ts +2 -4
  203. package/lib/ui/ResourcesSettingsUi.d.ts.map +1 -1
  204. package/lib/ui/ResourcesSettingsUi.js +18 -22
  205. package/lib/ui/ResourcesSettingsUi.js.map +1 -1
  206. package/lib/ui/ScienceSettingsUi.d.ts +2 -5
  207. package/lib/ui/ScienceSettingsUi.d.ts.map +1 -1
  208. package/lib/ui/ScienceSettingsUi.js +26 -45
  209. package/lib/ui/ScienceSettingsUi.js.map +1 -1
  210. package/lib/ui/SpaceSettingsUi.d.ts +4 -5
  211. package/lib/ui/SpaceSettingsUi.d.ts.map +1 -1
  212. package/lib/ui/SpaceSettingsUi.js +47 -58
  213. package/lib/ui/SpaceSettingsUi.js.map +1 -1
  214. package/lib/ui/StateManagementUi.d.ts +2 -3
  215. package/lib/ui/StateManagementUi.d.ts.map +1 -1
  216. package/lib/ui/StateManagementUi.js +172 -179
  217. package/lib/ui/StateManagementUi.js.map +1 -1
  218. package/lib/ui/TechSettingsUi.d.ts +4 -5
  219. package/lib/ui/TechSettingsUi.d.ts.map +1 -1
  220. package/lib/ui/TechSettingsUi.js +56 -74
  221. package/lib/ui/TechSettingsUi.js.map +1 -1
  222. package/lib/ui/TimeControlSettingsUi.d.ts +3 -4
  223. package/lib/ui/TimeControlSettingsUi.d.ts.map +1 -1
  224. package/lib/ui/TimeControlSettingsUi.js +27 -39
  225. package/lib/ui/TimeControlSettingsUi.js.map +1 -1
  226. package/lib/ui/TimeSettingsUi.d.ts +4 -5
  227. package/lib/ui/TimeSettingsUi.d.ts.map +1 -1
  228. package/lib/ui/TimeSettingsUi.js +58 -65
  229. package/lib/ui/TimeSettingsUi.js.map +1 -1
  230. package/lib/ui/TimeSkipHeatSettingsUi.d.ts +4 -5
  231. package/lib/ui/TimeSkipHeatSettingsUi.d.ts.map +1 -1
  232. package/lib/ui/TimeSkipHeatSettingsUi.js +33 -49
  233. package/lib/ui/TimeSkipHeatSettingsUi.js.map +1 -1
  234. package/lib/ui/TimeSkipSettingsUi.d.ts +2 -4
  235. package/lib/ui/TimeSkipSettingsUi.d.ts.map +1 -1
  236. package/lib/ui/TimeSkipSettingsUi.js +78 -106
  237. package/lib/ui/TimeSkipSettingsUi.js.map +1 -1
  238. package/lib/ui/TradeSettingsUi.d.ts +4 -5
  239. package/lib/ui/TradeSettingsUi.d.ts.map +1 -1
  240. package/lib/ui/TradeSettingsUi.js +113 -128
  241. package/lib/ui/TradeSettingsUi.js.map +1 -1
  242. package/lib/ui/UpgradeSettingsUi.d.ts +4 -5
  243. package/lib/ui/UpgradeSettingsUi.d.ts.map +1 -1
  244. package/lib/ui/UpgradeSettingsUi.js +55 -71
  245. package/lib/ui/UpgradeSettingsUi.js.map +1 -1
  246. package/lib/ui/UserInterface.d.ts +4 -2
  247. package/lib/ui/UserInterface.d.ts.map +1 -1
  248. package/lib/ui/UserInterface.js +38 -21
  249. package/lib/ui/UserInterface.js.map +1 -1
  250. package/lib/ui/VillageSettingsUi.d.ts +2 -4
  251. package/lib/ui/VillageSettingsUi.d.ts.map +1 -1
  252. package/lib/ui/VillageSettingsUi.js +94 -112
  253. package/lib/ui/VillageSettingsUi.js.map +1 -1
  254. package/lib/ui/WorkshopSettingsUi.d.ts +4 -5
  255. package/lib/ui/WorkshopSettingsUi.d.ts.map +1 -1
  256. package/lib/ui/WorkshopSettingsUi.js +89 -110
  257. package/lib/ui/WorkshopSettingsUi.js.map +1 -1
  258. package/lib/ui/components/Button.d.ts +9 -9
  259. package/lib/ui/components/Button.d.ts.map +1 -1
  260. package/lib/ui/components/Button.js +31 -26
  261. package/lib/ui/components/Button.js.map +1 -1
  262. package/lib/ui/components/ButtonListItem.d.ts +4 -4
  263. package/lib/ui/components/ButtonListItem.d.ts.map +1 -1
  264. package/lib/ui/components/ButtonListItem.js +2 -7
  265. package/lib/ui/components/ButtonListItem.js.map +1 -1
  266. package/lib/ui/components/CollapsiblePanel.d.ts +15 -12
  267. package/lib/ui/components/CollapsiblePanel.d.ts.map +1 -1
  268. package/lib/ui/components/CollapsiblePanel.js +42 -26
  269. package/lib/ui/components/CollapsiblePanel.js.map +1 -1
  270. package/lib/ui/components/Container.d.ts +6 -2
  271. package/lib/ui/components/Container.d.ts.map +1 -1
  272. package/lib/ui/components/Container.js +5 -3
  273. package/lib/ui/components/Container.js.map +1 -1
  274. package/lib/ui/components/CyclesList.d.ts +7 -8
  275. package/lib/ui/components/CyclesList.d.ts.map +1 -1
  276. package/lib/ui/components/CyclesList.js +34 -27
  277. package/lib/ui/components/CyclesList.js.map +1 -1
  278. package/lib/ui/components/Delimiter.d.ts +2 -2
  279. package/lib/ui/components/Delimiter.d.ts.map +1 -1
  280. package/lib/ui/components/Delimiter.js +5 -2
  281. package/lib/ui/components/Delimiter.js.map +1 -1
  282. package/lib/ui/components/Dialog.d.ts +13 -6
  283. package/lib/ui/components/Dialog.d.ts.map +1 -1
  284. package/lib/ui/components/Dialog.js +65 -40
  285. package/lib/ui/components/Dialog.js.map +1 -1
  286. package/lib/ui/components/ExplainerListItem.d.ts +4 -2
  287. package/lib/ui/components/ExplainerListItem.d.ts.map +1 -1
  288. package/lib/ui/components/ExplainerListItem.js +6 -4
  289. package/lib/ui/components/ExplainerListItem.js.map +1 -1
  290. package/lib/ui/components/Fieldset.d.ts +5 -4
  291. package/lib/ui/components/Fieldset.d.ts.map +1 -1
  292. package/lib/ui/components/Fieldset.js +5 -3
  293. package/lib/ui/components/Fieldset.js.map +1 -1
  294. package/lib/ui/components/HeaderListItem.d.ts +5 -3
  295. package/lib/ui/components/HeaderListItem.d.ts.map +1 -1
  296. package/lib/ui/components/HeaderListItem.js +5 -3
  297. package/lib/ui/components/HeaderListItem.js.map +1 -1
  298. package/lib/ui/components/IconButton.d.ts +8 -7
  299. package/lib/ui/components/IconButton.d.ts.map +1 -1
  300. package/lib/ui/components/IconButton.js +23 -19
  301. package/lib/ui/components/IconButton.js.map +1 -1
  302. package/lib/ui/components/IconSettingsPanel.d.ts +5 -4
  303. package/lib/ui/components/IconSettingsPanel.d.ts.map +1 -1
  304. package/lib/ui/components/IconSettingsPanel.js +4 -2
  305. package/lib/ui/components/IconSettingsPanel.js.map +1 -1
  306. package/lib/ui/components/Input.d.ts +5 -3
  307. package/lib/ui/components/Input.d.ts.map +1 -1
  308. package/lib/ui/components/Input.js +5 -3
  309. package/lib/ui/components/Input.js.map +1 -1
  310. package/lib/ui/components/LabelListItem.d.ts +10 -7
  311. package/lib/ui/components/LabelListItem.d.ts.map +1 -1
  312. package/lib/ui/components/LabelListItem.js +21 -10
  313. package/lib/ui/components/LabelListItem.js.map +1 -1
  314. package/lib/ui/components/ListItem.d.ts +8 -6
  315. package/lib/ui/components/ListItem.d.ts.map +1 -1
  316. package/lib/ui/components/ListItem.js +5 -3
  317. package/lib/ui/components/ListItem.js.map +1 -1
  318. package/lib/ui/components/OptionsListItem.d.ts +6 -6
  319. package/lib/ui/components/OptionsListItem.d.ts.map +1 -1
  320. package/lib/ui/components/OptionsListItem.js +17 -12
  321. package/lib/ui/components/OptionsListItem.js.map +1 -1
  322. package/lib/ui/components/Paragraph.d.ts +6 -2
  323. package/lib/ui/components/Paragraph.d.ts.map +1 -1
  324. package/lib/ui/components/Paragraph.js +5 -3
  325. package/lib/ui/components/Paragraph.js.map +1 -1
  326. package/lib/ui/components/RadioItem.d.ts +9 -8
  327. package/lib/ui/components/RadioItem.d.ts.map +1 -1
  328. package/lib/ui/components/RadioItem.js +13 -9
  329. package/lib/ui/components/RadioItem.js.map +1 -1
  330. package/lib/ui/components/SeasonsList.d.ts +7 -6
  331. package/lib/ui/components/SeasonsList.d.ts.map +1 -1
  332. package/lib/ui/components/SeasonsList.js +20 -13
  333. package/lib/ui/components/SeasonsList.js.map +1 -1
  334. package/lib/ui/components/SettingLimitedListItem.d.ts +8 -8
  335. package/lib/ui/components/SettingLimitedListItem.d.ts.map +1 -1
  336. package/lib/ui/components/SettingLimitedListItem.js +8 -9
  337. package/lib/ui/components/SettingLimitedListItem.js.map +1 -1
  338. package/lib/ui/components/SettingLimitedTriggerListItem.d.ts +8 -7
  339. package/lib/ui/components/SettingLimitedTriggerListItem.d.ts.map +1 -1
  340. package/lib/ui/components/SettingLimitedTriggerListItem.js +13 -12
  341. package/lib/ui/components/SettingLimitedTriggerListItem.js.map +1 -1
  342. package/lib/ui/components/SettingListItem.d.ts +11 -12
  343. package/lib/ui/components/SettingListItem.d.ts.map +1 -1
  344. package/lib/ui/components/SettingListItem.js +38 -38
  345. package/lib/ui/components/SettingListItem.js.map +1 -1
  346. package/lib/ui/components/SettingMaxListItem.d.ts +8 -8
  347. package/lib/ui/components/SettingMaxListItem.d.ts.map +1 -1
  348. package/lib/ui/components/SettingMaxListItem.js +13 -11
  349. package/lib/ui/components/SettingMaxListItem.js.map +1 -1
  350. package/lib/ui/components/SettingMaxTriggerListItem.d.ts +11 -8
  351. package/lib/ui/components/SettingMaxTriggerListItem.d.ts.map +1 -1
  352. package/lib/ui/components/SettingMaxTriggerListItem.js +21 -16
  353. package/lib/ui/components/SettingMaxTriggerListItem.js.map +1 -1
  354. package/lib/ui/components/SettingTriggerListItem.d.ts +9 -8
  355. package/lib/ui/components/SettingTriggerListItem.d.ts.map +1 -1
  356. package/lib/ui/components/SettingTriggerListItem.js +16 -13
  357. package/lib/ui/components/SettingTriggerListItem.js.map +1 -1
  358. package/lib/ui/components/SettingsList.d.ts +12 -11
  359. package/lib/ui/components/SettingsList.d.ts.map +1 -1
  360. package/lib/ui/components/SettingsList.js +14 -16
  361. package/lib/ui/components/SettingsList.js.map +1 -1
  362. package/lib/ui/components/SettingsPanel.d.ts +9 -8
  363. package/lib/ui/components/SettingsPanel.d.ts.map +1 -1
  364. package/lib/ui/components/SettingsPanel.js +10 -10
  365. package/lib/ui/components/SettingsPanel.js.map +1 -1
  366. package/lib/ui/components/TextButton.d.ts +7 -7
  367. package/lib/ui/components/TextButton.d.ts.map +1 -1
  368. package/lib/ui/components/TextButton.js +17 -13
  369. package/lib/ui/components/TextButton.js.map +1 -1
  370. package/lib/ui/components/ToolbarListItem.d.ts +6 -5
  371. package/lib/ui/components/ToolbarListItem.d.ts.map +1 -1
  372. package/lib/ui/components/ToolbarListItem.js +7 -12
  373. package/lib/ui/components/ToolbarListItem.js.map +1 -1
  374. package/lib/ui/components/UiComponent.d.ts +31 -19
  375. package/lib/ui/components/UiComponent.d.ts.map +1 -1
  376. package/lib/ui/components/UiComponent.js +84 -19
  377. package/lib/ui/components/UiComponent.js.map +1 -1
  378. package/lib/ui/components/WorkshopCraftListItem.d.ts +10 -9
  379. package/lib/ui/components/WorkshopCraftListItem.d.ts.map +1 -1
  380. package/lib/ui/components/WorkshopCraftListItem.js +20 -21
  381. package/lib/ui/components/WorkshopCraftListItem.js.map +1 -1
  382. package/lib/ui/components/buttons/ConsumeButton.d.ts +5 -3
  383. package/lib/ui/components/buttons/ConsumeButton.d.ts.map +1 -1
  384. package/lib/ui/components/buttons/ConsumeButton.js +23 -30
  385. package/lib/ui/components/buttons/ConsumeButton.js.map +1 -1
  386. package/lib/ui/components/buttons/ExpandoButton.d.ts +6 -3
  387. package/lib/ui/components/buttons/ExpandoButton.d.ts.map +1 -1
  388. package/lib/ui/components/buttons/ExpandoButton.js +20 -17
  389. package/lib/ui/components/buttons/ExpandoButton.js.map +1 -1
  390. package/lib/ui/components/buttons/LimitedButton.d.ts +8 -8
  391. package/lib/ui/components/buttons/LimitedButton.d.ts.map +1 -1
  392. package/lib/ui/components/buttons/LimitedButton.js +27 -21
  393. package/lib/ui/components/buttons/LimitedButton.js.map +1 -1
  394. package/lib/ui/components/buttons/MaxButton.d.ts +5 -5
  395. package/lib/ui/components/buttons/MaxButton.d.ts.map +1 -1
  396. package/lib/ui/components/buttons/MaxButton.js +5 -7
  397. package/lib/ui/components/buttons/MaxButton.js.map +1 -1
  398. package/lib/ui/components/buttons/PaddingButton.d.ts +4 -2
  399. package/lib/ui/components/buttons/PaddingButton.d.ts.map +1 -1
  400. package/lib/ui/components/buttons/PaddingButton.js +5 -3
  401. package/lib/ui/components/buttons/PaddingButton.js.map +1 -1
  402. package/lib/ui/components/buttons/StockButton.d.ts +5 -3
  403. package/lib/ui/components/buttons/StockButton.d.ts.map +1 -1
  404. package/lib/ui/components/buttons/StockButton.js +32 -40
  405. package/lib/ui/components/buttons/StockButton.js.map +1 -1
  406. package/lib/ui/components/buttons/TriggerButton.d.ts +6 -6
  407. package/lib/ui/components/buttons/TriggerButton.d.ts.map +1 -1
  408. package/lib/ui/components/buttons/TriggerButton.js +16 -20
  409. package/lib/ui/components/buttons/TriggerButton.js.map +1 -1
  410. package/lib/ui/components/buttons-text/BuyButton.d.ts +6 -6
  411. package/lib/ui/components/buttons-text/BuyButton.d.ts.map +1 -1
  412. package/lib/ui/components/buttons-text/BuyButton.js +23 -28
  413. package/lib/ui/components/buttons-text/BuyButton.js.map +1 -1
  414. package/lib/ui/components/buttons-text/SellButton.d.ts +6 -6
  415. package/lib/ui/components/buttons-text/SellButton.d.ts.map +1 -1
  416. package/lib/ui/components/buttons-text/SellButton.js +23 -30
  417. package/lib/ui/components/buttons-text/SellButton.js.map +1 -1
  418. package/output/kitten-scientists.inject.js +7562 -7675
  419. package/package.json +7 -5
@@ -24,8 +24,8 @@ export class SettingsList extends UiComponent {
24
24
  * @param host A reference to the host.
25
25
  * @param options Which tools should be available on the list?
26
26
  */
27
- constructor(host, options = {}) {
28
- super(host, { ...options, children: [] });
27
+ constructor(parent, options) {
28
+ super(parent, { ...options });
29
29
  const toolOptions = {
30
30
  hasDisableAll: true,
31
31
  hasEnableAll: true,
@@ -38,8 +38,7 @@ export class SettingsList extends UiComponent {
38
38
  if (hasTools) {
39
39
  const tools = $("<div/>").addClass(styles.listTools);
40
40
  if (toolOptions.hasEnableAll) {
41
- const onEnableAll = options.onEnableAll;
42
- this.enableAllButton = new IconButton(this._host, Icons.CheckboxCheck, host.engine.i18n("ui.enable.all"), {
41
+ this.enableAllButton = new IconButton(parent, Icons.CheckboxCheck, parent.host.engine.i18n("ui.enable.all"), {
43
42
  onClick: () => {
44
43
  const event = new Event("enableAll", { cancelable: true });
45
44
  this.dispatchEvent(event);
@@ -51,17 +50,14 @@ export class SettingsList extends UiComponent {
51
50
  child.check(true);
52
51
  }
53
52
  }
54
- if (!isNil(onEnableAll)) {
55
- onEnableAll();
56
- }
57
- this.refreshUi();
53
+ options?.onEnableAll?.call(this);
54
+ this.requestRefresh();
58
55
  },
59
56
  });
60
57
  tools.append(this.enableAllButton.element);
61
58
  }
62
59
  if (toolOptions.hasDisableAll) {
63
- const onDisableAll = options.onDisableAll;
64
- this.disableAllButton = new IconButton(this._host, Icons.CheckboxUnCheck, host.engine.i18n("ui.disable.all"));
60
+ this.disableAllButton = new IconButton(parent, Icons.CheckboxUnCheck, parent.host.engine.i18n("ui.disable.all"));
65
61
  this.disableAllButton.element.on("click", () => {
66
62
  const event = new Event("disableAll", { cancelable: true });
67
63
  this.dispatchEvent(event);
@@ -73,16 +69,14 @@ export class SettingsList extends UiComponent {
73
69
  child.uncheck();
74
70
  }
75
71
  }
76
- if (!isNil(onDisableAll)) {
77
- onDisableAll();
78
- }
79
- this.refreshUi();
72
+ options?.onDisableAll?.call(this);
73
+ this.requestRefresh();
80
74
  });
81
75
  tools.append(this.disableAllButton.element);
82
76
  }
83
77
  const onReset = toolOptions.onReset;
84
78
  if (!isNil(onReset)) {
85
- this.resetButton = new IconButton(this._host, Icons.Reset, host.engine.i18n("ui.reset"), {
79
+ this.resetButton = new IconButton(parent, Icons.Reset, parent.host.engine.i18n("ui.reset"), {
86
80
  onClick: () => {
87
81
  onReset();
88
82
  },
@@ -92,11 +86,15 @@ export class SettingsList extends UiComponent {
92
86
  container.append(tools);
93
87
  }
94
88
  this.element = container;
95
- this.addChildren(options.children);
89
+ }
90
+ toString() {
91
+ return `[${SettingsList.name}#${this.componentId}]`;
96
92
  }
97
93
  addChild(child) {
94
+ child.parent = this;
98
95
  this.children.add(child);
99
96
  this.list.append(child.element);
97
+ return this;
100
98
  }
101
99
  }
102
100
  //# sourceMappingURL=SettingsList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsList.js","sourceRoot":"","sources":["../../../source/ui/components/SettingsList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsList.js","sourceRoot":"","sources":["../../../source/ui/components/SettingsList.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import type { Setting } from "../../settings/Settings.js";
3
- import { CollapsiblePanel, type PanelOptions } from "./CollapsiblePanel.js";
2
+ import { CollapsiblePanel, type CollapsiblePanelOptions } from "./CollapsiblePanel.js";
4
3
  import type { LabelListItem } from "./LabelListItem.js";
5
4
  import type { SettingListItem } from "./SettingListItem.js";
6
- export type SettingsPanelOptions<TListItem extends LabelListItem = LabelListItem> = PanelOptions & {
7
- readonly settingItem: TListItem;
5
+ import type { UiComponent } from "./UiComponent.js";
6
+ export type SettingsPanelOptions<TListItem extends LabelListItem = LabelListItem> = ThisType<SettingsPanel> & CollapsiblePanelOptions & {
7
+ readonly settingItem?: TListItem;
8
8
  };
9
9
  export declare class SettingsPanel<TSetting extends Setting = Setting, TListItem extends LabelListItem = LabelListItem> extends CollapsiblePanel implements SettingListItem {
10
+ readonly options: SettingsPanelOptions<TListItem>;
10
11
  readonly setting: TSetting;
11
12
  readonly settingItem: TListItem;
12
13
  get isExpanded(): boolean;
13
14
  get elementLabel(): JQuery<HTMLElement>;
14
- get head(): LabelListItem<import("./LabelListItem.js").LabelListItemOptions<import("./UiComponent.js").UiComponent<import("./UiComponent.js").UiComponentOptions<import("./UiComponent.js").UiComponentInterface>>>>;
15
15
  get readOnly(): boolean;
16
16
  set readOnly(_value: boolean);
17
- check(): void;
18
- uncheck(): void;
17
+ check(): Promise<void>;
18
+ uncheck(): Promise<void>;
19
19
  /**
20
20
  * Constructs a settings panel that is used to contain a major section of the UI.
21
21
  *
@@ -24,6 +24,7 @@ export declare class SettingsPanel<TSetting extends Setting = Setting, TListItem
24
24
  * @param setting - An setting for which this is the settings panel.
25
25
  * @param options - Options for this panel.
26
26
  */
27
- constructor(host: KittenScientists, setting: TSetting, settingItem: TListItem, options?: Partial<SettingsPanelOptions<TListItem>>);
27
+ constructor(parent: UiComponent, setting: TSetting, settingItem: TListItem, options?: SettingsPanelOptions<TListItem>);
28
+ toString(): string;
28
29
  }
29
30
  //# sourceMappingURL=SettingsPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPanel.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,aAAa,GAAG,aAAa,IAAI,YAAY,GAAG;IACjG,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,qBAAa,aAAa,CACtB,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,SAAS,SAAS,aAAa,GAAG,aAAa,CAEjD,SAAQ,gBACR,YAAW,eAAe;IAE1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAEhC,IAAI,UAAU,YAEb;IAGD,IAAI,YAAY,wBAEf;IACD,IAAI,IAAI,6MAEP;IAED,IAAI,QAAQ,IAGS,OAAO,CAD3B;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAE3B;IAED,KAAK;IAKL,OAAO;IAKP;;;;;;;OAOG;gBAED,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAOrD"}
1
+ {"version":3,"file":"SettingsPanel.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,aAAa,GAAG,aAAa,IAC9E,QAAQ,CAAC,aAAa,CAAC,GACrB,uBAAuB,GAAG;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;CAClC,CAAC;AAEN,qBAAa,aAAa,CACtB,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,SAAS,SAAS,aAAa,GAAG,aAAa,CAEjD,SAAQ,gBACR,YAAW,eAAe;IAE1B,SAAiB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAEhC,IAAI,UAAU,YAEb;IAGD,IAAI,YAAY,wBAEf;IAED,IAAI,QAAQ,IAGS,OAAO,CAD3B;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAE3B;IAEK,KAAK;IAKL,OAAO;IAKb;;;;;;;OAOG;gBAED,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAQ3C,QAAQ,IAAI,MAAM;CAGnB"}
@@ -7,10 +7,7 @@ export class SettingsPanel extends CollapsiblePanel {
7
7
  }
8
8
  // SettingListItem interface
9
9
  get elementLabel() {
10
- return this._head.element;
11
- }
12
- get head() {
13
- return this._head;
10
+ return this.head.element;
14
11
  }
15
12
  get readOnly() {
16
13
  return true;
@@ -18,13 +15,13 @@ export class SettingsPanel extends CollapsiblePanel {
18
15
  set readOnly(_value) {
19
16
  /* noop */
20
17
  }
21
- check() {
18
+ async check() {
22
19
  this.setting.enabled = true;
23
- this.refreshUi();
20
+ this.requestRefresh();
24
21
  }
25
- uncheck() {
22
+ async uncheck() {
26
23
  this.setting.enabled = false;
27
- this.refreshUi();
24
+ this.requestRefresh();
28
25
  }
29
26
  /**
30
27
  * Constructs a settings panel that is used to contain a major section of the UI.
@@ -34,10 +31,13 @@ export class SettingsPanel extends CollapsiblePanel {
34
31
  * @param setting - An setting for which this is the settings panel.
35
32
  * @param options - Options for this panel.
36
33
  */
37
- constructor(host, setting, settingItem, options) {
38
- super(host, settingItem, options);
34
+ constructor(parent, setting, settingItem, options) {
35
+ super(parent, settingItem, options);
39
36
  this.settingItem = settingItem;
40
37
  this.setting = setting;
41
38
  }
39
+ toString() {
40
+ return `[${SettingsPanel.name}#${this.componentId}]: '${this.settingItem.elementLabel.text()}'`;
41
+ }
42
42
  }
43
43
  //# sourceMappingURL=SettingsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../source/ui/components/SettingsPanel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AAQ5E,MAAM,OAAO,aAIX,SAAQ,gBAAgB;IAGf,OAAO,CAAW;IAClB,WAAW,CAAY;IAEhC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,4BAA4B;IAC5B,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,MAAe;QAC1B,UAAU;IACZ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,YACE,IAAsB,EACtB,OAAiB,EACjB,WAAsB,EACtB,OAAkD;QAElD,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../source/ui/components/SettingsPanel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAWvF,MAAM,OAAO,aAIX,SAAQ,gBAAgB;IAIf,OAAO,CAAW;IAClB,WAAW,CAAY;IAEhC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,4BAA4B;IAC5B,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,MAAe;QAC1B,UAAU;IACZ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,YACE,MAAmB,EACnB,OAAiB,EACjB,WAAsB,EACtB,OAAyC;QAEzC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;IAClG,CAAC;CACF"}
@@ -1,14 +1,14 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import { UiComponent, type UiComponentOptions } from "./UiComponent.js";
3
- export type TextButtonOptions = UiComponentOptions & {
4
- readonly title: string;
5
- readonly onClick: () => void;
2
+ export type TextButtonOptions = ThisType<TextButton> & UiComponentOptions & {
3
+ readonly title?: string;
4
+ readonly onClick?: (event?: MouseEvent) => void | Promise<void>;
6
5
  };
7
6
  export declare class TextButton extends UiComponent {
7
+ readonly options: TextButtonOptions;
8
8
  readonly element: JQuery;
9
9
  readOnly: boolean;
10
- constructor(host: KittenScientists, label?: string, options?: Partial<TextButtonOptions>);
11
- click(): void;
12
- refreshUi(): void;
10
+ constructor(parent: UiComponent, label?: string, options?: TextButtonOptions);
11
+ toString(): string;
12
+ click(): void | Promise<void>;
13
13
  }
14
14
  //# sourceMappingURL=TextButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextButton.d.ts","sourceRoot":"","sources":["../../../source/ui/components/TextButton.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;gBAEN,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAsB/E,KAAK;IAQL,SAAS,IAAI,IAAI;CAS3B"}
1
+ {"version":3,"file":"TextButton.d.ts","sourceRoot":"","sources":["../../../source/ui/components/TextButton.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAClD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE,CAAC;AAEJ,qBAAa,UAAW,SAAQ,WAAW;IACzC,SAAiB,OAAO,EAAE,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;gBAEN,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IA8B5E,QAAQ,IAAI,MAAM;IAIlB,KAAK;CASN"}
@@ -5,8 +5,18 @@ import { UiComponent } from "./UiComponent.js";
5
5
  export class TextButton extends UiComponent {
6
6
  element;
7
7
  readOnly;
8
- constructor(host, label, options) {
9
- super(host, options);
8
+ constructor(parent, label, options) {
9
+ super(parent, {
10
+ ...options,
11
+ onRefresh: () => {
12
+ if (this.readOnly) {
13
+ this.element.addClass(stylesButton.readonly);
14
+ }
15
+ else {
16
+ this.element.removeClass(stylesButton.readonly);
17
+ }
18
+ },
19
+ });
10
20
  const element = $("<div/>").addClass(styles.textButton);
11
21
  if (label !== undefined) {
12
22
  element.text(label);
@@ -16,26 +26,20 @@ export class TextButton extends UiComponent {
16
26
  element.prop("title", title);
17
27
  }
18
28
  this.element = element;
19
- this.addChildren(options?.children);
20
29
  this.readOnly = false;
21
30
  this.element.on("click", () => {
22
31
  this.click();
23
32
  });
24
33
  }
34
+ toString() {
35
+ return `[${TextButton.name}#${this.componentId}]`;
36
+ }
25
37
  click() {
26
38
  if (this.readOnly) {
27
39
  return;
28
40
  }
29
- super.click();
30
- }
31
- refreshUi() {
32
- super.refreshUi();
33
- if (this.readOnly) {
34
- this.element.addClass(stylesButton.readonly);
35
- }
36
- else {
37
- this.element.removeClass(stylesButton.readonly);
38
- }
41
+ this.requestRefresh();
42
+ return this.options?.onClick?.call(this);
39
43
  }
40
44
  }
41
45
  //# sourceMappingURL=TextButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextButton.js","sourceRoot":"","sources":["../../../source/ui/components/TextButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAE7D,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAOxE,MAAM,OAAO,UAAW,SAAQ,WAAW;IAChC,OAAO,CAAS;IACzB,QAAQ,CAAU;IAElB,YAAY,IAAsB,EAAE,KAAc,EAAE,OAAoC;QACtF,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAEQ,SAAS;QAChB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"TextButton.js","sourceRoot":"","sources":["../../../source/ui/components/TextButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC7D,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAQxE,MAAM,OAAO,UAAW,SAAQ,WAAW;IAEhC,OAAO,CAAS;IACzB,QAAQ,CAAU;IAElB,YAAY,MAAmB,EAAE,KAAc,EAAE,OAA2B;QAC1E,KAAK,CAAC,MAAM,EAAE;YACZ,GAAG,OAAO;YACV,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;IACpD,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -1,11 +1,12 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import type { Button } from "./Button.js";
3
2
  import type { IconButton } from "./IconButton.js";
4
3
  import { ListItem, type ListItemOptions } from "./ListItem.js";
5
4
  import type { UiComponent } from "./UiComponent.js";
6
- export declare class ToolbarListItem<TOptions extends ListItemOptions<UiComponent> = ListItemOptions<UiComponent>> extends ListItem {
7
- readonly buttons: Array<Button | IconButton>;
8
- constructor(host: KittenScientists, buttons: Array<Button | IconButton>, options?: Partial<TOptions>);
9
- refreshUi(): void;
5
+ export type ToolbarListItemOptions = ThisType<ToolbarListItem> & ListItemOptions;
6
+ export declare class ToolbarListItem extends ListItem {
7
+ readonly options: ToolbarListItemOptions;
8
+ constructor(parent: UiComponent, options?: ToolbarListItemOptions);
9
+ toString(): string;
10
+ addChild(child: Button | IconButton): this;
10
11
  }
11
12
  //# sourceMappingURL=ToolbarListItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/ToolbarListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,eAAe,CAC1B,QAAQ,SAAS,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAC5E,SAAQ,QAAQ;IAChB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;gBAG3C,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,EACnC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAW7B,SAAS,IAAI,IAAI;CAOlB"}
1
+ {"version":3,"file":"ToolbarListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/ToolbarListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AAEjF,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,SAAiB,OAAO,EAAE,sBAAsB,CAAC;gBAErC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAMjE,QAAQ,IAAI,MAAM;IAIT,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;CAGpD"}
@@ -1,20 +1,15 @@
1
1
  import { ListItem } from "./ListItem.js";
2
2
  import styles from "./ToolbarListItem.module.css";
3
3
  export class ToolbarListItem extends ListItem {
4
- buttons;
5
- constructor(host, buttons, options) {
6
- super(host, options);
4
+ constructor(parent, options) {
5
+ super(parent, options);
7
6
  this.element.addClass(styles.toolbar);
8
- this.buttons = buttons;
9
- for (const button of buttons) {
10
- this.element.append(button.element);
11
- }
12
7
  }
13
- refreshUi() {
14
- super.refreshUi();
15
- for (const button of this.buttons) {
16
- button.refreshUi();
17
- }
8
+ toString() {
9
+ return `[${ToolbarListItem.name}#${this.componentId}]`;
10
+ }
11
+ addChild(child) {
12
+ return super.addChild(child);
18
13
  }
19
14
  }
20
15
  //# sourceMappingURL=ToolbarListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarListItem.js","sourceRoot":"","sources":["../../../source/ui/components/ToolbarListItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAC/D,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAGlD,MAAM,OAAO,eAEX,SAAQ,QAAQ;IACP,OAAO,CAA6B;IAE7C,YACE,IAAsB,EACtB,OAAmC,EACnC,OAA2B;QAE3B,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,SAAS;QACP,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ToolbarListItem.js","sourceRoot":"","sources":["../../../source/ui/components/ToolbarListItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAC/D,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAKlD,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAG3C,YAAY,MAAmB,EAAE,OAAgC;QAC/D,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;IACzD,CAAC;IAEQ,QAAQ,CAAC,KAA0B;QAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -1,27 +1,35 @@
1
1
  import type { KittenScientists } from "../../KittenScientists.js";
2
2
  export type UiComponentInterface = EventTarget & {
3
+ readonly children: Iterable<UiComponentInterface>;
4
+ parent: UiComponentInterface | null;
3
5
  get element(): JQuery;
4
- refreshUi(): void;
6
+ requestRefresh(withChildren?: boolean, depth?: number): void;
7
+ refresh(force?: boolean, depth?: number): void;
5
8
  };
6
- export type UiComponentOptions<TChild extends UiComponentInterface = UiComponentInterface> = {
7
- readonly children: Array<TChild>;
8
- readonly classes: Array<string>;
9
- readonly onClick: (subject: UiComponent) => void;
10
- readonly onRefresh: (subject: UiComponent) => void;
9
+ export type UiComponentOptions = {
10
+ length?: never;
11
+ readonly onRefresh?: () => void;
11
12
  };
12
- export declare abstract class UiComponent<TOptions extends UiComponentOptions = UiComponentOptions> extends EventTarget implements UiComponentInterface {
13
+ export declare abstract class UiComponent extends EventTarget implements UiComponentInterface {
14
+ private static nextComponentId;
15
+ readonly componentId: number;
13
16
  /**
14
17
  * A reference to the host itself.
15
18
  */
16
- protected readonly _host: KittenScientists;
17
- protected readonly _options: Partial<TOptions>;
19
+ readonly host: KittenScientists;
20
+ parent: UiComponent | null;
21
+ readonly options: UiComponentOptions | undefined;
18
22
  /**
19
23
  * The main DOM element for this component, in a JQuery wrapper.
20
24
  */
21
25
  abstract readonly element: JQuery;
22
- readonly children: Set<TOptions["children"][0]>;
23
- protected readonly _onClick: TOptions["onClick"] | undefined;
24
- protected readonly _onRefresh: TOptions["onRefresh"] | undefined;
26
+ /**
27
+ * NOTE: It is intentional that all children are of the most fundamental base type.
28
+ * If a more specifically typed reference for a child is required, it should be stored
29
+ * on construction.
30
+ * The 'children' set is intended only for inter-component orchestration.
31
+ */
32
+ readonly children: Set<UiComponentInterface>;
25
33
  /**
26
34
  * Constructs the base `UiComponent`.
27
35
  * Subclasses MUST add children from options when `this.element` is constructed.
@@ -29,12 +37,16 @@ export declare abstract class UiComponent<TOptions extends UiComponentOptions =
29
37
  * @param host A reference to the host.
30
38
  * @param options The options for this component.
31
39
  */
32
- constructor(host: KittenScientists, options?: Partial<TOptions>);
33
- click(): void;
34
- refreshUi(): void;
35
- addChild(child: TOptions["children"][0]): void;
36
- addChildren(children?: Iterable<TOptions["children"][0]>): void;
37
- removeChild(child: TOptions["children"][0]): void;
38
- removeChildren(children: Iterable<TOptions["children"][0]>): void;
40
+ constructor(parent: UiComponent | {
41
+ host: KittenScientists;
42
+ }, options?: UiComponentOptions);
43
+ abstract toString(): string;
44
+ protected _needsRefresh: boolean;
45
+ requestRefresh(withChildren?: boolean, depth?: number): void;
46
+ refresh(force?: boolean, depth?: number): void;
47
+ addChild(child: UiComponentInterface): this;
48
+ addChildren(children?: Iterable<UiComponentInterface>): this;
49
+ removeChild(child: UiComponentInterface): void;
50
+ removeChildren(children: Iterable<UiComponentInterface>): void;
39
51
  }
40
52
  //# sourceMappingURL=UiComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponent.d.ts","sourceRoot":"","sources":["../../../source/ui/components/UiComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAC/C,IAAI,OAAO,IAAI,MAAM,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,IAAI;IAC3F,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,8BAAsB,WAAW,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CACxF,SAAQ,WACR,YAAW,oBAAoB;IAE/B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,QAAQ,+BAAsC;IAEvD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAEjE;;;;;;OAMG;gBACS,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAQ/D,KAAK;IAIL,SAAS;IAWT,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAIvC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAMxD,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAQ1C,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CAK3D"}
1
+ {"version":3,"file":"UiComponent.d.ts","sourceRoot":"","sources":["../../../source/ui/components/UiComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAC/C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClD,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpC,IAAI,OAAO,IAAI,MAAM,CAAC;IACtB,cAAc,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF,8BAAsB,WAAY,SAAQ,WAAY,YAAW,oBAAoB;IACnF,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAE3B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEjD;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,4BAAmC;IAEpD;;;;;;OAMG;gBACS,MAAM,EAAE,WAAW,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAU1F,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,SAAS,CAAC,aAAa,UAAC;IACxB,cAAc,CAAC,YAAY,UAAQ,EAAE,KAAK,SAAI;IAsC9C,OAAO,CAAC,KAAK,UAAQ,EAAE,KAAK,SAAI;IAyChC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAM3C,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAO5D,WAAW,CAAC,KAAK,EAAE,oBAAoB;IAQvC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC;CAKxD"}
@@ -1,13 +1,20 @@
1
1
  import { cl } from "../../tools/Log.js";
2
2
  export class UiComponent extends EventTarget {
3
+ static nextComponentId = 0;
4
+ componentId;
3
5
  /**
4
6
  * A reference to the host itself.
5
7
  */
6
- _host;
7
- _options;
8
+ host;
9
+ parent;
10
+ options;
11
+ /**
12
+ * NOTE: It is intentional that all children are of the most fundamental base type.
13
+ * If a more specifically typed reference for a child is required, it should be stored
14
+ * on construction.
15
+ * The 'children' set is intended only for inter-component orchestration.
16
+ */
8
17
  children = new Set();
9
- _onClick;
10
- _onRefresh;
11
18
  /**
12
19
  * Constructs the base `UiComponent`.
13
20
  * Subclasses MUST add children from options when `this.element` is constructed.
@@ -15,35 +22,93 @@ export class UiComponent extends EventTarget {
15
22
  * @param host A reference to the host.
16
23
  * @param options The options for this component.
17
24
  */
18
- constructor(host, options) {
25
+ constructor(parent, options) {
19
26
  super();
20
- this._host = host;
21
- this._options = options ?? {};
22
- this._onClick = options?.onClick;
23
- this._onRefresh = options?.onRefresh;
27
+ this.componentId = UiComponent.nextComponentId++;
28
+ this.host = parent.host;
29
+ this.options = options;
30
+ this.parent = parent instanceof UiComponent ? parent : null;
31
+ this._needsRefresh = false;
24
32
  }
25
- click() {
26
- this._onClick?.(this);
27
- }
28
- refreshUi() {
29
- this._onRefresh?.(this);
30
- for (const child of this.children) {
31
- try {
32
- child.refreshUi();
33
+ _needsRefresh;
34
+ requestRefresh(withChildren = false, depth = 0) {
35
+ if (depth === 0) {
36
+ console.info(...cl(this.toString(), "requestRefresh() received."));
37
+ }
38
+ // WARNING: Enable this section only during refresh logic debugging!
39
+ // When this was implemented, a full refresh logged 16K messages.
40
+ // Even when these are filtered from the JS console, there are
41
+ // noticeable performance issues. DO NOT ENABLE THIS UNLESS YOU NEED TO.
42
+ /*
43
+ console.debug(
44
+ ...cl(
45
+ depth < 0 ? "⤒".repeat(depth * -1) : " ".repeat(depth),
46
+ this.toString(),
47
+ "requestRefresh",
48
+ withChildren ? "with children" : "on self",
49
+ ),
50
+ );
51
+ */
52
+ if (withChildren) {
53
+ for (const child of this.children) {
54
+ child.requestRefresh(withChildren, depth + 1);
33
55
  }
34
- catch (error) {
35
- console.error(...cl("Error while refreshing child component!", error));
56
+ }
57
+ if (this._needsRefresh) {
58
+ return;
59
+ }
60
+ this._needsRefresh = true;
61
+ this.parent?.requestRefresh(false, depth - 1);
62
+ if (depth === 0) {
63
+ console.info(...cl(this.toString(), "requestRefresh() complete."));
64
+ }
65
+ }
66
+ refresh(force = false, depth = 0) {
67
+ if (!force && !this._needsRefresh) {
68
+ if (depth === 0) {
69
+ console.info(...cl(this.toString(), "refresh() received and ignored."));
36
70
  }
71
+ return;
72
+ }
73
+ if (depth === 0) {
74
+ console.info(...cl(this.toString(), "refresh() received."));
75
+ }
76
+ // WARNING: Enable this section only during refresh logic debugging!
77
+ // When this was implemented, a full refresh logged 16K messages.
78
+ // Even when these are filtered from the JS console, there are
79
+ // noticeable performance issues. DO NOT ENABLE THIS UNLESS YOU NEED TO.
80
+ /*
81
+ if (!force) {
82
+ console.debug(
83
+ ...cl(
84
+ depth < 0 ? "⤒".repeat(depth * -1) : " ".repeat(depth),
85
+ this.toString(),
86
+ "refresh",
87
+ typeof this.options?.onRefresh !== "undefined" ? "with onRefresh()" : "",
88
+ ),
89
+ );
90
+ }
91
+ */
92
+ this.options?.onRefresh?.call(this);
93
+ for (const child of this.children) {
94
+ child.refresh(force, depth + 1);
95
+ }
96
+ this._needsRefresh = false;
97
+ if (depth === 0) {
98
+ console.info(...cl(this.toString(), "refresh() complete."));
37
99
  }
38
100
  }
39
101
  addChild(child) {
102
+ child.parent = this;
40
103
  this.children.add(child);
41
104
  this.element.append(child.element);
105
+ return this;
42
106
  }
43
107
  addChildren(children) {
44
108
  for (const child of children ?? []) {
45
109
  this.addChild(child);
46
110
  }
111
+ return this;
47
112
  }
48
113
  removeChild(child) {
49
114
  if (!this.children.has(child)) {
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponent.js","sourceRoot":"","sources":["../../../source/ui/components/UiComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAcxC,MAAM,OAAgB,WACpB,SAAQ,WAAW;IAGnB;;OAEG;IACgB,KAAK,CAAmB;IAExB,QAAQ,CAAoB;IAOtC,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpC,QAAQ,CAAkC;IAC1C,UAAU,CAAoC;IAEjE;;;;;;OAMG;IACH,YAAY,IAAsB,EAAE,OAA2B;QAC7D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,SAAS,CAAC;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAA8B;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,WAAW,CAAC,QAA4C;QACtD,KAAK,MAAM,KAAK,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAA8B;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,CAAC,QAA2C;QACxD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"UiComponent.js","sourceRoot":"","sources":["../../../source/ui/components/UiComponent.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,21 @@
1
1
  import type { SupportedLocale } from "../../Engine.js";
2
- import type { KittenScientists } from "../../KittenScientists.js";
3
2
  import type { SettingOptions } from "../../settings/Settings.js";
4
3
  import type { CraftSettingsItem } from "../../settings/WorkshopSettings.js";
5
- import type { SettingListItemOptionsLimited } from "./SettingLimitedListItem.js";
6
- import { SettingListItem, type SettingListItemOptions } from "./SettingListItem.js";
7
- import type { SettingListItemOptionsMax } from "./SettingMaxListItem.js";
8
- import type { SettingListItemOptionsTrigger } from "./SettingTriggerListItem.js";
9
- import type { UiComponent } from "./UiComponent.js";
10
4
  import { LimitedButton } from "./buttons/LimitedButton.js";
11
5
  import { MaxButton } from "./buttons/MaxButton.js";
12
6
  import { TriggerButton } from "./buttons/TriggerButton.js";
13
- export declare class WorkshopCraftListItem<TOptions extends SettingListItemOptions<UiComponent> & SettingListItemOptionsLimited & SettingListItemOptionsMax & SettingListItemOptionsTrigger = SettingListItemOptions<UiComponent> & SettingListItemOptionsLimited & SettingListItemOptionsMax & SettingListItemOptionsTrigger> extends SettingListItem<CraftSettingsItem> {
7
+ import type { SettingLimitedListItemOptions } from "./SettingLimitedListItem.js";
8
+ import { SettingListItem, type SettingListItemOptions } from "./SettingListItem.js";
9
+ import type { SettingMaxListItemOptions } from "./SettingMaxListItem.js";
10
+ import type { SettingTriggerListItemOptions } from "./SettingTriggerListItem.js";
11
+ import type { UiComponent } from "./UiComponent.js";
12
+ export type WorkshopCraftListItemOptions = SettingListItemOptions & SettingLimitedListItemOptions & SettingMaxListItemOptions & SettingTriggerListItemOptions & ThisType<WorkshopCraftListItem>;
13
+ export declare class WorkshopCraftListItem extends SettingListItem<CraftSettingsItem> {
14
+ readonly options: WorkshopCraftListItemOptions;
14
15
  readonly limitedButton: LimitedButton;
15
16
  readonly maxButton: MaxButton;
16
17
  readonly triggerButton: TriggerButton;
17
- constructor(host: KittenScientists, setting: CraftSettingsItem, locale: SettingOptions<SupportedLocale>, label: string, options?: Partial<TOptions>);
18
- refreshUi(): void;
18
+ constructor(parent: UiComponent, setting: CraftSettingsItem, locale: SettingOptions<SupportedLocale>, label: string, options: WorkshopCraftListItemOptions);
19
+ toString(): string;
19
20
  }
20
21
  //# sourceMappingURL=WorkshopCraftListItem.d.ts.map