@malilion/block-ui-react 0.5.1 → 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.
Files changed (257) hide show
  1. package/dist/components/actions/ContextMenu/ContextMenu.d.ts.map +1 -1
  2. package/dist/components/actions/ContextMenu/ContextMenu.js +4 -2
  3. package/dist/components/actions/ContextMenu/ContextMenu.js.map +1 -1
  4. package/dist/components/actions/ContextMenu/ContextMenu.types.d.ts +1 -1
  5. package/dist/components/actions/ContextMenu/ContextMenu.types.d.ts.map +1 -1
  6. package/dist/components/cards/AchievementCard/AchievementCard.d.ts.map +1 -1
  7. package/dist/components/cards/AchievementCard/AchievementCard.js +6 -4
  8. package/dist/components/cards/AchievementCard/AchievementCard.js.map +1 -1
  9. package/dist/components/cards/PlayerCard/PlayerCard.d.ts.map +1 -1
  10. package/dist/components/cards/PlayerCard/PlayerCard.js +7 -5
  11. package/dist/components/cards/PlayerCard/PlayerCard.js.map +1 -1
  12. package/dist/components/cards/QuestCard/QuestCard.d.ts.map +1 -1
  13. package/dist/components/cards/QuestCard/QuestCard.js +9 -7
  14. package/dist/components/cards/QuestCard/QuestCard.js.map +1 -1
  15. package/dist/components/cards/ServerBrowser/ServerBrowser.d.ts.map +1 -1
  16. package/dist/components/cards/ServerBrowser/ServerBrowser.js +27 -25
  17. package/dist/components/cards/ServerBrowser/ServerBrowser.js.map +1 -1
  18. package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts +2 -2
  19. package/dist/components/cards/ServerBrowser/ServerBrowser.types.d.ts.map +1 -1
  20. package/dist/components/cards/ServerCard/ServerCard.d.ts.map +1 -1
  21. package/dist/components/cards/ServerCard/ServerCard.js +10 -8
  22. package/dist/components/cards/ServerCard/ServerCard.js.map +1 -1
  23. package/dist/components/cards/WorldBrowser/WorldBrowser.d.ts.map +1 -1
  24. package/dist/components/cards/WorldBrowser/WorldBrowser.js +20 -18
  25. package/dist/components/cards/WorldBrowser/WorldBrowser.js.map +1 -1
  26. package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts +2 -2
  27. package/dist/components/cards/WorldBrowser/WorldBrowser.types.d.ts.map +1 -1
  28. package/dist/components/cards/WorldCard/WorldCard.d.ts.map +1 -1
  29. package/dist/components/cards/WorldCard/WorldCard.js +16 -6
  30. package/dist/components/cards/WorldCard/WorldCard.js.map +1 -1
  31. package/dist/components/crafting/Anvil/Anvil.d.ts.map +1 -1
  32. package/dist/components/crafting/Anvil/Anvil.js +9 -7
  33. package/dist/components/crafting/Anvil/Anvil.js.map +1 -1
  34. package/dist/components/crafting/Anvil/Anvil.types.d.ts +1 -1
  35. package/dist/components/crafting/Anvil/Anvil.types.d.ts.map +1 -1
  36. package/dist/components/crafting/BrewingStand/BrewingStand.d.ts.map +1 -1
  37. package/dist/components/crafting/BrewingStand/BrewingStand.js +11 -20
  38. package/dist/components/crafting/BrewingStand/BrewingStand.js.map +1 -1
  39. package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts +1 -1
  40. package/dist/components/crafting/BrewingStand/BrewingStand.types.d.ts.map +1 -1
  41. package/dist/components/crafting/BrewingStand/BrewingStand.types.js.map +1 -1
  42. package/dist/components/crafting/CraftingGrid/CraftingGrid.d.ts.map +1 -1
  43. package/dist/components/crafting/CraftingGrid/CraftingGrid.js +4 -2
  44. package/dist/components/crafting/CraftingGrid/CraftingGrid.js.map +1 -1
  45. package/dist/components/crafting/CraftingResult/CraftingResult.d.ts.map +1 -1
  46. package/dist/components/crafting/CraftingResult/CraftingResult.js +5 -2
  47. package/dist/components/crafting/CraftingResult/CraftingResult.js.map +1 -1
  48. package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts +1 -1
  49. package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts.map +1 -1
  50. package/dist/components/crafting/CraftingTable/CraftingTable.d.ts.map +1 -1
  51. package/dist/components/crafting/CraftingTable/CraftingTable.js +5 -3
  52. package/dist/components/crafting/CraftingTable/CraftingTable.js.map +1 -1
  53. package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts +2 -2
  54. package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts.map +1 -1
  55. package/dist/components/crafting/EnchantingTable/EnchantingTable.d.ts.map +1 -1
  56. package/dist/components/crafting/EnchantingTable/EnchantingTable.js +15 -13
  57. package/dist/components/crafting/EnchantingTable/EnchantingTable.js.map +1 -1
  58. package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts +1 -1
  59. package/dist/components/crafting/EnchantingTable/EnchantingTable.types.d.ts.map +1 -1
  60. package/dist/components/crafting/Furnace/Furnace.d.ts.map +1 -1
  61. package/dist/components/crafting/Furnace/Furnace.js +11 -16
  62. package/dist/components/crafting/Furnace/Furnace.js.map +1 -1
  63. package/dist/components/crafting/Furnace/Furnace.types.d.ts +1 -1
  64. package/dist/components/crafting/Furnace/Furnace.types.d.ts.map +1 -1
  65. package/dist/components/crafting/Furnace/Furnace.types.js.map +1 -1
  66. package/dist/components/crafting/RecipeBook/RecipeBook.d.ts.map +1 -1
  67. package/dist/components/crafting/RecipeBook/RecipeBook.js +17 -15
  68. package/dist/components/crafting/RecipeBook/RecipeBook.js.map +1 -1
  69. package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts +1 -1
  70. package/dist/components/crafting/RecipeBook/RecipeBook.types.d.ts.map +1 -1
  71. package/dist/components/crafting/TradingUI/TradingUI.d.ts +1 -1
  72. package/dist/components/crafting/TradingUI/TradingUI.d.ts.map +1 -1
  73. package/dist/components/crafting/TradingUI/TradingUI.js +14 -13
  74. package/dist/components/crafting/TradingUI/TradingUI.js.map +1 -1
  75. package/dist/components/crafting/TradingUI/TradingUI.types.d.ts +1 -1
  76. package/dist/components/crafting/TradingUI/TradingUI.types.d.ts.map +1 -1
  77. package/dist/components/crafting/TradingUI/TradingUI.types.js.map +1 -1
  78. package/dist/components/display/Avatar/Avatar.d.ts.map +1 -1
  79. package/dist/components/display/Avatar/Avatar.js +3 -7
  80. package/dist/components/display/Avatar/Avatar.js.map +1 -1
  81. package/dist/components/display/BlockTable/BlockTable.d.ts.map +1 -1
  82. package/dist/components/display/BlockTable/BlockTable.js +4 -2
  83. package/dist/components/display/BlockTable/BlockTable.js.map +1 -1
  84. package/dist/components/display/BlockTable/BlockTable.types.d.ts +1 -1
  85. package/dist/components/display/BlockTable/BlockTable.types.d.ts.map +1 -1
  86. package/dist/components/display/SkillTree/SkillTree.d.ts.map +1 -1
  87. package/dist/components/display/SkillTree/SkillTree.js +16 -15
  88. package/dist/components/display/SkillTree/SkillTree.js.map +1 -1
  89. package/dist/components/display/SkillTree/SkillTree.types.d.ts +1 -1
  90. package/dist/components/display/SkillTree/SkillTree.types.d.ts.map +1 -1
  91. package/dist/components/feedback/Alert/BlockAlert.d.ts.map +1 -1
  92. package/dist/components/feedback/Alert/BlockAlert.js +4 -2
  93. package/dist/components/feedback/Alert/BlockAlert.js.map +1 -1
  94. package/dist/components/feedback/Alert/BlockAlert.types.d.ts +1 -1
  95. package/dist/components/feedback/Alert/BlockAlert.types.d.ts.map +1 -1
  96. package/dist/components/feedback/Alert/BlockAlert.types.js.map +1 -1
  97. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  98. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js +5 -3
  99. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js.map +1 -1
  100. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts +2 -2
  101. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts.map +1 -1
  102. package/dist/components/feedback/Drawer/Drawer.d.ts.map +1 -1
  103. package/dist/components/feedback/Drawer/Drawer.js +3 -2
  104. package/dist/components/feedback/Drawer/Drawer.js.map +1 -1
  105. package/dist/components/feedback/Loading/BlockLoading.d.ts.map +1 -1
  106. package/dist/components/feedback/Loading/BlockLoading.js +4 -2
  107. package/dist/components/feedback/Loading/BlockLoading.js.map +1 -1
  108. package/dist/components/feedback/Loading/BlockLoading.types.d.ts +1 -1
  109. package/dist/components/feedback/Loading/BlockLoading.types.d.ts.map +1 -1
  110. package/dist/components/feedback/Modal/BlockModal.d.ts.map +1 -1
  111. package/dist/components/feedback/Modal/BlockModal.js +3 -2
  112. package/dist/components/feedback/Modal/BlockModal.js.map +1 -1
  113. package/dist/components/feedback/Progress/BlockProgress.d.ts.map +1 -1
  114. package/dist/components/feedback/Progress/BlockProgress.js +3 -1
  115. package/dist/components/feedback/Progress/BlockProgress.js.map +1 -1
  116. package/dist/components/feedback/Toast/Toast.d.ts +1 -1
  117. package/dist/components/feedback/Toast/Toast.d.ts.map +1 -1
  118. package/dist/components/feedback/Toast/Toast.js +6 -4
  119. package/dist/components/feedback/Toast/Toast.js.map +1 -1
  120. package/dist/components/feedback/Toast/Toast.types.d.ts +1 -1
  121. package/dist/components/feedback/Toast/Toast.types.d.ts.map +1 -1
  122. package/dist/components/forms/NumberInput/NumberInput.d.ts.map +1 -1
  123. package/dist/components/forms/NumberInput/NumberInput.js +4 -2
  124. package/dist/components/forms/NumberInput/NumberInput.js.map +1 -1
  125. package/dist/components/hud/ArmorBar/ArmorBar.d.ts.map +1 -1
  126. package/dist/components/hud/ArmorBar/ArmorBar.js +4 -2
  127. package/dist/components/hud/ArmorBar/ArmorBar.js.map +1 -1
  128. package/dist/components/hud/BiomeIndicator/BiomeIndicator.d.ts.map +1 -1
  129. package/dist/components/hud/BiomeIndicator/BiomeIndicator.js +4 -2
  130. package/dist/components/hud/BiomeIndicator/BiomeIndicator.js.map +1 -1
  131. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.d.ts.map +1 -1
  132. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js +9 -7
  133. package/dist/components/hud/CoordinatesHUD/CoordinatesHUD.js.map +1 -1
  134. package/dist/components/hud/DayNightIndicator/DayNightIndicator.d.ts.map +1 -1
  135. package/dist/components/hud/DayNightIndicator/DayNightIndicator.js +7 -11
  136. package/dist/components/hud/DayNightIndicator/DayNightIndicator.js.map +1 -1
  137. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts +4 -1
  138. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.d.ts.map +1 -1
  139. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js +5 -2
  140. package/dist/components/hud/DayNightIndicator/DayNightIndicator.utils.js.map +1 -1
  141. package/dist/components/hud/HealthBar/HealthBar.d.ts.map +1 -1
  142. package/dist/components/hud/HealthBar/HealthBar.js +4 -2
  143. package/dist/components/hud/HealthBar/HealthBar.js.map +1 -1
  144. package/dist/components/hud/HungerBar/HungerBar.d.ts.map +1 -1
  145. package/dist/components/hud/HungerBar/HungerBar.js +4 -2
  146. package/dist/components/hud/HungerBar/HungerBar.js.map +1 -1
  147. package/dist/components/hud/MiniMap/MiniMap.d.ts.map +1 -1
  148. package/dist/components/hud/MiniMap/MiniMap.js +8 -7
  149. package/dist/components/hud/MiniMap/MiniMap.js.map +1 -1
  150. package/dist/components/hud/MiniMap/MiniMap.utils.d.ts +10 -2
  151. package/dist/components/hud/MiniMap/MiniMap.utils.d.ts.map +1 -1
  152. package/dist/components/hud/MiniMap/MiniMap.utils.js +12 -15
  153. package/dist/components/hud/MiniMap/MiniMap.utils.js.map +1 -1
  154. package/dist/components/hud/PlayerHUD/PlayerHUD.d.ts.map +1 -1
  155. package/dist/components/hud/PlayerHUD/PlayerHUD.js +4 -2
  156. package/dist/components/hud/PlayerHUD/PlayerHUD.js.map +1 -1
  157. package/dist/components/hud/PointsBar/PointsBar.d.ts.map +1 -1
  158. package/dist/components/hud/PointsBar/PointsBar.js +3 -1
  159. package/dist/components/hud/PointsBar/PointsBar.js.map +1 -1
  160. package/dist/components/hud/Scoreboard/Scoreboard.d.ts.map +1 -1
  161. package/dist/components/hud/Scoreboard/Scoreboard.js +9 -11
  162. package/dist/components/hud/Scoreboard/Scoreboard.js.map +1 -1
  163. package/dist/components/hud/WeatherIndicator/WeatherIndicator.d.ts.map +1 -1
  164. package/dist/components/hud/WeatherIndicator/WeatherIndicator.js +7 -4
  165. package/dist/components/hud/WeatherIndicator/WeatherIndicator.js.map +1 -1
  166. package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js +1 -8
  167. package/dist/components/hud/WeatherIndicator/WeatherIndicator.utils.js.map +1 -1
  168. package/dist/components/hud/XPBar/XPBar.d.ts.map +1 -1
  169. package/dist/components/hud/XPBar/XPBar.js +6 -4
  170. package/dist/components/hud/XPBar/XPBar.js.map +1 -1
  171. package/dist/components/inventory/DurabilityBar/DurabilityBar.d.ts.map +1 -1
  172. package/dist/components/inventory/DurabilityBar/DurabilityBar.js +4 -2
  173. package/dist/components/inventory/DurabilityBar/DurabilityBar.js.map +1 -1
  174. package/dist/components/inventory/Hotbar/Hotbar.d.ts.map +1 -1
  175. package/dist/components/inventory/Hotbar/Hotbar.js +4 -2
  176. package/dist/components/inventory/Hotbar/Hotbar.js.map +1 -1
  177. package/dist/components/inventory/Inventory/Inventory.d.ts.map +1 -1
  178. package/dist/components/inventory/Inventory/Inventory.js +4 -2
  179. package/dist/components/inventory/Inventory/Inventory.js.map +1 -1
  180. package/dist/components/inventory/InventoryGrid/InventoryGrid.d.ts.map +1 -1
  181. package/dist/components/inventory/InventoryGrid/InventoryGrid.js +4 -2
  182. package/dist/components/inventory/InventoryGrid/InventoryGrid.js.map +1 -1
  183. package/dist/components/inventory/InventorySlot/InventorySlot.d.ts.map +1 -1
  184. package/dist/components/inventory/InventorySlot/InventorySlot.js +3 -1
  185. package/dist/components/inventory/InventorySlot/InventorySlot.js.map +1 -1
  186. package/dist/components/inventory/ItemStack/ItemStack.d.ts.map +1 -1
  187. package/dist/components/inventory/ItemStack/ItemStack.js +3 -1
  188. package/dist/components/inventory/ItemStack/ItemStack.js.map +1 -1
  189. package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts +2 -1
  190. package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts.map +1 -1
  191. package/dist/components/inventory/ItemStack/ItemStack.utils.js +6 -2
  192. package/dist/components/inventory/ItemStack/ItemStack.utils.js.map +1 -1
  193. package/dist/components/inventory/ItemTooltip/ItemTooltip.d.ts.map +1 -1
  194. package/dist/components/inventory/ItemTooltip/ItemTooltip.js +3 -1
  195. package/dist/components/inventory/ItemTooltip/ItemTooltip.js.map +1 -1
  196. package/dist/components/navigation/BlockPagination/BlockPagination.d.ts.map +1 -1
  197. package/dist/components/navigation/BlockPagination/BlockPagination.js +9 -12
  198. package/dist/components/navigation/BlockPagination/BlockPagination.js.map +1 -1
  199. package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts +1 -1
  200. package/dist/components/navigation/BlockPagination/BlockPagination.types.d.ts.map +1 -1
  201. package/dist/components/navigation/BlockSidebar/BlockSidebar.d.ts.map +1 -1
  202. package/dist/components/navigation/BlockSidebar/BlockSidebar.js +4 -2
  203. package/dist/components/navigation/BlockSidebar/BlockSidebar.js.map +1 -1
  204. package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts +1 -1
  205. package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts.map +1 -1
  206. package/dist/components/navigation/BlockStepper/BlockStepper.d.ts.map +1 -1
  207. package/dist/components/navigation/BlockStepper/BlockStepper.js +4 -2
  208. package/dist/components/navigation/BlockStepper/BlockStepper.js.map +1 -1
  209. package/dist/components/navigation/BlockStepper/BlockStepper.types.d.ts +1 -1
  210. package/dist/components/navigation/BlockStepper/BlockStepper.types.d.ts.map +1 -1
  211. package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  212. package/dist/components/navigation/Breadcrumb/Breadcrumb.js +4 -2
  213. package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -1
  214. package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts +1 -1
  215. package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts.map +1 -1
  216. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.d.ts.map +1 -1
  217. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js +4 -2
  218. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js.map +1 -1
  219. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts +1 -1
  220. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts.map +1 -1
  221. package/dist/components/social/ChatWindow/ChatWindow.d.ts.map +1 -1
  222. package/dist/components/social/ChatWindow/ChatWindow.js +10 -7
  223. package/dist/components/social/ChatWindow/ChatWindow.js.map +1 -1
  224. package/dist/components/social/ChatWindow/ChatWindow.types.d.ts +2 -2
  225. package/dist/components/social/ChatWindow/ChatWindow.types.d.ts.map +1 -1
  226. package/dist/components/social/ChatWindow/ChatWindow.types.js.map +1 -1
  227. package/dist/components/social/CommandConsole/CommandConsole.d.ts.map +1 -1
  228. package/dist/components/social/CommandConsole/CommandConsole.js +7 -4
  229. package/dist/components/social/CommandConsole/CommandConsole.js.map +1 -1
  230. package/dist/components/social/CommandConsole/CommandConsole.types.d.ts +1 -1
  231. package/dist/components/social/CommandConsole/CommandConsole.types.d.ts.map +1 -1
  232. package/dist/components/social/CommandConsole/CommandConsole.types.js.map +1 -1
  233. package/dist/index.d.ts +1 -0
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +5 -3
  236. package/dist/locale/index.d.ts +4 -0
  237. package/dist/locale/index.d.ts.map +1 -0
  238. package/dist/locale/messages.d.ts +289 -0
  239. package/dist/locale/messages.d.ts.map +1 -0
  240. package/dist/locale/messages.js +341 -0
  241. package/dist/locale/messages.js.map +1 -0
  242. package/dist/locale/zhTW.d.ts +4 -0
  243. package/dist/locale/zhTW.d.ts.map +1 -0
  244. package/dist/locale/zhTW.js +331 -0
  245. package/dist/locale/zhTW.js.map +1 -0
  246. package/dist/provider/BlockUIProvider.d.ts.map +1 -1
  247. package/dist/provider/BlockUIProvider.js +10 -3
  248. package/dist/provider/BlockUIProvider.js.map +1 -1
  249. package/dist/provider/BlockUIProvider.types.d.ts +9 -0
  250. package/dist/provider/BlockUIProvider.types.d.ts.map +1 -1
  251. package/dist/provider/context.d.ts +3 -0
  252. package/dist/provider/context.d.ts.map +1 -1
  253. package/dist/provider/context.js +6 -1
  254. package/dist/provider/context.js.map +1 -1
  255. package/dist/provider/index.d.ts +1 -1
  256. package/dist/provider/index.d.ts.map +1 -1
  257. package/package.json +4 -4
