@datamoc/mw_games 0.4.1 → 0.4.3

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 (260) hide show
  1. package/README.md +2 -2
  2. package/dist/actors/ItemStatusEffect.d.ts +1 -1
  3. package/dist/actors/ItemStatusEffect.d.ts.map +1 -1
  4. package/dist/actors/ItemStatusEffect.js +2 -11
  5. package/dist/actors/ItemStatusEffect.js.map +1 -1
  6. package/dist/actors/StatusEffect.d.ts +11 -0
  7. package/dist/actors/StatusEffect.d.ts.map +1 -1
  8. package/dist/actors/StatusEffect.js +21 -8
  9. package/dist/actors/StatusEffect.js.map +1 -1
  10. package/dist/assets/binary.d.ts +52 -0
  11. package/dist/assets/binary.d.ts.map +1 -0
  12. package/dist/assets/binary.js +57 -0
  13. package/dist/assets/binary.js.map +1 -0
  14. package/dist/assets/index.d.ts +10 -5
  15. package/dist/assets/index.d.ts.map +1 -1
  16. package/dist/assets/index.js +9 -5
  17. package/dist/assets/index.js.map +1 -1
  18. package/dist/board/Army.d.ts +75 -0
  19. package/dist/board/Army.d.ts.map +1 -1
  20. package/dist/board/Army.js +75 -0
  21. package/dist/board/Army.js.map +1 -1
  22. package/dist/board/Classics.d.ts +297 -1
  23. package/dist/board/Classics.d.ts.map +1 -1
  24. package/dist/board/Classics.js +297 -1
  25. package/dist/board/Classics.js.map +1 -1
  26. package/dist/board/Engine.d.ts +23 -0
  27. package/dist/board/Engine.d.ts.map +1 -1
  28. package/dist/board/Engine.js +23 -0
  29. package/dist/board/Engine.js.map +1 -1
  30. package/dist/board/FogOfWar.d.ts +20 -0
  31. package/dist/board/FogOfWar.d.ts.map +1 -1
  32. package/dist/board/FogOfWar.js +20 -0
  33. package/dist/board/FogOfWar.js.map +1 -1
  34. package/dist/board/Tactics.d.ts +158 -1
  35. package/dist/board/Tactics.d.ts.map +1 -1
  36. package/dist/board/Tactics.js +125 -1
  37. package/dist/board/Tactics.js.map +1 -1
  38. package/dist/board/chess.d.ts +87 -3
  39. package/dist/board/chess.d.ts.map +1 -1
  40. package/dist/board/chess.js +96 -4
  41. package/dist/board/chess.js.map +1 -1
  42. package/dist/core/HttpTransport.d.ts +1 -1
  43. package/dist/core/HttpTransport.js +1 -1
  44. package/dist/core/News.d.ts +6 -13
  45. package/dist/core/News.d.ts.map +1 -1
  46. package/dist/core/News.js +10 -23
  47. package/dist/core/News.js.map +1 -1
  48. package/dist/core/RunHistory.d.ts +1 -2
  49. package/dist/core/RunHistory.d.ts.map +1 -1
  50. package/dist/core/RunHistory.js +5 -6
  51. package/dist/core/RunHistory.js.map +1 -1
  52. package/dist/core/Stats.d.ts +1 -2
  53. package/dist/core/Stats.d.ts.map +1 -1
  54. package/dist/core/Stats.js +5 -6
  55. package/dist/core/Stats.js.map +1 -1
  56. package/dist/core/StoredValue.d.ts +21 -0
  57. package/dist/core/StoredValue.d.ts.map +1 -0
  58. package/dist/core/StoredValue.js +28 -0
  59. package/dist/core/StoredValue.js.map +1 -0
  60. package/dist/i18n/Content.d.ts +151 -0
  61. package/dist/i18n/Content.d.ts.map +1 -0
  62. package/dist/i18n/Content.js +219 -0
  63. package/dist/i18n/Content.js.map +1 -0
  64. package/dist/i18n/index.d.ts +35 -3
  65. package/dist/i18n/index.d.ts.map +1 -1
  66. package/dist/i18n/index.js +88 -6
  67. package/dist/i18n/index.js.map +1 -1
  68. package/dist/mw_games.global.js +90 -90
  69. package/dist/roguelike/Level.d.ts +10 -0
  70. package/dist/roguelike/Level.d.ts.map +1 -1
  71. package/dist/roguelike/Level.js +57 -17
  72. package/dist/roguelike/Level.js.map +1 -1
  73. package/dist/roguelike/Pathfinder.js +19 -19
  74. package/dist/roguelike/Pathfinder.js.map +1 -1
  75. package/dist/roguelike/Placement.d.ts +62 -0
  76. package/dist/roguelike/Placement.d.ts.map +1 -0
  77. package/dist/roguelike/Placement.js +79 -0
  78. package/dist/roguelike/Placement.js.map +1 -0
  79. package/dist/roguelike/index.d.ts +2 -0
  80. package/dist/roguelike/index.d.ts.map +1 -1
  81. package/dist/roguelike/index.js +1 -0
  82. package/dist/roguelike/index.js.map +1 -1
  83. package/dist/rpg/FreeMover.d.ts +1 -1
  84. package/dist/rpg/FreeMover.d.ts.map +1 -1
  85. package/dist/rpg/FreeMover.js +3 -6
  86. package/dist/rpg/FreeMover.js.map +1 -1
  87. package/dist/rpg/GridMover.d.ts +1 -1
  88. package/dist/rpg/GridMover.d.ts.map +1 -1
  89. package/dist/rpg/GridMover.js +3 -6
  90. package/dist/rpg/GridMover.js.map +1 -1
  91. package/dist/rpg/MovableSprite.d.ts +6 -0
  92. package/dist/rpg/MovableSprite.d.ts.map +1 -1
  93. package/dist/rpg/MovableSprite.js +9 -1
  94. package/dist/rpg/MovableSprite.js.map +1 -1
  95. package/dist/three-d/Models.d.ts +38 -1
  96. package/dist/three-d/Models.d.ts.map +1 -1
  97. package/dist/three-d/Models.js +66 -3
  98. package/dist/three-d/Models.js.map +1 -1
  99. package/dist/two-d/render/ActorAnimator.d.ts +32 -0
  100. package/dist/two-d/render/ActorAnimator.d.ts.map +1 -1
  101. package/dist/two-d/render/ActorAnimator.js +21 -0
  102. package/dist/two-d/render/ActorAnimator.js.map +1 -1
  103. package/dist/two-d/render/AnimatedSprite.d.ts +24 -4
  104. package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
  105. package/dist/two-d/render/AnimatedSprite.js +24 -4
  106. package/dist/two-d/render/AnimatedSprite.js.map +1 -1
  107. package/dist/two-d/render/Autotile.d.ts +33 -1
  108. package/dist/two-d/render/Autotile.d.ts.map +1 -1
  109. package/dist/two-d/render/Autotile.js +33 -1
  110. package/dist/two-d/render/Autotile.js.map +1 -1
  111. package/dist/two-d/render/Camera.d.ts +53 -1
  112. package/dist/two-d/render/Camera.d.ts.map +1 -1
  113. package/dist/two-d/render/Camera.js +36 -1
  114. package/dist/two-d/render/Camera.js.map +1 -1
  115. package/dist/two-d/render/Capabilities.d.ts +33 -0
  116. package/dist/two-d/render/Capabilities.d.ts.map +1 -1
  117. package/dist/two-d/render/Capabilities.js +33 -0
  118. package/dist/two-d/render/Capabilities.js.map +1 -1
  119. package/dist/two-d/render/ColorBlindness.d.ts +23 -0
  120. package/dist/two-d/render/ColorBlindness.d.ts.map +1 -1
  121. package/dist/two-d/render/ColorBlindness.js +23 -4
  122. package/dist/two-d/render/ColorBlindness.js.map +1 -1
  123. package/dist/two-d/render/ColorTransformBatcher.d.ts +67 -1
  124. package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
  125. package/dist/two-d/render/ColorTransformBatcher.js +57 -1
  126. package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
  127. package/dist/two-d/render/LayeredSprite.d.ts +19 -0
  128. package/dist/two-d/render/LayeredSprite.d.ts.map +1 -1
  129. package/dist/two-d/render/LayeredSprite.js +19 -0
  130. package/dist/two-d/render/LayeredSprite.js.map +1 -1
  131. package/dist/two-d/render/Minimap.d.ts +25 -1
  132. package/dist/two-d/render/Minimap.d.ts.map +1 -1
  133. package/dist/two-d/render/Minimap.js +25 -1
  134. package/dist/two-d/render/Minimap.js.map +1 -1
  135. package/dist/two-d/render/Particles.d.ts +26 -2
  136. package/dist/two-d/render/Particles.d.ts.map +1 -1
  137. package/dist/two-d/render/Particles.js +23 -0
  138. package/dist/two-d/render/Particles.js.map +1 -1
  139. package/dist/two-d/render/Projectile.d.ts +14 -0
  140. package/dist/two-d/render/Projectile.d.ts.map +1 -1
  141. package/dist/two-d/render/Projectile.js +14 -0
  142. package/dist/two-d/render/Projectile.js.map +1 -1
  143. package/dist/two-d/render/ScreenEffects.d.ts +15 -0
  144. package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
  145. package/dist/two-d/render/ScreenEffects.js +15 -0
  146. package/dist/two-d/render/ScreenEffects.js.map +1 -1
  147. package/dist/two-d/render/Shape2D.d.ts +58 -1
  148. package/dist/two-d/render/Shape2D.d.ts.map +1 -1
  149. package/dist/two-d/render/Shape2D.js +58 -1
  150. package/dist/two-d/render/Shape2D.js.map +1 -1
  151. package/dist/two-d/render/StatusVisuals.d.ts +22 -0
  152. package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
  153. package/dist/two-d/render/StatusVisuals.js +22 -0
  154. package/dist/two-d/render/StatusVisuals.js.map +1 -1
  155. package/dist/two-d/render/TileMap.d.ts +65 -3
  156. package/dist/two-d/render/TileMap.d.ts.map +1 -1
  157. package/dist/two-d/render/TileMap.js +65 -3
  158. package/dist/two-d/render/TileMap.js.map +1 -1
  159. package/dist/two-d/render/TiledMap.d.ts +9 -3
  160. package/dist/two-d/render/TiledMap.d.ts.map +1 -1
  161. package/dist/two-d/render/TiledMap.js +9 -3
  162. package/dist/two-d/render/TiledMap.js.map +1 -1
  163. package/dist/two-d/render/TintedSprite.d.ts +9 -2
  164. package/dist/two-d/render/TintedSprite.d.ts.map +1 -1
  165. package/dist/two-d/render/TintedSprite.js +9 -2
  166. package/dist/two-d/render/TintedSprite.js.map +1 -1
  167. package/dist/two-d/render/Types2D.d.ts +14 -2
  168. package/dist/two-d/render/Types2D.d.ts.map +1 -1
  169. package/dist/two-d/render/Types2D.js +14 -2
  170. package/dist/two-d/render/Types2D.js.map +1 -1
  171. package/dist/two-d/render/Viewport.d.ts +22 -0
  172. package/dist/two-d/render/Viewport.d.ts.map +1 -1
  173. package/dist/two-d/render/Viewport.js +22 -0
  174. package/dist/two-d/render/Viewport.js.map +1 -1
  175. package/dist/two-d/ui/Bar.d.ts +16 -3
  176. package/dist/two-d/ui/Bar.d.ts.map +1 -1
  177. package/dist/two-d/ui/Bar.js +16 -1
  178. package/dist/two-d/ui/Bar.js.map +1 -1
  179. package/dist/two-d/ui/BitmapLabel.d.ts +26 -10
  180. package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -1
  181. package/dist/two-d/ui/BitmapLabel.js +26 -3
  182. package/dist/two-d/ui/BitmapLabel.js.map +1 -1
  183. package/dist/two-d/ui/Button.d.ts +15 -0
  184. package/dist/two-d/ui/Button.d.ts.map +1 -1
  185. package/dist/two-d/ui/Button.js +15 -0
  186. package/dist/two-d/ui/Button.js.map +1 -1
  187. package/dist/two-d/ui/FloatingText.d.ts +15 -0
  188. package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
  189. package/dist/two-d/ui/FloatingText.js +15 -0
  190. package/dist/two-d/ui/FloatingText.js.map +1 -1
  191. package/dist/two-d/ui/HelpScreen.d.ts +16 -0
  192. package/dist/two-d/ui/HelpScreen.d.ts.map +1 -1
  193. package/dist/two-d/ui/HelpScreen.js +23 -3
  194. package/dist/two-d/ui/HelpScreen.js.map +1 -1
  195. package/dist/two-d/ui/IconGrid.d.ts +27 -3
  196. package/dist/two-d/ui/IconGrid.d.ts.map +1 -1
  197. package/dist/two-d/ui/IconGrid.js +71 -55
  198. package/dist/two-d/ui/IconGrid.js.map +1 -1
  199. package/dist/two-d/ui/Label.d.ts +12 -8
  200. package/dist/two-d/ui/Label.d.ts.map +1 -1
  201. package/dist/two-d/ui/Label.js +14 -3
  202. package/dist/two-d/ui/Label.js.map +1 -1
  203. package/dist/two-d/ui/ListView.d.ts +22 -4
  204. package/dist/two-d/ui/ListView.d.ts.map +1 -1
  205. package/dist/two-d/ui/ListView.js +44 -43
  206. package/dist/two-d/ui/ListView.js.map +1 -1
  207. package/dist/two-d/ui/LoadingScreen.d.ts +24 -1
  208. package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -1
  209. package/dist/two-d/ui/LoadingScreen.js +24 -1
  210. package/dist/two-d/ui/LoadingScreen.js.map +1 -1
  211. package/dist/two-d/ui/MessageBox.d.ts +21 -2
  212. package/dist/two-d/ui/MessageBox.d.ts.map +1 -1
  213. package/dist/two-d/ui/MessageBox.js +19 -0
  214. package/dist/two-d/ui/MessageBox.js.map +1 -1
  215. package/dist/two-d/ui/NinePatch.d.ts +12 -0
  216. package/dist/two-d/ui/NinePatch.d.ts.map +1 -1
  217. package/dist/two-d/ui/NinePatch.js +12 -0
  218. package/dist/two-d/ui/NinePatch.js.map +1 -1
  219. package/dist/two-d/ui/RebindScreen.d.ts +15 -0
  220. package/dist/two-d/ui/RebindScreen.d.ts.map +1 -1
  221. package/dist/two-d/ui/RebindScreen.js +15 -0
  222. package/dist/two-d/ui/RebindScreen.js.map +1 -1
  223. package/dist/two-d/ui/SelectionModel.d.ts +50 -0
  224. package/dist/two-d/ui/SelectionModel.d.ts.map +1 -0
  225. package/dist/two-d/ui/SelectionModel.js +73 -0
  226. package/dist/two-d/ui/SelectionModel.js.map +1 -0
  227. package/dist/two-d/ui/StatsScreen.d.ts +15 -0
  228. package/dist/two-d/ui/StatsScreen.d.ts.map +1 -1
  229. package/dist/two-d/ui/StatsScreen.js +15 -0
  230. package/dist/two-d/ui/StatsScreen.js.map +1 -1
  231. package/dist/two-d/ui/Toast.d.ts +12 -0
  232. package/dist/two-d/ui/Toast.d.ts.map +1 -1
  233. package/dist/two-d/ui/Toast.js +12 -0
  234. package/dist/two-d/ui/Toast.js.map +1 -1
  235. package/dist/two-d/ui/Tooltip.d.ts +14 -0
  236. package/dist/two-d/ui/Tooltip.d.ts.map +1 -1
  237. package/dist/two-d/ui/Tooltip.js +14 -0
  238. package/dist/two-d/ui/Tooltip.js.map +1 -1
  239. package/dist/two-d/ui/VerticalLabel.d.ts +18 -0
  240. package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -1
  241. package/dist/two-d/ui/VerticalLabel.js +18 -0
  242. package/dist/two-d/ui/VerticalLabel.js.map +1 -1
  243. package/dist/two-d/ui/Window.d.ts +12 -0
  244. package/dist/two-d/ui/Window.d.ts.map +1 -1
  245. package/dist/two-d/ui/Window.js +12 -0
  246. package/dist/two-d/ui/Window.js.map +1 -1
  247. package/dist/two-d/ui/theme.d.ts +45 -1
  248. package/dist/two-d/ui/theme.d.ts.map +1 -1
  249. package/dist/two-d/ui/theme.js +45 -1
  250. package/dist/two-d/ui/theme.js.map +1 -1
  251. package/dist/two-d/ui/themedText.d.ts +20 -0
  252. package/dist/two-d/ui/themedText.d.ts.map +1 -0
  253. package/dist/two-d/ui/themedText.js +9 -0
  254. package/dist/two-d/ui/themedText.js.map +1 -0
  255. package/dist/version.d.ts +1 -1
  256. package/dist/version.js +1 -1
  257. package/package.json +11 -2
  258. package/tools/compile-resources.mjs +1 -1
  259. package/tools/compress-dist.d.mts +16 -0
  260. package/tools/compress-dist.mjs +116 -0
