@kitten-science/kitten-scientists 2.0.0-beta.10-20250402-4e11d20 → 2.0.0-beta.10-dev-2a02d77

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 (300) hide show
  1. package/lib/KittenScientists.d.ts +1 -1
  2. package/lib/KittenScientists.d.ts.map +1 -1
  3. package/lib/KittenScientists.js +6 -6
  4. package/lib/KittenScientists.js.map +1 -1
  5. package/lib/ReligionManager.js +1 -1
  6. package/lib/ReligionManager.js.map +1 -1
  7. package/lib/TimeControlManager.js +2 -2
  8. package/lib/TimeControlManager.js.map +1 -1
  9. package/lib/TradeManager.d.ts.map +1 -1
  10. package/lib/TradeManager.js.map +1 -1
  11. package/lib/tools/Log.d.ts +1 -1
  12. package/lib/tools/Log.d.ts.map +1 -1
  13. package/lib/tools/Log.js +4 -1
  14. package/lib/tools/Log.js.map +1 -1
  15. package/lib/ui/BonfireSettingsUi.d.ts +4 -5
  16. package/lib/ui/BonfireSettingsUi.d.ts.map +1 -1
  17. package/lib/ui/BonfireSettingsUi.js +109 -90
  18. package/lib/ui/BonfireSettingsUi.js.map +1 -1
  19. package/lib/ui/BuildSectionTools.d.ts +3 -13
  20. package/lib/ui/BuildSectionTools.d.ts.map +1 -1
  21. package/lib/ui/BuildSectionTools.js +52 -59
  22. package/lib/ui/BuildSectionTools.js.map +1 -1
  23. package/lib/ui/BuildingUpgradeSettingsUi.d.ts +2 -4
  24. package/lib/ui/BuildingUpgradeSettingsUi.d.ts.map +1 -1
  25. package/lib/ui/BuildingUpgradeSettingsUi.js +13 -20
  26. package/lib/ui/BuildingUpgradeSettingsUi.js.map +1 -1
  27. package/lib/ui/EmbassySettingsUi.d.ts +4 -5
  28. package/lib/ui/EmbassySettingsUi.d.ts.map +1 -1
  29. package/lib/ui/EmbassySettingsUi.js +48 -61
  30. package/lib/ui/EmbassySettingsUi.js.map +1 -1
  31. package/lib/ui/EngineSettingsUi.d.ts +2 -2
  32. package/lib/ui/EngineSettingsUi.d.ts.map +1 -1
  33. package/lib/ui/EngineSettingsUi.js +10 -8
  34. package/lib/ui/EngineSettingsUi.js.map +1 -1
  35. package/lib/ui/InternalsUi.d.ts +2 -2
  36. package/lib/ui/InternalsUi.d.ts.map +1 -1
  37. package/lib/ui/InternalsUi.js +43 -53
  38. package/lib/ui/InternalsUi.js.map +1 -1
  39. package/lib/ui/LogFilterSettingsUi.d.ts +2 -4
  40. package/lib/ui/LogFilterSettingsUi.d.ts.map +1 -1
  41. package/lib/ui/LogFilterSettingsUi.js +24 -32
  42. package/lib/ui/LogFilterSettingsUi.js.map +1 -1
  43. package/lib/ui/MissionSettingsUi.d.ts +2 -4
  44. package/lib/ui/MissionSettingsUi.d.ts.map +1 -1
  45. package/lib/ui/MissionSettingsUi.js +13 -18
  46. package/lib/ui/MissionSettingsUi.js.map +1 -1
  47. package/lib/ui/PolicySettingsUi.d.ts +2 -4
  48. package/lib/ui/PolicySettingsUi.d.ts.map +1 -1
  49. package/lib/ui/PolicySettingsUi.js +13 -20
  50. package/lib/ui/PolicySettingsUi.js.map +1 -1
  51. package/lib/ui/ReligionSettingsUi.d.ts +4 -5
  52. package/lib/ui/ReligionSettingsUi.d.ts.map +1 -1
  53. package/lib/ui/ReligionSettingsUi.js +108 -132
  54. package/lib/ui/ReligionSettingsUi.js.map +1 -1
  55. package/lib/ui/ResetBonfireSettingsUi.d.ts +2 -2
  56. package/lib/ui/ResetBonfireSettingsUi.d.ts.map +1 -1
  57. package/lib/ui/ResetBonfireSettingsUi.js +30 -36
  58. package/lib/ui/ResetBonfireSettingsUi.js.map +1 -1
  59. package/lib/ui/ResetReligionSettingsUi.d.ts +2 -2
  60. package/lib/ui/ResetReligionSettingsUi.d.ts.map +1 -1
  61. package/lib/ui/ResetReligionSettingsUi.js +42 -51
  62. package/lib/ui/ResetReligionSettingsUi.js.map +1 -1
  63. package/lib/ui/ResetResourcesSettingsUi.d.ts +2 -2
  64. package/lib/ui/ResetResourcesSettingsUi.d.ts.map +1 -1
  65. package/lib/ui/ResetResourcesSettingsUi.js +24 -31
  66. package/lib/ui/ResetResourcesSettingsUi.js.map +1 -1
  67. package/lib/ui/ResetSettingsUi.d.ts +2 -4
  68. package/lib/ui/ResetSettingsUi.d.ts.map +1 -1
  69. package/lib/ui/ResetSettingsUi.js +14 -19
  70. package/lib/ui/ResetSettingsUi.js.map +1 -1
  71. package/lib/ui/ResetSpaceSettingsUi.d.ts +2 -2
  72. package/lib/ui/ResetSpaceSettingsUi.d.ts.map +1 -1
  73. package/lib/ui/ResetSpaceSettingsUi.js +30 -39
  74. package/lib/ui/ResetSpaceSettingsUi.js.map +1 -1
  75. package/lib/ui/ResetTimeSettingsUi.d.ts +2 -2
  76. package/lib/ui/ResetTimeSettingsUi.d.ts.map +1 -1
  77. package/lib/ui/ResetTimeSettingsUi.js +32 -41
  78. package/lib/ui/ResetTimeSettingsUi.js.map +1 -1
  79. package/lib/ui/ResetUpgradesSettingsUi.d.ts +2 -2
  80. package/lib/ui/ResetUpgradesSettingsUi.d.ts.map +1 -1
  81. package/lib/ui/ResetUpgradesSettingsUi.js +12 -12
  82. package/lib/ui/ResetUpgradesSettingsUi.js.map +1 -1
  83. package/lib/ui/ResourcesSettingsUi.d.ts +2 -4
  84. package/lib/ui/ResourcesSettingsUi.d.ts.map +1 -1
  85. package/lib/ui/ResourcesSettingsUi.js +16 -20
  86. package/lib/ui/ResourcesSettingsUi.js.map +1 -1
  87. package/lib/ui/ScienceSettingsUi.d.ts +2 -4
  88. package/lib/ui/ScienceSettingsUi.d.ts.map +1 -1
  89. package/lib/ui/ScienceSettingsUi.js +16 -35
  90. package/lib/ui/ScienceSettingsUi.js.map +1 -1
  91. package/lib/ui/SpaceSettingsUi.d.ts +4 -5
  92. package/lib/ui/SpaceSettingsUi.d.ts.map +1 -1
  93. package/lib/ui/SpaceSettingsUi.js +43 -51
  94. package/lib/ui/SpaceSettingsUi.js.map +1 -1
  95. package/lib/ui/StateManagementUi.d.ts +2 -2
  96. package/lib/ui/StateManagementUi.d.ts.map +1 -1
  97. package/lib/ui/StateManagementUi.js +162 -169
  98. package/lib/ui/StateManagementUi.js.map +1 -1
  99. package/lib/ui/TechSettingsUi.d.ts +4 -5
  100. package/lib/ui/TechSettingsUi.d.ts.map +1 -1
  101. package/lib/ui/TechSettingsUi.js +51 -69
  102. package/lib/ui/TechSettingsUi.js.map +1 -1
  103. package/lib/ui/TimeControlSettingsUi.d.ts +3 -4
  104. package/lib/ui/TimeControlSettingsUi.d.ts.map +1 -1
  105. package/lib/ui/TimeControlSettingsUi.js +22 -34
  106. package/lib/ui/TimeControlSettingsUi.js.map +1 -1
  107. package/lib/ui/TimeSettingsUi.d.ts +4 -5
  108. package/lib/ui/TimeSettingsUi.d.ts.map +1 -1
  109. package/lib/ui/TimeSettingsUi.js +55 -62
  110. package/lib/ui/TimeSettingsUi.js.map +1 -1
  111. package/lib/ui/TimeSkipHeatSettingsUi.d.ts +4 -5
  112. package/lib/ui/TimeSkipHeatSettingsUi.d.ts.map +1 -1
  113. package/lib/ui/TimeSkipHeatSettingsUi.js +28 -44
  114. package/lib/ui/TimeSkipHeatSettingsUi.js.map +1 -1
  115. package/lib/ui/TimeSkipSettingsUi.d.ts +2 -4
  116. package/lib/ui/TimeSkipSettingsUi.d.ts.map +1 -1
  117. package/lib/ui/TimeSkipSettingsUi.js +75 -103
  118. package/lib/ui/TimeSkipSettingsUi.js.map +1 -1
  119. package/lib/ui/TradeSettingsUi.d.ts +4 -5
  120. package/lib/ui/TradeSettingsUi.d.ts.map +1 -1
  121. package/lib/ui/TradeSettingsUi.js +102 -115
  122. package/lib/ui/TradeSettingsUi.js.map +1 -1
  123. package/lib/ui/UpgradeSettingsUi.d.ts +4 -5
  124. package/lib/ui/UpgradeSettingsUi.d.ts.map +1 -1
  125. package/lib/ui/UpgradeSettingsUi.js +50 -66
  126. package/lib/ui/UpgradeSettingsUi.js.map +1 -1
  127. package/lib/ui/UserInterface.d.ts +3 -0
  128. package/lib/ui/UserInterface.d.ts.map +1 -1
  129. package/lib/ui/UserInterface.js +37 -19
  130. package/lib/ui/UserInterface.js.map +1 -1
  131. package/lib/ui/VillageSettingsUi.d.ts +2 -4
  132. package/lib/ui/VillageSettingsUi.d.ts.map +1 -1
  133. package/lib/ui/VillageSettingsUi.js +87 -105
  134. package/lib/ui/VillageSettingsUi.js.map +1 -1
  135. package/lib/ui/WorkshopSettingsUi.d.ts +4 -5
  136. package/lib/ui/WorkshopSettingsUi.d.ts.map +1 -1
  137. package/lib/ui/WorkshopSettingsUi.js +82 -103
  138. package/lib/ui/WorkshopSettingsUi.js.map +1 -1
  139. package/lib/ui/components/Button.d.ts +9 -8
  140. package/lib/ui/components/Button.d.ts.map +1 -1
  141. package/lib/ui/components/Button.js +8 -6
  142. package/lib/ui/components/Button.js.map +1 -1
  143. package/lib/ui/components/ButtonListItem.d.ts +4 -4
  144. package/lib/ui/components/ButtonListItem.d.ts.map +1 -1
  145. package/lib/ui/components/ButtonListItem.js +2 -7
  146. package/lib/ui/components/ButtonListItem.js.map +1 -1
  147. package/lib/ui/components/CollapsiblePanel.d.ts +15 -11
  148. package/lib/ui/components/CollapsiblePanel.d.ts.map +1 -1
  149. package/lib/ui/components/CollapsiblePanel.js +42 -25
  150. package/lib/ui/components/CollapsiblePanel.js.map +1 -1
  151. package/lib/ui/components/Container.d.ts +7 -2
  152. package/lib/ui/components/Container.d.ts.map +1 -1
  153. package/lib/ui/components/Container.js +6 -3
  154. package/lib/ui/components/Container.js.map +1 -1
  155. package/lib/ui/components/CyclesList.d.ts +7 -8
  156. package/lib/ui/components/CyclesList.d.ts.map +1 -1
  157. package/lib/ui/components/CyclesList.js +34 -27
  158. package/lib/ui/components/CyclesList.js.map +1 -1
  159. package/lib/ui/components/Delimiter.d.ts +3 -2
  160. package/lib/ui/components/Delimiter.d.ts.map +1 -1
  161. package/lib/ui/components/Delimiter.js +6 -2
  162. package/lib/ui/components/Delimiter.js.map +1 -1
  163. package/lib/ui/components/Dialog.d.ts +14 -6
  164. package/lib/ui/components/Dialog.d.ts.map +1 -1
  165. package/lib/ui/components/Dialog.js +66 -40
  166. package/lib/ui/components/Dialog.js.map +1 -1
  167. package/lib/ui/components/ExplainerListItem.d.ts +5 -2
  168. package/lib/ui/components/ExplainerListItem.d.ts.map +1 -1
  169. package/lib/ui/components/ExplainerListItem.js +7 -4
  170. package/lib/ui/components/ExplainerListItem.js.map +1 -1
  171. package/lib/ui/components/Fieldset.d.ts +6 -4
  172. package/lib/ui/components/Fieldset.d.ts.map +1 -1
  173. package/lib/ui/components/Fieldset.js +6 -3
  174. package/lib/ui/components/Fieldset.js.map +1 -1
  175. package/lib/ui/components/HeaderListItem.d.ts +6 -3
  176. package/lib/ui/components/HeaderListItem.d.ts.map +1 -1
  177. package/lib/ui/components/HeaderListItem.js +6 -3
  178. package/lib/ui/components/HeaderListItem.js.map +1 -1
  179. package/lib/ui/components/IconButton.d.ts +8 -6
  180. package/lib/ui/components/IconButton.d.ts.map +1 -1
  181. package/lib/ui/components/IconButton.js +6 -5
  182. package/lib/ui/components/IconButton.js.map +1 -1
  183. package/lib/ui/components/IconSettingsPanel.d.ts +5 -4
  184. package/lib/ui/components/IconSettingsPanel.d.ts.map +1 -1
  185. package/lib/ui/components/IconSettingsPanel.js +4 -2
  186. package/lib/ui/components/IconSettingsPanel.js.map +1 -1
  187. package/lib/ui/components/Input.d.ts +6 -3
  188. package/lib/ui/components/Input.d.ts.map +1 -1
  189. package/lib/ui/components/Input.js +6 -3
  190. package/lib/ui/components/Input.js.map +1 -1
  191. package/lib/ui/components/LabelListItem.d.ts +10 -7
  192. package/lib/ui/components/LabelListItem.d.ts.map +1 -1
  193. package/lib/ui/components/LabelListItem.js +21 -10
  194. package/lib/ui/components/LabelListItem.js.map +1 -1
  195. package/lib/ui/components/ListItem.d.ts +9 -6
  196. package/lib/ui/components/ListItem.d.ts.map +1 -1
  197. package/lib/ui/components/ListItem.js +6 -3
  198. package/lib/ui/components/ListItem.js.map +1 -1
  199. package/lib/ui/components/OptionsListItem.d.ts +6 -5
  200. package/lib/ui/components/OptionsListItem.d.ts.map +1 -1
  201. package/lib/ui/components/OptionsListItem.js +7 -5
  202. package/lib/ui/components/OptionsListItem.js.map +1 -1
  203. package/lib/ui/components/Paragraph.d.ts +7 -2
  204. package/lib/ui/components/Paragraph.d.ts.map +1 -1
  205. package/lib/ui/components/Paragraph.js +6 -3
  206. package/lib/ui/components/Paragraph.js.map +1 -1
  207. package/lib/ui/components/RadioItem.d.ts +9 -7
  208. package/lib/ui/components/RadioItem.d.ts.map +1 -1
  209. package/lib/ui/components/RadioItem.js +9 -7
  210. package/lib/ui/components/RadioItem.js.map +1 -1
  211. package/lib/ui/components/SeasonsList.d.ts +7 -6
  212. package/lib/ui/components/SeasonsList.d.ts.map +1 -1
  213. package/lib/ui/components/SeasonsList.js +20 -13
  214. package/lib/ui/components/SeasonsList.js.map +1 -1
  215. package/lib/ui/components/SettingLimitedListItem.d.ts +7 -7
  216. package/lib/ui/components/SettingLimitedListItem.d.ts.map +1 -1
  217. package/lib/ui/components/SettingLimitedListItem.js +7 -8
  218. package/lib/ui/components/SettingLimitedListItem.js.map +1 -1
  219. package/lib/ui/components/SettingLimitedTriggerListItem.d.ts +7 -6
  220. package/lib/ui/components/SettingLimitedTriggerListItem.d.ts.map +1 -1
  221. package/lib/ui/components/SettingLimitedTriggerListItem.js +12 -11
  222. package/lib/ui/components/SettingLimitedTriggerListItem.js.map +1 -1
  223. package/lib/ui/components/SettingListItem.d.ts +11 -11
  224. package/lib/ui/components/SettingListItem.d.ts.map +1 -1
  225. package/lib/ui/components/SettingListItem.js +16 -20
  226. package/lib/ui/components/SettingListItem.js.map +1 -1
  227. package/lib/ui/components/SettingMaxListItem.d.ts +7 -7
  228. package/lib/ui/components/SettingMaxListItem.d.ts.map +1 -1
  229. package/lib/ui/components/SettingMaxListItem.js +12 -10
  230. package/lib/ui/components/SettingMaxListItem.js.map +1 -1
  231. package/lib/ui/components/SettingMaxTriggerListItem.d.ts +9 -6
  232. package/lib/ui/components/SettingMaxTriggerListItem.d.ts.map +1 -1
  233. package/lib/ui/components/SettingMaxTriggerListItem.js +19 -14
  234. package/lib/ui/components/SettingMaxTriggerListItem.js.map +1 -1
  235. package/lib/ui/components/SettingTriggerListItem.d.ts +8 -7
  236. package/lib/ui/components/SettingTriggerListItem.d.ts.map +1 -1
  237. package/lib/ui/components/SettingTriggerListItem.js +15 -12
  238. package/lib/ui/components/SettingTriggerListItem.js.map +1 -1
  239. package/lib/ui/components/SettingsList.d.ts +13 -11
  240. package/lib/ui/components/SettingsList.d.ts.map +1 -1
  241. package/lib/ui/components/SettingsList.js +15 -16
  242. package/lib/ui/components/SettingsList.js.map +1 -1
  243. package/lib/ui/components/SettingsPanel.d.ts +9 -8
  244. package/lib/ui/components/SettingsPanel.d.ts.map +1 -1
  245. package/lib/ui/components/SettingsPanel.js +10 -10
  246. package/lib/ui/components/SettingsPanel.js.map +1 -1
  247. package/lib/ui/components/TextButton.d.ts +7 -6
  248. package/lib/ui/components/TextButton.d.ts.map +1 -1
  249. package/lib/ui/components/TextButton.js +7 -5
  250. package/lib/ui/components/TextButton.js.map +1 -1
  251. package/lib/ui/components/ToolbarListItem.d.ts +6 -5
  252. package/lib/ui/components/ToolbarListItem.d.ts.map +1 -1
  253. package/lib/ui/components/ToolbarListItem.js +7 -12
  254. package/lib/ui/components/ToolbarListItem.js.map +1 -1
  255. package/lib/ui/components/UiComponent.d.ts +32 -18
  256. package/lib/ui/components/UiComponent.d.ts.map +1 -1
  257. package/lib/ui/components/UiComponent.js +50 -19
  258. package/lib/ui/components/UiComponent.js.map +1 -1
  259. package/lib/ui/components/WorkshopCraftListItem.d.ts +8 -7
  260. package/lib/ui/components/WorkshopCraftListItem.d.ts.map +1 -1
  261. package/lib/ui/components/WorkshopCraftListItem.js +17 -18
  262. package/lib/ui/components/WorkshopCraftListItem.js.map +1 -1
  263. package/lib/ui/components/buttons/ConsumeButton.d.ts +5 -2
  264. package/lib/ui/components/buttons/ConsumeButton.d.ts.map +1 -1
  265. package/lib/ui/components/buttons/ConsumeButton.js +19 -26
  266. package/lib/ui/components/buttons/ConsumeButton.js.map +1 -1
  267. package/lib/ui/components/buttons/ExpandoButton.d.ts +6 -2
  268. package/lib/ui/components/buttons/ExpandoButton.d.ts.map +1 -1
  269. package/lib/ui/components/buttons/ExpandoButton.js +10 -9
  270. package/lib/ui/components/buttons/ExpandoButton.js.map +1 -1
  271. package/lib/ui/components/buttons/LimitedButton.d.ts +8 -7
  272. package/lib/ui/components/buttons/LimitedButton.d.ts.map +1 -1
  273. package/lib/ui/components/buttons/LimitedButton.js +20 -13
  274. package/lib/ui/components/buttons/LimitedButton.js.map +1 -1
  275. package/lib/ui/components/buttons/MaxButton.d.ts +5 -5
  276. package/lib/ui/components/buttons/MaxButton.d.ts.map +1 -1
  277. package/lib/ui/components/buttons/MaxButton.js +5 -7
  278. package/lib/ui/components/buttons/MaxButton.js.map +1 -1
  279. package/lib/ui/components/buttons/PaddingButton.d.ts +5 -2
  280. package/lib/ui/components/buttons/PaddingButton.d.ts.map +1 -1
  281. package/lib/ui/components/buttons/PaddingButton.js +6 -3
  282. package/lib/ui/components/buttons/PaddingButton.js.map +1 -1
  283. package/lib/ui/components/buttons/StockButton.d.ts +5 -2
  284. package/lib/ui/components/buttons/StockButton.d.ts.map +1 -1
  285. package/lib/ui/components/buttons/StockButton.js +25 -32
  286. package/lib/ui/components/buttons/StockButton.js.map +1 -1
  287. package/lib/ui/components/buttons/TriggerButton.d.ts +6 -5
  288. package/lib/ui/components/buttons/TriggerButton.d.ts.map +1 -1
  289. package/lib/ui/components/buttons/TriggerButton.js +11 -12
  290. package/lib/ui/components/buttons/TriggerButton.js.map +1 -1
  291. package/lib/ui/components/buttons-text/BuyButton.d.ts +6 -5
  292. package/lib/ui/components/buttons-text/BuyButton.d.ts.map +1 -1
  293. package/lib/ui/components/buttons-text/BuyButton.js +19 -26
  294. package/lib/ui/components/buttons-text/BuyButton.js.map +1 -1
  295. package/lib/ui/components/buttons-text/SellButton.d.ts +6 -5
  296. package/lib/ui/components/buttons-text/SellButton.d.ts.map +1 -1
  297. package/lib/ui/components/buttons-text/SellButton.js +19 -28
  298. package/lib/ui/components/buttons-text/SellButton.js.map +1 -1
  299. package/output/kitten-scientists.inject.js +2441 -2516
  300. package/package.json +6 -6
