@malilion/block-ui-react 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/dist/components/actions/BlockMenu/BlockMenu.d.ts +9 -0
  2. package/dist/components/actions/BlockMenu/BlockMenu.d.ts.map +1 -0
  3. package/dist/components/actions/BlockMenu/BlockMenu.js +211 -0
  4. package/dist/components/actions/BlockMenu/BlockMenu.js.map +1 -0
  5. package/dist/components/actions/BlockMenu/BlockMenu.module.js +23 -0
  6. package/dist/components/actions/BlockMenu/BlockMenu.module.js.map +1 -0
  7. package/dist/components/actions/BlockMenu/BlockMenu.types.d.ts +42 -0
  8. package/dist/components/actions/BlockMenu/BlockMenu.types.d.ts.map +1 -0
  9. package/dist/components/actions/BlockMenu/BlockMenu.utils.d.ts +10 -0
  10. package/dist/components/actions/BlockMenu/BlockMenu.utils.d.ts.map +1 -0
  11. package/dist/components/actions/BlockMenu/BlockMenu.utils.js +26 -0
  12. package/dist/components/actions/BlockMenu/BlockMenu.utils.js.map +1 -0
  13. package/dist/components/actions/BlockMenu/index.d.ts +3 -0
  14. package/dist/components/actions/BlockMenu/index.d.ts.map +1 -0
  15. package/dist/components/actions/index.d.ts +1 -0
  16. package/dist/components/actions/index.d.ts.map +1 -1
  17. package/dist/components/cards/ServerBrowser/ServerBrowser.d.ts +7 -0
  18. package/dist/components/cards/ServerBrowser/ServerBrowser.d.ts.map +1 -0
  19. package/dist/components/cards/ServerBrowser/ServerBrowser.js +106 -0
  20. package/dist/components/cards/ServerBrowser/ServerBrowser.js.map +1 -0
  21. package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts +22 -0
  22. package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts.map +1 -0
  23. package/dist/components/cards/ServerBrowser/ServerBrowser.utils.d.ts +8 -0
  24. package/dist/components/cards/ServerBrowser/ServerBrowser.utils.d.ts.map +1 -0
  25. package/dist/components/cards/ServerBrowser/ServerBrowser.utils.js +16 -0
  26. package/dist/components/cards/ServerBrowser/ServerBrowser.utils.js.map +1 -0
  27. package/dist/components/cards/ServerBrowser/index.d.ts +4 -0
  28. package/dist/components/cards/ServerBrowser/index.d.ts.map +1 -0
  29. package/dist/components/cards/WorldBrowser/WorldBrowser.d.ts +4 -0
  30. package/dist/components/cards/WorldBrowser/WorldBrowser.d.ts.map +1 -0
  31. package/dist/components/cards/WorldBrowser/WorldBrowser.js +101 -0
  32. package/dist/components/cards/WorldBrowser/WorldBrowser.js.map +1 -0
  33. package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts +22 -0
  34. package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts.map +1 -0
  35. package/dist/components/cards/WorldBrowser/WorldBrowser.utils.d.ts +10 -0
  36. package/dist/components/cards/WorldBrowser/WorldBrowser.utils.d.ts.map +1 -0
  37. package/dist/components/cards/WorldBrowser/WorldBrowser.utils.js +12 -0
  38. package/dist/components/cards/WorldBrowser/WorldBrowser.utils.js.map +1 -0
  39. package/dist/components/cards/WorldBrowser/index.d.ts +4 -0
  40. package/dist/components/cards/WorldBrowser/index.d.ts.map +1 -0
  41. package/dist/components/cards/browser.module.js +23 -0
  42. package/dist/components/cards/browser.module.js.map +1 -0
  43. package/dist/components/cards/index.d.ts +2 -0
  44. package/dist/components/cards/index.d.ts.map +1 -1
  45. package/dist/components/crafting/Anvil/Anvil.d.ts +7 -0
  46. package/dist/components/crafting/Anvil/Anvil.d.ts.map +1 -0
  47. package/dist/components/crafting/Anvil/Anvil.js +94 -0
  48. package/dist/components/crafting/Anvil/Anvil.js.map +1 -0
  49. package/dist/components/crafting/Anvil/Anvil.module.js +21 -0
  50. package/dist/components/crafting/Anvil/Anvil.module.js.map +1 -0
  51. package/dist/components/crafting/Anvil/Anvil.types.d.ts +25 -0
  52. package/dist/components/crafting/Anvil/Anvil.types.d.ts.map +1 -0
  53. package/dist/components/crafting/Anvil/Anvil.utils.d.ts +3 -0
  54. package/dist/components/crafting/Anvil/Anvil.utils.d.ts.map +1 -0
  55. package/dist/components/crafting/Anvil/Anvil.utils.js +11 -0
  56. package/dist/components/crafting/Anvil/Anvil.utils.js.map +1 -0
  57. package/dist/components/crafting/Anvil/index.d.ts +5 -0
  58. package/dist/components/crafting/Anvil/index.d.ts.map +1 -0
  59. package/dist/components/crafting/BrewingStand/BrewingStand.d.ts +7 -0
  60. package/dist/components/crafting/BrewingStand/BrewingStand.d.ts.map +1 -0
  61. package/dist/components/crafting/BrewingStand/BrewingStand.js +116 -0
  62. package/dist/components/crafting/BrewingStand/BrewingStand.js.map +1 -0
  63. package/dist/components/crafting/BrewingStand/BrewingStand.module.js +29 -0
  64. package/dist/components/crafting/BrewingStand/BrewingStand.module.js.map +1 -0
  65. package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts +22 -0
  66. package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts.map +1 -0
  67. package/dist/components/crafting/BrewingStand/BrewingStand.types.js +11 -0
  68. package/dist/components/crafting/BrewingStand/BrewingStand.types.js.map +1 -0
  69. package/dist/components/crafting/BrewingStand/BrewingStand.utils.d.ts +6 -0
  70. package/dist/components/crafting/BrewingStand/BrewingStand.utils.d.ts.map +1 -0
  71. package/dist/components/crafting/BrewingStand/BrewingStand.utils.js +13 -0
  72. package/dist/components/crafting/BrewingStand/BrewingStand.utils.js.map +1 -0
  73. package/dist/components/crafting/BrewingStand/index.d.ts +5 -0
  74. package/dist/components/crafting/BrewingStand/index.d.ts.map +1 -0
  75. package/dist/components/crafting/EnchantingTable/EnchantingTable.d.ts +7 -0
  76. package/dist/components/crafting/EnchantingTable/EnchantingTable.d.ts.map +1 -0
  77. package/dist/components/crafting/EnchantingTable/EnchantingTable.js +105 -0
  78. package/dist/components/crafting/EnchantingTable/EnchantingTable.js.map +1 -0
  79. package/dist/components/crafting/EnchantingTable/EnchantingTable.module.js +32 -0
  80. package/dist/components/crafting/EnchantingTable/EnchantingTable.module.js.map +1 -0
  81. package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts +29 -0
  82. package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts.map +1 -0
  83. package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.d.ts +11 -0
  84. package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.d.ts.map +1 -0
  85. package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.js +14 -0
  86. package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.js.map +1 -0
  87. package/dist/components/crafting/EnchantingTable/index.d.ts +3 -0
  88. package/dist/components/crafting/EnchantingTable/index.d.ts.map +1 -0
  89. package/dist/components/crafting/RecipeBook/RecipeBook.d.ts +7 -0
  90. package/dist/components/crafting/RecipeBook/RecipeBook.d.ts.map +1 -0
  91. package/dist/components/crafting/RecipeBook/RecipeBook.js +149 -0
  92. package/dist/components/crafting/RecipeBook/RecipeBook.js.map +1 -0
  93. package/dist/components/crafting/RecipeBook/RecipeBook.module.js +39 -0
  94. package/dist/components/crafting/RecipeBook/RecipeBook.module.js.map +1 -0
  95. package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts +36 -0
  96. package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts.map +1 -0
  97. package/dist/components/crafting/RecipeBook/RecipeBook.utils.d.ts +9 -0
  98. package/dist/components/crafting/RecipeBook/RecipeBook.utils.d.ts.map +1 -0
  99. package/dist/components/crafting/RecipeBook/RecipeBook.utils.js +21 -0
  100. package/dist/components/crafting/RecipeBook/RecipeBook.utils.js.map +1 -0
  101. package/dist/components/crafting/RecipeBook/index.d.ts +4 -0
  102. package/dist/components/crafting/RecipeBook/index.d.ts.map +1 -0
  103. package/dist/components/crafting/TradingUI/TradingUI.d.ts +7 -0
  104. package/dist/components/crafting/TradingUI/TradingUI.d.ts.map +1 -0
  105. package/dist/components/crafting/TradingUI/TradingUI.js +181 -0
  106. package/dist/components/crafting/TradingUI/TradingUI.js.map +1 -0
  107. package/dist/components/crafting/TradingUI/TradingUI.module.js +39 -0
  108. package/dist/components/crafting/TradingUI/TradingUI.module.js.map +1 -0
  109. package/dist/components/crafting/TradingUI/TradingUI.types.d.ts +36 -0
  110. package/dist/components/crafting/TradingUI/TradingUI.types.d.ts.map +1 -0
  111. package/dist/components/crafting/TradingUI/TradingUI.types.js +12 -0
  112. package/dist/components/crafting/TradingUI/TradingUI.types.js.map +1 -0
  113. package/dist/components/crafting/TradingUI/TradingUI.utils.d.ts +3 -0
  114. package/dist/components/crafting/TradingUI/TradingUI.utils.d.ts.map +1 -0
  115. package/dist/components/crafting/TradingUI/TradingUI.utils.js +8 -0
  116. package/dist/components/crafting/TradingUI/TradingUI.utils.js.map +1 -0
  117. package/dist/components/crafting/TradingUI/index.d.ts +4 -0
  118. package/dist/components/crafting/TradingUI/index.d.ts.map +1 -0
  119. package/dist/components/crafting/index.d.ts +5 -0
  120. package/dist/components/crafting/index.d.ts.map +1 -1
  121. package/dist/components/display/BlockTable/BlockTable.d.ts +8 -0
  122. package/dist/components/display/BlockTable/BlockTable.d.ts.map +1 -0
  123. package/dist/components/display/BlockTable/BlockTable.js +92 -0
  124. package/dist/components/display/BlockTable/BlockTable.js.map +1 -0
  125. package/dist/components/display/BlockTable/BlockTable.module.js +31 -0
  126. package/dist/components/display/BlockTable/BlockTable.module.js.map +1 -0
  127. package/dist/components/display/BlockTable/BlockTable.types.d.ts +49 -0
  128. package/dist/components/display/BlockTable/BlockTable.types.d.ts.map +1 -0
  129. package/dist/components/display/BlockTable/BlockTable.utils.d.ts +8 -0
  130. package/dist/components/display/BlockTable/BlockTable.utils.d.ts.map +1 -0
  131. package/dist/components/display/BlockTable/BlockTable.utils.js +48 -0
  132. package/dist/components/display/BlockTable/BlockTable.utils.js.map +1 -0
  133. package/dist/components/display/BlockTable/index.d.ts +3 -0
  134. package/dist/components/display/BlockTable/index.d.ts.map +1 -0
  135. package/dist/components/display/BlockTooltip/BlockTooltip.d.ts +8 -0
  136. package/dist/components/display/BlockTooltip/BlockTooltip.d.ts.map +1 -0
  137. package/dist/components/display/BlockTooltip/BlockTooltip.js +83 -0
  138. package/dist/components/display/BlockTooltip/BlockTooltip.js.map +1 -0
  139. package/dist/components/display/BlockTooltip/BlockTooltip.module.js +11 -0
  140. package/dist/components/display/BlockTooltip/BlockTooltip.module.js.map +1 -0
  141. package/dist/components/display/BlockTooltip/BlockTooltip.types.d.ts +20 -0
  142. package/dist/components/display/BlockTooltip/BlockTooltip.types.d.ts.map +1 -0
  143. package/dist/components/display/BlockTooltip/BlockTooltip.types.js +11 -0
  144. package/dist/components/display/BlockTooltip/BlockTooltip.types.js.map +1 -0
  145. package/dist/components/display/BlockTooltip/index.d.ts +4 -0
  146. package/dist/components/display/BlockTooltip/index.d.ts.map +1 -0
  147. package/dist/components/display/SkillTree/SkillTree.d.ts +8 -0
  148. package/dist/components/display/SkillTree/SkillTree.d.ts.map +1 -0
  149. package/dist/components/display/SkillTree/SkillTree.js +138 -0
  150. package/dist/components/display/SkillTree/SkillTree.js.map +1 -0
  151. package/dist/components/display/SkillTree/SkillTree.module.js +33 -0
  152. package/dist/components/display/SkillTree/SkillTree.module.js.map +1 -0
  153. package/dist/components/display/SkillTree/SkillTree.types.d.ts +29 -0
  154. package/dist/components/display/SkillTree/SkillTree.types.d.ts.map +1 -0
  155. package/dist/components/display/SkillTree/SkillTree.utils.d.ts +8 -0
  156. package/dist/components/display/SkillTree/SkillTree.utils.d.ts.map +1 -0
  157. package/dist/components/display/SkillTree/SkillTree.utils.js +16 -0
  158. package/dist/components/display/SkillTree/SkillTree.utils.js.map +1 -0
  159. package/dist/components/display/SkillTree/index.d.ts +4 -0
  160. package/dist/components/display/SkillTree/index.d.ts.map +1 -0
  161. package/dist/components/display/index.d.ts +3 -0
  162. package/dist/components/display/index.d.ts.map +1 -1
  163. package/dist/components/hud/BiomeIndicator/BiomeIndicator.d.ts +4 -0
  164. package/dist/components/hud/BiomeIndicator/BiomeIndicator.d.ts.map +1 -0
  165. package/dist/components/hud/BiomeIndicator/BiomeIndicator.js +39 -0
  166. package/dist/components/hud/BiomeIndicator/BiomeIndicator.js.map +1 -0
  167. package/dist/components/hud/BiomeIndicator/BiomeIndicator.module.js +11 -0
  168. package/dist/components/hud/BiomeIndicator/BiomeIndicator.module.js.map +1 -0
  169. package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.d.ts +16 -0
  170. package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.d.ts.map +1 -0
  171. package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.js +18 -0
  172. package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.js.map +1 -0
  173. package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.d.ts +8 -0
  174. package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.d.ts.map +1 -0
  175. package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.js +55 -0
  176. package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.js.map +1 -0
  177. package/dist/components/hud/BiomeIndicator/index.d.ts +4 -0
  178. package/dist/components/hud/BiomeIndicator/index.d.ts.map +1 -0
  179. package/dist/components/hud/BossBar/BossBar.d.ts +4 -0
  180. package/dist/components/hud/BossBar/BossBar.d.ts.map +1 -0
  181. package/dist/components/hud/BossBar/BossBar.js +56 -0
  182. package/dist/components/hud/BossBar/BossBar.js.map +1 -0
  183. package/dist/components/hud/BossBar/BossBar.module.js +19 -0
  184. package/dist/components/hud/BossBar/BossBar.module.js.map +1 -0
  185. package/dist/components/hud/BossBar/BossBar.types.d.ts +22 -0
  186. package/dist/components/hud/BossBar/BossBar.types.d.ts.map +1 -0
  187. package/dist/components/hud/BossBar/BossBar.types.js +21 -0
  188. package/dist/components/hud/BossBar/BossBar.types.js.map +1 -0
  189. package/dist/components/hud/BossBar/index.d.ts +4 -0
  190. package/dist/components/hud/BossBar/index.d.ts.map +1 -0
  191. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.d.ts +4 -0
  192. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.d.ts.map +1 -0
  193. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js +96 -0
  194. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js.map +1 -0
  195. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.module.js +17 -0
  196. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.module.js.map +1 -0
  197. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.d.ts +19 -0
  198. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.d.ts.map +1 -0
  199. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.js +11 -0
  200. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.js.map +1 -0
  201. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.d.ts +7 -0
  202. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.d.ts.map +1 -0
  203. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.js +24 -0
  204. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.js.map +1 -0
  205. package/dist/components/hud/CoordinatesHUD/index.d.ts +4 -0
  206. package/dist/components/hud/CoordinatesHUD/index.d.ts.map +1 -0
  207. package/dist/components/hud/DayNightIndicator/DayNightIndicator.d.ts +4 -0
  208. package/dist/components/hud/DayNightIndicator/DayNightIndicator.d.ts.map +1 -0
  209. package/dist/components/hud/DayNightIndicator/DayNightIndicator.js +70 -0
  210. package/dist/components/hud/DayNightIndicator/DayNightIndicator.js.map +1 -0
  211. package/dist/components/hud/DayNightIndicator/DayNightIndicator.module.js +19 -0
  212. package/dist/components/hud/DayNightIndicator/DayNightIndicator.module.js.map +1 -0
  213. package/dist/components/hud/DayNightIndicator/DayNightIndicator.types.d.ts +17 -0
  214. package/dist/components/hud/DayNightIndicator/DayNightIndicator.types.d.ts.map +1 -0
  215. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts +15 -0
  216. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts.map +1 -0
  217. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js +43 -0
  218. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js.map +1 -0
  219. package/dist/components/hud/DayNightIndicator/index.d.ts +4 -0
  220. package/dist/components/hud/DayNightIndicator/index.d.ts.map +1 -0
  221. package/dist/components/hud/MiniMap/MiniMap.d.ts +8 -0
  222. package/dist/components/hud/MiniMap/MiniMap.d.ts.map +1 -0
  223. package/dist/components/hud/MiniMap/MiniMap.js +76 -0
  224. package/dist/components/hud/MiniMap/MiniMap.js.map +1 -0
  225. package/dist/components/hud/MiniMap/MiniMap.module.js +17 -0
  226. package/dist/components/hud/MiniMap/MiniMap.module.js.map +1 -0
  227. package/dist/components/hud/MiniMap/MiniMap.types.d.ts +43 -0
  228. package/dist/components/hud/MiniMap/MiniMap.types.d.ts.map +1 -0
  229. package/dist/components/hud/MiniMap/MiniMap.types.js +26 -0
  230. package/dist/components/hud/MiniMap/MiniMap.types.js.map +1 -0
  231. package/dist/components/hud/MiniMap/MiniMap.utils.d.ts +14 -0
  232. package/dist/components/hud/MiniMap/MiniMap.utils.d.ts.map +1 -0
  233. package/dist/components/hud/MiniMap/MiniMap.utils.js +47 -0
  234. package/dist/components/hud/MiniMap/MiniMap.utils.js.map +1 -0
  235. package/dist/components/hud/MiniMap/index.d.ts +5 -0
  236. package/dist/components/hud/MiniMap/index.d.ts.map +1 -0
  237. package/dist/components/hud/Scoreboard/Scoreboard.d.ts +7 -0
  238. package/dist/components/hud/Scoreboard/Scoreboard.d.ts.map +1 -0
  239. package/dist/components/hud/Scoreboard/Scoreboard.js +89 -0
  240. package/dist/components/hud/Scoreboard/Scoreboard.js.map +1 -0
  241. package/dist/components/hud/Scoreboard/Scoreboard.module.js +25 -0
  242. package/dist/components/hud/Scoreboard/Scoreboard.module.js.map +1 -0
  243. package/dist/components/hud/Scoreboard/Scoreboard.types.d.ts +23 -0
  244. package/dist/components/hud/Scoreboard/Scoreboard.types.d.ts.map +1 -0
  245. package/dist/components/hud/Scoreboard/Scoreboard.utils.d.ts +5 -0
  246. package/dist/components/hud/Scoreboard/Scoreboard.utils.d.ts.map +1 -0
  247. package/dist/components/hud/Scoreboard/Scoreboard.utils.js +15 -0
  248. package/dist/components/hud/Scoreboard/Scoreboard.utils.js.map +1 -0
  249. package/dist/components/hud/Scoreboard/index.d.ts +3 -0
  250. package/dist/components/hud/Scoreboard/index.d.ts.map +1 -0
  251. package/dist/components/hud/WeatherIndicator/WeatherIndicator.d.ts +4 -0
  252. package/dist/components/hud/WeatherIndicator/WeatherIndicator.d.ts.map +1 -0
  253. package/dist/components/hud/WeatherIndicator/WeatherIndicator.js +52 -0
  254. package/dist/components/hud/WeatherIndicator/WeatherIndicator.js.map +1 -0
  255. package/dist/components/hud/WeatherIndicator/WeatherIndicator.module.js +15 -0
  256. package/dist/components/hud/WeatherIndicator/WeatherIndicator.module.js.map +1 -0
  257. package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.d.ts +17 -0
  258. package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.d.ts.map +1 -0
  259. package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.js +12 -0
  260. package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.js.map +1 -0
  261. package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.d.ts +5 -0
  262. package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.d.ts.map +1 -0
  263. package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js +22 -0
  264. package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js.map +1 -0
  265. package/dist/components/hud/WeatherIndicator/index.d.ts +4 -0
  266. package/dist/components/hud/WeatherIndicator/index.d.ts.map +1 -0
  267. package/dist/components/hud/hudChip.module.js +15 -0
  268. package/dist/components/hud/hudChip.module.js.map +1 -0
  269. package/dist/components/hud/index.d.ts +7 -0
  270. package/dist/components/hud/index.d.ts.map +1 -1
  271. package/dist/components/layout/BlockDivider/BlockDivider.d.ts +7 -0
  272. package/dist/components/layout/BlockDivider/BlockDivider.d.ts.map +1 -0
  273. package/dist/components/layout/BlockDivider/BlockDivider.js +54 -0
  274. package/dist/components/layout/BlockDivider/BlockDivider.js.map +1 -0
  275. package/dist/components/layout/BlockDivider/BlockDivider.module.js +13 -0
  276. package/dist/components/layout/BlockDivider/BlockDivider.module.js.map +1 -0
  277. package/dist/components/layout/BlockDivider/BlockDivider.types.d.ts +14 -0
  278. package/dist/components/layout/BlockDivider/BlockDivider.types.d.ts.map +1 -0
  279. package/dist/components/layout/BlockDivider/BlockDivider.types.js +10 -0
  280. package/dist/components/layout/BlockDivider/BlockDivider.types.js.map +1 -0
  281. package/dist/components/layout/BlockDivider/index.d.ts +4 -0
  282. package/dist/components/layout/BlockDivider/index.d.ts.map +1 -0
  283. package/dist/components/layout/BlockStack/BlockStack.d.ts +4 -0
  284. package/dist/components/layout/BlockStack/BlockStack.d.ts.map +1 -0
  285. package/dist/components/layout/BlockStack/BlockStack.js +22 -0
  286. package/dist/components/layout/BlockStack/BlockStack.js.map +1 -0
  287. package/dist/components/layout/BlockStack/BlockStack.module.js +7 -0
  288. package/dist/components/layout/BlockStack/BlockStack.module.js.map +1 -0
  289. package/dist/components/layout/BlockStack/BlockStack.types.d.ts +24 -0
  290. package/dist/components/layout/BlockStack/BlockStack.types.d.ts.map +1 -0
  291. package/dist/components/layout/BlockStack/BlockStack.types.js +18 -0
  292. package/dist/components/layout/BlockStack/BlockStack.types.js.map +1 -0
  293. package/dist/components/layout/BlockStack/index.d.ts +4 -0
  294. package/dist/components/layout/BlockStack/index.d.ts.map +1 -0
  295. package/dist/components/layout/index.d.ts +2 -0
  296. package/dist/components/layout/index.d.ts.map +1 -1
  297. package/dist/components/navigation/BlockPagination/BlockPagination.d.ts +7 -0
  298. package/dist/components/navigation/BlockPagination/BlockPagination.d.ts.map +1 -0
  299. package/dist/components/navigation/BlockPagination/BlockPagination.js +83 -0
  300. package/dist/components/navigation/BlockPagination/BlockPagination.js.map +1 -0
  301. package/dist/components/navigation/BlockPagination/BlockPagination.module.js +19 -0
  302. package/dist/components/navigation/BlockPagination/BlockPagination.module.js.map +1 -0
  303. package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts +22 -0
  304. package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts.map +1 -0
  305. package/dist/components/navigation/BlockPagination/BlockPagination.utils.d.ts +7 -0
  306. package/dist/components/navigation/BlockPagination/BlockPagination.utils.d.ts.map +1 -0
  307. package/dist/components/navigation/BlockPagination/BlockPagination.utils.js +26 -0
  308. package/dist/components/navigation/BlockPagination/BlockPagination.utils.js.map +1 -0
  309. package/dist/components/navigation/BlockPagination/index.d.ts +5 -0
  310. package/dist/components/navigation/BlockPagination/index.d.ts.map +1 -0
  311. package/dist/components/navigation/index.d.ts +1 -0
  312. package/dist/components/navigation/index.d.ts.map +1 -1
  313. package/dist/components/social/ChatWindow/ChatWindow.d.ts +8 -0
  314. package/dist/components/social/ChatWindow/ChatWindow.d.ts.map +1 -0
  315. package/dist/components/social/ChatWindow/ChatWindow.js +146 -0
  316. package/dist/components/social/ChatWindow/ChatWindow.js.map +1 -0
  317. package/dist/components/social/ChatWindow/ChatWindow.module.js +27 -0
  318. package/dist/components/social/ChatWindow/ChatWindow.module.js.map +1 -0
  319. package/dist/components/social/ChatWindow/ChatWindow.types.d.ts +29 -0
  320. package/dist/components/social/ChatWindow/ChatWindow.types.d.ts.map +1 -0
  321. package/dist/components/social/ChatWindow/ChatWindow.types.js +12 -0
  322. package/dist/components/social/ChatWindow/ChatWindow.types.js.map +1 -0
  323. package/dist/components/social/ChatWindow/index.d.ts +4 -0
  324. package/dist/components/social/ChatWindow/index.d.ts.map +1 -0
  325. package/dist/components/social/CommandConsole/CommandConsole.d.ts +7 -0
  326. package/dist/components/social/CommandConsole/CommandConsole.d.ts.map +1 -0
  327. package/dist/components/social/CommandConsole/CommandConsole.js +187 -0
  328. package/dist/components/social/CommandConsole/CommandConsole.js.map +1 -0
  329. package/dist/components/social/CommandConsole/CommandConsole.module.js +31 -0
  330. package/dist/components/social/CommandConsole/CommandConsole.module.js.map +1 -0
  331. package/dist/components/social/CommandConsole/CommandConsole.types.d.ts +28 -0
  332. package/dist/components/social/CommandConsole/CommandConsole.types.d.ts.map +1 -0
  333. package/dist/components/social/CommandConsole/CommandConsole.types.js +11 -0
  334. package/dist/components/social/CommandConsole/CommandConsole.types.js.map +1 -0
  335. package/dist/components/social/CommandConsole/CommandConsole.utils.d.ts +4 -0
  336. package/dist/components/social/CommandConsole/CommandConsole.utils.d.ts.map +1 -0
  337. package/dist/components/social/CommandConsole/CommandConsole.utils.js +11 -0
  338. package/dist/components/social/CommandConsole/CommandConsole.utils.js.map +1 -0
  339. package/dist/components/social/CommandConsole/index.d.ts +5 -0
  340. package/dist/components/social/CommandConsole/index.d.ts.map +1 -0
  341. package/dist/components/social/index.d.ts +3 -0
  342. package/dist/components/social/index.d.ts.map +1 -0
  343. package/dist/hooks/useAnchoredPosition.d.ts +17 -0
  344. package/dist/hooks/useAnchoredPosition.d.ts.map +1 -0
  345. package/dist/hooks/useAnchoredPosition.js +62 -0
  346. package/dist/hooks/useAnchoredPosition.js.map +1 -0
  347. package/dist/index.d.ts +1 -0
  348. package/dist/index.d.ts.map +1 -1
  349. package/dist/index.js +46 -1
  350. package/dist/styles.css +2452 -354
  351. package/dist/utils/position.d.ts +41 -0
  352. package/dist/utils/position.d.ts.map +1 -0
  353. package/dist/utils/position.js +48 -0
  354. package/dist/utils/position.js.map +1 -0
  355. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/CoordinatesHUD/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DayNightIndicatorProps } from "./DayNightIndicator.types";