@@ -12,6 +12,18 @@ import { Easing } from '../../core/Tween.js';
12
12
  * rather than chained tweens: a single frame boundary between phases keeps the whole
13
13
  * sequence exactly reproducible one `update` call at a time, which a test can drive without
14
14
  * waiting on any promise microtask to settle.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Toast } from '@datamoc/mw_games/two-d/ui';
19
+ * import { Text2D } from '@datamoc/mw_games/two-d/render';
20
+ *
21
+ * const toast = new Toast({ fadeIn: 0.2, hold: 1.5, fadeOut: 0.5 });
22
+ * toast.show(new Text2D({ text: 'Achievement unlocked: First Blood' }));
23
+ *
24
+ * console.log(toast.isBusy); // true - popping in
25
+ * toast.update(1 / 60); // called every frame from the scene's own update(dt)
26
+ * ```
15
27
  */
16
28
  export class Toast extends Container {
17
29
  constructor(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/two-d/ui/Toast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/two-d/ui/Toast.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,20 @@ export interface TooltipOptions {
26
26
  * Positioning is the other half: a tooltip near the right or bottom edge flips back inside the
27
27
  * viewport instead of being cut off, which is why `setViewport` has to be called from the
28
28
  * owning scene's own `resize`.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { Tooltip } from '@datamoc/mw_games/two-d/ui';
33
+ *
34
+ * const tooltip = new Tooltip({ delay: 0 });
35
+ * tooltip.setViewport(800, 600);
36
+ *
37
+ * tooltip.hover('Strength: raises attack', 120, 80);
38
+ * // called every frame from the scene's own update(dt); returns true once, the frame it appears
39
+ * console.log(tooltip.update(1 / 60)); // true - delay is 0, so it shows on the first frame
40
+ *
41
+ * tooltip.leave(); // the pointer moved off the stat row
42
+ * ```
29
43
  */
