@malilion/block-ui-react 0.2.0 → 0.4.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/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/Avatar/Avatar.d.ts +7 -0
- package/dist/components/display/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/display/Avatar/Avatar.js +53 -0
- package/dist/components/display/Avatar/Avatar.js.map +1 -0
- package/dist/components/display/Avatar/Avatar.module.js +17 -0
- package/dist/components/display/Avatar/Avatar.module.js.map +1 -0
- package/dist/components/display/Avatar/Avatar.types.d.ts +18 -0
- package/dist/components/display/Avatar/Avatar.types.d.ts.map +1 -0
- package/dist/components/display/Avatar/Avatar.types.js +11 -0
- package/dist/components/display/Avatar/Avatar.types.js.map +1 -0
- package/dist/components/display/Avatar/Avatar.utils.d.ts +7 -0
- package/dist/components/display/Avatar/Avatar.utils.d.ts.map +1 -0
- package/dist/components/display/Avatar/Avatar.utils.js +28 -0
- package/dist/components/display/Avatar/Avatar.utils.js.map +1 -0
- package/dist/components/display/Avatar/index.d.ts +5 -0
- package/dist/components/display/Avatar/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 +2 -0
- package/dist/components/display/index.d.ts.map +1 -1
- package/dist/components/feedback/Drawer/Drawer.d.ts +7 -0
- package/dist/components/feedback/Drawer/Drawer.d.ts.map +1 -0
- package/dist/components/feedback/Drawer/Drawer.js +78 -0
- package/dist/components/feedback/Drawer/Drawer.js.map +1 -0
- package/dist/components/feedback/Drawer/Drawer.module.js +25 -0
- package/dist/components/feedback/Drawer/Drawer.module.js.map +1 -0
- package/dist/components/feedback/Drawer/Drawer.types.d.ts +21 -0
- package/dist/components/feedback/Drawer/Drawer.types.d.ts.map +1 -0
- package/dist/components/feedback/Drawer/index.d.ts +3 -0
- package/dist/components/feedback/Drawer/index.d.ts.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.d.ts +4 -0
- package/dist/components/feedback/EmptyState/EmptyState.d.ts.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.js +35 -0
- package/dist/components/feedback/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.js +17 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.js.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.types.d.ts +14 -0
- package/dist/components/feedback/EmptyState/EmptyState.types.d.ts.map +1 -0
- package/dist/components/feedback/EmptyState/index.d.ts +3 -0
- package/dist/components/feedback/EmptyState/index.d.ts.map +1 -0
- package/dist/components/feedback/Modal/BlockModal.d.ts.map +1 -1
- package/dist/components/feedback/Modal/BlockModal.js +3 -12
- package/dist/components/feedback/Modal/BlockModal.js.map +1 -1
- package/dist/components/feedback/Skeleton/Skeleton.d.ts +7 -0
- package/dist/components/feedback/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.js +33 -0
- package/dist/components/feedback/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.js +12 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.js.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.types.d.ts +14 -0
- package/dist/components/feedback/Skeleton/Skeleton.types.d.ts.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.types.js +11 -0
- package/dist/components/feedback/Skeleton/Skeleton.types.js.map +1 -0
- package/dist/components/feedback/Skeleton/index.d.ts +4 -0
- package/dist/components/feedback/Skeleton/index.d.ts.map +1 -0
- package/dist/components/feedback/index.d.ts +3 -0
- package/dist/components/feedback/index.d.ts.map +1 -1
- package/dist/components/forms/NumberInput/NumberInput.d.ts +8 -0
- package/dist/components/forms/NumberInput/NumberInput.d.ts.map +1 -0
- package/dist/components/forms/NumberInput/NumberInput.js +122 -0
- package/dist/components/forms/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/forms/NumberInput/NumberInput.module.js +13 -0
- package/dist/components/forms/NumberInput/NumberInput.module.js.map +1 -0
- package/dist/components/forms/NumberInput/NumberInput.types.d.ts +20 -0
- package/dist/components/forms/NumberInput/NumberInput.types.d.ts.map +1 -0
- package/dist/components/forms/NumberInput/NumberInput.utils.d.ts +11 -0
- package/dist/components/forms/NumberInput/NumberInput.utils.d.ts.map +1 -0
- package/dist/components/forms/NumberInput/NumberInput.utils.js +26 -0
- package/dist/components/forms/NumberInput/NumberInput.utils.js.map +1 -0
- package/dist/components/forms/NumberInput/index.d.ts +3 -0
- package/dist/components/forms/NumberInput/index.d.ts.map +1 -0
- package/dist/components/forms/index.d.ts +1 -0
- package/dist/components/forms/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/Accordion/Accordion.d.ts +7 -0
- package/dist/components/layout/Accordion/Accordion.d.ts.map +1 -0
- package/dist/components/layout/Accordion/Accordion.js +95 -0
- package/dist/components/layout/Accordion/Accordion.js.map +1 -0
- package/dist/components/layout/Accordion/Accordion.module.js +23 -0
- package/dist/components/layout/Accordion/Accordion.module.js.map +1 -0
- package/dist/components/layout/Accordion/Accordion.types.d.ts +21 -0
- package/dist/components/layout/Accordion/Accordion.types.d.ts.map +1 -0
- package/dist/components/layout/Accordion/index.d.ts +3 -0
- package/dist/components/layout/Accordion/index.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/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/useScrollLock.d.ts +6 -0
- package/dist/hooks/useScrollLock.d.ts.map +1 -0
- package/dist/hooks/useScrollLock.js +26 -0
- package/dist/hooks/useScrollLock.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -1
- package/dist/styles.css +2511 -483
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatesHUD.js","names":["chip","styles"],"sources":["../../../../src/components/hud/CoordinatesHUD/CoordinatesHUD.tsx"],"sourcesContent":["import { CheckIcon, CompassIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport chip from \"../hudChip.module.css\";\nimport styles from \"./CoordinatesHUD.module.css\";\nimport type { CoordinatesHUDProps } from \"./CoordinatesHUD.types\";\nimport { FACING_AXIS, coordinatesText, formatCoordinate } from \"./CoordinatesHUD.utils\";\n\n/** Debug-screen style XYZ read-out with an optional facing and copy button. */\nexport const CoordinatesHUD = forwardRef<HTMLDivElement, CoordinatesHUDProps>(\n function CoordinatesHUD(\n {\n x,\n y,\n z,\n facing,\n precision = 0,\n copyable = false,\n size = \"md\",\n label = \"Coordinates\",\n className,\n ...rest\n },\n ref,\n ) {\n const [copied, setCopied] = useState(false);\n const timer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n useEffect(() => () => clearTimeout(timer.current), []);\n\n const copy = async () => {\n try {\n await navigator.clipboard.writeText(coordinatesText(x, y, z, precision));\n setCopied(true);\n clearTimeout(timer.current);\n timer.current = setTimeout(() => setCopied(false), 2000);\n } catch {\n setCopied(false);\n }\n };\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={label}\n data-size={size}\n className={cx(chip.chip, styles.coordinates, className)}\n {...rest}\n >\n <span className={chip.icon} aria-hidden=\"true\">\n <CompassIcon size={size === \"lg\" ? 24 : 16} />\n </span>\n <span className={styles.axes}>\n {(\n [\n [\"X\", x],\n [\"Y\", y],\n [\"Z\", z],\n ] as const\n ).map(([axis, value]) => (\n <span key={axis} className={styles.axis}>\n <span className={chip.label}>{axis}</span>{\" \"}\n <span className={chip.value}>{formatCoordinate(value, precision)}</span>\n </span>\n ))}\n </span>\n {facing ? (\n <span className={styles.facing}>\n <span className={chip.label}>Facing</span> {facing}{\" \"}\n <span className={chip.label}>({FACING_AXIS[facing]})</span>\n </span>\n ) : null}\n {copyable ? (\n <button\n type=\"button\"\n className={styles.copy}\n onClick={copy}\n aria-label={copied ? \"Coordinates copied\" : \"Copy coordinates\"}\n >\n {copied ? <CheckIcon size={16} /> : \"Copy\"}\n </button>\n ) : null}\n {copyable ? (\n <span className=\"block-visually-hidden\" role=\"status\">\n {copied ? \"Coordinates copied\" : \"\"}\n </span>\n ) : null}\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;;;AASA,IAAa,iBAAiB,WAC5B,SAAS,eACP,EACE,GACA,GACA,GACA,QACA,YAAY,GACZ,WAAW,OACX,OAAO,MACP,QAAQ,eACR,WACA,GAAG,QAEL,KACA;CACA,MAAM,CAAC,QAAQ,aAAa,SAAS,KAAK;CAC1C,MAAM,QAAQ,OAAkD,KAAA,CAAS;CACzE,sBAAsB,aAAa,MAAM,OAAO,GAAG,CAAC,CAAC;CAErD,MAAM,OAAO,YAAY;EACvB,IAAI;GACF,MAAM,UAAU,UAAU,UAAU,gBAAgB,GAAG,GAAG,GAAG,SAAS,CAAC;GACvE,UAAU,IAAI;GACd,aAAa,MAAM,OAAO;GAC1B,MAAM,UAAU,iBAAiB,UAAU,KAAK,GAAG,GAAI;EACzD,QAAQ;GACN,UAAU,KAAK;EACjB;CACF;CAEA,OACE,qBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAY;EACZ,aAAW;EACX,WAAW,GAAGA,uBAAK,MAAMC,8BAAO,aAAa,SAAS;EACtD,GAAI;EANN,UAAA;GAQE,oBAAC,QAAD;IAAM,WAAWD,uBAAK;IAAM,eAAY;IACtC,UAAA,oBAAC,aAAD,EAAa,MAAM,SAAS,OAAO,KAAK,GAAK,CAAA;GACzC,CAAA;GACN,oBAAC,QAAD;IAAM,WAAWC,8BAAO;IAEpB,UAAA;KACE,CAAC,KAAK,CAAC;KACP,CAAC,KAAK,CAAC;KACP,CAAC,KAAK,CAAC;IACT,CAAC,CACD,KAAK,CAAC,MAAM,WACZ,qBAAC,QAAD;KAAiB,WAAWA,8BAAO;KAAnC,UAAA;MACE,oBAAC,QAAD;OAAM,WAAWD,uBAAK;OAAQ,UAAA;MAAW,CAAA;MAAE;MAC3C,oBAAC,QAAD;OAAM,WAAWA,uBAAK;OAAQ,UAAA,iBAAiB,OAAO,SAAS;MAAQ,CAAA;KACnE;IAHK,GAAA,IAGL,CACP;GACG,CAAA;GACL,SACC,qBAAC,QAAD;IAAM,WAAWC,8BAAO;IAAxB,UAAA;KACE,oBAAC,QAAD;MAAM,WAAWD,uBAAK;MAAO,UAAA;KAAY,CAAA;KAAC;KAAE;KAAQ;KACpD,qBAAC,QAAD;MAAM,WAAWA,uBAAK;MAAtB,UAAA;OAA6B;OAAE,YAAY;OAAQ;MAAO;;IACtD;GACJ,CAAA,IAAA;GACH,WACC,oBAAC,UAAD;IACE,MAAK;IACL,WAAWC,8BAAO;IAClB,SAAS;IACT,cAAY,SAAS,uBAAuB;IAE3C,UAAA,SAAS,oBAAC,WAAD,EAAW,MAAM,GAAK,CAAA,IAAI;GAC9B,CAAA,IACN;GACH,WACC,oBAAC,QAAD;IAAM,WAAU;IAAwB,MAAK;IAC1C,UAAA,SAAS,uBAAuB;GAC7B,CAAA,IACJ;EACD;;AAET,CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/hud/CoordinatesHUD/CoordinatesHUD.module.css
|
|
2
|
+
var coordinates = "block-coordinates-1uGGW";
|
|
3
|
+
var axes = "block-axes-pVJgT";
|
|
4
|
+
var axis = "block-axis-WP6By";
|
|
5
|
+
var facing = "block-facing-1uYGb";
|
|
6
|
+
var copy = "block-copy-NFw0D";
|
|
7
|
+
var CoordinatesHUD_module_default = {
|
|
8
|
+
coordinates,
|
|
9
|
+
axes,
|
|
10
|
+
axis,
|
|
11
|
+
facing,
|
|
12
|
+
copy
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { axes, axis, coordinates, copy, CoordinatesHUD_module_default as default, facing };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=CoordinatesHUD.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatesHUD.module.js","names":[],"sources":["../../../../src/components/hud/CoordinatesHUD/CoordinatesHUD.module.css"],"sourcesContent":[".coordinates {\n flex-wrap: wrap;\n column-gap: var(--block-space-3);\n}\n\n.axes {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--block-space-3);\n}\n\n.axis {\n white-space: nowrap;\n}\n\n.facing {\n white-space: nowrap;\n text-transform: capitalize;\n}\n\n.copy {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 44px;\n min-height: 24px;\n margin-left: auto;\n padding: 0 var(--block-space-2);\n font: inherit;\n font-size: var(--block-font-size-xs);\n text-transform: uppercase;\n color: var(--block-text-primary);\n background-color: var(--block-obsidian-light);\n border: var(--block-border-width-thin) solid var(--block-black);\n box-shadow: inset 2px 2px 0 color-mix(in srgb, var(--block-white) 15%, transparent);\n cursor: pointer;\n}\n\n.copy:hover {\n background-color: color-mix(in srgb, var(--block-obsidian-light) 70%, var(--block-white));\n}\n\n.copy:focus-visible {\n outline: 3px solid var(--block-focus);\n outline-offset: 2px;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "react";
|
|
2
|
+
export declare const facings: readonly ["north", "south", "east", "west"];
|
|
3
|
+
export type Facing = (typeof facings)[number];
|
|
4
|
+
export interface CoordinatesHUDProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
z: number;
|
|
8
|
+
/** Compass direction the player looks at; shown with its axis (north = −Z). */
|
|
9
|
+
facing?: Facing;
|
|
10
|
+
/** Decimal places. @default 0 */
|
|
11
|
+
precision?: number;
|
|
12
|
+
/** Add a button that copies `x y z` to the clipboard. */
|
|
13
|
+
copyable?: boolean;
|
|
14
|
+
/** @default "md" */
|
|
15
|
+
size?: "sm" | "md" | "lg";
|
|
16
|
+
/** Accessible name of the group. @default "Coordinates" */
|
|
17
|
+
label?: string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=CoordinatesHUD.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatesHUD.types.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/CoordinatesHUD/CoordinatesHUD.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,eAAO,MAAM,OAAO,6CAA8C,CAAC;AAEnE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACzE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,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 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatesHUD.types.js","names":[],"sources":["../../../../src/components/hud/CoordinatesHUD/CoordinatesHUD.types.ts"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\n\nexport const facings = [\"north\", \"south\", \"east\", \"west\"] as const;\n\nexport type Facing = (typeof facings)[number];\n\nexport interface CoordinatesHUDProps extends HTMLAttributes<HTMLDivElement> {\n x: number;\n y: number;\n z: number;\n /** Compass direction the player looks at; shown with its axis (north = −Z). */\n facing?: Facing;\n /** Decimal places. @default 0 */\n precision?: number;\n /** Add a button that copies `x y z` to the clipboard. */\n copyable?: boolean;\n /** @default \"md\" */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Accessible name of the group. @default \"Coordinates\" */\n label?: string;\n}\n"],"mappings":";AAEA,IAAa,UAAU;CAAC;CAAS;CAAS;CAAQ;AAAM"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Facing } from "./CoordinatesHUD.types";
|
|
2
|
+
export declare const FACING_AXIS: Record<Facing, string>;
|
|
3
|
+
/** Fixed decimals with a typographic minus, e.g. `-3.5` → `−3.5`. */
|
|
4
|
+
export declare function formatCoordinate(value: number, precision: number): string;
|
|
5
|
+
/** Plain-text form for copying (ASCII minus, space separated), e.g. `120 64 -340`. */
|
|
6
|
+
export declare function coordinatesText(x: number, y: number, z: number, precision: number): string;
|
|
7
|
+
//# sourceMappingURL=CoordinatesHUD.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatesHUD.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/CoordinatesHUD/CoordinatesHUD.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9C,CAAC;AAEF,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/components/hud/CoordinatesHUD/CoordinatesHUD.utils.ts
|
|
2
|
+
var FACING_AXIS = {
|
|
3
|
+
north: "−Z",
|
|
4
|
+
south: "+Z",
|
|
5
|
+
east: "+X",
|
|
6
|
+
west: "−X"
|
|
7
|
+
};
|
|
8
|
+
/** Fixed decimals with a typographic minus, e.g. `-3.5` → `−3.5`. */
|
|
9
|
+
function formatCoordinate(value, precision) {
|
|
10
|
+
const fixed = Math.abs(value).toFixed(Math.max(0, precision));
|
|
11
|
+
return value < 0 && Number(fixed) !== 0 ? `−${fixed}` : fixed;
|
|
12
|
+
}
|
|
13
|
+
/** Plain-text form for copying (ASCII minus, space separated), e.g. `120 64 -340`. */
|
|
14
|
+
function coordinatesText(x, y, z, precision) {
|
|
15
|
+
return [
|
|
16
|
+
x,
|
|
17
|
+
y,
|
|
18
|
+
z
|
|
19
|
+
].map((value) => formatCoordinate(value, precision).replace("−", "-")).join(" ");
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { FACING_AXIS, coordinatesText, formatCoordinate };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=CoordinatesHUD.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatesHUD.utils.js","names":[],"sources":["../../../../src/components/hud/CoordinatesHUD/CoordinatesHUD.utils.ts"],"sourcesContent":["import type { Facing } from \"./CoordinatesHUD.types\";\n\nexport const FACING_AXIS: Record<Facing, string> = {\n north: \"−Z\",\n south: \"+Z\",\n east: \"+X\",\n west: \"−X\",\n};\n\n/** Fixed decimals with a typographic minus, e.g. `-3.5` → `−3.5`. */\nexport function formatCoordinate(value: number, precision: number): string {\n const fixed = Math.abs(value).toFixed(Math.max(0, precision));\n const negative = value < 0 && Number(fixed) !== 0;\n return negative ? `−${fixed}` : fixed;\n}\n\n/** Plain-text form for copying (ASCII minus, space separated), e.g. `120 64 -340`. */\nexport function coordinatesText(x: number, y: number, z: number, precision: number): string {\n return [x, y, z].map((value) => formatCoordinate(value, precision).replace(\"−\", \"-\")).join(\" \");\n}\n"],"mappings":";AAEA,IAAa,cAAsC;CACjD,OAAO;CACP,OAAO;CACP,MAAM;CACN,MAAM;AACR;;AAGA,SAAgB,iBAAiB,OAAe,WAA2B;CACzE,MAAM,QAAQ,KAAK,IAAI,KAAK,CAAC,CAAC,QAAQ,KAAK,IAAI,GAAG,SAAS,CAAC;CAE5D,OADiB,QAAQ,KAAK,OAAO,KAAK,MAAM,IAC9B,IAAI,UAAU;AAClC;;AAGA,SAAgB,gBAAgB,GAAW,GAAW,GAAW,WAA2B;CAC1F,OAAO;EAAC;EAAG;EAAG;CAAC,CAAC,CAAC,KAAK,UAAU,iBAAiB,OAAO,SAAS,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;AAChG"}
|
|
@@ -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"}
|