@@ -0,0 +1,331 @@
1
+ //#region src/locale/zhTW.ts
2
+ /** Traditional Chinese (Taiwan) strings: `<BlockUIProvider messages={zhTWMessages}>`. */
3
+ var zhTWMessages = {
4
+ common: {
5
+ close: "關閉",
6
+ dismiss: "關閉",
7
+ progress: "進度",
8
+ result: "產出",
9
+ fuel: "燃料",
10
+ input: "原料",
11
+ emptySlot: "空格",
12
+ lockedSlot: "已鎖定的格子",
13
+ emptyNamed: (name) => `${name}:空`,
14
+ sortBy: "排序",
15
+ name: "名稱",
16
+ loading: "載入中…",
17
+ amount: (value, max) => `${value} / ${max}`
18
+ },
19
+ rarity: {
20
+ common: "普通",
21
+ uncommon: "罕見",
22
+ rare: "稀有",
23
+ epic: "史詩",
24
+ legendary: "傳說"
25
+ },
26
+ contextMenu: { label: "右鍵選單" },
27
+ avatar: { statuses: {
28
+ online: "線上",
29
+ away: "離開",
30
+ busy: "忙碌",
31
+ offline: "離線"
32
+ } },
33
+ achievementCard: {
34
+ label: "成就",
35
+ view: "查看",
36
+ locked: "未解鎖",
37
+ unlocked: "已解鎖",
38
+ unlockedOn: (date) => `解鎖於${date}`
39
+ },
40
+ playerCard: {
41
+ label: "玩家",
42
+ profile: "個人檔案",
43
+ level: (level) => `等級 ${level}`
44
+ },
45
+ questCard: {
46
+ label: "任務",
47
+ claim: "領取",
48
+ claimed: "已領取",
49
+ inProgress: "進行中",
50
+ reward: "獎勵",
51
+ xp: "經驗",
52
+ coins: "金幣"
53
+ },
54
+ serverCard: {
55
+ label: "伺服器",
56
+ join: "加入",
57
+ offline: "離線",
58
+ online: "線上",
59
+ version: "版本",
60
+ ping: "延遲",
61
+ pingValue: (ms) => `${ms} 毫秒`
62
+ },
63
+ serverBrowser: {
64
+ label: "伺服器列表",
65
+ search: "搜尋伺服器",
66
+ mostPlayers: "玩家最多",
67
+ lowestPing: "延遲最低",
68
+ onlineOnly: "只顯示線上",
69
+ refresh: "重新整理",
70
+ addServer: "新增伺服器",
71
+ servers: "伺服器",
72
+ empty: "找不到伺服器",
73
+ count: (count) => `${count} 個伺服器`
74
+ },
75
+ worldCard: {
76
+ label: "世界",
77
+ day: (day) => `第 ${day} 天`,
78
+ play: (name) => `遊玩 ${name}`,
79
+ seed: "種子碼:",
80
+ lastPlayed: "上次遊玩"
81
+ },
82
+ worldBrowser: {
83
+ label: "世界列表",
84
+ search: "搜尋世界",
85
+ gameMode: "遊戲模式",
86
+ allModes: "所有模式",
87
+ lastPlayed: "最近遊玩",
88
+ createWorld: "建立世界",
89
+ worlds: "世界",
90
+ empty: "還沒有世界",
91
+ count: (count) => `${count} 個世界`
92
+ },
93
+ anvil: {
94
+ label: "鐵砧",
95
+ itemName: "物品名稱",
96
+ item: "物品",
97
+ material: "材料",
98
+ tooExpensive: "太貴了!",
99
+ cost: (cost) => `附魔花費:${cost}`,
100
+ notEnoughLevels: "(等級不足)"
101
+ },
102
+ brewingStand: {
103
+ label: "釀造台",
104
+ status: {
105
+ idle: "閒置",
106
+ brewing: "釀造中",
107
+ complete: "完成",
108
+ noFuel: "沒有燃料"
109
+ },
110
+ bottles: [
111
+ "左瓶",
112
+ "中瓶",
113
+ "右瓶"
114
+ ],
115
+ ingredient: "材料",
116
+ progress: "釀造進度"
117
+ },
118
+ craftingGrid: { label: "合成格" },
119
+ craftingResult: { label: "合成產出" },
120
+ craftingTable: {
121
+ label: "工作台",
122
+ craft: "合成"
123
+ },
124
+ enchantingTable: {
125
+ label: "附魔台",
126
+ item: "物品",
127
+ lapis: "青金石",
128
+ enchantments: "附魔選項",
129
+ unknown: "未知的附魔",
130
+ placeItem: "放入物品",
131
+ notEnoughLevels: "等級不足",
132
+ notEnoughLapis: "青金石不足",
133
+ unavailable: "無法使用",
134
+ optionDetail: (level, lapisCost) => `,等級 ${level},${lapisCost} 個青金石`
135
+ },
136
+ furnace: {
137
+ label: "熔爐",
138
+ status: {
139
+ idle: "閒置",
140
+ burning: "燃燒中",
141
+ processing: "熔煉中",
142
+ complete: "完成",
143
+ noFuel: "沒有燃料"
144
+ },
145
+ progress: "熔煉進度"
146
+ },
147
+ recipeBook: {
148
+ label: "配方書",
149
+ search: "搜尋配方",
150
+ all: "全部",
151
+ categories: "分類",
152
+ craftableOnly: "只顯示可合成",
153
+ recipes: "配方",
154
+ noMatch: "沒有符合的配方。",
155
+ selectRecipe: "選擇一個配方",
156
+ pattern: "排列方式",
157
+ makes: (name) => `製作 ${name}`,
158
+ missingIngredients: "材料不足",
159
+ missingSuffix: (name) => `${name}(材料不足)`,
160
+ craft: "合成",
161
+ count: (count) => `${count} 個配方`
162
+ },
163
+ tradingUI: {
164
+ label: "交易",
165
+ trades: "交易項目",
166
+ levels: [
167
+ "新手",
168
+ "學徒",
169
+ "老手",
170
+ "專家",
171
+ "大師"
172
+ ],
173
+ progressTo: (level) => `距離${level}的進度`,
174
+ payment: "付款",
175
+ secondPayment: "第二項付款",
176
+ trade: "交易",
177
+ soldOut: "已售完",
178
+ soldOutSuffix: "(已售完)"
179
+ },
180
+ blockTable: { empty: "沒有資料" },
181
+ skillTree: {
182
+ label: "技能樹",
183
+ skills: "技能",
184
+ details: "技能詳情",
185
+ points: "技能點數:",
186
+ states: {
187
+ locked: "未解鎖",
188
+ available: "可解鎖",
189
+ unlocked: "已解鎖"
190
+ },
191
+ requires: (names) => `需要:${names}`,
192
+ unlock: (cost) => `解鎖(${cost} 點)`,
193
+ needs: (cost) => `需要 ${cost} 點`
194
+ },
195
+ confirmDialog: {
196
+ confirm: "確認",
197
+ cancel: "取消"
198
+ },
199
+ toast: {
200
+ region: "通知",
201
+ dismiss: "關閉通知"
202
+ },
203
+ numberInput: {
204
+ decrease: "減少",
205
+ increase: "增加"
206
+ },
207
+ hud: {
208
+ health: "生命值",
209
+ armor: "護甲值",
210
+ hunger: "飢餓值",
211
+ experience: "經驗值",
212
+ playerStatus: "玩家狀態",
213
+ xpValue: (value, max) => `${value} / ${max} 經驗`,
214
+ level: (level) => `等級 ${level}`
215
+ },
216
+ biomeIndicator: {
217
+ biome: "生態域",
218
+ names: {
219
+ plains: "平原",
220
+ forest: "森林",
221
+ desert: "沙漠",
222
+ snowy: "雪原",
223
+ ocean: "海洋",
224
+ jungle: "叢林",
225
+ mountains: "山地",
226
+ swamp: "沼澤",
227
+ cave: "洞穴",
228
+ nether: "地獄",
229
+ end: "終界"
230
+ }
231
+ },
232
+ coordinatesHUD: {
233
+ label: "座標",
234
+ facing: "朝向",
235
+ facings: {
236
+ north: "北",
237
+ south: "南",
238
+ east: "東",
239
+ west: "西"
240
+ },
241
+ copy: "複製",
242
+ copyLabel: "複製座標",
243
+ copied: "已複製座標"
244
+ },
245
+ dayNightIndicator: {
246
+ label: "遊戲時間",
247
+ day: "天數",
248
+ phases: {
249
+ dawn: "黎明",
250
+ day: "白天",
251
+ dusk: "黃昏",
252
+ night: "夜晚"
253
+ },
254
+ am: "上午",
255
+ pm: "下午"
256
+ },
257
+ weatherIndicator: {
258
+ weather: "天氣",
259
+ names: {
260
+ clear: "晴朗",
261
+ cloudy: "多雲",
262
+ rain: "下雨",
263
+ thunder: "雷雨",
264
+ snow: "下雪"
265
+ },
266
+ clearNight: "晴朗",
267
+ remaining: "後結束"
268
+ },
269
+ miniMap: {
270
+ label: "小地圖",
271
+ directions: [
272
+ "北",
273
+ "東北",
274
+ "東",
275
+ "東南",
276
+ "南",
277
+ "西南",
278
+ "西",
279
+ "西北"
280
+ ],
281
+ here: (label) => `${label}:就在這裡`,
282
+ facing: (direction) => `面向${direction}。`,
283
+ northShort: "北",
284
+ distance: (label, blocks, direction) => `${label}:${direction}方 ${blocks} 格`
285
+ },
286
+ scoreboard: {
287
+ empty: "還沒有分數",
288
+ rank: "名次",
289
+ name: "名稱",
290
+ score: "分數",
291
+ more: (count) => `還有 ${count} 位`
292
+ },
293
+ durability: {
294
+ label: "耐久度",
295
+ value: (value, max) => `耐久度 ${value} / ${max}`
296
+ },
297
+ hotbar: { label: "快捷列" },
298
+ inventory: {
299
+ title: "物品欄",
300
+ label: "物品欄"
301
+ },
302
+ pagination: {
303
+ label: "分頁",
304
+ previous: "上一頁",
305
+ next: "下一頁",
306
+ page: (page) => `第 ${page} 頁`,
307
+ pageOf: (page, count) => `第 ${page} / ${count} 頁`
308
+ },
309
+ sidebar: { label: "主選單" },
310
+ stepper: { label: "進度" },
311
+ breadcrumb: { label: "麵包屑導覽" },
312
+ hotbarNavigation: { label: "快速導覽" },
313
+ chatWindow: {
314
+ label: "聊天",
315
+ placeholder: "輸入訊息…",
316
+ messages: (label) => `${label}訊息`,
317
+ whispers: (author) => `${author} 悄悄說:`,
318
+ message: "訊息",
319
+ send: "送出"
320
+ },
321
+ commandConsole: {
322
+ label: "主控台",
323
+ output: (label) => `${label}輸出`,
324
+ suggestions: "指令建議",
325
+ command: "指令"
326
+ }
327
+ };
328
+ //#endregion
329
+ export { zhTWMessages };
330
+
331
+ //# sourceMappingURL=zhTW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhTW.js","names":[],"sources":["../../src/locale/zhTW.ts"],"sourcesContent":["import type { BlockUIMessages } from \"./messages\";\n\n/** Traditional Chinese (Taiwan) strings: `<BlockUIProvider messages={zhTWMessages}>`. */\nexport const zhTWMessages: BlockUIMessages = {\n common: {\n close: \"關閉\",\n dismiss: \"關閉\",\n progress: \"進度\",\n result: \"產出\",\n fuel: \"燃料\",\n input: \"原料\",\n emptySlot: \"空格\",\n lockedSlot: \"已鎖定的格子\",\n emptyNamed: (name) => `${name}:空`,\n sortBy: \"排序\",\n name: \"名稱\",\n loading: \"載入中…\",\n amount: (value, max) => `${value} / ${max}`,\n },\n rarity: {\n common: \"普通\",\n uncommon: \"罕見\",\n rare: \"稀有\",\n epic: \"史詩\",\n legendary: \"傳說\",\n },\n contextMenu: { label: \"右鍵選單\" },\n avatar: { statuses: { online: \"線上\", away: \"離開\", busy: \"忙碌\", offline: \"離線\" } },\n achievementCard: {\n label: \"成就\",\n view: \"查看\",\n locked: \"未解鎖\",\n unlocked: \"已解鎖\",\n unlockedOn: (date) => `解鎖於${date}`,\n },\n playerCard: { label: \"玩家\", profile: \"個人檔案\", level: (level) => `等級 ${level}` },\n questCard: {\n label: \"任務\",\n claim: \"領取\",\n claimed: \"已領取\",\n inProgress: \"進行中\",\n reward: \"獎勵\",\n xp: \"經驗\",\n coins: \"金幣\",\n },\n serverCard: {\n label: \"伺服器\",\n join: \"加入\",\n offline: \"離線\",\n online: \"線上\",\n version: \"版本\",\n ping: \"延遲\",\n pingValue: (ms) => `${ms} 毫秒`,\n },\n serverBrowser: {\n label: \"伺服器列表\",\n search: \"搜尋伺服器\",\n mostPlayers: \"玩家最多\",\n lowestPing: \"延遲最低\",\n onlineOnly: \"只顯示線上\",\n refresh: \"重新整理\",\n addServer: \"新增伺服器\",\n servers: \"伺服器\",\n empty: \"找不到伺服器\",\n count: (count) => `${count} 個伺服器`,\n },\n worldCard: {\n label: \"世界\",\n day: (day) => `第 ${day} 天`,\n play: (name) => `遊玩 ${name}`,\n seed: \"種子碼:\",\n lastPlayed: \"上次遊玩\",\n },\n worldBrowser: {\n label: \"世界列表\",\n search: \"搜尋世界\",\n gameMode: \"遊戲模式\",\n allModes: \"所有模式\",\n lastPlayed: \"最近遊玩\",\n createWorld: \"建立世界\",\n worlds: \"世界\",\n empty: \"還沒有世界\",\n count: (count) => `${count} 個世界`,\n },\n anvil: {\n label: \"鐵砧\",\n itemName: \"物品名稱\",\n item: \"物品\",\n material: \"材料\",\n tooExpensive: \"太貴了!\",\n cost: (cost) => `附魔花費:${cost}`,\n notEnoughLevels: \"(等級不足)\",\n },\n brewingStand: {\n label: \"釀造台\",\n status: { idle: \"閒置\", brewing: \"釀造中\", complete: \"完成\", noFuel: \"沒有燃料\" },\n bottles: [\"左瓶\", \"中瓶\", \"右瓶\"],\n ingredient: \"材料\",\n progress: \"釀造進度\",\n },\n craftingGrid: { label: \"合成格\" },\n craftingResult: { label: \"合成產出\" },\n craftingTable: { label: \"工作台\", craft: \"合成\" },\n enchantingTable: {\n label: \"附魔台\",\n item: \"物品\",\n lapis: \"青金石\",\n enchantments: \"附魔選項\",\n unknown: \"未知的附魔\",\n placeItem: \"放入物品\",\n notEnoughLevels: \"等級不足\",\n notEnoughLapis: \"青金石不足\",\n unavailable: \"無法使用\",\n optionDetail: (level, lapisCost) => `,等級 ${level},${lapisCost} 個青金石`,\n },\n furnace: {\n label: \"熔爐\",\n status: {\n idle: \"閒置\",\n burning: \"燃燒中\",\n processing: \"熔煉中\",\n complete: \"完成\",\n noFuel: \"沒有燃料\",\n },\n progress: \"熔煉進度\",\n },\n recipeBook: {\n label: \"配方書\",\n search: \"搜尋配方\",\n all: \"全部\",\n categories: \"分類\",\n craftableOnly: \"只顯示可合成\",\n recipes: \"配方\",\n noMatch: \"沒有符合的配方。\",\n selectRecipe: \"選擇一個配方\",\n pattern: \"排列方式\",\n makes: (name) => `製作 ${name}`,\n missingIngredients: \"材料不足\",\n missingSuffix: (name) => `${name}(材料不足)`,\n craft: \"合成\",\n count: (count) => `${count} 個配方`,\n },\n tradingUI: {\n label: \"交易\",\n trades: \"交易項目\",\n levels: [\"新手\", \"學徒\", \"老手\", \"專家\", \"大師\"],\n progressTo: (level) => `距離${level}的進度`,\n payment: \"付款\",\n secondPayment: \"第二項付款\",\n trade: \"交易\",\n soldOut: \"已售完\",\n soldOutSuffix: \"(已售完)\",\n },\n blockTable: { empty: \"沒有資料\" },\n skillTree: {\n label: \"技能樹\",\n skills: \"技能\",\n details: \"技能詳情\",\n points: \"技能點數:\",\n states: { locked: \"未解鎖\", available: \"可解鎖\", unlocked: \"已解鎖\" },\n requires: (names) => `需要:${names}`,\n unlock: (cost) => `解鎖(${cost} 點)`,\n needs: (cost) => `需要 ${cost} 點`,\n },\n confirmDialog: { confirm: \"確認\", cancel: \"取消\" },\n toast: { region: \"通知\", dismiss: \"關閉通知\" },\n numberInput: { decrease: \"減少\", increase: \"增加\" },\n hud: {\n health: \"生命值\",\n armor: \"護甲值\",\n hunger: \"飢餓值\",\n experience: \"經驗值\",\n playerStatus: \"玩家狀態\",\n xpValue: (value, max) => `${value} / ${max} 經驗`,\n level: (level) => `等級 ${level}`,\n },\n biomeIndicator: {\n biome: \"生態域\",\n names: {\n plains: \"平原\",\n forest: \"森林\",\n desert: \"沙漠\",\n snowy: \"雪原\",\n ocean: \"海洋\",\n jungle: \"叢林\",\n mountains: \"山地\",\n swamp: \"沼澤\",\n cave: \"洞穴\",\n nether: \"地獄\",\n end: \"終界\",\n },\n },\n coordinatesHUD: {\n label: \"座標\",\n facing: \"朝向\",\n facings: { north: \"北\", south: \"南\", east: \"東\", west: \"西\" },\n copy: \"複製\",\n copyLabel: \"複製座標\",\n copied: \"已複製座標\",\n },\n dayNightIndicator: {\n label: \"遊戲時間\",\n day: \"天數\",\n phases: { dawn: \"黎明\", day: \"白天\", dusk: \"黃昏\", night: \"夜晚\" },\n am: \"上午\",\n pm: \"下午\",\n },\n weatherIndicator: {\n weather: \"天氣\",\n names: { clear: \"晴朗\", cloudy: \"多雲\", rain: \"下雨\", thunder: \"雷雨\", snow: \"下雪\" },\n clearNight: \"晴朗\",\n remaining: \"後結束\",\n },\n miniMap: {\n label: \"小地圖\",\n directions: [\"北\", \"東北\", \"東\", \"東南\", \"南\", \"西南\", \"西\", \"西北\"],\n here: (label) => `${label}:就在這裡`,\n facing: (direction) => `面向${direction}。`,\n northShort: \"北\",\n distance: (label, blocks, direction) => `${label}:${direction}方 ${blocks} 格`,\n },\n scoreboard: {\n empty: \"還沒有分數\",\n rank: \"名次\",\n name: \"名稱\",\n score: \"分數\",\n more: (count) => `還有 ${count} 位`,\n },\n durability: {\n label: \"耐久度\",\n value: (value, max) => `耐久度 ${value} / ${max}`,\n },\n hotbar: { label: \"快捷列\" },\n inventory: { title: \"物品欄\", label: \"物品欄\" },\n pagination: {\n label: \"分頁\",\n previous: \"上一頁\",\n next: \"下一頁\",\n page: (page) => `第 ${page} 頁`,\n pageOf: (page, count) => `第 ${page} / ${count} 頁`,\n },\n sidebar: { label: \"主選單\" },\n stepper: { label: \"進度\" },\n breadcrumb: { label: \"麵包屑導覽\" },\n hotbarNavigation: { label: \"快速導覽\" },\n chatWindow: {\n label: \"聊天\",\n placeholder: \"輸入訊息…\",\n messages: (label) => `${label}訊息`,\n whispers: (author) => `${author} 悄悄說:`,\n message: \"訊息\",\n send: \"送出\",\n },\n commandConsole: {\n label: \"主控台\",\n output: (label) => `${label}輸出`,\n suggestions: \"指令建議\",\n command: \"指令\",\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockUIProvider.d.ts","sourceRoot":"","sources":["../../src/provider/BlockUIProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEzF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,iHAqB3B,CAAC"}
1
+ {"version":3,"file":"BlockUIProvider.d.ts","sourceRoot":"","sources":["../../src/provider/BlockUIProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEzF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,iHAsB3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { cx } from "../utils/cx.js";
2
+ import { enMessages, mergeMessages } from "../locale/messages.js";
2
3
  import { BlockUIContext } from "./context.js";
3
4
  import { BlockToaster } from "../components/feedback/Toast/Toast.js";
4
5
  import { forwardRef, useMemo, useState } from "react";
@@ -14,12 +15,18 @@ import { jsx, jsxs } from "react/jsx-runtime";
14
15
  * </BlockUIProvider>
15
16
  * ```
16
17
  */
17
- var BlockUIProvider = forwardRef(function BlockUIProvider({ theme = "grassland", toaster = true, className, children, ...rest }, ref) {
18
+ var BlockUIProvider = forwardRef(function BlockUIProvider({ theme = "grassland", toaster = true, messages, className, children, ...rest }, ref) {
18
19
  const [portalContainer, setPortalContainer] = useState(null);
20
+ const resolved = useMemo(() => mergeMessages(enMessages, messages), [messages]);
19
21
  const value = useMemo(() => ({
20
22
  theme,
21
- portalContainer
22
- }), [theme, portalContainer]);
23
+ portalContainer,
24
+ messages: resolved
25
+ }), [
26
+ theme,
27
+ portalContainer,
28
+ resolved
29
+ ]);
23
30
  return /* @__PURE__ */ jsx(BlockUIContext.Provider, {
24
31
  value,
25
32
  children: /* @__PURE__ */ jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"BlockUIProvider.js","names":[],"sources":["../../src/provider/BlockUIProvider.tsx"],"sourcesContent":["import { forwardRef, useMemo, useState } from \"react\";\nimport { cx } from \"../utils/cx\";\nimport { BlockToaster } from \"../components/feedback/Toast/Toast\";\nimport { BlockUIContext } from \"./context\";\nimport type { BlockUIContextValue, BlockUIProviderProps } from \"./BlockUIProvider.types\";\n\n/**\n * Applies a Block UI theme (`data-theme`) to its subtree and hosts the overlay\n * layer that modals and toasts portal into.\n *\n * ```tsx\n * <BlockUIProvider theme=\"deepslate\">\n * <App />\n * </BlockUIProvider>\n * ```\n */\nexport const BlockUIProvider = forwardRef<HTMLDivElement, BlockUIProviderProps>(\n function BlockUIProvider(\n { theme = \"grassland\", toaster = true, className, children, ...rest },\n ref,\n ) {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const value = useMemo<BlockUIContextValue>(\n () => ({ theme, portalContainer }),\n [theme, portalContainer],\n );\n\n return (\n <BlockUIContext.Provider value={value}>\n <div ref={ref} data-theme={theme} className={cx(\"block-ui-root\", className)} {...rest}>\n {children}\n <div ref={setPortalContainer} data-block-portal=\"\" />\n {toaster ? <BlockToaster /> : null}\n </div>\n </BlockUIContext.Provider>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,IAAa,kBAAkB,WAC7B,SAAS,gBACP,EAAE,QAAQ,aAAa,UAAU,MAAM,WAAW,UAAU,GAAG,QAC/D,KACA;CACA,MAAM,CAAC,iBAAiB,sBAAsB,SAAgC,IAAI;CAClF,MAAM,QAAQ,eACL;EAAE;EAAO;CAAgB,IAChC,CAAC,OAAO,eAAe,CACzB;CAEA,OACE,oBAAC,eAAe,UAAhB;EAAgC;EAC9B,UAAA,qBAAC,OAAD;GAAU;GAAK,cAAY;GAAO,WAAW,GAAG,iBAAiB,SAAS;GAAG,GAAI;GAAjF,UAAA;IACG;IACD,oBAAC,OAAD;KAAK,KAAK;KAAoB,qBAAkB;IAAI,CAAA;IACnD,UAAU,oBAAC,cAAD,CAAe,CAAA,IAAI;GAC3B;;CACkB,CAAA;AAE7B,CACF"}
1
+ {"version":3,"file":"BlockUIProvider.js","names":[],"sources":["../../src/provider/BlockUIProvider.tsx"],"sourcesContent":["import { forwardRef, useMemo, useState } from \"react\";\nimport { cx } from \"../utils/cx\";\nimport { BlockToaster } from \"../components/feedback/Toast/Toast\";\nimport { enMessages, mergeMessages } from \"../locale/messages\";\nimport { BlockUIContext } from \"./context\";\nimport type { BlockUIContextValue, BlockUIProviderProps } from \"./BlockUIProvider.types\";\n\n/**\n * Applies a Block UI theme (`data-theme`) to its subtree and hosts the overlay\n * layer that modals and toasts portal into.\n *\n * ```tsx\n * <BlockUIProvider theme=\"deepslate\">\n * <App />\n * </BlockUIProvider>\n * ```\n */\nexport const BlockUIProvider = forwardRef<HTMLDivElement, BlockUIProviderProps>(\n function BlockUIProvider(\n { theme = \"grassland\", toaster = true, messages, className, children, ...rest },\n ref,\n ) {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const resolved = useMemo(() => mergeMessages(enMessages, messages), [messages]);\n const value = useMemo<BlockUIContextValue>(\n () => ({ theme, portalContainer, messages: resolved }),\n [theme, portalContainer, resolved],\n );\n\n return (\n <BlockUIContext.Provider value={value}>\n <div ref={ref} data-theme={theme} className={cx(\"block-ui-root\", className)} {...rest}>\n {children}\n <div ref={setPortalContainer} data-block-portal=\"\" />\n {toaster ? <BlockToaster /> : null}\n </div>\n </BlockUIContext.Provider>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,IAAa,kBAAkB,WAC7B,SAAS,gBACP,EAAE,QAAQ,aAAa,UAAU,MAAM,UAAU,WAAW,UAAU,GAAG,QACzE,KACA;CACA,MAAM,CAAC,iBAAiB,sBAAsB,SAAgC,IAAI;CAClF,MAAM,WAAW,cAAc,cAAc,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC;CAC9E,MAAM,QAAQ,eACL;EAAE;EAAO;EAAiB,UAAU;CAAS,IACpD;EAAC;EAAO;EAAiB;CAAQ,CACnC;CAEA,OACE,oBAAC,eAAe,UAAhB;EAAgC;EAC9B,UAAA,qBAAC,OAAD;GAAU;GAAK,cAAY;GAAO,WAAW,GAAG,iBAAiB,SAAS;GAAG,GAAI;GAAjF,UAAA;IACG;IACD,oBAAC,OAAD;KAAK,KAAK;KAAoB,qBAAkB;IAAI,CAAA;IACnD,UAAU,oBAAC,cAAD,CAAe,CAAA,IAAI;GAC3B;;CACkB,CAAA;AAE7B,CACF"}
@@ -1,15 +1,24 @@
1
1
  import type { BlockThemeName } from "@malilion/block-ui-themes";
2
2
  import type { HTMLAttributes, ReactNode } from "react";
3
+ import type { BlockUIMessages, BlockUIMessagesOverride } from "../locale/messages";
3
4
  export interface BlockUIProviderProps extends HTMLAttributes<HTMLDivElement> {
4
5
  /** Theme applied through `data-theme`. @default "grassland" */
5
6
  theme?: BlockThemeName;
6
7
  /** Render the toast region used by `toast.*()`. @default true */
7
8
  toaster?: boolean;
9
+ /**
10
+ * Built-in text of every component — a full locale such as `zhTWMessages`,
11
+ * or a partial override merged onto English. Explicit props still win.
12
+ * @default enMessages
13
+ */
14
+ messages?: BlockUIMessages | BlockUIMessagesOverride;
8
15
  children?: ReactNode;
9
16
  }
10
17
  export interface BlockUIContextValue {
11
18
  theme: BlockThemeName;
12
19
  /** Element portals (modals, toasts) render into, so they inherit the theme. */
13
20
  portalContainer: HTMLElement | null;
21
+ /** Resolved built-in text (English unless the provider sets `messages`). */
22
+ messages: BlockUIMessages;
14
23
  }
15
24
  //# sourceMappingURL=BlockUIProvider.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockUIProvider.types.d.ts","sourceRoot":"","sources":["../../src/provider/BlockUIProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC1E,+DAA+D;IAC/D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,CAAC;IACtB,+EAA+E;IAC/E,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;CACrC"}
1
+ {"version":3,"file":"BlockUIProvider.types.d.ts","sourceRoot":"","sources":["../../src/provider/BlockUIProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC1E,+DAA+D;IAC/D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,uBAAuB,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,CAAC;IACtB,+EAA+E;IAC/E,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,EAAE,eAAe,CAAC;CAC3B"}
@@ -1,3 +1,4 @@
1
+ import { type BlockUIMessages } from "../locale/messages";
1
2
  import type { BlockUIContextValue } from "./BlockUIProvider.types";
2
3
  export declare const BlockUIContext: import("react").Context<BlockUIContextValue | null>;
3
4
  /** Current Block UI theme and portal container (null outside a provider). */
@@ -7,4 +8,6 @@ export declare function useBlockUI(): BlockUIContextValue | null;
7
8
  * mounted), or `document.body` outside a provider.
8
9
  */
9
10
  export declare function usePortalContainer(): HTMLElement | null;
11
+ /** Built-in component text from the nearest provider (English outside one). */
12
+ export declare function useBlockUIMessages(): BlockUIMessages;
10
13
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/provider/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,eAAO,MAAM,cAAc,qDAAkD,CAAC;AAE9E,6EAA6E;AAC7E,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAEvD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAIvD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/provider/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,eAAO,MAAM,cAAc,qDAAkD,CAAC;AAE9E,6EAA6E;AAC7E,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAEvD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAIvD;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD"}
@@ -1,3 +1,4 @@
1
+ import { enMessages } from "../locale/messages.js";
1
2
  import { createContext, useContext } from "react";
2
3
  //#region src/provider/context.ts
3
4
  var BlockUIContext = createContext(null);
@@ -14,7 +15,11 @@ function usePortalContainer() {
14
15
  if (context) return context.portalContainer;
15
16
  return typeof document === "undefined" ? null : document.body;
16
17
  }
18
+ /** Built-in component text from the nearest provider (English outside one). */
19
+ function useBlockUIMessages() {
20
+ return useContext(BlockUIContext)?.messages ?? enMessages;
21
+ }
17
22
  //#endregion
18
- export { BlockUIContext, useBlockUI, usePortalContainer };
23
+ export { BlockUIContext, useBlockUI, useBlockUIMessages, usePortalContainer };
19
24
 
20
25
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../src/provider/context.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { BlockUIContextValue } from \"./BlockUIProvider.types\";\n\nexport const BlockUIContext = createContext<BlockUIContextValue | null>(null);\n\n/** Current Block UI theme and portal container (null outside a provider). */\nexport function useBlockUI(): BlockUIContextValue | null {\n return useContext(BlockUIContext);\n}\n\n/**\n * Where overlays should portal to: the provider's layer (null until it has\n * mounted), or `document.body` outside a provider.\n */\nexport function usePortalContainer(): HTMLElement | null {\n const context = useContext(BlockUIContext);\n if (context) return context.portalContainer;\n return typeof document === \"undefined\" ? null : document.body;\n}\n"],"mappings":";;AAGA,IAAa,iBAAiB,cAA0C,IAAI;;AAG5E,SAAgB,aAAyC;CACvD,OAAO,WAAW,cAAc;AAClC;;;;;AAMA,SAAgB,qBAAyC;CACvD,MAAM,UAAU,WAAW,cAAc;CACzC,IAAI,SAAS,OAAO,QAAQ;CAC5B,OAAO,OAAO,aAAa,cAAc,OAAO,SAAS;AAC3D"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../src/provider/context.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { enMessages, type BlockUIMessages } from \"../locale/messages\";\nimport type { BlockUIContextValue } from \"./BlockUIProvider.types\";\n\nexport const BlockUIContext = createContext<BlockUIContextValue | null>(null);\n\n/** Current Block UI theme and portal container (null outside a provider). */\nexport function useBlockUI(): BlockUIContextValue | null {\n return useContext(BlockUIContext);\n}\n\n/**\n * Where overlays should portal to: the provider's layer (null until it has\n * mounted), or `document.body` outside a provider.\n */\nexport function usePortalContainer(): HTMLElement | null {\n const context = useContext(BlockUIContext);\n if (context) return context.portalContainer;\n return typeof document === \"undefined\" ? null : document.body;\n}\n\n/** Built-in component text from the nearest provider (English outside one). */\nexport function useBlockUIMessages(): BlockUIMessages {\n return useContext(BlockUIContext)?.messages ?? enMessages;\n}\n"],"mappings":";;;AAIA,IAAa,iBAAiB,cAA0C,IAAI;;AAG5E,SAAgB,aAAyC;CACvD,OAAO,WAAW,cAAc;AAClC;;;;;AAMA,SAAgB,qBAAyC;CACvD,MAAM,UAAU,WAAW,cAAc;CACzC,IAAI,SAAS,OAAO,QAAQ;CAC5B,OAAO,OAAO,aAAa,cAAc,OAAO,SAAS;AAC3D;;AAGA,SAAgB,qBAAsC;CACpD,OAAO,WAAW,cAAc,CAAC,EAAE,YAAY;AACjD"}
@@ -1,4 +1,4 @@
1
1
  export { BlockUIProvider } from "./BlockUIProvider";
2
- export { useBlockUI, usePortalContainer } from "./context";
2
+ export { useBlockUI, useBlockUIMessages, usePortalContainer } from "./context";
3
3
  export type { BlockUIContextValue, BlockUIProviderProps } from "./BlockUIProvider.types";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malilion/block-ui-react",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Block UI — block / pixel / crafting game-style React components: inventory, crafting, HUD, cards, forms and more.",
5
5
  "license": "MIT",
6
6
  "author": "Block UI Contributors",
@@ -42,9 +42,9 @@
42
42
  "react-dom": "^18.2.0 || ^19.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "@malilion/block-ui-icons": "^0.5.1",
46
- "@malilion/block-ui-tokens": "^0.5.1",
47
- "@malilion/block-ui-themes": "^0.5.1"
45
+ "@malilion/block-ui-icons": "^0.6.0",
46
+ "@malilion/block-ui-tokens": "^0.6.0",
47
+ "@malilion/block-ui-themes": "^0.6.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@storybook/react-vite": "^10.6.1",