@malilion/block-ui-react 0.5.0 → 0.6.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/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/actions/ContextMenu/ContextMenu.js +4 -2
- package/dist/components/actions/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/components/actions/ContextMenu/ContextMenu.types.d.ts +1 -1
- package/dist/components/actions/ContextMenu/ContextMenu.types.d.ts.map +1 -1
- package/dist/components/cards/AchievementCard/AchievementCard.d.ts.map +1 -1
- package/dist/components/cards/AchievementCard/AchievementCard.js +6 -4
- package/dist/components/cards/AchievementCard/AchievementCard.js.map +1 -1
- package/dist/components/cards/PlayerCard/PlayerCard.d.ts.map +1 -1
- package/dist/components/cards/PlayerCard/PlayerCard.js +7 -5
- package/dist/components/cards/PlayerCard/PlayerCard.js.map +1 -1
- package/dist/components/cards/QuestCard/QuestCard.d.ts.map +1 -1
- package/dist/components/cards/QuestCard/QuestCard.js +9 -7
- package/dist/components/cards/QuestCard/QuestCard.js.map +1 -1
- package/dist/components/cards/ServerBrowser/ServerBrowser.d.ts.map +1 -1
- package/dist/components/cards/ServerBrowser/ServerBrowser.js +27 -25
- package/dist/components/cards/ServerBrowser/ServerBrowser.js.map +1 -1
- package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts +2 -2
- package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts.map +1 -1
- package/dist/components/cards/ServerCard/ServerCard.d.ts.map +1 -1
- package/dist/components/cards/ServerCard/ServerCard.js +10 -8
- package/dist/components/cards/ServerCard/ServerCard.js.map +1 -1
- package/dist/components/cards/WorldBrowser/WorldBrowser.d.ts.map +1 -1
- package/dist/components/cards/WorldBrowser/WorldBrowser.js +20 -18
- package/dist/components/cards/WorldBrowser/WorldBrowser.js.map +1 -1
- package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts +2 -2
- package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts.map +1 -1
- package/dist/components/cards/WorldCard/WorldCard.d.ts.map +1 -1
- package/dist/components/cards/WorldCard/WorldCard.js +16 -6
- package/dist/components/cards/WorldCard/WorldCard.js.map +1 -1
- package/dist/components/crafting/Anvil/Anvil.d.ts.map +1 -1
- package/dist/components/crafting/Anvil/Anvil.js +9 -7
- package/dist/components/crafting/Anvil/Anvil.js.map +1 -1
- package/dist/components/crafting/Anvil/Anvil.types.d.ts +1 -1
- package/dist/components/crafting/Anvil/Anvil.types.d.ts.map +1 -1
- package/dist/components/crafting/BrewingStand/BrewingStand.d.ts.map +1 -1
- package/dist/components/crafting/BrewingStand/BrewingStand.js +11 -20
- package/dist/components/crafting/BrewingStand/BrewingStand.js.map +1 -1
- package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts +1 -1
- package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts.map +1 -1
- package/dist/components/crafting/BrewingStand/BrewingStand.types.js.map +1 -1
- package/dist/components/crafting/CraftingGrid/CraftingGrid.d.ts.map +1 -1
- package/dist/components/crafting/CraftingGrid/CraftingGrid.js +4 -2
- package/dist/components/crafting/CraftingGrid/CraftingGrid.js.map +1 -1
- package/dist/components/crafting/CraftingResult/CraftingResult.d.ts.map +1 -1
- package/dist/components/crafting/CraftingResult/CraftingResult.js +5 -2
- package/dist/components/crafting/CraftingResult/CraftingResult.js.map +1 -1
- package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts +1 -1
- package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts.map +1 -1
- package/dist/components/crafting/CraftingTable/CraftingTable.d.ts.map +1 -1
- package/dist/components/crafting/CraftingTable/CraftingTable.js +5 -3
- package/dist/components/crafting/CraftingTable/CraftingTable.js.map +1 -1
- package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts +2 -2
- package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts.map +1 -1
- package/dist/components/crafting/EnchantingTable/EnchantingTable.d.ts.map +1 -1
- package/dist/components/crafting/EnchantingTable/EnchantingTable.js +15 -13
- package/dist/components/crafting/EnchantingTable/EnchantingTable.js.map +1 -1
- package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts +1 -1
- package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts.map +1 -1
- package/dist/components/crafting/Furnace/Furnace.d.ts.map +1 -1
- package/dist/components/crafting/Furnace/Furnace.js +11 -16
- package/dist/components/crafting/Furnace/Furnace.js.map +1 -1
- package/dist/components/crafting/Furnace/Furnace.types.d.ts +1 -1
- package/dist/components/crafting/Furnace/Furnace.types.d.ts.map +1 -1
- package/dist/components/crafting/Furnace/Furnace.types.js.map +1 -1
- package/dist/components/crafting/RecipeBook/RecipeBook.d.ts.map +1 -1
- package/dist/components/crafting/RecipeBook/RecipeBook.js +17 -15
- package/dist/components/crafting/RecipeBook/RecipeBook.js.map +1 -1
- package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts +1 -1
- package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts.map +1 -1
- package/dist/components/crafting/TradingUI/TradingUI.d.ts +1 -1
- package/dist/components/crafting/TradingUI/TradingUI.d.ts.map +1 -1
- package/dist/components/crafting/TradingUI/TradingUI.js +14 -13
- package/dist/components/crafting/TradingUI/TradingUI.js.map +1 -1
- package/dist/components/crafting/TradingUI/TradingUI.types.d.ts +1 -1
- package/dist/components/crafting/TradingUI/TradingUI.types.d.ts.map +1 -1
- package/dist/components/crafting/TradingUI/TradingUI.types.js.map +1 -1
- package/dist/components/display/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/display/Avatar/Avatar.js +3 -7
- package/dist/components/display/Avatar/Avatar.js.map +1 -1
- package/dist/components/display/BlockTable/BlockTable.d.ts.map +1 -1
- package/dist/components/display/BlockTable/BlockTable.js +4 -2
- package/dist/components/display/BlockTable/BlockTable.js.map +1 -1
- package/dist/components/display/BlockTable/BlockTable.types.d.ts +1 -1
- package/dist/components/display/BlockTable/BlockTable.types.d.ts.map +1 -1
- package/dist/components/display/SkillTree/SkillTree.d.ts.map +1 -1
- package/dist/components/display/SkillTree/SkillTree.js +16 -15
- package/dist/components/display/SkillTree/SkillTree.js.map +1 -1
- package/dist/components/display/SkillTree/SkillTree.types.d.ts +1 -1
- package/dist/components/display/SkillTree/SkillTree.types.d.ts.map +1 -1
- package/dist/components/feedback/Alert/BlockAlert.d.ts.map +1 -1
- package/dist/components/feedback/Alert/BlockAlert.js +4 -2
- package/dist/components/feedback/Alert/BlockAlert.js.map +1 -1
- package/dist/components/feedback/Alert/BlockAlert.types.d.ts +1 -1
- package/dist/components/feedback/Alert/BlockAlert.types.d.ts.map +1 -1
- package/dist/components/feedback/Alert/BlockAlert.types.js.map +1 -1
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js +5 -3
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js.map +1 -1
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts +2 -2
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts.map +1 -1
- package/dist/components/feedback/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/feedback/Drawer/Drawer.js +3 -2
- package/dist/components/feedback/Drawer/Drawer.js.map +1 -1
- package/dist/components/feedback/Loading/BlockLoading.d.ts.map +1 -1
- package/dist/components/feedback/Loading/BlockLoading.js +4 -2
- package/dist/components/feedback/Loading/BlockLoading.js.map +1 -1
- package/dist/components/feedback/Loading/BlockLoading.types.d.ts +1 -1
- package/dist/components/feedback/Loading/BlockLoading.types.d.ts.map +1 -1
- package/dist/components/feedback/Modal/BlockModal.d.ts.map +1 -1
- package/dist/components/feedback/Modal/BlockModal.js +3 -2
- package/dist/components/feedback/Modal/BlockModal.js.map +1 -1
- package/dist/components/feedback/Progress/BlockProgress.d.ts.map +1 -1
- package/dist/components/feedback/Progress/BlockProgress.js +3 -1
- package/dist/components/feedback/Progress/BlockProgress.js.map +1 -1
- package/dist/components/feedback/Toast/Toast.d.ts +1 -1
- package/dist/components/feedback/Toast/Toast.d.ts.map +1 -1
- package/dist/components/feedback/Toast/Toast.js +6 -4
- package/dist/components/feedback/Toast/Toast.js.map +1 -1
- package/dist/components/feedback/Toast/Toast.types.d.ts +1 -1
- package/dist/components/feedback/Toast/Toast.types.d.ts.map +1 -1
- package/dist/components/forms/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/forms/NumberInput/NumberInput.js +4 -2
- package/dist/components/forms/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/hud/ArmorBar/ArmorBar.d.ts.map +1 -1
- package/dist/components/hud/ArmorBar/ArmorBar.js +4 -2
- package/dist/components/hud/ArmorBar/ArmorBar.js.map +1 -1
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.d.ts.map +1 -1
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.js +4 -2
- package/dist/components/hud/BiomeIndicator/BiomeIndicator.js.map +1 -1
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.d.ts.map +1 -1
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js +9 -7
- package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js.map +1 -1
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.d.ts.map +1 -1
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.js +7 -11
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.js.map +1 -1
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts +4 -1
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts.map +1 -1
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js +5 -2
- package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js.map +1 -1
- package/dist/components/hud/HealthBar/HealthBar.d.ts.map +1 -1
- package/dist/components/hud/HealthBar/HealthBar.js +4 -2
- package/dist/components/hud/HealthBar/HealthBar.js.map +1 -1
- package/dist/components/hud/HungerBar/HungerBar.d.ts.map +1 -1
- package/dist/components/hud/HungerBar/HungerBar.js +4 -2
- package/dist/components/hud/HungerBar/HungerBar.js.map +1 -1
- package/dist/components/hud/MiniMap/MiniMap.d.ts.map +1 -1
- package/dist/components/hud/MiniMap/MiniMap.js +8 -7
- package/dist/components/hud/MiniMap/MiniMap.js.map +1 -1
- package/dist/components/hud/MiniMap/MiniMap.utils.d.ts +10 -2
- package/dist/components/hud/MiniMap/MiniMap.utils.d.ts.map +1 -1
- package/dist/components/hud/MiniMap/MiniMap.utils.js +12 -15
- package/dist/components/hud/MiniMap/MiniMap.utils.js.map +1 -1
- package/dist/components/hud/PlayerHUD/PlayerHUD.d.ts.map +1 -1
- package/dist/components/hud/PlayerHUD/PlayerHUD.js +4 -2
- package/dist/components/hud/PlayerHUD/PlayerHUD.js.map +1 -1
- package/dist/components/hud/PointsBar/PointsBar.d.ts.map +1 -1
- package/dist/components/hud/PointsBar/PointsBar.js +3 -1
- package/dist/components/hud/PointsBar/PointsBar.js.map +1 -1
- package/dist/components/hud/Scoreboard/Scoreboard.d.ts.map +1 -1
- package/dist/components/hud/Scoreboard/Scoreboard.js +9 -11
- package/dist/components/hud/Scoreboard/Scoreboard.js.map +1 -1
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.d.ts.map +1 -1
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.js +7 -4
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.js.map +1 -1
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js +1 -8
- package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js.map +1 -1
- package/dist/components/hud/XPBar/XPBar.d.ts.map +1 -1
- package/dist/components/hud/XPBar/XPBar.js +6 -4
- package/dist/components/hud/XPBar/XPBar.js.map +1 -1
- package/dist/components/inventory/DurabilityBar/DurabilityBar.d.ts.map +1 -1
- package/dist/components/inventory/DurabilityBar/DurabilityBar.js +4 -2
- package/dist/components/inventory/DurabilityBar/DurabilityBar.js.map +1 -1
- package/dist/components/inventory/Hotbar/Hotbar.d.ts.map +1 -1
- package/dist/components/inventory/Hotbar/Hotbar.js +4 -2
- package/dist/components/inventory/Hotbar/Hotbar.js.map +1 -1
- package/dist/components/inventory/Inventory/Inventory.d.ts.map +1 -1
- package/dist/components/inventory/Inventory/Inventory.js +4 -2
- package/dist/components/inventory/Inventory/Inventory.js.map +1 -1
- package/dist/components/inventory/InventoryGrid/InventoryGrid.d.ts.map +1 -1
- package/dist/components/inventory/InventoryGrid/InventoryGrid.js +4 -2
- package/dist/components/inventory/InventoryGrid/InventoryGrid.js.map +1 -1
- package/dist/components/inventory/InventorySlot/InventorySlot.d.ts.map +1 -1
- package/dist/components/inventory/InventorySlot/InventorySlot.js +3 -1
- package/dist/components/inventory/InventorySlot/InventorySlot.js.map +1 -1
- package/dist/components/inventory/ItemStack/ItemStack.d.ts.map +1 -1
- package/dist/components/inventory/ItemStack/ItemStack.js +3 -1
- package/dist/components/inventory/ItemStack/ItemStack.js.map +1 -1
- package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts +2 -1
- package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts.map +1 -1
- package/dist/components/inventory/ItemStack/ItemStack.utils.js +6 -2
- package/dist/components/inventory/ItemStack/ItemStack.utils.js.map +1 -1
- package/dist/components/inventory/ItemTooltip/ItemTooltip.d.ts.map +1 -1
- package/dist/components/inventory/ItemTooltip/ItemTooltip.js +3 -1
- package/dist/components/inventory/ItemTooltip/ItemTooltip.js.map +1 -1
- package/dist/components/navigation/BlockPagination/BlockPagination.d.ts.map +1 -1
- package/dist/components/navigation/BlockPagination/BlockPagination.js +9 -12
- package/dist/components/navigation/BlockPagination/BlockPagination.js.map +1 -1
- package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts +1 -1
- package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts.map +1 -1
- package/dist/components/navigation/BlockSidebar/BlockSidebar.d.ts.map +1 -1
- package/dist/components/navigation/BlockSidebar/BlockSidebar.js +4 -2
- package/dist/components/navigation/BlockSidebar/BlockSidebar.js.map +1 -1
- package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts +1 -1
- package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts.map +1 -1
- package/dist/components/navigation/BlockStepper/BlockStepper.d.ts.map +1 -1
- package/dist/components/navigation/BlockStepper/BlockStepper.js +4 -2
- package/dist/components/navigation/BlockStepper/BlockStepper.js.map +1 -1
- package/dist/components/navigation/BlockStepper/BlockStepper.types.d.ts +1 -1
- package/dist/components/navigation/BlockStepper/BlockStepper.types.d.ts.map +1 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +4 -2
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts +1 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts.map +1 -1
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.d.ts.map +1 -1
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js +4 -2
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js.map +1 -1
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts +1 -1
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts.map +1 -1
- package/dist/components/social/ChatWindow/ChatWindow.d.ts.map +1 -1
- package/dist/components/social/ChatWindow/ChatWindow.js +10 -7
- package/dist/components/social/ChatWindow/ChatWindow.js.map +1 -1
- package/dist/components/social/ChatWindow/ChatWindow.types.d.ts +2 -2
- package/dist/components/social/ChatWindow/ChatWindow.types.d.ts.map +1 -1
- package/dist/components/social/ChatWindow/ChatWindow.types.js.map +1 -1
- package/dist/components/social/CommandConsole/CommandConsole.d.ts.map +1 -1
- package/dist/components/social/CommandConsole/CommandConsole.js +7 -4
- package/dist/components/social/CommandConsole/CommandConsole.js.map +1 -1
- package/dist/components/social/CommandConsole/CommandConsole.types.d.ts +1 -1
- package/dist/components/social/CommandConsole/CommandConsole.types.d.ts.map +1 -1
- package/dist/components/social/CommandConsole/CommandConsole.types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/locale/index.d.ts +4 -0
- package/dist/locale/index.d.ts.map +1 -0
- package/dist/locale/messages.d.ts +289 -0
- package/dist/locale/messages.d.ts.map +1 -0
- package/dist/locale/messages.js +341 -0
- package/dist/locale/messages.js.map +1 -0
- package/dist/locale/zhTW.d.ts +4 -0
- package/dist/locale/zhTW.d.ts.map +1 -0
- package/dist/locale/zhTW.js +331 -0
- package/dist/locale/zhTW.js.map +1 -0
- package/dist/provider/BlockUIProvider.d.ts.map +1 -1
- package/dist/provider/BlockUIProvider.js +10 -3
- package/dist/provider/BlockUIProvider.js.map +1 -1
- package/dist/provider/BlockUIProvider.types.d.ts +9 -0
- package/dist/provider/BlockUIProvider.types.d.ts.map +1 -1
- package/dist/provider/context.d.ts +3 -0
- package/dist/provider/context.d.ts.map +1 -1
- package/dist/provider/context.js +6 -1
- package/dist/provider/context.js.map +1 -1
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
2
3
|
import hudChip_module_default from "../hudChip.module.js";
|
|
3
4
|
import CoordinatesHUD_module_default from "./CoordinatesHUD.module.js";
|
|
4
5
|
import { FACING_AXIS, coordinatesText, formatCoordinate } from "./CoordinatesHUD.utils.js";
|
|
@@ -7,7 +8,8 @@ import { CheckIcon, CompassIcon } from "@malilion/block-ui-icons";
|
|
|
7
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
9
|
//#region src/components/hud/CoordinatesHUD/CoordinatesHUD.tsx
|
|
9
10
|
/** Debug-screen style XYZ read-out with an optional facing and copy button. */
|
|
10
|
-
var CoordinatesHUD = forwardRef(function CoordinatesHUD({ x, y, z, facing, precision = 0, copyable = false, size = "md", label
|
|
11
|
+
var CoordinatesHUD = forwardRef(function CoordinatesHUD({ x, y, z, facing, precision = 0, copyable = false, size = "md", label, className, ...rest }, ref) {
|
|
12
|
+
const m = useBlockUIMessages();
|
|
11
13
|
const [copied, setCopied] = useState(false);
|
|
12
14
|
const timer = useRef(void 0);
|
|
13
15
|
useEffect(() => () => clearTimeout(timer.current), []);
|
|
@@ -24,7 +26,7 @@ var CoordinatesHUD = forwardRef(function CoordinatesHUD({ x, y, z, facing, preci
|
|
|
24
26
|
return /* @__PURE__ */ jsxs("div", {
|
|
25
27
|
ref,
|
|
26
28
|
role: "group",
|
|
27
|
-
"aria-label": label,
|
|
29
|
+
"aria-label": label ?? m.coordinatesHUD.label,
|
|
28
30
|
"data-size": size,
|
|
29
31
|
className: cx(hudChip_module_default.chip, CoordinatesHUD_module_default.coordinates, className),
|
|
30
32
|
...rest,
|
|
@@ -60,10 +62,10 @@ var CoordinatesHUD = forwardRef(function CoordinatesHUD({ x, y, z, facing, preci
|
|
|
60
62
|
children: [
|
|
61
63
|
/* @__PURE__ */ jsx("span", {
|
|
62
64
|
className: hudChip_module_default.label,
|
|
63
|
-
children:
|
|
65
|
+
children: m.coordinatesHUD.facing
|
|
64
66
|
}),
|
|
65
67
|
" ",
|
|
66
|
-
facing,
|
|
68
|
+
m.coordinatesHUD.facings[facing],
|
|
67
69
|
" ",
|
|
68
70
|
/* @__PURE__ */ jsxs("span", {
|
|
69
71
|
className: hudChip_module_default.label,
|
|
@@ -79,13 +81,13 @@ var CoordinatesHUD = forwardRef(function CoordinatesHUD({ x, y, z, facing, preci
|
|
|
79
81
|
type: "button",
|
|
80
82
|
className: CoordinatesHUD_module_default.copy,
|
|
81
83
|
onClick: copy,
|
|
82
|
-
"aria-label": copied ?
|
|
83
|
-
children: copied ? /* @__PURE__ */ jsx(CheckIcon, { size: 16 }) :
|
|
84
|
+
"aria-label": copied ? m.coordinatesHUD.copied : m.coordinatesHUD.copyLabel,
|
|
85
|
+
children: copied ? /* @__PURE__ */ jsx(CheckIcon, { size: 16 }) : m.coordinatesHUD.copy
|
|
84
86
|
}) : null,
|
|
85
87
|
copyable ? /* @__PURE__ */ jsx("span", {
|
|
86
88
|
className: "block-visually-hidden",
|
|
87
89
|
role: "status",
|
|
88
|
-
children: copied ?
|
|
90
|
+
children: copied ? m.coordinatesHUD.copied : ""
|
|
89
91
|
}) : null
|
|
90
92
|
]
|
|
91
93
|
});
|
|
@@ -1 +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 {
|
|
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\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\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 { x, y, z, facing, precision = 0, copyable = false, size = \"md\", label, className, ...rest },\n ref,\n ) {\n const m = useBlockUIMessages();\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 ?? m.coordinatesHUD.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}>{m.coordinatesHUD.facing}</span>{\" \"}\n {m.coordinatesHUD.facings[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 ? m.coordinatesHUD.copied : m.coordinatesHUD.copyLabel}\n >\n {copied ? <CheckIcon size={16} /> : m.coordinatesHUD.copy}\n </button>\n ) : null}\n {copyable ? (\n <span className=\"block-visually-hidden\" role=\"status\">\n {copied ? m.coordinatesHUD.copied : \"\"}\n </span>\n ) : null}\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;;;;AAUA,IAAa,iBAAiB,WAC5B,SAAS,eACP,EAAE,GAAG,GAAG,GAAG,QAAQ,YAAY,GAAG,WAAW,OAAO,OAAO,MAAM,OAAO,WAAW,GAAG,QACtF,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,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,SAAS,EAAE,eAAe;EACtC,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;MAAQ,UAAA,EAAE,eAAe;KAAa,CAAA;KAAE;KAC7D,EAAE,eAAe,QAAQ;KAAS;KACnC,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,EAAE,eAAe,SAAS,EAAE,eAAe;IAE/D,UAAA,SAAS,oBAAC,WAAD,EAAW,MAAM,GAAK,CAAA,IAAI,EAAE,eAAe;GAC/C,CAAA,IACN;GACH,WACC,oBAAC,QAAD;IAAM,WAAU;IAAwB,MAAK;IAC1C,UAAA,SAAS,EAAE,eAAe,SAAS;GAChC,CAAA,IACJ;EACD;;AAET,CACF"}
|
|
@@ -1 +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;
|
|
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;AAIxE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,mHAmD7B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
2
3
|
import hudChip_module_default from "../hudChip.module.js";
|
|
3
4
|
import DayNightIndicator_module_default from "./DayNightIndicator.module.js";
|
|
4
5
|
import { arcPosition, dayPhase, formatClock } from "./DayNightIndicator.utils.js";
|
|
@@ -6,22 +7,17 @@ import { forwardRef } from "react";
|
|
|
6
7
|
import { MoonIcon, SunIcon } from "@malilion/block-ui-icons";
|
|
7
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
9
|
//#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
10
|
/** 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
|
|
11
|
+
var DayNightIndicator = forwardRef(function DayNightIndicator({ time, day, format = "24h", showDial = true, size = "md", label, className, ...rest }, ref) {
|
|
12
|
+
const m = useBlockUIMessages();
|
|
17
13
|
const phase = dayPhase(time);
|
|
18
|
-
const clock = formatClock(time, format);
|
|
14
|
+
const clock = formatClock(time, format, m.dayNightIndicator);
|
|
19
15
|
const { body, progress, height } = arcPosition(time);
|
|
20
16
|
const Body = body === "sun" ? SunIcon : MoonIcon;
|
|
21
17
|
return /* @__PURE__ */ jsxs("div", {
|
|
22
18
|
ref,
|
|
23
19
|
role: "group",
|
|
24
|
-
"aria-label": label,
|
|
20
|
+
"aria-label": label ?? m.dayNightIndicator.label,
|
|
25
21
|
"data-phase": phase,
|
|
26
22
|
"data-size": size,
|
|
27
23
|
className: cx(hudChip_module_default.chip, DayNightIndicator_module_default.dayNight, className),
|
|
@@ -44,7 +40,7 @@ var DayNightIndicator = forwardRef(function DayNightIndicator({ time, day, forma
|
|
|
44
40
|
day !== void 0 ? /* @__PURE__ */ jsxs("span", { children: [
|
|
45
41
|
/* @__PURE__ */ jsx("span", {
|
|
46
42
|
className: hudChip_module_default.label,
|
|
47
|
-
children:
|
|
43
|
+
children: m.dayNightIndicator.day
|
|
48
44
|
}),
|
|
49
45
|
" ",
|
|
50
46
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -58,7 +54,7 @@ var DayNightIndicator = forwardRef(function DayNightIndicator({ time, day, forma
|
|
|
58
54
|
}),
|
|
59
55
|
/* @__PURE__ */ jsx("span", {
|
|
60
56
|
className: DayNightIndicator_module_default.phase,
|
|
61
|
-
children:
|
|
57
|
+
children: m.dayNightIndicator.phases[phase]
|
|
62
58
|
})
|
|
63
59
|
]
|
|
64
60
|
})]
|
|
@@ -1 +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\";\
|
|
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\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\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 { time, day, format = \"24h\", showDial = true, size = \"md\", label, className, ...rest },\n ref,\n ) {\n const m = useBlockUIMessages();\n const phase = dayPhase(time);\n const clock = formatClock(time, format, m.dayNightIndicator);\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 ?? m.dayNightIndicator.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}>{m.dayNightIndicator.day}</span>{\" \"}\n <span className={chip.value}>{day}</span>\n </span>\n ) : null}\n <span className={chip.value}>{clock}</span>\n <span className={styles.phase}>{m.dayNightIndicator.phases[phase]}</span>\n </span>\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;;;;AAUA,IAAa,oBAAoB,WAC/B,SAAS,kBACP,EAAE,MAAM,KAAK,SAAS,OAAO,WAAW,MAAM,OAAO,MAAM,OAAO,WAAW,GAAG,QAChF,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,MAAM,QAAQ,SAAS,IAAI;CAC3B,MAAM,QAAQ,YAAY,MAAM,QAAQ,EAAE,iBAAiB;CAC3D,MAAM,EAAE,MAAM,UAAU,WAAW,YAAY,IAAI;CACnD,MAAM,OAAO,SAAS,QAAQ,UAAU;CAExC,OACE,qBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAY,SAAS,EAAE,kBAAkB;EACzC,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;MAAQ,UAAA,EAAE,kBAAkB;KAAU,CAAA;KAAE;KAC9D,oBAAC,QAAD;MAAM,WAAWA,uBAAK;MAAQ,UAAA;KAAU,CAAA;IACpC,EAAA,CAAA,IACJ;IACJ,oBAAC,QAAD;KAAM,WAAWA,uBAAK;KAAQ,UAAA;IAAY,CAAA;IAC1C,oBAAC,QAAD;KAAM,WAAWC,iCAAO;KAAQ,UAAA,EAAE,kBAAkB,OAAO;IAAa,CAAA;GACpE;EACH,CAAA,CAAA;;AAET,CACF"}
|
|
@@ -2,7 +2,10 @@ import type { DayPhase } from "./DayNightIndicator.types";
|
|
|
2
2
|
/** Wraps any number of hours into [0, 24). */
|
|
3
3
|
export declare function normalizeTime(time: number): number;
|
|
4
4
|
export declare function dayPhase(time: number): DayPhase;
|
|
5
|
-
export declare function formatClock(time: number, format: "24h" | "12h"
|
|
5
|
+
export declare function formatClock(time: number, format: "24h" | "12h", suffixes?: {
|
|
6
|
+
am: string;
|
|
7
|
+
pm: string;
|
|
8
|
+
}): string;
|
|
6
9
|
/**
|
|
7
10
|
* Where the sun (06:00–18:00) or moon (18:00–06:00) sits on the arc:
|
|
8
11
|
* `progress` 0 → 1 runs left to right, `height` 0 → 1 → 0 rises and sets.
|
|
@@ -1 +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,
|
|
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,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,GAAG,KAAK,EACrB,QAAQ,GAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAA2B,GAC5D,MAAM,CAYR;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"}
|
|
@@ -10,7 +10,10 @@ function dayPhase(time) {
|
|
|
10
10
|
if (t >= 17 && t < 19) return "dusk";
|
|
11
11
|
return "night";
|
|
12
12
|
}
|
|
13
|
-
function formatClock(time, format
|
|
13
|
+
function formatClock(time, format, suffixes = {
|
|
14
|
+
am: "AM",
|
|
15
|
+
pm: "PM"
|
|
16
|
+
}) {
|
|
14
17
|
const t = normalizeTime(time);
|
|
15
18
|
let hours = Math.floor(t);
|
|
16
19
|
let minutes = Math.round((t - hours) * 60);
|
|
@@ -20,7 +23,7 @@ function formatClock(time, format) {
|
|
|
20
23
|
}
|
|
21
24
|
const mm = String(minutes).padStart(2, "0");
|
|
22
25
|
if (format === "24h") return `${String(hours).padStart(2, "0")}:${mm}`;
|
|
23
|
-
const suffix = hours < 12 ?
|
|
26
|
+
const suffix = hours < 12 ? suffixes.am : suffixes.pm;
|
|
24
27
|
return `${hours % 12 === 0 ? 12 : hours % 12}:${mm} ${suffix}`;
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
@@ -1 +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
|
|
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(\n time: number,\n format: \"24h\" | \"12h\",\n suffixes: { am: string; pm: string } = { am: \"AM\", pm: \"PM\" },\n): 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 ? suffixes.am : suffixes.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,YACd,MACA,QACA,WAAuC;CAAE,IAAI;CAAM,IAAI;AAAK,GACpD;CACR,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,SAAS,KAAK,SAAS;CACnD,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthBar.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/HealthBar/HealthBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"HealthBar.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/HealthBar/HealthBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,mFAAmF;AACnF,eAAO,MAAM,SAAS,2GAkBpB,CAAC"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
1
2
|
import { PointsBar } from "../PointsBar/PointsBar.js";
|
|
2
3
|
import { forwardRef } from "react";
|
|
3
4
|
import { HeartIcon } from "@malilion/block-ui-icons";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/components/hud/HealthBar/HealthBar.tsx
|
|
6
7
|
/** Hearts — two health points per heart. Hearts bob when health is low (≤ 20%). */
|
|
7
|
-
var HealthBar = forwardRef(function HealthBar({ value, max = 20, showText = false, iconSize = 16, label
|
|
8
|
+
var HealthBar = forwardRef(function HealthBar({ value, max = 20, showText = false, iconSize = 16, label, ...rest }, ref) {
|
|
9
|
+
const m = useBlockUIMessages();
|
|
8
10
|
return /* @__PURE__ */ jsx(PointsBar, {
|
|
9
11
|
ref,
|
|
10
12
|
value,
|
|
11
13
|
max,
|
|
12
14
|
showText,
|
|
13
15
|
iconSize,
|
|
14
|
-
label,
|
|
16
|
+
label: label ?? m.hud.health,
|
|
15
17
|
lowThreshold: .2,
|
|
16
18
|
icon: /* @__PURE__ */ jsx(HeartIcon, { size: iconSize }),
|
|
17
19
|
...rest
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthBar.js","names":[],"sources":["../../../../src/components/hud/HealthBar/HealthBar.tsx"],"sourcesContent":["import { HeartIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef } from \"react\";\nimport { PointsBar } from \"../PointsBar/PointsBar\";\nimport type { HealthBarProps } from \"./HealthBar.types\";\n\n/** Hearts — two health points per heart. Hearts bob when health is low (≤ 20%). */\nexport const HealthBar = forwardRef<HTMLDivElement, HealthBarProps>(function HealthBar(\n { value, max = 20, showText = false, iconSize = 16, label
|
|
1
|
+
{"version":3,"file":"HealthBar.js","names":[],"sources":["../../../../src/components/hud/HealthBar/HealthBar.tsx"],"sourcesContent":["import { HeartIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef } from \"react\";\nimport { PointsBar } from \"../PointsBar/PointsBar\";\nimport type { HealthBarProps } from \"./HealthBar.types\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\n\n/** Hearts — two health points per heart. Hearts bob when health is low (≤ 20%). */\nexport const HealthBar = forwardRef<HTMLDivElement, HealthBarProps>(function HealthBar(\n { value, max = 20, showText = false, iconSize = 16, label, ...rest },\n ref,\n) {\n const m = useBlockUIMessages();\n return (\n <PointsBar\n ref={ref}\n value={value}\n max={max}\n showText={showText}\n iconSize={iconSize}\n label={label ?? m.hud.health}\n lowThreshold={0.2}\n icon={<HeartIcon size={iconSize} />}\n {...rest}\n />\n );\n});\n"],"mappings":";;;;;;;AAOA,IAAa,YAAY,WAA2C,SAAS,UAC3E,EAAE,OAAO,MAAM,IAAI,WAAW,OAAO,WAAW,IAAI,OAAO,GAAG,QAC9D,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,OACE,oBAAC,WAAD;EACO;EACE;EACF;EACK;EACA;EACV,OAAO,SAAS,EAAE,IAAI;EACtB,cAAc;EACd,MAAM,oBAAC,WAAD,EAAW,MAAM,SAAW,CAAA;EAClC,GAAI;CACL,CAAA;AAEL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HungerBar.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/HungerBar/HungerBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"HungerBar.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/HungerBar/HungerBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,+DAA+D;AAC/D,eAAO,MAAM,SAAS,2GAkBpB,CAAC"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
1
2
|
import { PointsBar } from "../PointsBar/PointsBar.js";
|
|
2
3
|
import { forwardRef } from "react";
|
|
3
4
|
import { FoodIcon } from "@malilion/block-ui-icons";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/components/hud/HungerBar/HungerBar.tsx
|
|
6
7
|
/** Hunger points shown as drumsticks — two points per icon. */
|
|
7
|
-
var HungerBar = forwardRef(function HungerBar({ value, max = 20, showText = false, iconSize = 16, label
|
|
8
|
+
var HungerBar = forwardRef(function HungerBar({ value, max = 20, showText = false, iconSize = 16, label, ...rest }, ref) {
|
|
9
|
+
const m = useBlockUIMessages();
|
|
8
10
|
return /* @__PURE__ */ jsx(PointsBar, {
|
|
9
11
|
ref,
|
|
10
12
|
value,
|
|
11
13
|
max,
|
|
12
14
|
showText,
|
|
13
15
|
iconSize,
|
|
14
|
-
label,
|
|
16
|
+
label: label ?? m.hud.hunger,
|
|
15
17
|
lowThreshold: .2,
|
|
16
18
|
icon: /* @__PURE__ */ jsx(FoodIcon, { size: iconSize }),
|
|
17
19
|
...rest
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HungerBar.js","names":[],"sources":["../../../../src/components/hud/HungerBar/HungerBar.tsx"],"sourcesContent":["import { FoodIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef } from \"react\";\nimport { PointsBar } from \"../PointsBar/PointsBar\";\nimport type { HungerBarProps } from \"./HungerBar.types\";\n\n/** Hunger points shown as drumsticks — two points per icon. */\nexport const HungerBar = forwardRef<HTMLDivElement, HungerBarProps>(function HungerBar(\n { value, max = 20, showText = false, iconSize = 16, label
|
|
1
|
+
{"version":3,"file":"HungerBar.js","names":[],"sources":["../../../../src/components/hud/HungerBar/HungerBar.tsx"],"sourcesContent":["import { FoodIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef } from \"react\";\nimport { PointsBar } from \"../PointsBar/PointsBar\";\nimport type { HungerBarProps } from \"./HungerBar.types\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\n\n/** Hunger points shown as drumsticks — two points per icon. */\nexport const HungerBar = forwardRef<HTMLDivElement, HungerBarProps>(function HungerBar(\n { value, max = 20, showText = false, iconSize = 16, label, ...rest },\n ref,\n) {\n const m = useBlockUIMessages();\n return (\n <PointsBar\n ref={ref}\n value={value}\n max={max}\n showText={showText}\n iconSize={iconSize}\n label={label ?? m.hud.hunger}\n lowThreshold={0.2}\n icon={<FoodIcon size={iconSize} />}\n {...rest}\n />\n );\n});\n"],"mappings":";;;;;;;AAOA,IAAa,YAAY,WAA2C,SAAS,UAC3E,EAAE,OAAO,MAAM,IAAI,WAAW,OAAO,WAAW,IAAI,OAAO,GAAG,QAC9D,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,OACE,oBAAC,WAAD;EACO;EACE;EACF;EACK;EACA;EACV,OAAO,SAAS,EAAE,IAAI;EACtB,cAAc;EACd,MAAM,oBAAC,UAAD,EAAU,MAAM,SAAW,CAAA;EACjC,GAAI;CACL,CAAA;AAEL,CAAC"}
|
|
@@ -1 +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;
|
|
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;AAIpD;;;;GAIG;AACH,eAAO,MAAM,OAAO,sGAgElB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
2
3
|
import MiniMap_module_default from "./MiniMap.module.js";
|
|
3
4
|
import { compassName, describeMarker, terrainRuns } from "./MiniMap.utils.js";
|
|
4
5
|
import { forwardRef, useId } from "react";
|
|
@@ -9,7 +10,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
9
10
|
* markers and a compass "N". Screen readers get the heading and each marker's
|
|
10
11
|
* distance and direction as text.
|
|
11
12
|
*/
|
|
12
|
-
var MiniMap = forwardRef(function MiniMap({ tiles, heading = 0, markers = [], shape = "square", size = "md", label
|
|
13
|
+
var MiniMap = forwardRef(function MiniMap({ tiles, heading = 0, markers = [], shape = "square", size = "md", label, className, ...rest }, ref) {
|
|
14
|
+
const m = useBlockUIMessages();
|
|
13
15
|
const captionId = useId();
|
|
14
16
|
const rows = Math.max(1, tiles.length);
|
|
15
17
|
const columns = Math.max(1, ...tiles.map((row) => row.length));
|
|
@@ -54,17 +56,16 @@ var MiniMap = forwardRef(function MiniMap({ tiles, heading = 0, markers = [], sh
|
|
|
54
56
|
/* @__PURE__ */ jsx("span", {
|
|
55
57
|
className: MiniMap_module_default.north,
|
|
56
58
|
"aria-hidden": "true",
|
|
57
|
-
children:
|
|
59
|
+
children: m.miniMap.northShort
|
|
58
60
|
}),
|
|
59
61
|
/* @__PURE__ */ jsxs("figcaption", {
|
|
60
62
|
id: captionId,
|
|
61
63
|
className: "block-visually-hidden",
|
|
62
64
|
children: [
|
|
63
|
-
label,
|
|
64
|
-
".
|
|
65
|
-
compassName(heading),
|
|
66
|
-
"."
|
|
67
|
-
markers.length > 0 ? ` ${markers.map(describeMarker).join(". ")}.` : ""
|
|
65
|
+
label ?? m.miniMap.label,
|
|
66
|
+
". ",
|
|
67
|
+
m.miniMap.facing(compassName(heading, m)),
|
|
68
|
+
markers.length > 0 ? ` ${markers.map((marker) => describeMarker(marker, m)).join(". ")}.` : ""
|
|
68
69
|
]
|
|
69
70
|
})
|
|
70
71
|
]
|
|
@@ -1 +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 {
|
|
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\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\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 { tiles, heading = 0, markers = [], shape = \"square\", size = \"md\", label, className, ...rest },\n ref,\n) {\n const m = useBlockUIMessages();\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 {m.miniMap.northShort}\n </span>\n <figcaption id={captionId} className=\"block-visually-hidden\">\n {label ?? m.miniMap.label}. {m.miniMap.facing(compassName(heading, m))}\n {markers.length > 0\n ? ` ${markers.map((marker) => describeMarker(marker, m)).join(\". \")}.`\n : \"\"}\n </figcaption>\n </figure>\n );\n});\n"],"mappings":";;;;;;;;;;;;AAYA,IAAa,UAAU,WAAsC,SAAS,QACpE,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,GAAG,QAAQ,UAAU,OAAO,MAAM,OAAO,WAAW,GAAG,QACxF,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,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;IACxC,UAAA,EAAE,QAAQ;GACP,CAAA;GACN,qBAAC,cAAD;IAAY,IAAI;IAAW,WAAU;IAArC,UAAA;KACG,SAAS,EAAE,QAAQ;KAAM;KAAG,EAAE,QAAQ,OAAO,YAAY,SAAS,CAAC,CAAC;KACpE,QAAQ,SAAS,IACd,IAAI,QAAQ,KAAK,WAAW,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,KAClE;IACM;;EACN;;AAEZ,CAAC"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import { type BlockUIMessages } from "../../../locale/messages";
|
|
1
2
|
import { type MiniMapMarker } from "./MiniMap.types";
|
|
3
|
+
/**
|
|
4
|
+
* Locale for the helpers below. They are public and often passed straight to
|
|
5
|
+
* `Array#map`, which supplies the index as the second argument, so a number
|
|
6
|
+
* (or anything that is not a locale) falls back to English.
|
|
7
|
+
*/
|
|
8
|
+
type MessagesArg = BlockUIMessages | number;
|
|
2
9
|
/** 8-way compass name for a clockwise angle from north. */
|
|
3
|
-
export declare function compassName(degrees: number): string;
|
|
10
|
+
export declare function compassName(degrees: number, messages?: MessagesArg): string;
|
|
4
11
|
/** "Home: 12 blocks north-east" style description of a marker. */
|
|
5
|
-
export declare function describeMarker(marker: MiniMapMarker): string;
|
|
12
|
+
export declare function describeMarker(marker: MiniMapMarker, messages?: MessagesArg): string;
|
|
6
13
|
export interface TerrainRun {
|
|
7
14
|
terrain: string;
|
|
8
15
|
x: number;
|
|
@@ -11,4 +18,5 @@ export interface TerrainRun {
|
|
|
11
18
|
}
|
|
12
19
|
/** Merges horizontal runs of the same terrain into single rectangles. */
|
|
13
20
|
export declare function terrainRuns(tiles: string[]): TerrainRun[];
|
|
21
|
+
export {};
|
|
14
22
|
//# sourceMappingURL=MiniMap.utils.d.ts.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"MiniMap.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/MiniMap/MiniMap.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAkB,KAAK,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAE9F;;;;GAIG;AACH,KAAK,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC;AAM5C,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAI3E;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAMpF;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"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
+
import { enMessages } from "../../../locale/messages.js";
|
|
1
2
|
import { miniMapTerrain } from "./MiniMap.types.js";
|
|
2
3
|
//#region src/components/hud/MiniMap/MiniMap.utils.ts
|
|
3
|
-
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
"east",
|
|
7
|
-
"south-east",
|
|
8
|
-
"south",
|
|
9
|
-
"south-west",
|
|
10
|
-
"west",
|
|
11
|
-
"north-west"
|
|
12
|
-
];
|
|
4
|
+
function resolveMessages(messages) {
|
|
5
|
+
return typeof messages === "object" && messages !== null ? messages : enMessages;
|
|
6
|
+
}
|
|
13
7
|
/** 8-way compass name for a clockwise angle from north. */
|
|
14
|
-
function compassName(degrees) {
|
|
15
|
-
|
|
8
|
+
function compassName(degrees, messages) {
|
|
9
|
+
const index = Math.round((degrees % 360 + 360) % 360 / 45) % 8;
|
|
10
|
+
const { directions } = resolveMessages(messages).miniMap;
|
|
11
|
+
return directions[index] ?? directions[0];
|
|
16
12
|
}
|
|
17
13
|
/** "Home: 12 blocks north-east" style description of a marker. */
|
|
18
|
-
function describeMarker(marker) {
|
|
14
|
+
function describeMarker(marker, messages) {
|
|
15
|
+
const m = resolveMessages(messages);
|
|
19
16
|
const distance = Math.round(Math.hypot(marker.x, marker.y));
|
|
20
|
-
if (distance === 0) return
|
|
17
|
+
if (distance === 0) return m.miniMap.here(marker.label);
|
|
21
18
|
const angle = Math.atan2(marker.x, -marker.y) * 180 / Math.PI;
|
|
22
|
-
return
|
|
19
|
+
return m.miniMap.distance(marker.label, distance, compassName(angle, m));
|
|
23
20
|
}
|
|
24
21
|
/** Merges horizontal runs of the same terrain into single rectangles. */
|
|
25
22
|
function terrainRuns(tiles) {
|
|
@@ -1 +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\
|
|
1
|
+
{"version":3,"file":"MiniMap.utils.js","names":[],"sources":["../../../../src/components/hud/MiniMap/MiniMap.utils.ts"],"sourcesContent":["import { enMessages, type BlockUIMessages } from \"../../../locale/messages\";\nimport { miniMapTerrain, type MiniMapMarker, type MiniMapTerrainCode } from \"./MiniMap.types\";\n\n/**\n * Locale for the helpers below. They are public and often passed straight to\n * `Array#map`, which supplies the index as the second argument, so a number\n * (or anything that is not a locale) falls back to English.\n */\ntype MessagesArg = BlockUIMessages | number;\n\nfunction resolveMessages(messages: MessagesArg | undefined): BlockUIMessages {\n return typeof messages === \"object\" && messages !== null ? messages : enMessages;\n}\n\n/** 8-way compass name for a clockwise angle from north. */\nexport function compassName(degrees: number, messages?: MessagesArg): string {\n const index = Math.round((((degrees % 360) + 360) % 360) / 45) % 8;\n const { directions } = resolveMessages(messages).miniMap;\n return directions[index] ?? directions[0];\n}\n\n/** \"Home: 12 blocks north-east\" style description of a marker. */\nexport function describeMarker(marker: MiniMapMarker, messages?: MessagesArg): string {\n const m = resolveMessages(messages);\n const distance = Math.round(Math.hypot(marker.x, marker.y));\n if (distance === 0) return m.miniMap.here(marker.label);\n const angle = (Math.atan2(marker.x, -marker.y) * 180) / Math.PI;\n return m.miniMap.distance(marker.label, distance, compassName(angle, m));\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":";;;AAUA,SAAS,gBAAgB,UAAoD;CAC3E,OAAO,OAAO,aAAa,YAAY,aAAa,OAAO,WAAW;AACxE;;AAGA,SAAgB,YAAY,SAAiB,UAAgC;CAC3E,MAAM,QAAQ,KAAK,OAAS,UAAU,MAAO,OAAO,MAAO,EAAE,IAAI;CACjE,MAAM,EAAE,eAAe,gBAAgB,QAAQ,CAAC,CAAC;CACjD,OAAO,WAAW,UAAU,WAAW;AACzC;;AAGA,SAAgB,eAAe,QAAuB,UAAgC;CACpF,MAAM,IAAI,gBAAgB,QAAQ;CAClC,MAAM,WAAW,KAAK,MAAM,KAAK,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC;CAC1D,IAAI,aAAa,GAAG,OAAO,EAAE,QAAQ,KAAK,OAAO,KAAK;CACtD,MAAM,QAAS,KAAK,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,MAAO,KAAK;CAC7D,OAAO,EAAE,QAAQ,SAAS,OAAO,OAAO,UAAU,YAAY,OAAO,CAAC,CAAC;AACzE;;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerHUD.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/PlayerHUD/PlayerHUD.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PlayerHUD.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/PlayerHUD/PlayerHUD.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;GAGG;AACH,eAAO,MAAM,SAAS,wGAgDpB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
2
3
|
import { HealthBar } from "../HealthBar/HealthBar.js";
|
|
3
4
|
import { ArmorBar } from "../ArmorBar/ArmorBar.js";
|
|
4
5
|
import { HungerBar } from "../HungerBar/HungerBar.js";
|
|
@@ -11,11 +12,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
11
12
|
* Survival HUD: armor above health on the left, hunger on the right and the
|
|
12
13
|
* XP bar with level underneath.
|
|
13
14
|
*/
|
|
14
|
-
var PlayerHUD = forwardRef(function PlayerHUD({ player, iconSize = 16, showText = false, label
|
|
15
|
+
var PlayerHUD = forwardRef(function PlayerHUD({ player, iconSize = 16, showText = false, label, className, ...rest }, ref) {
|
|
16
|
+
const m = useBlockUIMessages();
|
|
15
17
|
const { health, maxHealth = 20, armor, maxArmor = 20, hunger, maxHunger = 20, level, xp, maxXp } = player;
|
|
16
18
|
return /* @__PURE__ */ jsxs("section", {
|
|
17
19
|
ref,
|
|
18
|
-
"aria-label": label,
|
|
20
|
+
"aria-label": label ?? m.hud.playerStatus,
|
|
19
21
|
className: cx(PlayerHUD_module_default.hud, className),
|
|
20
22
|
...rest,
|
|
21
23
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerHUD.js","names":["styles"],"sources":["../../../../src/components/hud/PlayerHUD/PlayerHUD.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport { ArmorBar } from \"../ArmorBar/ArmorBar\";\nimport { HealthBar } from \"../HealthBar/HealthBar\";\nimport { HungerBar } from \"../HungerBar/HungerBar\";\nimport { XPBar } from \"../XPBar/XPBar\";\nimport styles from \"./PlayerHUD.module.css\";\nimport type { PlayerHUDProps } from \"./PlayerHUD.types\";\n\n/**\n * Survival HUD: armor above health on the left, hunger on the right and the\n * XP bar with level underneath.\n */\nexport const PlayerHUD = forwardRef<HTMLElement, PlayerHUDProps>(function PlayerHUD(\n { player, iconSize = 16, showText = false, label
|
|
1
|
+
{"version":3,"file":"PlayerHUD.js","names":["styles"],"sources":["../../../../src/components/hud/PlayerHUD/PlayerHUD.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport { ArmorBar } from \"../ArmorBar/ArmorBar\";\nimport { HealthBar } from \"../HealthBar/HealthBar\";\nimport { HungerBar } from \"../HungerBar/HungerBar\";\nimport { XPBar } from \"../XPBar/XPBar\";\nimport styles from \"./PlayerHUD.module.css\";\nimport type { PlayerHUDProps } from \"./PlayerHUD.types\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\n\n/**\n * Survival HUD: armor above health on the left, hunger on the right and the\n * XP bar with level underneath.\n */\nexport const PlayerHUD = forwardRef<HTMLElement, PlayerHUDProps>(function PlayerHUD(\n { player, iconSize = 16, showText = false, label, className, ...rest },\n ref,\n) {\n const m = useBlockUIMessages();\n const {\n health,\n maxHealth = 20,\n armor,\n maxArmor = 20,\n hunger,\n maxHunger = 20,\n level,\n xp,\n maxXp,\n } = player;\n\n return (\n <section\n ref={ref}\n aria-label={label ?? m.hud.playerStatus}\n className={cx(styles.hud, className)}\n {...rest}\n >\n <div className={styles.bars}>\n <div className={styles.left}>\n {armor !== undefined ? (\n <ArmorBar value={armor} max={maxArmor} iconSize={iconSize} showText={showText} />\n ) : null}\n <HealthBar value={health} max={maxHealth} iconSize={iconSize} showText={showText} />\n </div>\n {hunger !== undefined ? (\n <div className={styles.right}>\n <HungerBar\n value={hunger}\n max={maxHunger}\n iconSize={iconSize}\n showText={showText}\n direction=\"rtl\"\n />\n </div>\n ) : null}\n </div>\n {xp !== undefined && maxXp !== undefined ? (\n <XPBar value={xp} max={maxXp} level={level} showValue={showText} />\n ) : null}\n </section>\n );\n});\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAa,YAAY,WAAwC,SAAS,UACxE,EAAE,QAAQ,WAAW,IAAI,WAAW,OAAO,OAAO,WAAW,GAAG,QAChE,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,MAAM,EACJ,QACA,YAAY,IACZ,OACA,WAAW,IACX,QACA,YAAY,IACZ,OACA,IACA,UACE;CAEJ,OACE,qBAAC,WAAD;EACO;EACL,cAAY,SAAS,EAAE,IAAI;EAC3B,WAAW,GAAGA,yBAAO,KAAK,SAAS;EACnC,GAAI;EAJN,UAAA,CAME,qBAAC,OAAD;GAAK,WAAWA,yBAAO;GAAvB,UAAA,CACE,qBAAC,OAAD;IAAK,WAAWA,yBAAO;IAAvB,UAAA,CACG,UAAU,KAAA,IACT,oBAAC,UAAD;KAAU,OAAO;KAAO,KAAK;KAAoB;KAAoB;IAAW,CAAA,IAC9E,MACJ,oBAAC,WAAD;KAAW,OAAO;KAAQ,KAAK;KAAqB;KAAoB;IAAW,CAAA,CAChF;GACJ,CAAA,GAAA,WAAW,KAAA,IACV,oBAAC,OAAD;IAAK,WAAWA,yBAAO;IACrB,UAAA,oBAAC,WAAD;KACE,OAAO;KACP,KAAK;KACK;KACA;KACV,WAAU;IACX,CAAA;GACE,CAAA,IACH,IACD;EACJ,CAAA,GAAA,OAAO,KAAA,KAAa,UAAU,KAAA,IAC7B,oBAAC,OAAD;GAAO,OAAO;GAAI,KAAK;GAAc;GAAO,WAAW;EAAW,CAAA,IAChE,IACG;;AAEb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointsBar.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/PointsBar/PointsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PointsBar.d.ts","sourceRoot":"","sources":["../../../../src/components/hud/PointsBar/PointsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxE,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,SAAS,CAAC;IAChB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AAID;;;GAGG;AACH,eAAO,MAAM,SAAS,2GAuDpB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { useBlockUIMessages } from "../../../provider/context.js";
|
|
2
3
|
import { clamp } from "../../../utils/number.js";
|
|
3
4
|
import PointsBar_module_default from "./PointsBar.module.js";
|
|
4
5
|
import { forwardRef } from "react";
|
|
@@ -9,6 +10,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
9
10
|
* each worth two points, exposed as a single `meter`.
|
|
10
11
|
*/
|
|
11
12
|
var PointsBar = forwardRef(function PointsBar({ value, max = 20, icon, label, showText = false, iconSize = 16, lowThreshold = 0, direction = "ltr", className, ...rest }, ref) {
|
|
13
|
+
const m = useBlockUIMessages();
|
|
12
14
|
const safeMax = Math.max(0, max);
|
|
13
15
|
const current = clamp(value, 0, safeMax);
|
|
14
16
|
const units = Math.ceil(safeMax / 2);
|
|
@@ -24,7 +26,7 @@ var PointsBar = forwardRef(function PointsBar({ value, max = 20, icon, label, sh
|
|
|
24
26
|
"aria-valuemin": 0,
|
|
25
27
|
"aria-valuemax": safeMax,
|
|
26
28
|
"aria-valuenow": current,
|
|
27
|
-
"aria-valuetext":
|
|
29
|
+
"aria-valuetext": m.common.amount(String(current), String(safeMax)),
|
|
28
30
|
"data-low": low || void 0,
|
|
29
31
|
"data-direction": direction,
|
|
30
32
|
"data-icon-size": iconSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointsBar.js","names":["styles"],"sources":["../../../../src/components/hud/PointsBar/PointsBar.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport { clamp } from \"../../../utils/number\";\nimport styles from \"./PointsBar.module.css\";\n\nexport interface PointsBarProps extends HTMLAttributes<HTMLDivElement> {\n value: number;\n /** Points; every icon represents 2 points. @default 20 */\n max?: number;\n /** Icon for one unit (rendered full, half or empty). */\n icon: ReactNode;\n /** Accessible name, e.g. \"Health\". */\n label: string;\n /** Show `value / max` next to the icons. */\n showText?: boolean;\n /** Pixel size of each icon. @default 16 */\n iconSize?: number;\n /** Highlight when `value / max` drops to or below this ratio. @default 0 */\n lowThreshold?: number;\n /** Visual direction. Hunger fills right-to-left in many games. @default \"ltr\" */\n direction?: \"ltr\" | \"rtl\";\n}\n\ntype Fill = \"full\" | \"half\" | \"empty\";\n\n/**\n * Internal base for HealthBar / ArmorBar / HungerBar: a row of pixel icons,\n * each worth two points, exposed as a single `meter`.\n */\nexport const PointsBar = forwardRef<HTMLDivElement, PointsBarProps>(function PointsBar(\n {\n value,\n max = 20,\n icon,\n label,\n showText = false,\n iconSize = 16,\n lowThreshold = 0,\n direction = \"ltr\",\n className,\n ...rest\n },\n ref,\n) {\n const safeMax = Math.max(0, max);\n const current = clamp(value, 0, safeMax);\n const units = Math.ceil(safeMax / 2);\n const low = safeMax > 0 && current / safeMax <= lowThreshold;\n const fills: Fill[] = Array.from({ length: units }, (_, i) => {\n const points = clamp(current - i * 2, 0, 2);\n return points >= 2 ? \"full\" : points >= 1 ? \"half\" : \"empty\";\n });\n\n return (\n <div\n ref={ref}\n role=\"meter\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={safeMax}\n aria-valuenow={current}\n aria-valuetext={
|
|
1
|
+
{"version":3,"file":"PointsBar.js","names":["styles"],"sources":["../../../../src/components/hud/PointsBar/PointsBar.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport { clamp } from \"../../../utils/number\";\nimport styles from \"./PointsBar.module.css\";\nimport { useBlockUIMessages } from \"../../../provider/context\";\n\nexport interface PointsBarProps extends HTMLAttributes<HTMLDivElement> {\n value: number;\n /** Points; every icon represents 2 points. @default 20 */\n max?: number;\n /** Icon for one unit (rendered full, half or empty). */\n icon: ReactNode;\n /** Accessible name, e.g. \"Health\". */\n label: string;\n /** Show `value / max` next to the icons. */\n showText?: boolean;\n /** Pixel size of each icon. @default 16 */\n iconSize?: number;\n /** Highlight when `value / max` drops to or below this ratio. @default 0 */\n lowThreshold?: number;\n /** Visual direction. Hunger fills right-to-left in many games. @default \"ltr\" */\n direction?: \"ltr\" | \"rtl\";\n}\n\ntype Fill = \"full\" | \"half\" | \"empty\";\n\n/**\n * Internal base for HealthBar / ArmorBar / HungerBar: a row of pixel icons,\n * each worth two points, exposed as a single `meter`.\n */\nexport const PointsBar = forwardRef<HTMLDivElement, PointsBarProps>(function PointsBar(\n {\n value,\n max = 20,\n icon,\n label,\n showText = false,\n iconSize = 16,\n lowThreshold = 0,\n direction = \"ltr\",\n className,\n ...rest\n },\n ref,\n) {\n const m = useBlockUIMessages();\n const safeMax = Math.max(0, max);\n const current = clamp(value, 0, safeMax);\n const units = Math.ceil(safeMax / 2);\n const low = safeMax > 0 && current / safeMax <= lowThreshold;\n const fills: Fill[] = Array.from({ length: units }, (_, i) => {\n const points = clamp(current - i * 2, 0, 2);\n return points >= 2 ? \"full\" : points >= 1 ? \"half\" : \"empty\";\n });\n\n return (\n <div\n ref={ref}\n role=\"meter\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={safeMax}\n aria-valuenow={current}\n aria-valuetext={m.common.amount(String(current), String(safeMax))}\n data-low={low || undefined}\n data-direction={direction}\n data-icon-size={iconSize}\n className={cx(styles.bar, className)}\n {...rest}\n >\n <span className={styles.icons} aria-hidden=\"true\">\n {fills.map((fill, index) => (\n <span key={index} className={styles.unit} data-fill={fill}>\n <span className={styles.empty}>{icon}</span>\n {fill !== \"empty\" ? <span className={styles.full}>{icon}</span> : null}\n </span>\n ))}\n </span>\n {showText ? (\n <span className={styles.text} aria-hidden=\"true\">\n {current} / {safeMax}\n </span>\n ) : null}\n </div>\n );\n});\n"],"mappings":";;;;;;;;;;;AA8BA,IAAa,YAAY,WAA2C,SAAS,UAC3E,EACE,OACA,MAAM,IACN,MACA,OACA,WAAW,OACX,WAAW,IACX,eAAe,GACf,YAAY,OACZ,WACA,GAAG,QAEL,KACA;CACA,MAAM,IAAI,mBAAmB;CAC7B,MAAM,UAAU,KAAK,IAAI,GAAG,GAAG;CAC/B,MAAM,UAAU,MAAM,OAAO,GAAG,OAAO;CACvC,MAAM,QAAQ,KAAK,KAAK,UAAU,CAAC;CACnC,MAAM,MAAM,UAAU,KAAK,UAAU,WAAW;CAChD,MAAM,QAAgB,MAAM,KAAK,EAAE,QAAQ,MAAM,IAAI,GAAG,MAAM;EAC5D,MAAM,SAAS,MAAM,UAAU,IAAI,GAAG,GAAG,CAAC;EAC1C,OAAO,UAAU,IAAI,SAAS,UAAU,IAAI,SAAS;CACvD,CAAC;CAED,OACE,qBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAY;EACZ,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,kBAAgB,EAAE,OAAO,OAAO,OAAO,OAAO,GAAG,OAAO,OAAO,CAAC;EAChE,YAAU,OAAO,KAAA;EACjB,kBAAgB;EAChB,kBAAgB;EAChB,WAAW,GAAGA,yBAAO,KAAK,SAAS;EACnC,GAAI;EAZN,UAAA,CAcE,oBAAC,QAAD;GAAM,WAAWA,yBAAO;GAAO,eAAY;GACxC,UAAA,MAAM,KAAK,MAAM,UAChB,qBAAC,QAAD;IAAkB,WAAWA,yBAAO;IAAM,aAAW;IAArD,UAAA,CACE,oBAAC,QAAD;KAAM,WAAWA,yBAAO;KAAQ,UAAA;IAAW,CAAA,GAC1C,SAAS,UAAU,oBAAC,QAAD;KAAM,WAAWA,yBAAO;KAAO,UAAA;IAAW,CAAA,IAAI,IAC9D;GAHK,GAAA,KAGL,CACP;EACG,CAAA,GACL,WACC,qBAAC,QAAD;GAAM,WAAWA,yBAAO;GAAM,eAAY;GAA1C,UAAA;IACG;IAAQ;IAAI;GACT;EACJ,CAAA,IAAA,IACD;;AAET,CAAC"}
|
|
@@ -1 +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;
|
|
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;AAI1D;;;GAGG;AACH,eAAO,MAAM,UAAU,4GAiErB,CAAC"}
|