30
44
  export declare class Tooltip extends Container {
31
45
  private readonly delay;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKpC,MAAM,WAAW,cAAc;IAC9B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4FAA4F;IAC5F,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAE7B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IAEvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,OAAO,CAAuD;IACtE,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,OAAO,GAAE,cAAmB,EAcvC;IAED,2FAA2F;IAC3F,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI/C;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAW9C;IAED,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAIZ;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,uFAAuF;IACvF,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED,yFAAyF;IACzF,IAAI,aAAa,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,IAAI,IAAI,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,mGAAmG;IACnG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAmB1B;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAEzD;IAED,6FAA6F;IAC7F,OAAO,CAAC,KAAK;CAwBb"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKpC,MAAM,WAAW,cAAc;IAC9B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4FAA4F;IAC5F,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAE7B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IAEvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,OAAO,CAAuD;IACtE,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,OAAO,GAAE,cAAmB,EAcvC;IAED,2FAA2F;IAC3F,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI/C;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAW9C;IAED,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAIZ;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,uFAAuF;IACvF,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED,yFAAyF;IACzF,IAAI,aAAa,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,IAAI,IAAI,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,mGAAmG;IACnG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAmB1B;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAEzD;IAED,6FAA6F;IAC7F,OAAO,CAAC,KAAK;CAwBb"}