2
+ /** Day / night read-out: a pixel arc with the sun or moon, the day counter and the clock. */
3
+ export declare const DayNightIndicator: import("react").ForwardRefExoticComponent<DayNightIndicatorProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ //# sourceMappingURL=DayNightIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayNightIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/DayNightIndicator/DayNightIndicator.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAKxE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,mHA0D7B,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { cx } from "../../../utils/cx.js";
2
+ import hudChip_module_default from "../hudChip.module.js";
3
+ import DayNightIndicator_module_default from "./DayNightIndicator.module.js";
4
+ import { arcPosition, dayPhase, formatClock } from "./DayNightIndicator.utils.js";
5
+ import { forwardRef } from "react";
6
+ import { MoonIcon, SunIcon } from "@malilion/block-ui-icons";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region src/components/hud/DayNightIndicator/DayNightIndicator.tsx
9
+ var PHASE_LABEL = {
10
+ dawn: "Dawn",
11
+ day: "Day",
12
+ dusk: "Dusk",
13
+ night: "Night"
14
+ };
15
+ /** Day / night read-out: a pixel arc with the sun or moon, the day counter and the clock. */
16
+ var DayNightIndicator = forwardRef(function DayNightIndicator({ time, day, format = "24h", showDial = true, size = "md", label = "Time of day", className, ...rest }, ref) {
17
+ const phase = dayPhase(time);
18
+ const clock = formatClock(time, format);
19
+ const { body, progress, height } = arcPosition(time);
20
+ const Body = body === "sun" ? SunIcon : MoonIcon;
21
+ return /* @__PURE__ */ jsxs("div", {
22
+ ref,
23
+ role: "group",
24
+ "aria-label": label,
25
+ "data-phase": phase,
26
+ "data-size": size,
27
+ className: cx(hudChip_module_default.chip, DayNightIndicator_module_default.dayNight, className),
28
+ ...rest,
29
+ children: [showDial ? /* @__PURE__ */ jsxs("span", {
30
+ className: DayNightIndicator_module_default.dial,
31
+ "aria-hidden": "true",
32
+ style: {
33
+ "--block-dial-x": progress.toFixed(3),
34
+ "--block-dial-y": height.toFixed(3)
35
+ },
36
+ children: [/* @__PURE__ */ jsx("span", { className: DayNightIndicator_module_default.horizon }), /* @__PURE__ */ jsx("span", {
37
+ className: DayNightIndicator_module_default.body,
38
+ "data-body": body,
39
+ children: /* @__PURE__ */ jsx(Body, { size: 16 })
40
+ })]
41
+ }) : null, /* @__PURE__ */ jsxs("span", {
42
+ className: DayNightIndicator_module_default.text,
43
+ children: [
44
+ day !== void 0 ? /* @__PURE__ */ jsxs("span", { children: [
45
+ /* @__PURE__ */ jsx("span", {
46
+ className: hudChip_module_default.label,
47
+ children: "Day"
48
+ }),
49
+ " ",
50
+ /* @__PURE__ */ jsx("span", {
51
+ className: hudChip_module_default.value,
52
+ children: day
53
+ })
54
+ ] }) : null,
55
+ /* @__PURE__ */ jsx("span", {
56
+ className: hudChip_module_default.value,
57
+ children: clock
58
+ }),
59
+ /* @__PURE__ */ jsx("span", {
60
+ className: DayNightIndicator_module_default.phase,
61
+ children: PHASE_LABEL[phase]
62
+ })
63
+ ]
64
+ })]
65
+ });
66
+ });
67
+ //#endregion
68
+ export { DayNightIndicator };
69
+
70
+ //# sourceMappingURL=DayNightIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayNightIndicator.js","names":["chip","styles"],"sources":["../../../../src/components/hud/DayNightIndicator/DayNightIndicator.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef, type CSSProperties } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport chip from \"../hudChip.module.css\";\nimport styles from \"./DayNightIndicator.module.css\";\nimport type { DayNightIndicatorProps } from \"./DayNightIndicator.types\";\nimport { arcPosition, dayPhase, formatClock } from \"./DayNightIndicator.utils\";\n\nconst PHASE_LABEL = { dawn: \"Dawn\", day: \"Day\", dusk: \"Dusk\", night: \"Night\" } as const;\n\n/** Day / night read-out: a pixel arc with the sun or moon, the day counter and the clock. */\nexport const DayNightIndicator = forwardRef<HTMLDivElement, DayNightIndicatorProps>(\n function DayNightIndicator(\n {\n time,\n day,\n format = \"24h\",\n showDial = true,\n size = \"md\",\n label = \"Time of day\",\n className,\n ...rest\n },\n ref,\n ) {\n const phase = dayPhase(time);\n const clock = formatClock(time, format);\n const { body, progress, height } = arcPosition(time);\n const Body = body === \"sun\" ? SunIcon : MoonIcon;\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={label}\n data-phase={phase}\n data-size={size}\n className={cx(chip.chip, styles.dayNight, className)}\n {...rest}\n >\n {showDial ? (\n <span\n className={styles.dial}\n aria-hidden=\"true\"\n style={\n {\n \"--block-dial-x\": progress.toFixed(3),\n \"--block-dial-y\": height.toFixed(3),\n } as CSSProperties\n }\n >\n <span className={styles.horizon} />\n <span className={styles.body} data-body={body}>\n <Body size={16} />\n </span>\n </span>\n ) : null}\n <span className={styles.text}>\n {day !== undefined ? (\n <span>\n <span className={chip.label}>Day</span> <span className={chip.value}>{day}</span>\n </span>\n ) : null}\n <span className={chip.value}>{clock}</span>\n <span className={styles.phase}>{PHASE_LABEL[phase]}</span>\n </span>\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;;AAQA,IAAM,cAAc;CAAE,MAAM;CAAQ,KAAK;CAAO,MAAM;CAAQ,OAAO;AAAQ;;AAG7E,IAAa,oBAAoB,WAC/B,SAAS,kBACP,EACE,MACA,KACA,SAAS,OACT,WAAW,MACX,OAAO,MACP,QAAQ,eACR,WACA,GAAG,QAEL,KACA;CACA,MAAM,QAAQ,SAAS,IAAI;CAC3B,MAAM,QAAQ,YAAY,MAAM,MAAM;CACtC,MAAM,EAAE,MAAM,UAAU,WAAW,YAAY,IAAI;CACnD,MAAM,OAAO,SAAS,QAAQ,UAAU;CAExC,OACE,qBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAY;EACZ,cAAY;EACZ,aAAW;EACX,WAAW,GAAGA,uBAAK,MAAMC,iCAAO,UAAU,SAAS;EACnD,GAAI;EAPN,UAAA,CASG,WACC,qBAAC,QAAD;GACE,WAAWA,iCAAO;GAClB,eAAY;GACZ,OACE;IACE,kBAAkB,SAAS,QAAQ,CAAC;IACpC,kBAAkB,OAAO,QAAQ,CAAC;GACpC;GAPJ,UAAA,CAUE,oBAAC,QAAD,EAAM,WAAWA,iCAAO,QAAU,CAAA,GAClC,oBAAC,QAAD;IAAM,WAAWA,iCAAO;IAAM,aAAW;IACvC,UAAA,oBAAC,MAAD,EAAM,MAAM,GAAK,CAAA;GACb,CAAA,CACF;EACJ,CAAA,IAAA,MACJ,qBAAC,QAAD;GAAM,WAAWA,iCAAO;GAAxB,UAAA;IACG,QAAQ,KAAA,IACP,qBAAC,QAAD,EAAA,UAAA;KACE,oBAAC,QAAD;MAAM,WAAWD,uBAAK;MAAO,UAAA;KAAS,CAAA;KAAC;KAAC,oBAAC,QAAD;MAAM,WAAWA,uBAAK;MAAQ,UAAA;KAAU,CAAA;IAC5E,EAAA,CAAA,IACJ;IACJ,oBAAC,QAAD;KAAM,WAAWA,uBAAK;KAAQ,UAAA;IAAY,CAAA;IAC1C,oBAAC,QAAD;KAAM,WAAWC,iCAAO;KAAQ,UAAA,YAAY;IAAa,CAAA;GACrD;EACH,CAAA,CAAA;;AAET,CACF"}
@@ -0,0 +1,19 @@
1
+ //#region src/components/hud/DayNightIndicator/DayNightIndicator.module.css
2
+ var dayNight = "block-dayNight-LObYN";
3
+ var dial = "block-dial-R5NuO";
4
+ var horizon = "block-horizon-QANfm";
5
+ var body = "block-body-9QH1O";
6
+ var text = "block-text-ZOb1z";
7
+ var phase = "block-phase-nm6iH";
8
+ var DayNightIndicator_module_default = {
9
+ dayNight,
10
+ dial,
11
+ horizon,
12
+ body,
13
+ text,
14
+ phase
15
+ };
16
+ //#endregion
17
+ export { body, dayNight, DayNightIndicator_module_default as default, dial, horizon, phase, text };
18
+
19
+ //# sourceMappingURL=DayNightIndicator.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayNightIndicator.module.js","names":[],"sources":["../../../../src/components/hud/DayNightIndicator/DayNightIndicator.module.css"],"sourcesContent":[".dayNight {\n gap: var(--block-space-3);\n}\n\n/* Sky arc: the body travels along a half ellipse above the horizon. */\n.dial {\n --dial-w: 56px;\n --dial-h: 28px;\n position: relative;\n flex-shrink: 0;\n width: var(--dial-w);\n height: var(--dial-h);\n overflow: hidden;\n background: linear-gradient(\n to top,\n color-mix(in srgb, var(--block-water) 60%, transparent),\n color-mix(in srgb, var(--block-water-dark) 30%, transparent)\n );\n border-bottom: 2px solid var(--block-grass);\n}\n\n.dayNight[data-phase=\"night\"] .dial {\n background: linear-gradient(\n to top,\n color-mix(in srgb, var(--block-obsidian-light) 80%, transparent),\n color-mix(in srgb, var(--block-black) 60%, transparent)\n );\n}\n\n.dayNight[data-phase=\"dawn\"] .dial,\n.dayNight[data-phase=\"dusk\"] .dial {\n background: linear-gradient(\n to top,\n color-mix(in srgb, var(--block-lava) 70%, transparent),\n color-mix(in srgb, var(--block-amethyst-dark) 50%, transparent)\n );\n}\n\n.dayNight[data-size=\"lg\"] .dial {\n --dial-w: 80px;\n --dial-h: 40px;\n}\n\n.dayNight[data-size=\"sm\"] .dial {\n --dial-w: 40px;\n --dial-h: 20px;\n}\n\n.horizon {\n position: absolute;\n inset: auto 0 0;\n height: 2px;\n background-color: var(--block-grass-dark);\n}\n\n.body {\n position: absolute;\n left: calc(var(--block-dial-x) * (var(--dial-w) - 16px));\n bottom: calc(var(--block-dial-y) * (var(--dial-h) - 16px) - 4px);\n display: inline-flex;\n image-rendering: pixelated;\n transition:\n left var(--block-duration-normal) var(--block-ease-step),\n bottom var(--block-duration-normal) var(--block-ease-step);\n}\n\n.text {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: baseline;\n gap: var(--block-space-2);\n}\n\n.phase {\n color: var(--block-gold-light);\n}\n\n.dayNight[data-phase=\"night\"] .phase {\n color: var(--block-diamond-light);\n}\n"],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { HTMLAttributes } from "react";
2
+ export type DayPhase = "dawn" | "day" | "dusk" | "night";
3
+ export interface DayNightIndicatorProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** In-game time of day in hours, 0–24 (fractions allowed: 14.5 = 14:30). */
5
+ time: number;
6
+ /** Day counter shown before the clock, e.g. "Day 156". */
7
+ day?: number;
8
+ /** @default "24h" */
9
+ format?: "24h" | "12h";
10
+ /** Show the sun / moon arc. @default true */
11
+ showDial?: boolean;
12
+ /** @default "md" */
13
+ size?: "sm" | "md" | "lg";
14
+ /** Accessible name of the group. @default "Time of day" */
15
+ label?: string;
16
+ }
17
+ //# sourceMappingURL=DayNightIndicator.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayNightIndicator.types.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/DayNightIndicator/DayNightIndicator.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,15 @@
1
+ import type { DayPhase } from "./DayNightIndicator.types";
2
+ /** Wraps any number of hours into [0, 24). */
3
+ export declare function normalizeTime(time: number): number;
4
+ export declare function dayPhase(time: number): DayPhase;
5
+ export declare function formatClock(time: number, format: "24h" | "12h"): string;
6
+ /**
7
+ * Where the sun (06:00–18:00) or moon (18:00–06:00) sits on the arc:
8
+ * `progress` 0 → 1 runs left to right, `height` 0 → 1 → 0 rises and sets.
9
+ */
10
+ export declare function arcPosition(time: number): {
11
+ body: "sun" | "moon";
12
+ progress: number;
13
+ height: number;
14
+ };
15
+ //# sourceMappingURL=DayNightIndicator.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayNightIndicator.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/DayNightIndicator/DayNightIndicator.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAM/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAYvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IACzC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAKA"}
@@ -0,0 +1,43 @@
1
+ //#region src/components/hud/DayNightIndicator/DayNightIndicator.utils.ts
2
+ /** Wraps any number of hours into [0, 24). */
3
+ function normalizeTime(time) {
4
+ return (time % 24 + 24) % 24;
5
+ }
6
+ function dayPhase(time) {
7
+ const t = normalizeTime(time);
8
+ if (t >= 5 && t < 7) return "dawn";
9
+ if (t >= 7 && t < 17) return "day";
10
+ if (t >= 17 && t < 19) return "dusk";
11
+ return "night";
12
+ }
13
+ function formatClock(time, format) {
14
+ const t = normalizeTime(time);
15
+ let hours = Math.floor(t);
16
+ let minutes = Math.round((t - hours) * 60);
17
+ if (minutes === 60) {
18
+ minutes = 0;
19
+ hours = (hours + 1) % 24;
20
+ }
21
+ const mm = String(minutes).padStart(2, "0");
22
+ if (format === "24h") return `${String(hours).padStart(2, "0")}:${mm}`;
23
+ const suffix = hours < 12 ? "AM" : "PM";
24
+ return `${hours % 12 === 0 ? 12 : hours % 12}:${mm} ${suffix}`;
25
+ }
26
+ /**
27
+ * Where the sun (06:00–18:00) or moon (18:00–06:00) sits on the arc:
28
+ * `progress` 0 → 1 runs left to right, `height` 0 → 1 → 0 rises and sets.
29
+ */
30
+ function arcPosition(time) {
31
+ const t = normalizeTime(time);
32
+ const body = t >= 6 && t < 18 ? "sun" : "moon";
33
+ const progress = (t - 6 + 24) % 24 % 12 / 12;
34
+ return {
35
+ body,
36
+ progress,
37
+ height: Math.sin(Math.PI * progress)
38
+ };
39
+ }
40
+ //#endregion
41
+ export { arcPosition, dayPhase, formatClock, normalizeTime };
42
+
43
+ //# sourceMappingURL=DayNightIndicator.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayNightIndicator.utils.js","names":[],"sources":["../../../../src/components/hud/DayNightIndicator/DayNightIndicator.utils.ts"],"sourcesContent":["import type { DayPhase } from \"./DayNightIndicator.types\";\n\n/** Wraps any number of hours into [0, 24). */\nexport function normalizeTime(time: number): number {\n return ((time % 24) + 24) % 24;\n}\n\nexport function dayPhase(time: number): DayPhase {\n const t = normalizeTime(time);\n if (t >= 5 && t < 7) return \"dawn\";\n if (t >= 7 && t < 17) return \"day\";\n if (t >= 17 && t < 19) return \"dusk\";\n return \"night\";\n}\n\nexport function formatClock(time: number, format: \"24h\" | \"12h\"): string {\n const t = normalizeTime(time);\n let hours = Math.floor(t);\n let minutes = Math.round((t - hours) * 60);\n if (minutes === 60) {\n minutes = 0;\n hours = (hours + 1) % 24;\n }\n const mm = String(minutes).padStart(2, \"0\");\n if (format === \"24h\") return `${String(hours).padStart(2, \"0\")}:${mm}`;\n const suffix = hours < 12 ? \"AM\" : \"PM\";\n return `${hours % 12 === 0 ? 12 : hours % 12}:${mm} ${suffix}`;\n}\n\n/**\n * Where the sun (06:00–18:00) or moon (18:00–06:00) sits on the arc:\n * `progress` 0 → 1 runs left to right, `height` 0 → 1 → 0 rises and sets.\n */\nexport function arcPosition(time: number): {\n body: \"sun\" | \"moon\";\n progress: number;\n height: number;\n} {\n const t = normalizeTime(time);\n const body = t >= 6 && t < 18 ? \"sun\" : \"moon\";\n const progress = (((t - 6 + 24) % 24) % 12) / 12;\n return { body, progress, height: Math.sin(Math.PI * progress) };\n}\n"],"mappings":";;AAGA,SAAgB,cAAc,MAAsB;CAClD,QAAS,OAAO,KAAM,MAAM;AAC9B;AAEA,SAAgB,SAAS,MAAwB;CAC/C,MAAM,IAAI,cAAc,IAAI;CAC5B,IAAI,KAAK,KAAK,IAAI,GAAG,OAAO;CAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO;CAC7B,IAAI,KAAK,MAAM,IAAI,IAAI,OAAO;CAC9B,OAAO;AACT;AAEA,SAAgB,YAAY,MAAc,QAA+B;CACvE,MAAM,IAAI,cAAc,IAAI;CAC5B,IAAI,QAAQ,KAAK,MAAM,CAAC;CACxB,IAAI,UAAU,KAAK,OAAO,IAAI,SAAS,EAAE;CACzC,IAAI,YAAY,IAAI;EAClB,UAAU;EACV,SAAS,QAAQ,KAAK;CACxB;CACA,MAAM,KAAK,OAAO,OAAO,CAAC,CAAC,SAAS,GAAG,GAAG;CAC1C,IAAI,WAAW,OAAO,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG;CAClE,MAAM,SAAS,QAAQ,KAAK,OAAO;CACnC,OAAO,GAAG,QAAQ,OAAO,IAAI,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG;AACxD;;;;;AAMA,SAAgB,YAAY,MAI1B;CACA,MAAM,IAAI,cAAc,IAAI;CAC5B,MAAM,OAAO,KAAK,KAAK,IAAI,KAAK,QAAQ;CACxC,MAAM,YAAc,IAAI,IAAI,MAAM,KAAM,KAAM;CAC9C,OAAO;EAAE;EAAM;EAAU,QAAQ,KAAK,IAAI,KAAK,KAAK,QAAQ;CAAE;AAChE"}
@@ -0,0 +1,4 @@
1
+ export { DayNightIndicator } from "./DayNightIndicator";
2
+ export { dayPhase, formatClock } from "./DayNightIndicator.utils";
3
+ export type { DayNightIndicatorProps, DayPhase } from "./DayNightIndicator.types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/DayNightIndicator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { MiniMapProps } from "./MiniMap.types";
2
+ /**
3
+ * Top-down mini map: terrain pixels centred on the player, a heading arrow,
4
+ * markers and a compass "N". Screen readers get the heading and each marker's
5
+ * distance and direction as text.
6
+ */
7
+ export declare const MiniMap: import("react").ForwardRefExoticComponent<MiniMapProps & import("react").RefAttributes<HTMLElement>>;
8
+ //# sourceMappingURL=MiniMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/MiniMap/MiniMap.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;;GAIG;AACH,eAAO,MAAM,OAAO,sGAsElB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { cx } from "../../../utils/cx.js";
2
+ import MiniMap_module_default from "./MiniMap.module.js";
3
+ import { compassName, describeMarker, terrainRuns } from "./MiniMap.utils.js";
4
+ import { forwardRef, useId } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/components/hud/MiniMap/MiniMap.tsx
7
+ /**
8
+ * Top-down mini map: terrain pixels centred on the player, a heading arrow,
9
+ * markers and a compass "N". Screen readers get the heading and each marker's
10
+ * distance and direction as text.
11
+ */
12
+ var MiniMap = forwardRef(function MiniMap({ tiles, heading = 0, markers = [], shape = "square", size = "md", label = "Mini map", className, ...rest }, ref) {
13
+ const captionId = useId();
14
+ const rows = Math.max(1, tiles.length);
15
+ const columns = Math.max(1, ...tiles.map((row) => row.length));
16
+ const cx0 = columns / 2;
17
+ const cy0 = rows / 2;
18
+ return /* @__PURE__ */ jsxs("figure", {
19
+ ref,
20
+ "aria-labelledby": captionId,
21
+ "data-shape": shape,
22
+ "data-size": size,
23
+ className: cx(MiniMap_module_default.map, className),
24
+ ...rest,
25
+ children: [
26
+ /* @__PURE__ */ jsxs("svg", {
27
+ className: MiniMap_module_default.svg,
28
+ viewBox: `0 0 ${columns} ${rows}`,
29
+ shapeRendering: "crispEdges",
30
+ "aria-hidden": "true",
31
+ children: [
32
+ terrainRuns(tiles).map((run) => /* @__PURE__ */ jsx("rect", {
33
+ x: run.x,
34
+ y: run.y,
35
+ width: run.width,
36
+ height: 1,
37
+ "data-terrain": run.terrain
38
+ }, `${run.x}-${run.y}`)),
39
+ markers.map((marker) => /* @__PURE__ */ jsx("rect", {
40
+ className: MiniMap_module_default.marker,
41
+ "data-kind": marker.kind ?? "poi",
42
+ x: cx0 + marker.x - .75,
43
+ y: cy0 + marker.y - .75,
44
+ width: 1.5,
45
+ height: 1.5
46
+ }, marker.id)),
47
+ /* @__PURE__ */ jsx("polygon", {
48
+ className: MiniMap_module_default.player,
49
+ points: `${cx0},${cy0 - 1.6} ${cx0 + 1.1},${cy0 + 1.1} ${cx0},${cy0 + .5} ${cx0 - 1.1},${cy0 + 1.1}`,
50
+ transform: `rotate(${heading} ${cx0} ${cy0})`
51
+ })
52
+ ]
53
+ }),
54
+ /* @__PURE__ */ jsx("span", {
55
+ className: MiniMap_module_default.north,
56
+ "aria-hidden": "true",
57
+ children: "N"
58
+ }),
59
+ /* @__PURE__ */ jsxs("figcaption", {
60
+ id: captionId,
61
+ className: "block-visually-hidden",
62
+ children: [
63
+ label,
64
+ ". Facing ",
65
+ compassName(heading),
66
+ ".",
67
+ markers.length > 0 ? ` ${markers.map(describeMarker).join(". ")}.` : ""
68
+ ]
69
+ })
70
+ ]
71
+ });
72
+ });
73
+ //#endregion
74
+ export { MiniMap };
75
+
76
+ //# sourceMappingURL=MiniMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.js","names":["styles"],"sources":["../../../../src/components/hud/MiniMap/MiniMap.tsx"],"sourcesContent":["import { forwardRef, useId } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport styles from \"./MiniMap.module.css\";\nimport type { MiniMapProps } from \"./MiniMap.types\";\nimport { compassName, describeMarker, terrainRuns } from \"./MiniMap.utils\";\n\n/**\n * Top-down mini map: terrain pixels centred on the player, a heading arrow,\n * markers and a compass \"N\". Screen readers get the heading and each marker's\n * distance and direction as text.\n */\nexport const MiniMap = forwardRef<HTMLElement, MiniMapProps>(function MiniMap(\n {\n tiles,\n heading = 0,\n markers = [],\n shape = \"square\",\n size = \"md\",\n label = \"Mini map\",\n className,\n ...rest\n },\n ref,\n) {\n const captionId = useId();\n const rows = Math.max(1, tiles.length);\n const columns = Math.max(1, ...tiles.map((row) => row.length));\n const cx0 = columns / 2;\n const cy0 = rows / 2;\n\n return (\n <figure\n ref={ref}\n aria-labelledby={captionId}\n data-shape={shape}\n data-size={size}\n className={cx(styles.map, className)}\n {...rest}\n >\n <svg\n className={styles.svg}\n viewBox={`0 0 ${columns} ${rows}`}\n shapeRendering=\"crispEdges\"\n aria-hidden=\"true\"\n >\n {terrainRuns(tiles).map((run) => (\n <rect\n key={`${run.x}-${run.y}`}\n x={run.x}\n y={run.y}\n width={run.width}\n height={1}\n data-terrain={run.terrain}\n />\n ))}\n {markers.map((marker) => (\n <rect\n key={marker.id}\n className={styles.marker}\n data-kind={marker.kind ?? \"poi\"}\n x={cx0 + marker.x - 0.75}\n y={cy0 + marker.y - 0.75}\n width={1.5}\n height={1.5}\n />\n ))}\n <polygon\n className={styles.player}\n points={`${cx0},${cy0 - 1.6} ${cx0 + 1.1},${cy0 + 1.1} ${cx0},${cy0 + 0.5} ${cx0 - 1.1},${cy0 + 1.1}`}\n transform={`rotate(${heading} ${cx0} ${cy0})`}\n />\n </svg>\n <span className={styles.north} aria-hidden=\"true\">\n N\n </span>\n <figcaption id={captionId} className=\"block-visually-hidden\">\n {label}. Facing {compassName(heading)}.\n {markers.length > 0 ? ` ${markers.map(describeMarker).join(\". \")}.` : \"\"}\n </figcaption>\n </figure>\n );\n});\n"],"mappings":";;;;;;;;;;;AAWA,IAAa,UAAU,WAAsC,SAAS,QACpE,EACE,OACA,UAAU,GACV,UAAU,CAAC,GACX,QAAQ,UACR,OAAO,MACP,QAAQ,YACR,WACA,GAAG,QAEL,KACA;CACA,MAAM,YAAY,MAAM;CACxB,MAAM,OAAO,KAAK,IAAI,GAAG,MAAM,MAAM;CACrC,MAAM,UAAU,KAAK,IAAI,GAAG,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC;CAC7D,MAAM,MAAM,UAAU;CACtB,MAAM,MAAM,OAAO;CAEnB,OACE,qBAAC,UAAD;EACO;EACL,mBAAiB;EACjB,cAAY;EACZ,aAAW;EACX,WAAW,GAAGA,uBAAO,KAAK,SAAS;EACnC,GAAI;EANN,UAAA;GAQE,qBAAC,OAAD;IACE,WAAWA,uBAAO;IAClB,SAAS,OAAO,QAAQ,GAAG;IAC3B,gBAAe;IACf,eAAY;IAJd,UAAA;KAMG,YAAY,KAAK,CAAC,CAAC,KAAK,QACvB,oBAAC,QAAD;MAEE,GAAG,IAAI;MACP,GAAG,IAAI;MACP,OAAO,IAAI;MACX,QAAQ;MACR,gBAAc,IAAI;KACnB,GANM,GAAG,IAAI,EAAE,GAAG,IAAI,GAMtB,CACF;KACA,QAAQ,KAAK,WACZ,oBAAC,QAAD;MAEE,WAAWA,uBAAO;MAClB,aAAW,OAAO,QAAQ;MAC1B,GAAG,MAAM,OAAO,IAAI;MACpB,GAAG,MAAM,OAAO,IAAI;MACpB,OAAO;MACP,QAAQ;KACT,GAPM,OAAO,EAOb,CACF;KACD,oBAAC,WAAD;MACE,WAAWA,uBAAO;MAClB,QAAQ,GAAG,IAAI,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,GAAG,IAAI,GAAG,MAAM,GAAI,GAAG,MAAM,IAAI,GAAG,MAAM;MAChG,WAAW,UAAU,QAAQ,GAAG,IAAI,GAAG,IAAI;KAC5C,CAAA;IACE;;GACL,oBAAC,QAAD;IAAM,WAAWA,uBAAO;IAAO,eAAY;IAAO,UAAA;GAE5C,CAAA;GACN,qBAAC,cAAD;IAAY,IAAI;IAAW,WAAU;IAArC,UAAA;KACG;KAAM;KAAU,YAAY,OAAO;KAAE;KACrC,QAAQ,SAAS,IAAI,IAAI,QAAQ,IAAI,cAAc,CAAC,CAAC,KAAK,IAAI,EAAE,KAAK;IAC5D;;EACN;;AAEZ,CAAC"}
@@ -0,0 +1,17 @@
1
+ //#region src/components/hud/MiniMap/MiniMap.module.css
2
+ var map = "block-map-QzhiQ";
3
+ var svg = "block-svg-VlTbt";
4
+ var marker = "block-marker-ovenA";
5
+ var player = "block-player-4KZP-";
6
+ var north = "block-north-lfYMy";
7
+ var MiniMap_module_default = {
8
+ map,
9
+ svg,
10
+ marker,
11
+ player,
12
+ north
13
+ };
14
+ //#endregion
15
+ export { MiniMap_module_default as default, map, marker, north, player, svg };
16
+
17
+ //# sourceMappingURL=MiniMap.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.module.js","names":[],"sources":["../../../../src/components/hud/MiniMap/MiniMap.module.css"],"sourcesContent":[".map {\n --map-size: 128px;\n position: relative;\n width: var(--map-size);\n height: var(--map-size);\n margin: 0;\n flex-shrink: 0;\n overflow: hidden;\n background-color: var(--block-black);\n border: var(--block-border-width) solid var(--block-border);\n box-shadow: var(--block-shadow-bevel);\n}\n\n.map[data-size=\"sm\"] {\n --map-size: 96px;\n}\n\n.map[data-size=\"lg\"] {\n --map-size: 192px;\n}\n\n.map[data-shape=\"round\"] {\n border-radius: 50%;\n}\n\n.svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.svg [data-terrain=\"grass\"] {\n fill: var(--block-grass);\n}\n\n.svg [data-terrain=\"forest\"] {\n fill: var(--block-grass-dark);\n}\n\n.svg [data-terrain=\"dirt\"] {\n fill: var(--block-dirt);\n}\n\n.svg [data-terrain=\"sand\"] {\n fill: var(--block-sand);\n}\n\n.svg [data-terrain=\"water\"] {\n fill: var(--block-water);\n}\n\n.svg [data-terrain=\"stone\"] {\n fill: var(--block-stone);\n}\n\n.svg [data-terrain=\"snow\"] {\n fill: var(--block-white);\n}\n\n.svg [data-terrain=\"lava\"] {\n fill: var(--block-lava);\n}\n\n.svg [data-terrain=\"unknown\"] {\n fill: var(--block-black);\n}\n\n.marker {\n stroke: var(--block-black);\n stroke-width: 0.3;\n}\n\n.marker[data-kind=\"home\"] {\n fill: var(--block-gold-light);\n}\n\n.marker[data-kind=\"player\"] {\n fill: var(--block-diamond-light);\n}\n\n.marker[data-kind=\"death\"] {\n fill: var(--block-redstone-light);\n}\n\n.marker[data-kind=\"poi\"] {\n fill: var(--block-amethyst-light);\n}\n\n.player {\n fill: var(--block-white);\n stroke: var(--block-black);\n stroke-width: 0.3;\n stroke-linejoin: round;\n}\n\n.north {\n position: absolute;\n top: 2px;\n left: 50%;\n transform: translateX(-50%);\n font-family: var(--block-font-display);\n font-size: var(--block-font-size-xs);\n font-weight: var(--block-font-weight-bold);\n line-height: 1;\n color: var(--block-redstone-light);\n text-shadow: var(--block-shadow-text);\n}\n"],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import type { HTMLAttributes } from "react";
2
+ /**
3
+ * Terrain codes for `tiles`: `g` grass, `f` forest, `d` dirt, `s` sand,
4
+ * `w` water, `t` stone, `n` snow, `l` lava, `.` unexplored.
5
+ */
6
+ export declare const miniMapTerrain: {
7
+ readonly g: "grass";
8
+ readonly f: "forest";
9
+ readonly d: "dirt";
10
+ readonly s: "sand";
11
+ readonly w: "water";
12
+ readonly t: "stone";
13
+ readonly n: "snow";
14
+ readonly l: "lava";
15
+ readonly ".": "unknown";
16
+ };
17
+ export type MiniMapTerrainCode = keyof typeof miniMapTerrain;
18
+ export declare const miniMapMarkerKinds: readonly ["home", "player", "death", "poi"];
19
+ export type MiniMapMarkerKind = (typeof miniMapMarkerKinds)[number];
20
+ export interface MiniMapMarker {
21
+ id: string;
22
+ /** Tiles east (+) / west (−) of the player. */
23
+ x: number;
24
+ /** Tiles south (+) / north (−) of the player. */
25
+ y: number;
26
+ label: string;
27
+ /** @default "poi" */
28
+ kind?: MiniMapMarkerKind;
29
+ }
30
+ export interface MiniMapProps extends HTMLAttributes<HTMLElement> {
31
+ /** Rows of terrain codes (see `miniMapTerrain`), centred on the player. */
32
+ tiles: string[];
33
+ /** Player heading in degrees, 0 = north, clockwise. @default 0 */
34
+ heading?: number;
35
+ markers?: MiniMapMarker[];
36
+ /** @default "square" */
37
+ shape?: "square" | "round";
38
+ /** 96 / 128 / 192 px. @default "md" */
39
+ size?: "sm" | "md" | "lg";
40
+ /** Accessible name. @default "Mini map" */
41
+ label?: string;
42
+ }
43
+ //# sourceMappingURL=MiniMap.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.types.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/MiniMap/MiniMap.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE7D,eAAO,MAAM,kBAAkB,6CAA8C,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,CAAC,EAAE,MAAM,CAAC;IACV,iDAAiD;IACjD,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC/D,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,wBAAwB;IACxB,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,uCAAuC;IACvC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,26 @@
1
+ //#region src/components/hud/MiniMap/MiniMap.types.ts
2
+ /**
3
+ * Terrain codes for `tiles`: `g` grass, `f` forest, `d` dirt, `s` sand,
4
+ * `w` water, `t` stone, `n` snow, `l` lava, `.` unexplored.
5
+ */
6
+ var miniMapTerrain = {
7
+ g: "grass",
8
+ f: "forest",
9
+ d: "dirt",
10
+ s: "sand",
11
+ w: "water",
12
+ t: "stone",
13
+ n: "snow",
14
+ l: "lava",
15
+ ".": "unknown"
16
+ };
17
+ var miniMapMarkerKinds = [
18
+ "home",
19
+ "player",
20
+ "death",
21
+ "poi"
22
+ ];
23
+ //#endregion
24
+ export { miniMapMarkerKinds, miniMapTerrain };
25
+
26
+ //# sourceMappingURL=MiniMap.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.types.js","names":[],"sources":["../../../../src/components/hud/MiniMap/MiniMap.types.ts"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\n\n/**\n * Terrain codes for `tiles`: `g` grass, `f` forest, `d` dirt, `s` sand,\n * `w` water, `t` stone, `n` snow, `l` lava, `.` unexplored.\n */\nexport const miniMapTerrain = {\n g: \"grass\",\n f: \"forest\",\n d: \"dirt\",\n s: \"sand\",\n w: \"water\",\n t: \"stone\",\n n: \"snow\",\n l: \"lava\",\n \".\": \"unknown\",\n} as const;\n\nexport type MiniMapTerrainCode = keyof typeof miniMapTerrain;\n\nexport const miniMapMarkerKinds = [\"home\", \"player\", \"death\", \"poi\"] as const;\n\nexport type MiniMapMarkerKind = (typeof miniMapMarkerKinds)[number];\n\nexport interface MiniMapMarker {\n id: string;\n /** Tiles east (+) / west (−) of the player. */\n x: number;\n /** Tiles south (+) / north (−) of the player. */\n y: number;\n label: string;\n /** @default \"poi\" */\n kind?: MiniMapMarkerKind;\n}\n\nexport interface MiniMapProps extends HTMLAttributes<HTMLElement> {\n /** Rows of terrain codes (see `miniMapTerrain`), centred on the player. */\n tiles: string[];\n /** Player heading in degrees, 0 = north, clockwise. @default 0 */\n heading?: number;\n markers?: MiniMapMarker[];\n /** @default \"square\" */\n shape?: \"square\" | \"round\";\n /** 96 / 128 / 192 px. @default \"md\" */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Accessible name. @default \"Mini map\" */\n label?: string;\n}\n"],"mappings":";;;;;AAMA,IAAa,iBAAiB;CAC5B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,KAAK;AACP;AAIA,IAAa,qBAAqB;CAAC;CAAQ;CAAU;CAAS;AAAK"}
@@ -0,0 +1,14 @@
1
+ import { type MiniMapMarker } from "./MiniMap.types";
2
+ /** 8-way compass name for a clockwise angle from north. */
3
+ export declare function compassName(degrees: number): string;
4
+ /** "Home: 12 blocks north-east" style description of a marker. */
5
+ export declare function describeMarker(marker: MiniMapMarker): string;
6
+ export interface TerrainRun {
7
+ terrain: string;
8
+ x: number;
9
+ y: number;
10
+ width: number;
11
+ }
12
+ /** Merges horizontal runs of the same terrain into single rectangles. */
13
+ export declare function terrainRuns(tiles: string[]): TerrainRun[];
14
+ //# sourceMappingURL=MiniMap.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/MiniMap/MiniMap.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAa9F,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAK5D;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAazD"}
@@ -0,0 +1,47 @@
1
+ import { miniMapTerrain } from "./MiniMap.types.js";
2
+ //#region src/components/hud/MiniMap/MiniMap.utils.ts
3
+ var DIRECTIONS = [
4
+ "north",
5
+ "north-east",
6
+ "east",
7
+ "south-east",
8
+ "south",
9
+ "south-west",
10
+ "west",
11
+ "north-west"
12
+ ];
13
+ /** 8-way compass name for a clockwise angle from north. */
14
+ function compassName(degrees) {
15
+ return DIRECTIONS[Math.round((degrees % 360 + 360) % 360 / 45) % 8] ?? "north";
16
+ }
17
+ /** "Home: 12 blocks north-east" style description of a marker. */
18
+ function describeMarker(marker) {
19
+ const distance = Math.round(Math.hypot(marker.x, marker.y));
20
+ if (distance === 0) return `${marker.label}: here`;
21
+ const angle = Math.atan2(marker.x, -marker.y) * 180 / Math.PI;
22
+ return `${marker.label}: ${distance} ${distance === 1 ? "block" : "blocks"} ${compassName(angle)}`;
23
+ }
24
+ /** Merges horizontal runs of the same terrain into single rectangles. */
25
+ function terrainRuns(tiles) {
26
+ const runs = [];
27
+ tiles.forEach((row, y) => {
28
+ let x = 0;
29
+ while (x < row.length) {
30
+ const code = row[x];
31
+ let width = 1;
32
+ while (row[x + width] === code) width += 1;
33
+ runs.push({
34
+ terrain: miniMapTerrain[code] ?? "unknown",
35
+ x,
36
+ y,
37
+ width
38
+ });
39
+ x += width;
40
+ }
41
+ });
42
+ return runs;
43
+ }
44
+ //#endregion
45
+ export { compassName, describeMarker, terrainRuns };
46
+
47
+ //# sourceMappingURL=MiniMap.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniMap.utils.js","names":[],"sources":["../../../../src/components/hud/MiniMap/MiniMap.utils.ts"],"sourcesContent":["import { miniMapTerrain, type MiniMapMarker, type MiniMapTerrainCode } from \"./MiniMap.types\";\n\nconst DIRECTIONS = [\n \"north\",\n \"north-east\",\n \"east\",\n \"south-east\",\n \"south\",\n \"south-west\",\n \"west\",\n \"north-west\",\n];\n\n/** 8-way compass name for a clockwise angle from north. */\nexport function compassName(degrees: number): string {\n const index = Math.round((((degrees % 360) + 360) % 360) / 45) % 8;\n return DIRECTIONS[index] ?? \"north\";\n}\n\n/** \"Home: 12 blocks north-east\" style description of a marker. */\nexport function describeMarker(marker: MiniMapMarker): string {\n const distance = Math.round(Math.hypot(marker.x, marker.y));\n if (distance === 0) return `${marker.label}: here`;\n const angle = (Math.atan2(marker.x, -marker.y) * 180) / Math.PI;\n return `${marker.label}: ${distance} ${distance === 1 ? \"block\" : \"blocks\"} ${compassName(angle)}`;\n}\n\nexport interface TerrainRun {\n terrain: string;\n x: number;\n y: number;\n width: number;\n}\n\n/** Merges horizontal runs of the same terrain into single rectangles. */\nexport function terrainRuns(tiles: string[]): TerrainRun[] {\n const runs: TerrainRun[] = [];\n tiles.forEach((row, y) => {\n let x = 0;\n while (x < row.length) {\n const code = row[x] as MiniMapTerrainCode;\n let width = 1;\n while (row[x + width] === code) width += 1;\n runs.push({ terrain: miniMapTerrain[code] ?? \"unknown\", x, y, width });\n x += width;\n }\n });\n return runs;\n}\n"],"mappings":";;AAEA,IAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;AAGA,SAAgB,YAAY,SAAyB;CAEnD,OAAO,WADO,KAAK,OAAS,UAAU,MAAO,OAAO,MAAO,EAAE,IAAI,MACrC;AAC9B;;AAGA,SAAgB,eAAe,QAA+B;CAC5D,MAAM,WAAW,KAAK,MAAM,KAAK,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC;CAC1D,IAAI,aAAa,GAAG,OAAO,GAAG,OAAO,MAAM;CAC3C,MAAM,QAAS,KAAK,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,MAAO,KAAK;CAC7D,OAAO,GAAG,OAAO,MAAM,IAAI,SAAS,GAAG,aAAa,IAAI,UAAU,SAAS,GAAG,YAAY,KAAK;AACjG;;AAUA,SAAgB,YAAY,OAA+B;CACzD,MAAM,OAAqB,CAAC;CAC5B,MAAM,SAAS,KAAK,MAAM;EACxB,IAAI,IAAI;EACR,OAAO,IAAI,IAAI,QAAQ;GACrB,MAAM,OAAO,IAAI;GACjB,IAAI,QAAQ;GACZ,OAAO,IAAI,IAAI,WAAW,MAAM,SAAS;GACzC,KAAK,KAAK;IAAE,SAAS,eAAe,SAAS;IAAW;IAAG;IAAG;GAAM,CAAC;GACrE,KAAK;EACP;CACF,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,5 @@
1
+ export { MiniMap } from "./MiniMap";
2
+ export { miniMapMarkerKinds, miniMapTerrain } from "./MiniMap.types";
3
+ export { compassName, describeMarker } from "./MiniMap.utils";
4
+ export type { MiniMapMarker, MiniMapMarkerKind, MiniMapProps, MiniMapTerrainCode, } from "./MiniMap.types";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/MiniMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ScoreboardProps } from "./Scoreboard.types";
2
+ /**
3
+ * Sidebar scoreboard: an objective title over name / score rows, sorted by
4
+ * score. A captioned table, so screen readers announce each name with its score.
5
+ */
6
+ export declare const Scoreboard: import("react").ForwardRefExoticComponent<ScoreboardProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=Scoreboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scoreboard.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/Scoreboard/Scoreboard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;;GAGG;AACH,eAAO,MAAM,UAAU,4GAgErB,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { cx } from "../../../utils/cx.js";
2
+ import { formatNumber } from "../../../utils/number.js";
3
+ import Scoreboard_module_default from "./Scoreboard.module.js";
4
+ import { entryKey, sortEntries } from "./Scoreboard.utils.js";
5
+ import { forwardRef, useId } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/components/hud/Scoreboard/Scoreboard.tsx
8
+ /**
9
+ * Sidebar scoreboard: an objective title over name / score rows, sorted by
10
+ * score. A captioned table, so screen readers announce each name with its score.
11
+ */
12
+ var Scoreboard = forwardRef(function Scoreboard({ title, entries, sort = "desc", maxEntries = 15, highlightId, showRank = false, emptyText = "No scores yet", className, ...rest }, ref) {
13
+ const captionId = useId();
14
+ const sorted = sortEntries(entries, sort);
15
+ const visible = sorted.slice(0, Math.max(0, maxEntries));
16
+ const hidden = sorted.length - visible.length;
17
+ return /* @__PURE__ */ jsxs("div", {
18
+ ref,
19
+ className: cx(Scoreboard_module_default.scoreboard, className),
20
+ ...rest,
21
+ children: [/* @__PURE__ */ jsxs("table", {
22
+ className: Scoreboard_module_default.table,
23
+ "aria-labelledby": captionId,
24
+ children: [
25
+ /* @__PURE__ */ jsx("caption", {
26
+ id: captionId,
27
+ className: Scoreboard_module_default.title,
28
+ children: title
29
+ }),
30
+ /* @__PURE__ */ jsx("thead", {
31
+ className: "block-visually-hidden",
32
+ children: /* @__PURE__ */ jsxs("tr", { children: [
33
+ showRank ? /* @__PURE__ */ jsx("th", {
34
+ scope: "col",
35
+ children: "Rank"
36
+ }) : null,
37
+ /* @__PURE__ */ jsx("th", {
38
+ scope: "col",
39
+ children: "Name"
40
+ }),
41
+ /* @__PURE__ */ jsx("th", {
42
+ scope: "col",
43
+ children: "Score"
44
+ })
45
+ ] })
46
+ }),
47
+ /* @__PURE__ */ jsx("tbody", { children: visible.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
48
+ colSpan: showRank ? 3 : 2,
49
+ className: Scoreboard_module_default.empty,
50
+ children: emptyText
51
+ }) }) : visible.map((entry, index) => {
52
+ const key = entryKey(entry, index);
53
+ const highlighted = highlightId !== void 0 && key === highlightId;
54
+ return /* @__PURE__ */ jsxs("tr", {
55
+ className: Scoreboard_module_default.row,
56
+ "data-highlighted": highlighted || void 0,
57
+ "aria-current": highlighted ? "true" : void 0,
58
+ children: [
59
+ showRank ? /* @__PURE__ */ jsx("td", {
60
+ className: Scoreboard_module_default.rank,
61
+ children: index + 1
62
+ }) : null,
63
+ /* @__PURE__ */ jsx("th", {
64
+ scope: "row",
65
+ className: Scoreboard_module_default.name,
66
+ children: entry.name
67
+ }),
68
+ /* @__PURE__ */ jsx("td", {
69
+ className: Scoreboard_module_default.score,
70
+ children: formatNumber(entry.score)
71
+ })
72
+ ]
73
+ }, key);
74
+ }) })
75
+ ]
76
+ }), hidden > 0 ? /* @__PURE__ */ jsxs("p", {
77
+ className: Scoreboard_module_default.more,
78
+ children: [
79
+ "+",
80
+ hidden,
81
+ " more"
82
+ ]
83
+ }) : null]
84
+ });
85
+ });
86
+ //#endregion
87
+ export { Scoreboard };
88
+
89
+ //# sourceMappingURL=Scoreboard.js.map