@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.
- package/dist/components/actions/BlockMenu/BlockMenu.d.ts +9 -0
- package/dist/components/actions/BlockMenu/BlockMenu.d.ts.map +1 -0
- package/dist/components/actions/BlockMenu/BlockMenu.js +211 -0
- package/dist/components/actions/BlockMenu/BlockMenu.js.map +1 -0
- package/dist/components/actions/BlockMenu/BlockMenu.module.js +23 -0
- package/dist/components/actions/BlockMenu/BlockMenu.module.js.map +1 -0
- package/dist/components/actions/BlockMenu/BlockMenu.types.d.ts +42 -0
- package/dist/components/actions/BlockMenu/BlockMenu.types.d.ts.map +1 -0
- package/dist/components/actions/BlockMenu/BlockMenu.utils.d.ts +10 -0
- package/dist/components/actions/BlockMenu/BlockMenu.utils.d.ts.map +1 -0
- package/dist/components/actions/BlockMenu/BlockMenu.utils.js +26 -0
- package/dist/components/actions/BlockMenu/BlockMenu.utils.js.map +1 -0
- package/dist/components/actions/BlockMenu/index.d.ts +3 -0
- package/dist/components/actions/BlockMenu/index.d.ts.map +1 -0
- package/dist/components/actions/index.d.ts +1 -0
- package/dist/components/actions/index.d.ts.map +1 -1
- package/dist/components/cards/ServerBrowser/ServerBrowser.d.ts +7 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.d.ts.map +1 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.js +106 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.js.map +1 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts +22 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts.map +1 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.utils.d.ts +8 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.utils.d.ts.map +1 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.utils.js +16 -0
- package/dist/components/cards/ServerBrowser/ServerBrowser.utils.js.map +1 -0
- package/dist/components/cards/ServerBrowser/index.d.ts +4 -0
- package/dist/components/cards/ServerBrowser/index.d.ts.map +1 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.d.ts +4 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.d.ts.map +1 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.js +101 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.js.map +1 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts +22 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts.map +1 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.utils.d.ts +10 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.utils.d.ts.map +1 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.utils.js +12 -0
- package/dist/components/cards/WorldBrowser/WorldBrowser.utils.js.map +1 -0
- package/dist/components/cards/WorldBrowser/index.d.ts +4 -0
- package/dist/components/cards/WorldBrowser/index.d.ts.map +1 -0
- package/dist/components/cards/browser.module.js +23 -0
- package/dist/components/cards/browser.module.js.map +1 -0
- package/dist/components/cards/index.d.ts +2 -0
- package/dist/components/cards/index.d.ts.map +1 -1
- package/dist/components/crafting/Anvil/Anvil.d.ts +7 -0
- package/dist/components/crafting/Anvil/Anvil.d.ts.map +1 -0
- package/dist/components/crafting/Anvil/Anvil.js +94 -0
- package/dist/components/crafting/Anvil/Anvil.js.map +1 -0
- package/dist/components/crafting/Anvil/Anvil.module.js +21 -0
- package/dist/components/crafting/Anvil/Anvil.module.js.map +1 -0
- package/dist/components/crafting/Anvil/Anvil.types.d.ts +25 -0
- package/dist/components/crafting/Anvil/Anvil.types.d.ts.map +1 -0
- package/dist/components/crafting/Anvil/Anvil.utils.d.ts +3 -0
- package/dist/components/crafting/Anvil/Anvil.utils.d.ts.map +1 -0
- package/dist/components/crafting/Anvil/Anvil.utils.js +11 -0
- package/dist/components/crafting/Anvil/Anvil.utils.js.map +1 -0
- package/dist/components/crafting/Anvil/index.d.ts +5 -0
- package/dist/components/crafting/Anvil/index.d.ts.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.d.ts +7 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.d.ts.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.js +116 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.js.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.module.js +29 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.module.js.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts +22 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.types.js +11 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.types.js.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.utils.d.ts +6 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.utils.d.ts.map +1 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.utils.js +13 -0
- package/dist/components/crafting/BrewingStand/BrewingStand.utils.js.map +1 -0
- package/dist/components/crafting/BrewingStand/index.d.ts +5 -0
- package/dist/components/crafting/BrewingStand/index.d.ts.map +1 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.d.ts +7 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.d.ts.map +1 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.js +105 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.js.map +1 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.module.js +32 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.module.js.map +1 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts +29 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts.map +1 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.d.ts +11 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.d.ts.map +1 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.js +14 -0
- package/dist/components/crafting/EnchantingTable/EnchantingTable.utils.js.map +1 -0
- package/dist/components/crafting/EnchantingTable/index.d.ts +3 -0
- package/dist/components/crafting/EnchantingTable/index.d.ts.map +1 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.d.ts +7 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.d.ts.map +1 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.js +149 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.js.map +1 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.module.js +39 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.module.js.map +1 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts +36 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts.map +1 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.utils.d.ts +9 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.utils.d.ts.map +1 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.utils.js +21 -0
- package/dist/components/crafting/RecipeBook/RecipeBook.utils.js.map +1 -0
- package/dist/components/crafting/RecipeBook/index.d.ts +4 -0
- package/dist/components/crafting/RecipeBook/index.d.ts.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.d.ts +7 -0
- package/dist/components/crafting/TradingUI/TradingUI.d.ts.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.js +181 -0
- package/dist/components/crafting/TradingUI/TradingUI.js.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.module.js +39 -0
- package/dist/components/crafting/TradingUI/TradingUI.module.js.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.types.d.ts +36 -0
- package/dist/components/crafting/TradingUI/TradingUI.types.d.ts.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.types.js +12 -0
- package/dist/components/crafting/TradingUI/TradingUI.types.js.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.utils.d.ts +3 -0
- package/dist/components/crafting/TradingUI/TradingUI.utils.d.ts.map +1 -0
- package/dist/components/crafting/TradingUI/TradingUI.utils.js +8 -0
- package/dist/components/crafting/TradingUI/TradingUI.utils.js.map +1 -0
- package/dist/components/crafting/TradingUI/index.d.ts +4 -0
- package/dist/components/crafting/TradingUI/index.d.ts.map +1 -0
- package/dist/components/crafting/index.d.ts +5 -0
- package/dist/components/crafting/index.d.ts.map +1 -1
- package/dist/components/display/BlockTable/BlockTable.d.ts +8 -0
- package/dist/components/display/BlockTable/BlockTable.d.ts.map +1 -0
- package/dist/components/display/BlockTable/BlockTable.js +92 -0
- package/dist/components/display/BlockTable/BlockTable.js.map +1 -0
- package/dist/components/display/BlockTable/BlockTable.module.js +31 -0
- package/dist/components/display/BlockTable/BlockTable.module.js.map +1 -0
- package/dist/components/display/BlockTable/BlockTable.types.d.ts +49 -0
- package/dist/components/display/BlockTable/BlockTable.types.d.ts.map +1 -0
- package/dist/components/display/BlockTable/BlockTable.utils.d.ts +8 -0
- package/dist/components/display/BlockTable/BlockTable.utils.d.ts.map +1 -0
- package/dist/components/display/BlockTable/BlockTable.utils.js +48 -0
- package/dist/components/display/BlockTable/BlockTable.utils.js.map +1 -0
- package/dist/components/display/BlockTable/index.d.ts +3 -0
- package/dist/components/display/BlockTable/index.d.ts.map +1 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.d.ts +8 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.d.ts.map +1 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.js +83 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.js.map +1 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.module.js +11 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.module.js.map +1 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.types.d.ts +20 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.types.d.ts.map +1 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.types.js +11 -0
- package/dist/components/display/BlockTooltip/BlockTooltip.types.js.map +1 -0
- package/dist/components/display/BlockTooltip/index.d.ts +4 -0
- package/dist/components/display/BlockTooltip/index.d.ts.map +1 -0
- package/dist/components/display/SkillTree/SkillTree.d.ts +8 -0
- package/dist/components/display/SkillTree/SkillTree.d.ts.map +1 -0
- package/dist/components/display/SkillTree/SkillTree.js +138 -0
- package/dist/components/display/SkillTree/SkillTree.js.map +1 -0
- package/dist/components/display/SkillTree/SkillTree.module.js +33 -0
- package/dist/components/display/SkillTree/SkillTree.module.js.map +1 -0
- package/dist/components/display/SkillTree/SkillTree.types.d.ts +29 -0
- package/dist/components/display/SkillTree/SkillTree.types.d.ts.map +1 -0
- package/dist/components/display/SkillTree/SkillTree.utils.d.ts +8 -0
- package/dist/components/display/SkillTree/SkillTree.utils.d.ts.map +1 -0
- package/dist/components/display/SkillTree/SkillTree.utils.js +16 -0
- package/dist/components/display/SkillTree/SkillTree.utils.js.map +1 -0
- package/dist/components/display/SkillTree/index.d.ts +4 -0
- package/dist/components/display/SkillTree/index.d.ts.map +1 -0
- package/dist/components/display/index.d.ts +3 -0
- package/dist/components/display/index.d.ts.map +1 -1
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.d.ts +4 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.d.ts.map +1 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.js +39 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.js.map +1 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.module.js +11 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.module.js.map +1 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.d.ts +16 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.d.ts.map +1 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.js +18 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.types.js.map +1 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.d.ts +8 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.d.ts.map +1 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.js +55 -0
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.utils.js.map +1 -0
- package/dist/components/hud/BiomeIndicator/index.d.ts +4 -0
- package/dist/components/hud/BiomeIndicator/index.d.ts.map +1 -0
- package/dist/components/hud/BossBar/BossBar.d.ts +4 -0
- package/dist/components/hud/BossBar/BossBar.d.ts.map +1 -0
- package/dist/components/hud/BossBar/BossBar.js +56 -0
- package/dist/components/hud/BossBar/BossBar.js.map +1 -0
- package/dist/components/hud/BossBar/BossBar.module.js +19 -0
- package/dist/components/hud/BossBar/BossBar.module.js.map +1 -0
- package/dist/components/hud/BossBar/BossBar.types.d.ts +22 -0
- package/dist/components/hud/BossBar/BossBar.types.d.ts.map +1 -0
- package/dist/components/hud/BossBar/BossBar.types.js +21 -0
- package/dist/components/hud/BossBar/BossBar.types.js.map +1 -0
- package/dist/components/hud/BossBar/index.d.ts +4 -0
- package/dist/components/hud/BossBar/index.d.ts.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.d.ts +4 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.d.ts.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js +96 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.module.js +17 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.module.js.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.d.ts +19 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.d.ts.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.js +11 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.types.js.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.d.ts +7 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.d.ts.map +1 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.js +24 -0
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.utils.js.map +1 -0
- package/dist/components/hud/CoordinatesHUD/index.d.ts +4 -0
- package/dist/components/hud/CoordinatesHUD/index.d.ts.map +1 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.d.ts +4 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.d.ts.map +1 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.js +70 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.js.map +1 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.module.js +19 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.module.js.map +1 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.types.d.ts +17 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.types.d.ts.map +1 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts +15 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts.map +1 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js +43 -0
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js.map +1 -0
- package/dist/components/hud/DayNightIndicator/index.d.ts +4 -0
- package/dist/components/hud/DayNightIndicator/index.d.ts.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.d.ts +8 -0
- package/dist/components/hud/MiniMap/MiniMap.d.ts.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.js +76 -0
- package/dist/components/hud/MiniMap/MiniMap.js.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.module.js +17 -0
- package/dist/components/hud/MiniMap/MiniMap.module.js.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.types.d.ts +43 -0
- package/dist/components/hud/MiniMap/MiniMap.types.d.ts.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.types.js +26 -0
- package/dist/components/hud/MiniMap/MiniMap.types.js.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.utils.d.ts +14 -0
- package/dist/components/hud/MiniMap/MiniMap.utils.d.ts.map +1 -0
- package/dist/components/hud/MiniMap/MiniMap.utils.js +47 -0
- package/dist/components/hud/MiniMap/MiniMap.utils.js.map +1 -0
- package/dist/components/hud/MiniMap/index.d.ts +5 -0
- package/dist/components/hud/MiniMap/index.d.ts.map +1 -0
- package/dist/components/hud/Scoreboard/Scoreboard.d.ts +7 -0
- package/dist/components/hud/Scoreboard/Scoreboard.d.ts.map +1 -0
- package/dist/components/hud/Scoreboard/Scoreboard.js +89 -0
- package/dist/components/hud/Scoreboard/Scoreboard.js.map +1 -0
- package/dist/components/hud/Scoreboard/Scoreboard.module.js +25 -0
- package/dist/components/hud/Scoreboard/Scoreboard.module.js.map +1 -0
- package/dist/components/hud/Scoreboard/Scoreboard.types.d.ts +23 -0
- package/dist/components/hud/Scoreboard/Scoreboard.types.d.ts.map +1 -0
- package/dist/components/hud/Scoreboard/Scoreboard.utils.d.ts +5 -0
- package/dist/components/hud/Scoreboard/Scoreboard.utils.d.ts.map +1 -0
- package/dist/components/hud/Scoreboard/Scoreboard.utils.js +15 -0
- package/dist/components/hud/Scoreboard/Scoreboard.utils.js.map +1 -0
- package/dist/components/hud/Scoreboard/index.d.ts +3 -0
- package/dist/components/hud/Scoreboard/index.d.ts.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.d.ts +4 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.d.ts.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.js +52 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.js.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.module.js +15 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.module.js.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.d.ts +17 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.d.ts.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.js +12 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.types.js.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.d.ts +5 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.d.ts.map +1 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js +22 -0
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js.map +1 -0
- package/dist/components/hud/WeatherIndicator/index.d.ts +4 -0
- package/dist/components/hud/WeatherIndicator/index.d.ts.map +1 -0
- package/dist/components/hud/hudChip.module.js +15 -0
- package/dist/components/hud/hudChip.module.js.map +1 -0
- package/dist/components/hud/index.d.ts +7 -0
- package/dist/components/hud/index.d.ts.map +1 -1
- package/dist/components/layout/BlockDivider/BlockDivider.d.ts +7 -0
- package/dist/components/layout/BlockDivider/BlockDivider.d.ts.map +1 -0
- package/dist/components/layout/BlockDivider/BlockDivider.js +54 -0
- package/dist/components/layout/BlockDivider/BlockDivider.js.map +1 -0
- package/dist/components/layout/BlockDivider/BlockDivider.module.js +13 -0
- package/dist/components/layout/BlockDivider/BlockDivider.module.js.map +1 -0
- package/dist/components/layout/BlockDivider/BlockDivider.types.d.ts +14 -0
- package/dist/components/layout/BlockDivider/BlockDivider.types.d.ts.map +1 -0
- package/dist/components/layout/BlockDivider/BlockDivider.types.js +10 -0
- package/dist/components/layout/BlockDivider/BlockDivider.types.js.map +1 -0
- package/dist/components/layout/BlockDivider/index.d.ts +4 -0
- package/dist/components/layout/BlockDivider/index.d.ts.map +1 -0
- package/dist/components/layout/BlockStack/BlockStack.d.ts +4 -0
- package/dist/components/layout/BlockStack/BlockStack.d.ts.map +1 -0
- package/dist/components/layout/BlockStack/BlockStack.js +22 -0
- package/dist/components/layout/BlockStack/BlockStack.js.map +1 -0
- package/dist/components/layout/BlockStack/BlockStack.module.js +7 -0
- package/dist/components/layout/BlockStack/BlockStack.module.js.map +1 -0
- package/dist/components/layout/BlockStack/BlockStack.types.d.ts +24 -0
- package/dist/components/layout/BlockStack/BlockStack.types.d.ts.map +1 -0
- package/dist/components/layout/BlockStack/BlockStack.types.js +18 -0
- package/dist/components/layout/BlockStack/BlockStack.types.js.map +1 -0
- package/dist/components/layout/BlockStack/index.d.ts +4 -0
- package/dist/components/layout/BlockStack/index.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/navigation/BlockPagination/BlockPagination.d.ts +7 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.d.ts.map +1 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.js +83 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.js.map +1 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.module.js +19 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.module.js.map +1 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts +22 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts.map +1 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.utils.d.ts +7 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.utils.d.ts.map +1 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.utils.js +26 -0
- package/dist/components/navigation/BlockPagination/BlockPagination.utils.js.map +1 -0
- package/dist/components/navigation/BlockPagination/index.d.ts +5 -0
- package/dist/components/navigation/BlockPagination/index.d.ts.map +1 -0
- package/dist/components/navigation/index.d.ts +1 -0
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/social/ChatWindow/ChatWindow.d.ts +8 -0
- package/dist/components/social/ChatWindow/ChatWindow.d.ts.map +1 -0
- package/dist/components/social/ChatWindow/ChatWindow.js +146 -0
- package/dist/components/social/ChatWindow/ChatWindow.js.map +1 -0
- package/dist/components/social/ChatWindow/ChatWindow.module.js +27 -0
- package/dist/components/social/ChatWindow/ChatWindow.module.js.map +1 -0
- package/dist/components/social/ChatWindow/ChatWindow.types.d.ts +29 -0
- package/dist/components/social/ChatWindow/ChatWindow.types.d.ts.map +1 -0
- package/dist/components/social/ChatWindow/ChatWindow.types.js +12 -0
- package/dist/components/social/ChatWindow/ChatWindow.types.js.map +1 -0
- package/dist/components/social/ChatWindow/index.d.ts +4 -0
- package/dist/components/social/ChatWindow/index.d.ts.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.d.ts +7 -0
- package/dist/components/social/CommandConsole/CommandConsole.d.ts.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.js +187 -0
- package/dist/components/social/CommandConsole/CommandConsole.js.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.module.js +31 -0
- package/dist/components/social/CommandConsole/CommandConsole.module.js.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.types.d.ts +28 -0
- package/dist/components/social/CommandConsole/CommandConsole.types.d.ts.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.types.js +11 -0
- package/dist/components/social/CommandConsole/CommandConsole.types.js.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.utils.d.ts +4 -0
- package/dist/components/social/CommandConsole/CommandConsole.utils.d.ts.map +1 -0
- package/dist/components/social/CommandConsole/CommandConsole.utils.js +11 -0
- package/dist/components/social/CommandConsole/CommandConsole.utils.js.map +1 -0
- package/dist/components/social/CommandConsole/index.d.ts +5 -0
- package/dist/components/social/CommandConsole/index.d.ts.map +1 -0
- package/dist/components/social/index.d.ts +3 -0
- package/dist/components/social/index.d.ts.map +1 -0
- package/dist/hooks/useAnchoredPosition.d.ts +17 -0
- package/dist/hooks/useAnchoredPosition.d.ts.map +1 -0
- package/dist/hooks/useAnchoredPosition.js +62 -0
- package/dist/hooks/useAnchoredPosition.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -1
- package/dist/styles.css +2452 -354
- package/dist/utils/position.d.ts +41 -0
- package/dist/utils/position.d.ts.map +1 -0
- package/dist/utils/position.js +48 -0
- package/dist/utils/position.js.map +1 -0
- 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 @@
|
|
|
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
|