@@ -16,6 +16,20 @@ import { theme } from './theme.js';
16
16
  * Positioning is the other half: a tooltip near the right or bottom edge flips back inside the
17
17
  * viewport instead of being cut off, which is why `setViewport` has to be called from the
18
18
  * owning scene's own `resize`.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { Tooltip } from '@datamoc/mw_games/two-d/ui';
23
+ *
24
+ * const tooltip = new Tooltip({ delay: 0 });
25
+ * tooltip.setViewport(800, 600);
26
+ *
27
+ * tooltip.hover('Strength: raises attack', 120, 80);
28
+ * // called every frame from the scene's own update(dt); returns true once, the frame it appears
29
+ * console.log(tooltip.update(1 / 60)); // true - delay is 0, so it shows on the first frame
30
+ *
31
+ * tooltip.leave(); // the pointer moved off the stat row
32
+ * ```
19
33
  */
20
34
  export class Tooltip extends Container {
21
35
  constructor(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ export interface VerticalLayoutOptions {
20
20
  * Columns run right to left, each one top to bottom, which is the traditional order for
21
21
  * vertical Japanese and Chinese. `\n` in the source text forces a new column, the same way
22
22
  * it forces a new line in horizontal text.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { layoutVertical } from '@datamoc/mw_games/two-d/ui';
27
+ *
28
+ * const glyphs = layoutVertical('AB', { lineHeight: 10, columnHeight: 100 });
29
+ * console.log(glyphs[0]); // { char: 'A', x: -5, y: 5, rotate: true } - Latin letters rotate by default
30
+ * console.log(glyphs[1]); // { char: 'B', x: -5, y: 15, rotate: true }
31
+ * ```
23
32
  */