@@ -12,13 +12,9 @@ import { ExpandoButton } from "./buttons/ExpandoButton.js";
12
12
  export class CollapsiblePanel extends UiComponent {
13
13
  container;
14
14
  element;
15
- _expando;
16
- _head;
15
+ expando;
16
+ head;
17
17
  _mainChildVisible;
18
- parent;
19
- get expando() {
20
- return this._expando;
21
- }
22
18
  get isExpanded() {
23
19
  return this._mainChildVisible;
24
20
  }
@@ -29,17 +25,14 @@ export class CollapsiblePanel extends UiComponent {
29
25
  * @param head Another component to host in the head of the panel.
30
26
  * @param options Options for this panel.
31
27
  */
32
- constructor(host, head, options) {
33
- super(host, options);
34
- this.container = new Container(host);
28
+ constructor(parent, head, options) {
29
+ super(parent, {});
30
+ this.head = head;
31
+ this.container = new Container(this);
35
32
  this.container.element.addClass(stylesSettingListItem.panelContent);
36
- this.children.add(this.container);
37
- this._head = head;
38
- this.children.add(head);
39
33
  // The expando button for this panel.
40
- const expando = new ExpandoButton(host);
41
- expando.element.on("click", () => {
42
- this.toggle();
34
+ const expando = new ExpandoButton(parent, {
35
+ onClick: () => this.toggle(),
43
36
  });
44
37
  head.head.addChild(expando);
45
38
  head.element.append(this.container.element);
@@ -52,12 +45,31 @@ export class CollapsiblePanel extends UiComponent {
52
45
  }
53
46
  this._mainChildVisible = options?.initiallyExpanded ?? false;
54
47
  this.element = head.element;
55
- this.addChildren(options?.children);
56
- this._expando = expando;
48
+ this.expando = expando;
49
+ this.addChildren([this.head, this.container]);
50
+ }
51
+ toString() {
52
+ return `[${CollapsiblePanel.name}#${this.componentId}]`;
53
+ }
54
+ addChildHead(child) {
55
+ this.head.addChild(child);
56
+ return this;
57
+ }
58
+ addChildrenHead(children) {
59
+ for (const child of children ?? []) {
60
+ this.head.addChild(child);
61
+ }
62
+ return this;
63
+ }
64
+ addChildContent(child) {
65
+ this.container.addChild(child);
66
+ return this;
57
67
  }
58
- addChild(child) {
59
- this.children.add(child);
60
- this.container.element.append(child.element);
68
+ addChildrenContent(children) {
69
+ for (const child of children ?? []) {
70
+ this.container.addChild(child);
71
+ }
72
+ return this;
61
73
  }
62
74
  /**
63
75
  * Control the visibility of the panel's contents.
@@ -71,20 +83,20 @@ export class CollapsiblePanel extends UiComponent {
71
83
  this._mainChildVisible = visible;
72
84
  if (this._mainChildVisible) {
73
85
  // Refresh panel UI on expand.
74
- this.container.refreshUi();
86
+ this.container.requestRefresh();
75
87
  // Show the DOM element.
76
88
  this.container.element.removeClass(stylesSettingListItem.hidden);
77
89
  // Reflect expanded state on expando.
78
- this._expando.setExpanded();
90
+ this.expando.setExpanded();
79
91
  // Reflect expanded state for CSS.
80
- this._head.element.addClass(stylesSettingListItem.expanded);
92
+ this.head.element.addClass(stylesSettingListItem.expanded);
81
93
  // This is NOT a DOM event! It can only be caught by listening on this panel directly.
82
94
  this.dispatchEvent(new CustomEvent("panelShown"));
83
95
  }
84
96
  else {
85
97
  this.container.element.addClass(stylesSettingListItem.hidden);
86
- this._expando.setCollapsed();
87
- this._head.element.removeClass(stylesSettingListItem.expanded);
98
+ this.expando.setCollapsed();
99
+ this.head.element.removeClass(stylesSettingListItem.expanded);
88
100
  this.dispatchEvent(new CustomEvent("panelHidden"));
89
101
  }
90
102
  }
@@ -102,5 +114,10 @@ export class CollapsiblePanel extends UiComponent {
102
114
  toggleChildren(this.children);
103
115
  }
104
116
  }
117
+ requestRefresh(withChildren = false, depth = 0) {
118
+ super.requestRefresh(withChildren, depth);
119
+ this.head.requestRefresh(true, depth + 1);
120
+ }
121
+ refreshUi() { }
105
122
  }
106
123
  //# sourceMappingURL=CollapsiblePanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsiblePanel.js","sourceRoot":"","sources":["../../../source/ui/components/CollapsiblePanel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CollapsiblePanel.js","sourceRoot":"","sources":["../../../source/ui/components/CollapsiblePanel.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import { UiComponent, type UiComponentOptions } from "./UiComponent.js";
2
+ export type ContainerOptions = ThisType<Container> & UiComponentOptions & {
3
+ readonly classes?: Array<string>;
4
+ };
3
5
  export declare class Container extends UiComponent {
6
+ readonly options: ContainerOptions;
4
7
  readonly element: JQuery;
5
8
  /**
6
9
  * Constructs a simple container element without any special properties.
@@ -8,6 +11,8 @@ export declare class Container extends UiComponent {
8
11
  * @param host A reference to the host.
9
12
  * @param options Options for the container.
10
13
  */
11
- constructor(host: KittenScientists, options?: Partial<UiComponentOptions>);
14
+ constructor(parent: UiComponent, options?: ContainerOptions);
15
+ toString(): string;
16
+ refreshUi(): void;
12
17
  }
13
18
  //# sourceMappingURL=Container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../source/ui/components/Container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,qBAAa,SAAU,SAAQ,WAAW;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;gBACS,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAW1E"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../source/ui/components/Container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,GAChD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEJ,qBAAa,SAAU,SAAQ,WAAW;IACxC,SAAiB,OAAO,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;gBACS,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAU3D,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,IAAI;CAClB"}
@@ -7,13 +7,16 @@ export class Container extends UiComponent {
7
7
  * @param host A reference to the host.
8
8
  * @param options Options for the container.
9
9
  */
10
- constructor(host, options) {
11
- super(host, { ...options, children: [], classes: [] });
10
+ constructor(parent, options) {
11
+ super(parent, { ...options });
12
12
  this.element = $("<div/>");
13
13
  for (const className of options?.classes ?? []) {
14
14
  this.element.addClass(className);
15
15
  }
16
- this.addChildren(options?.children);
17
16
  }
17
+ toString() {
18
+ return `[${Container.name}#${this.componentId}]`;
19
+ }
20
+ refreshUi() { }
18
21
  }
19
22
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../source/ui/components/Container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAExE,MAAM,OAAO,SAAU,SAAQ,WAAW;IAC/B,OAAO,CAAS;IAEzB;;;;;OAKG;IACH,YAAY,IAAsB,EAAE,OAAqC;QACvE,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE3B,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../source/ui/components/Container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAOxE,MAAM,OAAO,SAAU,SAAQ,WAAW;IAE/B,OAAO,CAAS;IAEzB;;;;;OAKG;IACH,YAAY,MAAmB,EAAE,OAA0B;QACzD,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE3B,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;IACnD,CAAC;IAED,SAAS,KAAU,CAAC;CACrB"}
@@ -1,29 +1,29 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import type { Setting } from "../../settings/Settings.js";
3
2
  import type { Cycle } from "../../types/index.js";
4
- import { SettingListItem } from "./SettingListItem.js";
5
3
  import { SettingsList, type SettingsListOptions } from "./SettingsList.js";
4
+ import type { UiComponent } from "./UiComponent.js";
6
5
  export type SettingWithCycles = Record<Cycle, Setting>;
7
- export type SeasonsListOptions = SettingsListOptions<SettingListItem> & {
6
+ export type CyclesListOptions = ThisType<CyclesList> & SettingsListOptions & {
8
7
  /**
9
8
  * Called when a cycle is checked.
10
9
  *
11
10
  * @param label The label on the cycle element.
12
11
  * @param setting The setting associated with the cycle.
13
12
  */
14
- readonly onCheck: (label: string, setting: Setting, isBatchProcess?: boolean) => void;
13
+ readonly onCheckCycle?: (label: string, setting: Setting, isBatchProcess?: boolean) => void;
15
14
  /**
16
15
  * Called when a cycle is unchecked.
17
16
  *
18
17
  * @param label The label on the cycle element.
19
18
  * @param setting The setting associated with the cycle.
20
19
  */
21
- readonly onUnCheck: (label: string, setting: Setting, isBatchProcess?: boolean) => void;
20
+ readonly onUnCheckCycle?: (label: string, setting: Setting, isBatchProcess?: boolean) => void;
22
21
  };
23
22
  /**
24
23
  * A list of settings correlating to the planetary cycles in the game.
25
24
  */
26
- export declare class CyclesList extends SettingsList<SeasonsListOptions> {
25
+ export declare class CyclesList extends SettingsList {
26
+ readonly options: CyclesListOptions;
27
27
  readonly setting: SettingWithCycles;
28
28
  /**
29
29
  * Constructs a `SeasonsList`.
@@ -33,7 +33,6 @@ export declare class CyclesList extends SettingsList<SeasonsListOptions> {
33
33
  * @param behavior Control cycle check box log output
34
34
  * @param options Options for this list.
35
35
  */
36
- constructor(host: KittenScientists, setting: SettingWithCycles, options?: Partial<SeasonsListOptions>);
37
- private _makeCycle;
36
+ constructor(parent: UiComponent, setting: SettingWithCycles, options?: CyclesListOptions);
38
37
  }
39
38
  //# sourceMappingURL=CyclesList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CyclesList.d.ts","sourceRoot":"","sources":["../../../source/ui/components/CyclesList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,eAAe,CAAC,GAAG;IACtE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtF;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzF,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAEpC;;;;;;;OAOG;gBAED,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAgCvC,OAAO,CAAC,UAAU;CAcnB"}
1
+ {"version":3,"file":"CyclesList.d.ts","sourceRoot":"","sources":["../../../source/ui/components/CyclesList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAClD,mBAAmB,GAAG;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAE5F;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/F,CAAC;AAEJ;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,SAAiB,OAAO,EAAE,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAEpC;;;;;;;OAOG;gBACS,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB;CA6CzF"}
@@ -13,39 +13,46 @@ export class CyclesList extends SettingsList {
13
13
  * @param behavior Control cycle check box log output
14
14
  * @param options Options for this list.
15
15
  */
16
- constructor(host, setting, options) {
17
- super(host, options);
16
+ constructor(parent, setting, options) {
17
+ super(parent, options);
18
18
  this.setting = setting;
19
+ const makeCycle = (cycle, setting) => {
20
+ const label = parent.host.engine.labelForCycle(cycle);
21
+ return new SettingListItem(parent, setting, label, {
22
+ onCheck: (isBatchProcess) => {
23
+ options?.onCheckCycle?.(label, setting, isBatchProcess);
24
+ this.requestRefresh();
25
+ },
26
+ onUnCheck: (isBatchProcess) => {
27
+ options?.onUnCheckCycle?.(label, setting, isBatchProcess);
28
+ this.requestRefresh();
29
+ },
30
+ });
31
+ };
32
+ const cycles = [
33
+ makeCycle("charon", this.setting.charon),
34
+ makeCycle("umbra", this.setting.umbra),
35
+ makeCycle("yarn", this.setting.yarn),
36
+ makeCycle("helios", this.setting.helios),
37
+ makeCycle("cath", this.setting.cath),
38
+ makeCycle("redmoon", this.setting.redmoon),
39
+ makeCycle("dune", this.setting.dune),
40
+ makeCycle("piscine", this.setting.piscine),
41
+ makeCycle("terminus", this.setting.terminus),
42
+ makeCycle("kairo", this.setting.kairo),
43
+ ];
44
+ this.addChildren(cycles);
19
45
  this.addEventListener("enableAll", () => {
20
- for (const child of this.children) {
21
- child.check(true);
46
+ for (const cycle of cycles) {
47
+ cycle.check(true);
22
48
  }
23
- this.refreshUi();
49
+ this.requestRefresh();
24
50
  });
25
51
  this.addEventListener("disableAll", () => {
26
- for (const child of this.children) {
27
- child.uncheck(true);
52
+ for (const cycle of cycles) {
53
+ cycle.uncheck(true);
28
54
  }
29
- this.refreshUi();
30
- });
31
- this.addChildren([
32
- this._makeCycle("charon", this.setting.charon, options),
33
- this._makeCycle("umbra", this.setting.umbra, options),
34
- this._makeCycle("yarn", this.setting.yarn, options),
35
- this._makeCycle("helios", this.setting.helios, options),
36
- this._makeCycle("cath", this.setting.cath, options),
37
- this._makeCycle("redmoon", this.setting.redmoon, options),
38
- this._makeCycle("dune", this.setting.dune, options),
39
- this._makeCycle("piscine", this.setting.piscine, options),
40
- this._makeCycle("terminus", this.setting.terminus, options),
41
- this._makeCycle("kairo", this.setting.kairo, options),
42
- ]);
43
- }
44
- _makeCycle(cycle, setting, handler) {
45
- const label = this._host.engine.labelForCycle(cycle);
46
- return new SettingListItem(this._host, setting, label, {
47
- onCheck: (isBatchProcess) => handler?.onCheck?.(label, setting, isBatchProcess),
48
- onUnCheck: (isBatchProcess) => handler?.onUnCheck?.(label, setting, isBatchProcess),
55
+ this.requestRefresh();
49
56
  });
50
57
  }
51
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CyclesList.js","sourceRoot":"","sources":["../../../source/ui/components/CyclesList.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAsB3E;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAgC;IACrD,OAAO,CAAoB;IAEpC;;;;;;;OAOG;IACH,YACE,IAAsB,EACtB,OAA0B,EAC1B,OAAqC;QAErC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAChB,KAAY,EACZ,OAAgB,EAChB,OAGE;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;YACrD,OAAO,EAAE,CAAC,cAAwB,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC;YACzF,SAAS,EAAE,CAAC,cAAwB,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC;SAC9F,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"CyclesList.js","sourceRoot":"","sources":["../../../source/ui/components/CyclesList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAwB3E;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAEjC,OAAO,CAAoB;IAEpC;;;;;;;OAOG;IACH,YAAY,MAAmB,EAAE,OAA0B,EAAE,OAA2B;QACtF,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,OAAgB,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtD,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;gBACjD,OAAO,EAAE,CAAC,cAAwB,EAAE,EAAE;oBACpC,OAAO,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;oBACxD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,SAAS,EAAE,CAAC,cAAwB,EAAE,EAAE;oBACtC,OAAO,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1C,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1C,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5C,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;SACvC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import { UiComponent } from "./UiComponent.js";
3
2
  export declare class Delimiter extends UiComponent {
4
3
  readonly element: JQuery;
@@ -9,6 +8,8 @@ export declare class Delimiter extends UiComponent {
9
8
  * @param label The label on the fieldset.
10
9
  * @param options Options for the fieldset.
11
10
  */
12
- constructor(host: KittenScientists);
11
+ constructor(parent: UiComponent);
12
+ toString(): string;
13
+ refreshUi(): void;
13
14
  }
14
15
  //# sourceMappingURL=Delimiter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Delimiter.d.ts","sourceRoot":"","sources":["../../../source/ui/components/Delimiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,WAAW;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;OAMG;gBACS,IAAI,EAAE,gBAAgB;CAMnC"}
1
+ {"version":3,"file":"Delimiter.d.ts","sourceRoot":"","sources":["../../../source/ui/components/Delimiter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,WAAW;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;OAMG;gBACS,MAAM,EAAE,WAAW;IAO/B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,IAAI;CAClB"}
@@ -9,10 +9,14 @@ export class Delimiter extends UiComponent {
9
9
  * @param label The label on the fieldset.
10
10
  * @param options Options for the fieldset.
11
11
  */
12
- constructor(host) {
13
- super(host, {});
12
+ constructor(parent) {
13
+ super(parent, {});
14
14
  const element = $("<div/>").addClass(styles.delimiter);
15
15
  this.element = element;
16
16
  }
17
+ toString() {
18
+ return `[${Delimiter.name}#${this.componentId}]`;
19
+ }
20
+ refreshUi() { }
17
21
  }
18
22
  //# sourceMappingURL=Delimiter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Delimiter.js","sourceRoot":"","sources":["../../../source/ui/components/Delimiter.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,WAAW;IAC/B,OAAO,CAAS;IAEzB;;;;;;OAMG;IACH,YAAY,IAAsB;QAChC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEhB,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"Delimiter.js","sourceRoot":"","sources":["../../../source/ui/components/Delimiter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,WAAW;IAC/B,OAAO,CAAS;IAEzB;;;;;;OAMG;IACH,YAAY,MAAmB;QAC7B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;IACnD,CAAC;IAED,SAAS,KAAU,CAAC;CACrB"}
@@ -1,16 +1,18 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
- import { UiComponent, type UiComponentOptions } from "./UiComponent.js";
3
- export type DialogOptions = UiComponentOptions & {
1
+ import { Container } from "./Container.js";
2
+ import { UiComponent, type UiComponentInterface, type UiComponentOptions } from "./UiComponent.js";
3
+ export type DialogOptions = ThisType<Dialog> & UiComponentOptions & {
4
4
  readonly hasCancel?: boolean;
5
5
  readonly hasClose?: boolean;
6
6
  readonly onCancel?: () => void;
7
7
  readonly onConfirm?: (result: string) => void;
8
8
  readonly prompt?: boolean;
9
9
  readonly promptValue?: string;
10
- readonly childrenAfterPrompt?: Array<UiComponent>;
11
10
  };
12
11
  export declare class Dialog extends UiComponent {
12
+ readonly options: DialogOptions;
13
+ readonly container: Container;
13
14
  readonly element: JQuery<HTMLDialogElement>;
15
+ readonly head: Container;
14
16
  returnValue: string;
15
17
  /**
16
18
  * Constructs a dialog.
@@ -18,10 +20,16 @@ export declare class Dialog extends UiComponent {
18
20
  * @param host - A reference to the host.
19
21
  * @param options - Options for the dialog.
20
22
  */
21
- constructor(host: KittenScientists, options?: Partial<DialogOptions>);
23
+ constructor(parent: UiComponent, options?: DialogOptions);
24
+ toString(): string;
25
+ addChildHead(child: UiComponentInterface): this;
26
+ addChildrenHead(children?: Iterable<UiComponentInterface>): this;
27
+ addChildContent(child: UiComponent): this;
28
+ addChildrenContent(children?: Iterable<UiComponentInterface>): this;
22
29
  show(): void;
23
30
  showModal(): void;
24
31
  close(): void;
25
- static prompt(host: KittenScientists, text: string, title?: string, initialValue?: string, explainer?: string): Promise<string | undefined>;
32
+ refreshUi(): void;
33
+ static prompt(parent: UiComponent, text: string, title?: string, initialValue?: string, explainer?: string): Promise<string | undefined>;
26
34
  }
27
35
  //# sourceMappingURL=Dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../source/ui/components/Dialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAWlE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CACnD,CAAC;AAEF,qBAAa,MAAO,SAAQ,WAAW;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;gBACS,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAwEpE,IAAI;IAIJ,SAAS;IAIT,KAAK;WAKQ,MAAM,CACjB,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CA4B/B"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../source/ui/components/Dialog.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQ3C,OAAO,EAAE,WAAW,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnG,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAC1C,kBAAkB,GAAG;IACnB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEJ,qBAAa,MAAO,SAAQ,WAAW;IACrC,SAAiB,OAAO,EAAE,aAAa,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;gBACS,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa;IA0ExD,QAAQ,IAAI,MAAM;IAIlB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAI/C,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAOhE,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIzC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAOnE,IAAI;IAIJ,SAAS;IAIT,KAAK;IAKL,SAAS,IAAI,IAAI;WAEJ,MAAM,CACjB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAgC/B"}
@@ -11,7 +11,9 @@ import { Paragraph } from "./Paragraph.js";
11
11
  import stylesToolbarListItem from "./ToolbarListItem.module.css";
12
12
  import { UiComponent } from "./UiComponent.js";
13
13
  export class Dialog extends UiComponent {
14
+ container;
14
15
  element;
16
+ head;
15
17
  returnValue;
16
18
  /**
17
19
  * Constructs a dialog.
@@ -19,15 +21,14 @@ export class Dialog extends UiComponent {
19
21
  * @param host - A reference to the host.
20
22
  * @param options - Options for the dialog.
21
23
  */
22
- constructor(host, options) {
23
- super(host, { ...options, children: [] });
24
+ constructor(parent, options) {
25
+ super(parent, { ...options });
24
26
  this.element = $("<dialog/>")
25
27
  .addClass("dialog")
26
28
  .addClass("help")
27
29
  .addClass(styles.dialog);
28
- //.addClass(stylesUserInterface.ui);
29
30
  if (options?.hasClose !== false) {
30
- this.addChild(new Button(host, "close", null, {
31
+ this.addChild(new Button(parent, "close", null, {
31
32
  classes: [styles.close],
32
33
  onClick: () => {
33
34
  this.close();
@@ -35,11 +36,13 @@ export class Dialog extends UiComponent {
35
36
  },
36
37
  }));
37
38
  }
38
- this.addChildren(options?.children);
39
39
  this.returnValue = options?.promptValue ?? "";
40
+ this.head = new Container(parent);
41
+ this.container = new Container(parent);
40
42
  this.addChildren(coalesceArray([
43
+ this.head,
41
44
  options?.prompt
42
- ? new Input(host, {
45
+ ? new Input(parent, {
43
46
  onChange: (value) => {
44
47
  this.returnValue = value;
45
48
  },
@@ -56,31 +59,53 @@ export class Dialog extends UiComponent {
56
59
  value: options.promptValue,
57
60
  })
58
61
  : undefined,
59
- ...(options?.childrenAfterPrompt ?? []),
60
- new Delimiter(host),
61
- new Container(host, {
62
- children: coalesceArray([
63
- new Button(host, "OK", null, {
62
+ this.container,
63
+ new Delimiter(parent),
64
+ new Container(parent, {
65
+ classes: [stylesToolbarListItem.toolbar],
66
+ }).addChildren(coalesceArray([
67
+ new Button(parent, "OK", null, {
68
+ classes: [stylesButton.large],
69
+ onClick: () => {
70
+ this.close();
71
+ options?.onConfirm?.(this.returnValue);
72
+ },
73
+ }),
74
+ options?.hasCancel
75
+ ? new Button(parent, "Cancel", null, {
64
76
  classes: [stylesButton.large],
65
77
  onClick: () => {
66
78
  this.close();
67
- options?.onConfirm?.(this.returnValue);
79
+ options.onCancel?.();
68
80
  },
69
- }),
70
- options?.hasCancel
71
- ? new Button(host, "Cancel", null, {
72
- classes: [stylesButton.large],
73
- onClick: () => {
74
- this.close();
75
- options.onCancel?.();
76
- },
77
- })
78
- : undefined,
79
- ]),
80
- classes: [stylesToolbarListItem.toolbar],
81
- }),
81
+ })
82
+ : undefined,
83
+ ])),
82
84
  ]));
83
85
  }
86
+ toString() {
87
+ return `[${Dialog.name}#${this.componentId}]`;
88
+ }
89
+ addChildHead(child) {
90
+ this.head.addChild(child);
91
+ return this;
92
+ }
93
+ addChildrenHead(children) {
94
+ for (const child of children ?? []) {
95
+ this.head.addChild(child);
96
+ }
97
+ return this;
98
+ }
99
+ addChildContent(child) {
100
+ this.container.addChild(child);
101
+ return this;
102
+ }
103
+ addChildrenContent(children) {
104
+ for (const child of children ?? []) {
105
+ this.container.addChild(child);
106
+ }
107
+ return this;
108
+ }
84
109
  show() {
85
110
  $("#gamePageContainer").append(this.element);
86
111
  this.element[0].show();
@@ -93,21 +118,10 @@ export class Dialog extends UiComponent {
93
118
  this.element[0].close();
94
119
  this.element.remove();
95
120
  }
96
- static async prompt(host, text, title, initialValue, explainer) {
121
+ refreshUi() { }
122
+ static async prompt(parent, text, title, initialValue, explainer) {
97
123
  return new Promise(resolve => {
98
- new Dialog(host, {
99
- children: coalesceArray([
100
- title ? new HeaderListItem(host, title) : undefined,
101
- new Paragraph(host, text),
102
- ]),
103
- childrenAfterPrompt: explainer
104
- ? [
105
- new Container(host, {
106
- children: [new Paragraph(host, explainer)],
107
- classes: [stylesExplainer.explainer],
108
- }),
109
- ]
110
- : [],
124
+ new Dialog(parent, {
111
125
  hasCancel: true,
112
126
  hasClose: false,
113
127
  onCancel: () => {
@@ -118,7 +132,19 @@ export class Dialog extends UiComponent {
118
132
  },
119
133
  prompt: true,
120
134
  promptValue: initialValue,
121
- }).showModal();
135
+ })
136
+ .addChildrenHead(coalesceArray([
137
+ title ? new HeaderListItem(parent, title) : undefined,
138
+ new Paragraph(parent, text),
139
+ ]))
140
+ .addChildrenContent(explainer
141
+ ? [
142
+ new Container(parent, {
143
+ classes: [stylesExplainer.explainer],
144
+ }).addChildren([new Paragraph(parent, explainer)]),
145
+ ]
146
+ : [])
147
+ .showModal();
122
148
  });
123
149
  }
124
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../source/ui/components/Dialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../source/ui/components/Dialog.ts"],"names":[],"mappings":"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"}