24
33
  export declare function layoutVertical(text: string, options: VerticalLayoutOptions): GlyphLayout[];
25
34
  export interface VerticalLabelOptions {
@@ -39,6 +48,15 @@ export interface VerticalLabelOptions {
39
48
  * within one column instead of rotating whole characters), and it does not reposition
40
49
  * punctuation to a cell's corner the way professionally typeset Japanese does. Both are
41
50
  * real refinements a native reader would want on top of this, not included here.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * import { VerticalLabel } from '@datamoc/mw_games/two-d/ui';
55
+ *
56
+ * const sign = new VerticalLabel({ text: '出口', columnHeight: 200, size: 24 });
57
+ * sign.x = 400;
58
+ * sign.y = 40;
59
+ * ```
42
60
  */
43
61
  export declare class VerticalLabel extends Container {
44
62
  private readonly opts;
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalLabel.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAiC1F;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,YAAY,OAAO,EAAE,oBAAoB,EAKxC;IAED,gGAAgG;IAChG,OAAO,CAAC,KAAK;IA4BJ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
1
+ {"version":3,"file":"VerticalLabel.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAiC1F;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,YAAY,OAAO,EAAE,oBAAoB,EAKxC;IAED,gGAAgG;IAChG,OAAO,CAAC,KAAK;IA4BJ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
@@ -10,6 +10,15 @@ const DEFAULT_ROTATE = /[A-Za-z0-9]/;
10
10
  * Columns run right to left, each one top to bottom, which is the traditional order for
11
11
  * vertical Japanese and Chinese. `\n` in the source text forces a new column, the same way
12
12
  * it forces a new line in horizontal text.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { layoutVertical } from '@datamoc/mw_games/two-d/ui';
17
+ *
18
+ * const glyphs = layoutVertical('AB', { lineHeight: 10, columnHeight: 100 });
19
+ * console.log(glyphs[0]); // { char: 'A', x: -5, y: 5, rotate: true } - Latin letters rotate by default
20
+ * console.log(glyphs[1]); // { char: 'B', x: -5, y: 15, rotate: true }
21
+ * ```
13
22
  */
14
23
  export function layoutVertical(text, options) {
15
24
  const { lineHeight, columnHeight } = options;
@@ -51,6 +60,15 @@ export function layoutVertical(text, options) {
51
60
  * within one column instead of rotating whole characters), and it does not reposition
52
61
  * punctuation to a cell's corner the way professionally typeset Japanese does. Both are
53
62
  * real refinements a native reader would want on top of this, not included here.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * import { VerticalLabel } from '@datamoc/mw_games/two-d/ui';
67
+ *
68
+ * const sign = new VerticalLabel({ text: '出口', columnHeight: 200, size: 24 });
69
+ * sign.x = 400;
70
+ * sign.y = 40;
71
+ * ```
54
72
  */
55
73
  export class VerticalLabel extends Container {
56
74
  constructor(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalLabel.js","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAiB7D,0FAA0F;AAC1F,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAA8B;IAC1E,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC;IAEhD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC;YACT,GAAG,GAAG,CAAC,CAAC;YACR,SAAS;QACV,CAAC;QACD,IAAI,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC;YACT,GAAG,GAAG,CAAC,CAAC;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,uFAAuF;QACvF,yBAAyB;QACzB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC;YACX,IAAI;YACJ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;YAChD,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU;YAClE,MAAM,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,GAAG,EAAE,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAUD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAI3C,YAAY,OAA6B;QACxC,KAAK,EAAE,CAAC;QAHQ,kBAAa,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAI5D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,gGAAgG;IACxF,KAAK,CAAC,CAAQ;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAC7C,UAAU;YACV,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;aAC3F,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAEQ,OAAO,CAAC,OAA6C;QAC7D,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CACD"}
1
+ {"version":3,"file":"VerticalLabel.js","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,18 @@ export interface WindowOptions {
28
28
  *
29
29
  * Contents go in `content`, whose origin is already inset past the frame and padding, so a
30
30
  * child placed at 0,0 sits correctly whatever the theme's border is.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * import { Window, Label } from '@datamoc/mw_games/two-d/ui';
35
+ *
36
+ * const confirm = new Window({ width: 200, height: 100, title: 'Leave?', anchor: 'center' });
37
+ * confirm.content.addChild(new Label({ text: 'Progress since your last save will be lost.' }));
38
+ * confirm.onClose.add(() => console.log('window closed'));
39
+ *
40
+ * confirm.place(800, 600); // centres it in an 800x600 viewport
41
+ * confirm.handleAction('cancel'); // closable defaults to true, so this closes it
42
+ * ```
31
43
  */
32
44
  export declare class Window extends Container {
33
45
  readonly content: Container<import("pixi.js").ContainerChild>;
@@ -1 +1 @@
1
- {"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACpC,QAAQ,CAAC,OAAO,8CAAmB;IACnC,QAAQ,CAAC,OAAO,eAAsB;IAEtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAE7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,YAAY,OAAO,EAAE,aAAa,EA0BjC;IAED,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAKf,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA6B1C;IAED,0FAA0F;IAC1F,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE3B;IAED;;;;;;OAMG;IACH,QAAQ,EAAE;QAAE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAQ;IAElE;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQpC;IAED,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExB;IAED,KAAK,IAAI,IAAI,CAIZ;IAED,2EAA2E;IAC3E,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAazD;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
1
+ {"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACpC,QAAQ,CAAC,OAAO,8CAAmB;IACnC,QAAQ,CAAC,OAAO,eAAsB;IAEtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAE7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,YAAY,OAAO,EAAE,aAAa,EA0BjC;IAED,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAKf,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA6B1C;IAED,0FAA0F;IAC1F,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE3B;IAED;;;;;;OAMG;IACH,QAAQ,EAAE;QAAE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAQ;IAElE;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQpC;IAED,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExB;IAED,KAAK,IAAI,IAAI,CAIZ;IAED,2EAA2E;IAC3E,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAazD;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
@@ -11,6 +11,18 @@ import { theme, themeChanged } from './theme.js';
11
11
  *
12
12
  * Contents go in `content`, whose origin is already inset past the frame and padding, so a
13
13
  * child placed at 0,0 sits correctly whatever the theme's border is.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { Window, Label } from '@datamoc/mw_games/two-d/ui';
18
+ *
19
+ * const confirm = new Window({ width: 200, height: 100, title: 'Leave?', anchor: 'center' });
20
+ * confirm.content.addChild(new Label({ text: 'Progress since your last save will be lost.' }));
21
+ * confirm.onClose.add(() => console.log('window closed'));
22
+ *
23
+ * confirm.place(800, 600); // centres it in an 800x600 viewport
24
+ * confirm.handleAction('cancel'); // closable defaults to true, so this closes it
25
+ * ```
14
26
  */
15
27
  export class Window extends Container {
16
28
  constructor(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0BjD;;;;;;;;GAQG;AACH,MAAM,OAAO,MAAO,SAAQ,SAAS;IAoBpC,YAAY,OAAsB;QACjC,KAAK,EAAE,CAAC;QApBA,YAAO,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,YAAO,GAAG,IAAI,MAAM,EAAQ,CAAC;QAQ9B,eAAU,GAAiB,IAAI,CAAC;QAEhC,eAAU,GAAG,CAAC,CAAC;QACf,gBAAW,GAAG,CAAC,CAAC;QAEhB,iBAAY,GAAG,CAAC,CAAC;QACjB,kBAAa,GAAG,CAAC,CAAC;QAET,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAgFtD;;;;;;WAMG;QACH,aAAQ,GAAqD,IAAI,CAAC;QAlFjE,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;QAEzC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACP,+EAA+E;YAC/E,0BAA0B;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,QAAQ,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,2FAA2F;IACnF,OAAO;QACd,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAc;QACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,YAAY,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QAEjC,IAAI,IAAI,CAAC,UAAU,YAAY,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,UAAU;iBACb,KAAK,EAAE;iBACP,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;iBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;iBAClC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1F,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;YAC1B,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC;QAE5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,0FAA0F;IAC1F,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAWD;;;;OAIG;IACH,YAAY,CAAC,MAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAErD,IAAI,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,GAAW;QACjB,+CAA+C;IAChD,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,aAAqB,EAAE,cAAsB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAEQ,OAAO,CAAC,OAA6C;QAC7D,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CACD"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,17 @@ export interface Theme {
44
44
  */
45
45
  direction: Direction;
46
46
  }
47
+ /**
48
+ * The palette every widget starts with, before a game calls `setTheme`.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * import { defaultTheme } from '@datamoc/mw_games/two-d/ui';
53
+ *
54
+ * console.log(defaultTheme.color.text); // 0xe8e8f0
55
+ * console.log(defaultTheme.padding); // 8
56
+ * ```
57
+ */
47
58
  export declare const defaultTheme: Theme;
48
59
  /**
49
60
  * A ready-made high-contrast preset: pure white text on black panels, a thicker border, and
@@ -53,8 +64,23 @@ export declare const defaultTheme: Theme;
53
64
  * `ui.HelpScreen` already is over `Window`/`ListView`/`Label`. `setTheme(highContrastTheme)`
54
65
  * applies it; a game with its own colours can still start from this and override just what
55
66
  * it wants to keep, the same as any partial object `setTheme` accepts.
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * import { setTheme, highContrastTheme } from '@datamoc/mw_games/two-d/ui';
71
+ *
72
+ * setTheme(highContrastTheme); // an accessibility toggle in the settings screen
73
+ * ```
56
74
  */
57
75
  export declare const highContrastTheme: Theme;
76
+ /**
77
+ * @example
78
+ * ```ts
79
+ * import { theme } from '@datamoc/mw_games/two-d/ui';
80
+ *
81
+ * console.log(theme().color.text); // 0xe8e8f0 - the default, until a game calls setTheme
82
+ * ```
83
+ */
58
84
  export declare function theme(): Theme;
59
85
  /**
60
86
  * Fired with the new theme every time `setTheme` runs.
@@ -64,8 +90,26 @@ export declare function theme(): Theme;
64
90
  * a day/night palette swap or a light/dark toggle subscribes here and reapplies its own style
65
91
  * from the value passed in, the same shape `i18n`'s `direction` already flows into
66
92
  * `theme.direction` from a game's own glue code. Every built-in widget already does this.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { themeChanged } from '@datamoc/mw_games/two-d/ui';
97
+ *
98
+ * themeChanged.add((next) => console.log('theme changed, text colour is now', next.color.text));
99
+ * ```
67
100
  */
68
101
  export declare const themeChanged: Signal<Theme>;
69
- /** replaces the theme; partial objects are merged over the default */
102
+ /**
103
+ * Replaces the theme; partial objects are merged over the default.
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * import { setTheme, theme } from '@datamoc/mw_games/two-d/ui';
108
+ *
109
+ * setTheme({ color: { ...theme().color, textHighlight: 0x66ff66 } });
110
+ * console.log(theme().color.textHighlight); // 0x66ff66
111
+ * console.log(theme().padding); // 8 - everything else stays at the default
112
+ * ```
113
+ */
70
114
  export declare function setTheme(next: Partial<Theme>): void;
71
115
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,wDAAwD;QACxD,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,qDAAqD;QACrD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,0CAA0C;QAC1C,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAqB1B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAC;AAIF,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,eAAsB,CAAC;AAEhD,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAQnD"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,wDAAwD;QACxD,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,qDAAqD;QACrD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,0CAA0C;QAC1C,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,KAqB1B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAC;AAIF;;;;;;;GAOG;AACH,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,eAAsB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAQnD"}
@@ -1,4 +1,15 @@
1
1
  import { Signal } from '../../core/Signal.js';
2
+ /**
3
+ * The palette every widget starts with, before a game calls `setTheme`.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { defaultTheme } from '@datamoc/mw_games/two-d/ui';
8
+ *
9
+ * console.log(defaultTheme.color.text); // 0xe8e8f0
10
+ * console.log(defaultTheme.padding); // 8
11
+ * ```
12
+ */
2
13
  export const defaultTheme = {
3
14
  panelBorder: 4,
4
15
  padding: 8,
@@ -29,6 +40,13 @@ export const defaultTheme = {
29
40
  * `ui.HelpScreen` already is over `Window`/`ListView`/`Label`. `setTheme(highContrastTheme)`
30
41
  * applies it; a game with its own colours can still start from this and override just what
31
42
  * it wants to keep, the same as any partial object `setTheme` accepts.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * import { setTheme, highContrastTheme } from '@datamoc/mw_games/two-d/ui';
47
+ *
48
+ * setTheme(highContrastTheme); // an accessibility toggle in the settings screen
49
+ * ```
32
50
  */
33
51
  export const highContrastTheme = {
34
52
  panelBorder: 6,
@@ -52,6 +70,14 @@ export const highContrastTheme = {
52
70
  overlayAlpha: 0.85,
53
71
  };
54
72
  let current = defaultTheme;
73
+ /**
74
+ * @example
75
+ * ```ts
76
+ * import { theme } from '@datamoc/mw_games/two-d/ui';
77
+ *
78
+ * console.log(theme().color.text); // 0xe8e8f0 - the default, until a game calls setTheme
79
+ * ```
80
+ */
55
81
  export function theme() {
56
82
  return current;
57
83
  }
@@ -63,9 +89,27 @@ export function theme() {
63
89
  * a day/night palette swap or a light/dark toggle subscribes here and reapplies its own style
64
90
  * from the value passed in, the same shape `i18n`'s `direction` already flows into
65
91
  * `theme.direction` from a game's own glue code. Every built-in widget already does this.
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * import { themeChanged } from '@datamoc/mw_games/two-d/ui';
96
+ *
97
+ * themeChanged.add((next) => console.log('theme changed, text colour is now', next.color.text));
98
+ * ```
66
99
  */
67
100
  export const themeChanged = new Signal();
68
- /** replaces the theme; partial objects are merged over the default */
101
+ /**
102
+ * Replaces the theme; partial objects are merged over the default.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * import { setTheme, theme } from '@datamoc/mw_games/two-d/ui';
107
+ *
108
+ * setTheme({ color: { ...theme().color, textHighlight: 0x66ff66 } });
109
+ * console.log(theme().color.textHighlight); // 0x66ff66
110
+ * console.log(theme().padding); // 8 - everything else stays at the default
111
+ * ```
112
+ */
69
113
  export function setTheme(next) {
70
114
  current = {
71
115
  ...defaultTheme,
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAsD9C,MAAM,CAAC,MAAM,YAAY,GAAU;IAClC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,kFAAkF;QAClF,MAAM,EAAE,uDAAuD;QAC/D,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACvC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;QAChC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,IAAI;CAClB,CAAC;AAEF,IAAI,OAAO,GAAU,YAAY,CAAC;AAElC,MAAM,UAAU,KAAK;IACpB,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,EAAS,CAAC;AAEhD,sEAAsE;AACtE,MAAM,UAAU,QAAQ,CAAC,IAAoB;IAC5C,OAAO,GAAG;QACT,GAAG,YAAY;QACf,GAAG,IAAI;QACP,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;KAC/C,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAsD9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAU;IAClC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,kFAAkF;QAClF,MAAM,EAAE,uDAAuD;QAC/D,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACvC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;QAChC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,IAAI;CAClB,CAAC;AAEF,IAAI,OAAO,GAAU,YAAY,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK;IACpB,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,EAAS,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAoB;IAC5C,OAAO,GAAG;QACT,GAAG,YAAY;QACf,GAAG,IAAI;QACP,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;KAC/C,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Theme } from './theme.ts';
2
+ /**
3
+ * The text options `Label` and `BitmapLabel` share. Each one extends this with whatever its
4
+ * own renderer needs (`Label` adds stroke/resolution/roundPixels); the shared fields stay in
5
+ * one place so the two labels cannot drift apart on what "themed text" accepts.
6
+ */
7
+ export interface ThemedTextOptions {
8
+ text?: string;
9
+ color?: number;
10
+ size?: number;
11
+ /** wraps at this width in pixels; omit for a single unwrapped line */
12
+ wrapWidth?: number;
13
+ align?: 'left' | 'center' | 'right';
14
+ bold?: boolean;
15
+ }
16
+ /** accepts the `options | string` shorthand both labels offer in their constructors */
17
+ export declare function normalizeTextOptions<T extends ThemedTextOptions>(options: T | string): T;
18
+ /** the align a label uses when the game gave none: the theme direction, not a fixed left */
19
+ export declare function themedAlign(opts: ThemedTextOptions, t: Theme): 'left' | 'center' | 'right';
20
+ //# sourceMappingURL=themedText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themedText.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/themedText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAExF;AAED,4FAA4F;AAC5F,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAE1F"}
@@ -0,0 +1,9 @@
1
+ /** accepts the `options | string` shorthand both labels offer in their constructors */
2
+ export function normalizeTextOptions(options) {
3
+ return typeof options === 'string' ? ({ text: options }) : options;
4
+ }
5
+ /** the align a label uses when the game gave none: the theme direction, not a fixed left */
6
+ export function themedAlign(opts, t) {
7
+ return opts.align ?? (t.direction === 'rtl' ? 'right' : 'left');
8
+ }
9
+ //# sourceMappingURL=themedText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themedText.js","sourceRoot":"","sources":["../../../src/two-d/ui/themedText.ts"],"names":[],"mappings":"AAiBA,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAA8B,OAAmB;IACpF,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,CAAQ;IAC5D,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC"}
package/dist/version.d.ts CHANGED
@@ -9,5 +9,5 @@
9
9
  * this from `package.json` automatically, chosen because this project's own build already
10
10
  * has no step before `tsc`/`vite` that this would need to run ahead of.
11
11
  */
12
- export declare const version = "0.4.1";
12
+ export declare const version = "0.4.3";
13
13
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -9,5 +9,5 @@
9
9
  * this from `package.json` automatically, chosen because this project's own build already
10
10
  * has no step before `tsc`/`vite` that this would need to run ahead of.
11
11
  */
12
- export const version = '0.4.1';
12
+ export const version = '0.4.3';
13
13
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datamoc/mw_games",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "A local-file game framework: renderer-free game logic, drawn through PixiJS in 2D or Babylon.js in 3D, with mobile and desktop packaging.",
5
5
  "license": "MPL-2.0",
6
6
  "repository": {
@@ -39,6 +39,8 @@
39
39
  "files": [
40
40
  "dist",
41
41
  "tools/compile-resources.mjs",
42
+ "tools/compress-dist.mjs",
43
+ "tools/compress-dist.d.mts",
42
44
  "LICENSE",
43
45
  "README.md"
44
46
  ],
@@ -67,6 +69,10 @@
67
69
  "types": "./dist/assets/paths.d.ts",
68
70
  "import": "./dist/assets/paths.js"
69
71
  },
72
+ "./assets/binary": {
73
+ "types": "./dist/assets/binary.d.ts",
74
+ "import": "./dist/assets/binary.js"
75
+ },
70
76
  "./audio": {
71
77
  "types": "./dist/audio/index.d.ts",
72
78
  "import": "./dist/audio/index.js"
@@ -100,6 +106,7 @@
100
106
  "import": "./dist/simulation/index.js"
101
107
  },
102
108
  "./tools/compile-resources": "./tools/compile-resources.mjs",
109
+ "./tools/compress-dist": "./tools/compress-dist.mjs",
103
110
  "./two-d": {
104
111
  "types": "./dist/two-d/index.d.ts",
105
112
  "import": "./dist/two-d/index.js"
@@ -186,7 +193,9 @@
186
193
  "cap:open:ios": "npm run cap:cli -- open ios",
187
194
  "desktop:build": "npm run mobile:build && dotnet build desktop/MwgDesktopHost",
188
195
  "desktop:run": "npm run mobile:build && dotnet run --project desktop/MwgDesktopHost",
189
- "multiplayer:server": "node tools/multiplayer-server.mjs"
196
+ "multiplayer:server": "node tools/multiplayer-server.mjs",
197
+ "roadmap:progress": "node tools/roadmap-progress.mjs",
198
+ "roadmap:browser": "node tools/roadmap-progress.mjs --browser"
190
199
  },
191
200
  "dependencies": {
192
201
  "pixi.js": "^8.20.1",
@@ -37,7 +37,7 @@ export const DEFAULT_MIME = {
37
37
  '.txt': 'text/plain',
38
38
  };
39
39
 
40
- async function* walk(dir) {
40
+ export async function* walk(dir) {
41
41
  let entries;
42
42
  try {
43
43
  entries = await readdir(dir, { withFileTypes: true });
@@ -0,0 +1,16 @@
1
+ export interface CompressOptions {
2
+ gzip?: boolean;
3
+ brotli?: boolean;
4
+ xz?: boolean;
5
+ }
6
+
7
+ export interface CompressRow {
8
+ file: string;
9
+ raw: number;
10
+ gzip: number;
11
+ brotli: number;
12
+ xz: number;
13
+ }
14
+
15
+ export function hasXz(): boolean;
16
+ export function compressDist(dir: string, options?: CompressOptions): Promise<CompressRow[]>;