@malilion/block-ui-react 0.0.0-stage → 0.1.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 (577) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +45 -2
  3. package/dist/components/actions/BlockButton/BlockButton.d.ts +7 -0
  4. package/dist/components/actions/BlockButton/BlockButton.d.ts.map +1 -0
  5. package/dist/components/actions/BlockButton/BlockButton.js +61 -0
  6. package/dist/components/actions/BlockButton/BlockButton.js.map +1 -0
  7. package/dist/components/actions/BlockButton/BlockButton.module.js +26 -0
  8. package/dist/components/actions/BlockButton/BlockButton.module.js.map +1 -0
  9. package/dist/components/actions/BlockButton/BlockButton.types.d.ts +19 -0
  10. package/dist/components/actions/BlockButton/BlockButton.types.d.ts.map +1 -0
  11. package/dist/components/actions/BlockButton/BlockButton.types.js +16 -0
  12. package/dist/components/actions/BlockButton/BlockButton.types.js.map +1 -0
  13. package/dist/components/actions/BlockButton/index.d.ts +4 -0
  14. package/dist/components/actions/BlockButton/index.d.ts.map +1 -0
  15. package/dist/components/actions/IconButton/IconButton.d.ts +4 -0
  16. package/dist/components/actions/IconButton/IconButton.d.ts.map +1 -0
  17. package/dist/components/actions/IconButton/IconButton.js +25 -0
  18. package/dist/components/actions/IconButton/IconButton.js.map +1 -0
  19. package/dist/components/actions/IconButton/IconButton.module.js +11 -0
  20. package/dist/components/actions/IconButton/IconButton.module.js.map +1 -0
  21. package/dist/components/actions/IconButton/IconButton.types.d.ts +9 -0
  22. package/dist/components/actions/IconButton/IconButton.types.d.ts.map +1 -0
  23. package/dist/components/actions/IconButton/index.d.ts +3 -0
  24. package/dist/components/actions/IconButton/index.d.ts.map +1 -0
  25. package/dist/components/actions/index.d.ts +3 -0
  26. package/dist/components/actions/index.d.ts.map +1 -0
  27. package/dist/components/cards/AchievementCard/AchievementCard.d.ts +4 -0
  28. package/dist/components/cards/AchievementCard/AchievementCard.d.ts.map +1 -0
  29. package/dist/components/cards/AchievementCard/AchievementCard.js +50 -0
  30. package/dist/components/cards/AchievementCard/AchievementCard.js.map +1 -0
  31. package/dist/components/cards/AchievementCard/AchievementCard.types.d.ts +13 -0
  32. package/dist/components/cards/AchievementCard/AchievementCard.types.d.ts.map +1 -0
  33. package/dist/components/cards/AchievementCard/index.d.ts +3 -0
  34. package/dist/components/cards/AchievementCard/index.d.ts.map +1 -0
  35. package/dist/components/cards/BlockCard/BlockCard.d.ts +4 -0
  36. package/dist/components/cards/BlockCard/BlockCard.d.ts.map +1 -0
  37. package/dist/components/cards/BlockCard/BlockCard.js +35 -0
  38. package/dist/components/cards/BlockCard/BlockCard.js.map +1 -0
  39. package/dist/components/cards/BlockCard/BlockCard.module.js +19 -0
  40. package/dist/components/cards/BlockCard/BlockCard.module.js.map +1 -0
  41. package/dist/components/cards/BlockCard/BlockCard.types.d.ts +18 -0
  42. package/dist/components/cards/BlockCard/BlockCard.types.d.ts.map +1 -0
  43. package/dist/components/cards/BlockCard/BlockCard.types.js +14 -0
  44. package/dist/components/cards/BlockCard/BlockCard.types.js.map +1 -0
  45. package/dist/components/cards/BlockCard/index.d.ts +4 -0
  46. package/dist/components/cards/BlockCard/index.d.ts.map +1 -0
  47. package/dist/components/cards/PlayerCard/PlayerCard.d.ts +4 -0
  48. package/dist/components/cards/PlayerCard/PlayerCard.d.ts.map +1 -0
  49. package/dist/components/cards/PlayerCard/PlayerCard.js +82 -0
  50. package/dist/components/cards/PlayerCard/PlayerCard.js.map +1 -0
  51. package/dist/components/cards/PlayerCard/PlayerCard.types.d.ts +21 -0
  52. package/dist/components/cards/PlayerCard/PlayerCard.types.d.ts.map +1 -0
  53. package/dist/components/cards/PlayerCard/index.d.ts +3 -0
  54. package/dist/components/cards/PlayerCard/index.d.ts.map +1 -0
  55. package/dist/components/cards/QuestCard/QuestCard.d.ts +4 -0
  56. package/dist/components/cards/QuestCard/QuestCard.d.ts.map +1 -0
  57. package/dist/components/cards/QuestCard/QuestCard.js +98 -0
  58. package/dist/components/cards/QuestCard/QuestCard.js.map +1 -0
  59. package/dist/components/cards/QuestCard/QuestCard.types.d.ts +23 -0
  60. package/dist/components/cards/QuestCard/QuestCard.types.d.ts.map +1 -0
  61. package/dist/components/cards/QuestCard/index.d.ts +3 -0
  62. package/dist/components/cards/QuestCard/index.d.ts.map +1 -0
  63. package/dist/components/cards/ServerCard/ServerCard.d.ts +4 -0
  64. package/dist/components/cards/ServerCard/ServerCard.d.ts.map +1 -0
  65. package/dist/components/cards/ServerCard/ServerCard.js +92 -0
  66. package/dist/components/cards/ServerCard/ServerCard.js.map +1 -0
  67. package/dist/components/cards/ServerCard/ServerCard.module.js +11 -0
  68. package/dist/components/cards/ServerCard/ServerCard.module.js.map +1 -0
  69. package/dist/components/cards/ServerCard/ServerCard.types.d.ts +20 -0
  70. package/dist/components/cards/ServerCard/ServerCard.types.d.ts.map +1 -0
  71. package/dist/components/cards/ServerCard/ServerCard.utils.d.ts +3 -0
  72. package/dist/components/cards/ServerCard/ServerCard.utils.d.ts.map +1 -0
  73. package/dist/components/cards/ServerCard/ServerCard.utils.js +11 -0
  74. package/dist/components/cards/ServerCard/ServerCard.utils.js.map +1 -0
  75. package/dist/components/cards/ServerCard/index.d.ts +4 -0
  76. package/dist/components/cards/ServerCard/index.d.ts.map +1 -0
  77. package/dist/components/cards/WorldCard/WorldCard.d.ts +4 -0
  78. package/dist/components/cards/WorldCard/WorldCard.d.ts.map +1 -0
  79. package/dist/components/cards/WorldCard/WorldCard.js +64 -0
  80. package/dist/components/cards/WorldCard/WorldCard.js.map +1 -0
  81. package/dist/components/cards/WorldCard/WorldCard.module.js +17 -0
  82. package/dist/components/cards/WorldCard/WorldCard.module.js.map +1 -0
  83. package/dist/components/cards/WorldCard/WorldCard.types.d.ts +15 -0
  84. package/dist/components/cards/WorldCard/WorldCard.types.d.ts.map +1 -0
  85. package/dist/components/cards/WorldCard/index.d.ts +3 -0
  86. package/dist/components/cards/WorldCard/index.d.ts.map +1 -0
  87. package/dist/components/cards/cards.module.js +37 -0
  88. package/dist/components/cards/cards.module.js.map +1 -0
  89. package/dist/components/cards/index.d.ts +7 -0
  90. package/dist/components/cards/index.d.ts.map +1 -0
  91. package/dist/components/crafting/CraftingGrid/CraftingGrid.d.ts +7 -0
  92. package/dist/components/crafting/CraftingGrid/CraftingGrid.d.ts.map +1 -0
  93. package/dist/components/crafting/CraftingGrid/CraftingGrid.js +30 -0
  94. package/dist/components/crafting/CraftingGrid/CraftingGrid.js.map +1 -0
  95. package/dist/components/crafting/CraftingGrid/CraftingGrid.module.js +7 -0
  96. package/dist/components/crafting/CraftingGrid/CraftingGrid.module.js.map +1 -0
  97. package/dist/components/crafting/CraftingGrid/CraftingGrid.types.d.ts +6 -0
  98. package/dist/components/crafting/CraftingGrid/CraftingGrid.types.d.ts.map +1 -0
  99. package/dist/components/crafting/CraftingGrid/index.d.ts +3 -0
  100. package/dist/components/crafting/CraftingGrid/index.d.ts.map +1 -0
  101. package/dist/components/crafting/CraftingResult/CraftingResult.d.ts +4 -0
  102. package/dist/components/crafting/CraftingResult/CraftingResult.d.ts.map +1 -0
  103. package/dist/components/crafting/CraftingResult/CraftingResult.js +31 -0
  104. package/dist/components/crafting/CraftingResult/CraftingResult.js.map +1 -0
  105. package/dist/components/crafting/CraftingResult/CraftingResult.module.js +11 -0
  106. package/dist/components/crafting/CraftingResult/CraftingResult.module.js.map +1 -0
  107. package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts +11 -0
  108. package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts.map +1 -0
  109. package/dist/components/crafting/CraftingResult/index.d.ts +3 -0
  110. package/dist/components/crafting/CraftingResult/index.d.ts.map +1 -0
  111. package/dist/components/crafting/CraftingSlot/CraftingSlot.d.ts +3 -0
  112. package/dist/components/crafting/CraftingSlot/CraftingSlot.d.ts.map +1 -0
  113. package/dist/components/crafting/CraftingSlot/CraftingSlot.js +18 -0
  114. package/dist/components/crafting/CraftingSlot/CraftingSlot.js.map +1 -0
  115. package/dist/components/crafting/CraftingSlot/CraftingSlot.module.js +7 -0
  116. package/dist/components/crafting/CraftingSlot/CraftingSlot.module.js.map +1 -0
  117. package/dist/components/crafting/CraftingSlot/CraftingSlot.types.d.ts +3 -0
  118. package/dist/components/crafting/CraftingSlot/CraftingSlot.types.d.ts.map +1 -0
  119. package/dist/components/crafting/CraftingSlot/index.d.ts +3 -0
  120. package/dist/components/crafting/CraftingSlot/index.d.ts.map +1 -0
  121. package/dist/components/crafting/CraftingTable/CraftingTable.d.ts +7 -0
  122. package/dist/components/crafting/CraftingTable/CraftingTable.d.ts.map +1 -0
  123. package/dist/components/crafting/CraftingTable/CraftingTable.js +59 -0
  124. package/dist/components/crafting/CraftingTable/CraftingTable.js.map +1 -0
  125. package/dist/components/crafting/CraftingTable/CraftingTable.module.js +19 -0
  126. package/dist/components/crafting/CraftingTable/CraftingTable.module.js.map +1 -0
  127. package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts +18 -0
  128. package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts.map +1 -0
  129. package/dist/components/crafting/CraftingTable/index.d.ts +3 -0
  130. package/dist/components/crafting/CraftingTable/index.d.ts.map +1 -0
  131. package/dist/components/crafting/Furnace/Furnace.d.ts +7 -0
  132. package/dist/components/crafting/Furnace/Furnace.d.ts.map +1 -0
  133. package/dist/components/crafting/Furnace/Furnace.js +119 -0
  134. package/dist/components/crafting/Furnace/Furnace.js.map +1 -0
  135. package/dist/components/crafting/Furnace/Furnace.module.js +29 -0
  136. package/dist/components/crafting/Furnace/Furnace.module.js.map +1 -0
  137. package/dist/components/crafting/Furnace/Furnace.types.d.ts +26 -0
  138. package/dist/components/crafting/Furnace/Furnace.types.d.ts.map +1 -0
  139. package/dist/components/crafting/Furnace/Furnace.types.js +12 -0
  140. package/dist/components/crafting/Furnace/Furnace.types.js.map +1 -0
  141. package/dist/components/crafting/Furnace/Furnace.utils.d.ts +7 -0
  142. package/dist/components/crafting/Furnace/Furnace.utils.d.ts.map +1 -0
  143. package/dist/components/crafting/Furnace/Furnace.utils.js +16 -0
  144. package/dist/components/crafting/Furnace/Furnace.utils.js.map +1 -0
  145. package/dist/components/crafting/Furnace/index.d.ts +5 -0
  146. package/dist/components/crafting/Furnace/index.d.ts.map +1 -0
  147. package/dist/components/crafting/index.d.ts +6 -0
  148. package/dist/components/crafting/index.d.ts.map +1 -0
  149. package/dist/components/display/BlockBadge/BlockBadge.d.ts +4 -0
  150. package/dist/components/display/BlockBadge/BlockBadge.d.ts.map +1 -0
  151. package/dist/components/display/BlockBadge/BlockBadge.js +34 -0
  152. package/dist/components/display/BlockBadge/BlockBadge.js.map +1 -0
  153. package/dist/components/display/BlockBadge/BlockBadge.module.js +15 -0
  154. package/dist/components/display/BlockBadge/BlockBadge.module.js.map +1 -0
  155. package/dist/components/display/BlockBadge/BlockBadge.types.d.ts +13 -0
  156. package/dist/components/display/BlockBadge/BlockBadge.types.d.ts.map +1 -0
  157. package/dist/components/display/BlockBadge/BlockBadge.types.js +17 -0
  158. package/dist/components/display/BlockBadge/BlockBadge.types.js.map +1 -0
  159. package/dist/components/display/BlockBadge/index.d.ts +4 -0
  160. package/dist/components/display/BlockBadge/index.d.ts.map +1 -0
  161. package/dist/components/display/index.d.ts +2 -0
  162. package/dist/components/display/index.d.ts.map +1 -0
  163. package/dist/components/feedback/Alert/BlockAlert.d.ts +7 -0
  164. package/dist/components/feedback/Alert/BlockAlert.d.ts.map +1 -0
  165. package/dist/components/feedback/Alert/BlockAlert.js +62 -0
  166. package/dist/components/feedback/Alert/BlockAlert.js.map +1 -0
  167. package/dist/components/feedback/Alert/BlockAlert.module.js +21 -0
  168. package/dist/components/feedback/Alert/BlockAlert.module.js.map +1 -0
  169. package/dist/components/feedback/Alert/BlockAlert.types.d.ts +19 -0
  170. package/dist/components/feedback/Alert/BlockAlert.types.d.ts.map +1 -0
  171. package/dist/components/feedback/Alert/BlockAlert.types.js +11 -0
  172. package/dist/components/feedback/Alert/BlockAlert.types.js.map +1 -0
  173. package/dist/components/feedback/Alert/BlockAlert.utils.d.ts +4 -0
  174. package/dist/components/feedback/Alert/BlockAlert.utils.d.ts.map +1 -0
  175. package/dist/components/feedback/Alert/BlockAlert.utils.js +12 -0
  176. package/dist/components/feedback/Alert/BlockAlert.utils.js.map +1 -0
  177. package/dist/components/feedback/Alert/index.d.ts +4 -0
  178. package/dist/components/feedback/Alert/index.d.ts.map +1 -0
  179. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.d.ts +7 -0
  180. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
  181. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js +47 -0
  182. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js.map +1 -0
  183. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts +21 -0
  184. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts.map +1 -0
  185. package/dist/components/feedback/ConfirmDialog/index.d.ts +3 -0
  186. package/dist/components/feedback/ConfirmDialog/index.d.ts.map +1 -0
  187. package/dist/components/feedback/Loading/BlockLoading.d.ts +4 -0
  188. package/dist/components/feedback/Loading/BlockLoading.d.ts.map +1 -0
  189. package/dist/components/feedback/Loading/BlockLoading.js +35 -0
  190. package/dist/components/feedback/Loading/BlockLoading.js.map +1 -0
  191. package/dist/components/feedback/Loading/BlockLoading.module.js +18 -0
  192. package/dist/components/feedback/Loading/BlockLoading.module.js.map +1 -0
  193. package/dist/components/feedback/Loading/BlockLoading.types.d.ts +14 -0
  194. package/dist/components/feedback/Loading/BlockLoading.types.d.ts.map +1 -0
  195. package/dist/components/feedback/Loading/index.d.ts +3 -0
  196. package/dist/components/feedback/Loading/index.d.ts.map +1 -0
  197. package/dist/components/feedback/Modal/BlockModal.d.ts +7 -0
  198. package/dist/components/feedback/Modal/BlockModal.d.ts.map +1 -0
  199. package/dist/components/feedback/Modal/BlockModal.js +99 -0
  200. package/dist/components/feedback/Modal/BlockModal.js.map +1 -0
  201. package/dist/components/feedback/Modal/BlockModal.module.js +27 -0
  202. package/dist/components/feedback/Modal/BlockModal.module.js.map +1 -0
  203. package/dist/components/feedback/Modal/BlockModal.types.d.ts +27 -0
  204. package/dist/components/feedback/Modal/BlockModal.types.d.ts.map +1 -0
  205. package/dist/components/feedback/Modal/index.d.ts +3 -0
  206. package/dist/components/feedback/Modal/index.d.ts.map +1 -0
  207. package/dist/components/feedback/Progress/BlockProgress.d.ts +4 -0
  208. package/dist/components/feedback/Progress/BlockProgress.d.ts.map +1 -0
  209. package/dist/components/feedback/Progress/BlockProgress.js +50 -0
  210. package/dist/components/feedback/Progress/BlockProgress.js.map +1 -0
  211. package/dist/components/feedback/Progress/BlockProgress.module.js +23 -0
  212. package/dist/components/feedback/Progress/BlockProgress.module.js.map +1 -0
  213. package/dist/components/feedback/Progress/BlockProgress.types.d.ts +20 -0
  214. package/dist/components/feedback/Progress/BlockProgress.types.d.ts.map +1 -0
  215. package/dist/components/feedback/Progress/BlockProgress.types.js +13 -0
  216. package/dist/components/feedback/Progress/BlockProgress.types.js.map +1 -0
  217. package/dist/components/feedback/Progress/index.d.ts +4 -0
  218. package/dist/components/feedback/Progress/index.d.ts.map +1 -0
  219. package/dist/components/feedback/Toast/Toast.d.ts +7 -0
  220. package/dist/components/feedback/Toast/Toast.d.ts.map +1 -0
  221. package/dist/components/feedback/Toast/Toast.js +81 -0
  222. package/dist/components/feedback/Toast/Toast.js.map +1 -0
  223. package/dist/components/feedback/Toast/Toast.module.js +16 -0
  224. package/dist/components/feedback/Toast/Toast.module.js.map +1 -0
  225. package/dist/components/feedback/Toast/Toast.types.d.ts +29 -0
  226. package/dist/components/feedback/Toast/Toast.types.d.ts.map +1 -0
  227. package/dist/components/feedback/Toast/index.d.ts +6 -0
  228. package/dist/components/feedback/Toast/index.d.ts.map +1 -0
  229. package/dist/components/feedback/Toast/store.d.ts +28 -0
  230. package/dist/components/feedback/Toast/store.d.ts.map +1 -0
  231. package/dist/components/feedback/Toast/store.js +54 -0
  232. package/dist/components/feedback/Toast/store.js.map +1 -0
  233. package/dist/components/feedback/Toast/useToasts.d.ts +4 -0
  234. package/dist/components/feedback/Toast/useToasts.d.ts.map +1 -0
  235. package/dist/components/feedback/Toast/useToasts.js +11 -0
  236. package/dist/components/feedback/Toast/useToasts.js.map +1 -0
  237. package/dist/components/feedback/index.d.ts +7 -0
  238. package/dist/components/feedback/index.d.ts.map +1 -0
  239. package/dist/components/forms/BlockCheckbox/BlockCheckbox.d.ts +4 -0
  240. package/dist/components/forms/BlockCheckbox/BlockCheckbox.d.ts.map +1 -0
  241. package/dist/components/forms/BlockCheckbox/BlockCheckbox.js +69 -0
  242. package/dist/components/forms/BlockCheckbox/BlockCheckbox.js.map +1 -0
  243. package/dist/components/forms/BlockCheckbox/BlockCheckbox.module.js +27 -0
  244. package/dist/components/forms/BlockCheckbox/BlockCheckbox.module.js.map +1 -0
  245. package/dist/components/forms/BlockCheckbox/BlockCheckbox.types.d.ts +10 -0
  246. package/dist/components/forms/BlockCheckbox/BlockCheckbox.types.d.ts.map +1 -0
  247. package/dist/components/forms/BlockCheckbox/index.d.ts +3 -0
  248. package/dist/components/forms/BlockCheckbox/index.d.ts.map +1 -0
  249. package/dist/components/forms/BlockInput/BlockInput.d.ts +4 -0
  250. package/dist/components/forms/BlockInput/BlockInput.d.ts.map +1 -0
  251. package/dist/components/forms/BlockInput/BlockInput.js +49 -0
  252. package/dist/components/forms/BlockInput/BlockInput.js.map +1 -0
  253. package/dist/components/forms/BlockInput/BlockInput.module.js +19 -0
  254. package/dist/components/forms/BlockInput/BlockInput.module.js.map +1 -0
  255. package/dist/components/forms/BlockInput/BlockInput.types.d.ts +16 -0
  256. package/dist/components/forms/BlockInput/BlockInput.types.d.ts.map +1 -0
  257. package/dist/components/forms/BlockInput/index.d.ts +3 -0
  258. package/dist/components/forms/BlockInput/index.d.ts.map +1 -0
  259. package/dist/components/forms/BlockRadio/BlockRadio.d.ts +6 -0
  260. package/dist/components/forms/BlockRadio/BlockRadio.d.ts.map +1 -0
  261. package/dist/components/forms/BlockRadio/BlockRadio.js +122 -0
  262. package/dist/components/forms/BlockRadio/BlockRadio.js.map +1 -0
  263. package/dist/components/forms/BlockRadio/BlockRadio.module.js +33 -0
  264. package/dist/components/forms/BlockRadio/BlockRadio.module.js.map +1 -0
  265. package/dist/components/forms/BlockRadio/BlockRadio.types.d.ts +29 -0
  266. package/dist/components/forms/BlockRadio/BlockRadio.types.d.ts.map +1 -0
  267. package/dist/components/forms/BlockRadio/context.d.ts +11 -0
  268. package/dist/components/forms/BlockRadio/context.d.ts.map +1 -0
  269. package/dist/components/forms/BlockRadio/context.js +10 -0
  270. package/dist/components/forms/BlockRadio/context.js.map +1 -0
  271. package/dist/components/forms/BlockRadio/index.d.ts +3 -0
  272. package/dist/components/forms/BlockRadio/index.d.ts.map +1 -0
  273. package/dist/components/forms/BlockSelect/BlockSelect.d.ts +4 -0
  274. package/dist/components/forms/BlockSelect/BlockSelect.d.ts.map +1 -0
  275. package/dist/components/forms/BlockSelect/BlockSelect.js +58 -0
  276. package/dist/components/forms/BlockSelect/BlockSelect.js.map +1 -0
  277. package/dist/components/forms/BlockSelect/BlockSelect.module.js +13 -0
  278. package/dist/components/forms/BlockSelect/BlockSelect.module.js.map +1 -0
  279. package/dist/components/forms/BlockSelect/BlockSelect.types.d.ts +18 -0
  280. package/dist/components/forms/BlockSelect/BlockSelect.types.d.ts.map +1 -0
  281. package/dist/components/forms/BlockSelect/index.d.ts +3 -0
  282. package/dist/components/forms/BlockSelect/index.d.ts.map +1 -0
  283. package/dist/components/forms/BlockSlider/BlockSlider.d.ts +7 -0
  284. package/dist/components/forms/BlockSlider/BlockSlider.d.ts.map +1 -0
  285. package/dist/components/forms/BlockSlider/BlockSlider.js +60 -0
  286. package/dist/components/forms/BlockSlider/BlockSlider.js.map +1 -0
  287. package/dist/components/forms/BlockSlider/BlockSlider.module.js +7 -0
  288. package/dist/components/forms/BlockSlider/BlockSlider.module.js.map +1 -0
  289. package/dist/components/forms/BlockSlider/BlockSlider.types.d.ts +25 -0
  290. package/dist/components/forms/BlockSlider/BlockSlider.types.d.ts.map +1 -0
  291. package/dist/components/forms/BlockSlider/index.d.ts +3 -0
  292. package/dist/components/forms/BlockSlider/index.d.ts.map +1 -0
  293. package/dist/components/forms/BlockTextarea/BlockTextarea.d.ts +4 -0
  294. package/dist/components/forms/BlockTextarea/BlockTextarea.d.ts.map +1 -0
  295. package/dist/components/forms/BlockTextarea/BlockTextarea.js +53 -0
  296. package/dist/components/forms/BlockTextarea/BlockTextarea.js.map +1 -0
  297. package/dist/components/forms/BlockTextarea/BlockTextarea.module.js +7 -0
  298. package/dist/components/forms/BlockTextarea/BlockTextarea.module.js.map +1 -0
  299. package/dist/components/forms/BlockTextarea/BlockTextarea.types.d.ts +11 -0
  300. package/dist/components/forms/BlockTextarea/BlockTextarea.types.d.ts.map +1 -0
  301. package/dist/components/forms/BlockTextarea/index.d.ts +3 -0
  302. package/dist/components/forms/BlockTextarea/index.d.ts.map +1 -0
  303. package/dist/components/forms/BlockToggle/BlockToggle.d.ts +4 -0
  304. package/dist/components/forms/BlockToggle/BlockToggle.d.ts.map +1 -0
  305. package/dist/components/forms/BlockToggle/BlockToggle.js +52 -0
  306. package/dist/components/forms/BlockToggle/BlockToggle.js.map +1 -0
  307. package/dist/components/forms/BlockToggle/BlockToggle.module.js +27 -0
  308. package/dist/components/forms/BlockToggle/BlockToggle.module.js.map +1 -0
  309. package/dist/components/forms/BlockToggle/BlockToggle.types.d.ts +12 -0
  310. package/dist/components/forms/BlockToggle/BlockToggle.types.d.ts.map +1 -0
  311. package/dist/components/forms/BlockToggle/index.d.ts +3 -0
  312. package/dist/components/forms/BlockToggle/index.d.ts.map +1 -0
  313. package/dist/components/forms/Field/Field.d.ts +25 -0
  314. package/dist/components/forms/Field/Field.d.ts.map +1 -0
  315. package/dist/components/forms/Field/Field.js +59 -0
  316. package/dist/components/forms/Field/Field.js.map +1 -0
  317. package/dist/components/forms/Field/Field.module.js +21 -0
  318. package/dist/components/forms/Field/Field.module.js.map +1 -0
  319. package/dist/components/forms/Field/control.module.js +7 -0
  320. package/dist/components/forms/Field/control.module.js.map +1 -0
  321. package/dist/components/forms/index.d.ts +8 -0
  322. package/dist/components/forms/index.d.ts.map +1 -0
  323. package/dist/components/hud/ArmorBar/ArmorBar.d.ts +4 -0
  324. package/dist/components/hud/ArmorBar/ArmorBar.d.ts.map +1 -0
  325. package/dist/components/hud/ArmorBar/ArmorBar.js +23 -0
  326. package/dist/components/hud/ArmorBar/ArmorBar.js.map +1 -0
  327. package/dist/components/hud/ArmorBar/ArmorBar.types.d.ts +13 -0
  328. package/dist/components/hud/ArmorBar/ArmorBar.types.d.ts.map +1 -0
  329. package/dist/components/hud/ArmorBar/index.d.ts +3 -0
  330. package/dist/components/hud/ArmorBar/index.d.ts.map +1 -0
  331. package/dist/components/hud/HealthBar/HealthBar.d.ts +4 -0
  332. package/dist/components/hud/HealthBar/HealthBar.d.ts.map +1 -0
  333. package/dist/components/hud/HealthBar/HealthBar.js +23 -0
  334. package/dist/components/hud/HealthBar/HealthBar.js.map +1 -0
  335. package/dist/components/hud/HealthBar/HealthBar.types.d.ts +13 -0
  336. package/dist/components/hud/HealthBar/HealthBar.types.d.ts.map +1 -0
  337. package/dist/components/hud/HealthBar/index.d.ts +3 -0
  338. package/dist/components/hud/HealthBar/index.d.ts.map +1 -0
  339. package/dist/components/hud/HungerBar/HungerBar.d.ts +4 -0
  340. package/dist/components/hud/HungerBar/HungerBar.d.ts.map +1 -0
  341. package/dist/components/hud/HungerBar/HungerBar.js +23 -0
  342. package/dist/components/hud/HungerBar/HungerBar.js.map +1 -0
  343. package/dist/components/hud/HungerBar/HungerBar.types.d.ts +15 -0
  344. package/dist/components/hud/HungerBar/HungerBar.types.d.ts.map +1 -0
  345. package/dist/components/hud/HungerBar/index.d.ts +3 -0
  346. package/dist/components/hud/HungerBar/index.d.ts.map +1 -0
  347. package/dist/components/hud/PlayerHUD/PlayerHUD.d.ts +7 -0
  348. package/dist/components/hud/PlayerHUD/PlayerHUD.d.ts.map +1 -0
  349. package/dist/components/hud/PlayerHUD/PlayerHUD.js +57 -0
  350. package/dist/components/hud/PlayerHUD/PlayerHUD.js.map +1 -0
  351. package/dist/components/hud/PlayerHUD/PlayerHUD.module.js +15 -0
  352. package/dist/components/hud/PlayerHUD/PlayerHUD.module.js.map +1 -0
  353. package/dist/components/hud/PlayerHUD/PlayerHUD.types.d.ts +26 -0
  354. package/dist/components/hud/PlayerHUD/PlayerHUD.types.d.ts.map +1 -0
  355. package/dist/components/hud/PlayerHUD/index.d.ts +3 -0
  356. package/dist/components/hud/PlayerHUD/index.d.ts.map +1 -0
  357. package/dist/components/hud/PointsBar/PointsBar.d.ts +24 -0
  358. package/dist/components/hud/PointsBar/PointsBar.d.ts.map +1 -0
  359. package/dist/components/hud/PointsBar/PointsBar.js +61 -0
  360. package/dist/components/hud/PointsBar/PointsBar.js.map +1 -0
  361. package/dist/components/hud/PointsBar/PointsBar.module.js +20 -0
  362. package/dist/components/hud/PointsBar/PointsBar.module.js.map +1 -0
  363. package/dist/components/hud/PointsBar/index.d.ts +3 -0
  364. package/dist/components/hud/PointsBar/index.d.ts.map +1 -0
  365. package/dist/components/hud/XPBar/XPBar.d.ts +4 -0
  366. package/dist/components/hud/XPBar/XPBar.d.ts.map +1 -0
  367. package/dist/components/hud/XPBar/XPBar.js +45 -0
  368. package/dist/components/hud/XPBar/XPBar.js.map +1 -0
  369. package/dist/components/hud/XPBar/XPBar.module.js +19 -0
  370. package/dist/components/hud/XPBar/XPBar.module.js.map +1 -0
  371. package/dist/components/hud/XPBar/XPBar.types.d.ts +12 -0
  372. package/dist/components/hud/XPBar/XPBar.types.d.ts.map +1 -0
  373. package/dist/components/hud/XPBar/index.d.ts +3 -0
  374. package/dist/components/hud/XPBar/index.d.ts.map +1 -0
  375. package/dist/components/hud/index.d.ts +6 -0
  376. package/dist/components/hud/index.d.ts.map +1 -0
  377. package/dist/components/inventory/DurabilityBar/DurabilityBar.d.ts +4 -0
  378. package/dist/components/inventory/DurabilityBar/DurabilityBar.d.ts.map +1 -0
  379. package/dist/components/inventory/DurabilityBar/DurabilityBar.js +37 -0
  380. package/dist/components/inventory/DurabilityBar/DurabilityBar.js.map +1 -0
  381. package/dist/components/inventory/DurabilityBar/DurabilityBar.module.js +17 -0
  382. package/dist/components/inventory/DurabilityBar/DurabilityBar.module.js.map +1 -0
  383. package/dist/components/inventory/DurabilityBar/DurabilityBar.types.d.ts +13 -0
  384. package/dist/components/inventory/DurabilityBar/DurabilityBar.types.d.ts.map +1 -0
  385. package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.d.ts +3 -0
  386. package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.d.ts.map +1 -0
  387. package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.js +12 -0
  388. package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.js.map +1 -0
  389. package/dist/components/inventory/DurabilityBar/index.d.ts +4 -0
  390. package/dist/components/inventory/DurabilityBar/index.d.ts.map +1 -0
  391. package/dist/components/inventory/Hotbar/Hotbar.d.ts +7 -0
  392. package/dist/components/inventory/Hotbar/Hotbar.d.ts.map +1 -0
  393. package/dist/components/inventory/Hotbar/Hotbar.js +51 -0
  394. package/dist/components/inventory/Hotbar/Hotbar.js.map +1 -0
  395. package/dist/components/inventory/Hotbar/Hotbar.module.js +13 -0
  396. package/dist/components/inventory/Hotbar/Hotbar.module.js.map +1 -0
  397. package/dist/components/inventory/Hotbar/Hotbar.types.d.ts +17 -0
  398. package/dist/components/inventory/Hotbar/Hotbar.types.d.ts.map +1 -0
  399. package/dist/components/inventory/Hotbar/index.d.ts +3 -0
  400. package/dist/components/inventory/Hotbar/index.d.ts.map +1 -0
  401. package/dist/components/inventory/Inventory/Inventory.d.ts +9 -0
  402. package/dist/components/inventory/Inventory/Inventory.d.ts.map +1 -0
  403. package/dist/components/inventory/Inventory/Inventory.js +45 -0
  404. package/dist/components/inventory/Inventory/Inventory.js.map +1 -0
  405. package/dist/components/inventory/Inventory/Inventory.module.js +17 -0
  406. package/dist/components/inventory/Inventory/Inventory.module.js.map +1 -0
  407. package/dist/components/inventory/Inventory/Inventory.types.d.ts +14 -0
  408. package/dist/components/inventory/Inventory/Inventory.types.d.ts.map +1 -0
  409. package/dist/components/inventory/Inventory/index.d.ts +3 -0
  410. package/dist/components/inventory/Inventory/index.d.ts.map +1 -0
  411. package/dist/components/inventory/InventoryGrid/InventoryGrid.d.ts +9 -0
  412. package/dist/components/inventory/InventoryGrid/InventoryGrid.d.ts.map +1 -0
  413. package/dist/components/inventory/InventoryGrid/InventoryGrid.js +127 -0
  414. package/dist/components/inventory/InventoryGrid/InventoryGrid.js.map +1 -0
  415. package/dist/components/inventory/InventoryGrid/InventoryGrid.module.js +11 -0
  416. package/dist/components/inventory/InventoryGrid/InventoryGrid.module.js.map +1 -0
  417. package/dist/components/inventory/InventoryGrid/InventoryGrid.types.d.ts +24 -0
  418. package/dist/components/inventory/InventoryGrid/InventoryGrid.types.d.ts.map +1 -0
  419. package/dist/components/inventory/InventoryGrid/context.d.ts +14 -0
  420. package/dist/components/inventory/InventoryGrid/context.d.ts.map +1 -0
  421. package/dist/components/inventory/InventoryGrid/context.js +15 -0
  422. package/dist/components/inventory/InventoryGrid/context.js.map +1 -0
  423. package/dist/components/inventory/InventoryGrid/index.d.ts +4 -0
  424. package/dist/components/inventory/InventoryGrid/index.d.ts.map +1 -0
  425. package/dist/components/inventory/InventorySlot/InventorySlot.d.ts +8 -0
  426. package/dist/components/inventory/InventorySlot/InventorySlot.d.ts.map +1 -0
  427. package/dist/components/inventory/InventorySlot/InventorySlot.js +151 -0
  428. package/dist/components/inventory/InventorySlot/InventorySlot.js.map +1 -0
  429. package/dist/components/inventory/InventorySlot/InventorySlot.module.js +21 -0
  430. package/dist/components/inventory/InventorySlot/InventorySlot.module.js.map +1 -0
  431. package/dist/components/inventory/InventorySlot/InventorySlot.types.d.ts +20 -0
  432. package/dist/components/inventory/InventorySlot/InventorySlot.types.d.ts.map +1 -0
  433. package/dist/components/inventory/InventorySlot/index.d.ts +3 -0
  434. package/dist/components/inventory/InventorySlot/index.d.ts.map +1 -0
  435. package/dist/components/inventory/ItemStack/ItemStack.d.ts +8 -0
  436. package/dist/components/inventory/ItemStack/ItemStack.d.ts.map +1 -0
  437. package/dist/components/inventory/ItemStack/ItemStack.js +58 -0
  438. package/dist/components/inventory/ItemStack/ItemStack.js.map +1 -0
  439. package/dist/components/inventory/ItemStack/ItemStack.module.js +15 -0
  440. package/dist/components/inventory/ItemStack/ItemStack.module.js.map +1 -0
  441. package/dist/components/inventory/ItemStack/ItemStack.types.d.ts +14 -0
  442. package/dist/components/inventory/ItemStack/ItemStack.types.d.ts.map +1 -0
  443. package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts +4 -0
  444. package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts.map +1 -0
  445. package/dist/components/inventory/ItemStack/ItemStack.utils.js +14 -0
  446. package/dist/components/inventory/ItemStack/ItemStack.utils.js.map +1 -0
  447. package/dist/components/inventory/ItemStack/index.d.ts +4 -0
  448. package/dist/components/inventory/ItemStack/index.d.ts.map +1 -0
  449. package/dist/components/inventory/ItemTooltip/ItemTooltip.d.ts +7 -0
  450. package/dist/components/inventory/ItemTooltip/ItemTooltip.d.ts.map +1 -0
  451. package/dist/components/inventory/ItemTooltip/ItemTooltip.js +52 -0
  452. package/dist/components/inventory/ItemTooltip/ItemTooltip.js.map +1 -0
  453. package/dist/components/inventory/ItemTooltip/ItemTooltip.module.js +23 -0
  454. package/dist/components/inventory/ItemTooltip/ItemTooltip.module.js.map +1 -0
  455. package/dist/components/inventory/ItemTooltip/ItemTooltip.types.d.ts +18 -0
  456. package/dist/components/inventory/ItemTooltip/ItemTooltip.types.d.ts.map +1 -0
  457. package/dist/components/inventory/ItemTooltip/ItemTooltip.types.js +12 -0
  458. package/dist/components/inventory/ItemTooltip/ItemTooltip.types.js.map +1 -0
  459. package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.d.ts +3 -0
  460. package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.d.ts.map +1 -0
  461. package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.js +11 -0
  462. package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.js.map +1 -0
  463. package/dist/components/inventory/ItemTooltip/index.d.ts +5 -0
  464. package/dist/components/inventory/ItemTooltip/index.d.ts.map +1 -0
  465. package/dist/components/inventory/index.d.ts +8 -0
  466. package/dist/components/inventory/index.d.ts.map +1 -0
  467. package/dist/components/layout/BlockPanel/BlockPanel.d.ts +7 -0
  468. package/dist/components/layout/BlockPanel/BlockPanel.d.ts.map +1 -0
  469. package/dist/components/layout/BlockPanel/BlockPanel.js +44 -0
  470. package/dist/components/layout/BlockPanel/BlockPanel.js.map +1 -0
  471. package/dist/components/layout/BlockPanel/BlockPanel.module.js +27 -0
  472. package/dist/components/layout/BlockPanel/BlockPanel.module.js.map +1 -0
  473. package/dist/components/layout/BlockPanel/BlockPanel.types.d.ts +20 -0
  474. package/dist/components/layout/BlockPanel/BlockPanel.types.d.ts.map +1 -0
  475. package/dist/components/layout/BlockPanel/index.d.ts +3 -0
  476. package/dist/components/layout/BlockPanel/index.d.ts.map +1 -0
  477. package/dist/components/layout/index.d.ts +2 -0
  478. package/dist/components/layout/index.d.ts.map +1 -0
  479. package/dist/components/navigation/BlockSidebar/BlockSidebar.d.ts +9 -0
  480. package/dist/components/navigation/BlockSidebar/BlockSidebar.d.ts.map +1 -0
  481. package/dist/components/navigation/BlockSidebar/BlockSidebar.js +96 -0
  482. package/dist/components/navigation/BlockSidebar/BlockSidebar.js.map +1 -0
  483. package/dist/components/navigation/BlockSidebar/BlockSidebar.module.js +25 -0
  484. package/dist/components/navigation/BlockSidebar/BlockSidebar.module.js.map +1 -0
  485. package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts +30 -0
  486. package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts.map +1 -0
  487. package/dist/components/navigation/BlockSidebar/context.d.ts +7 -0
  488. package/dist/components/navigation/BlockSidebar/context.d.ts.map +1 -0
  489. package/dist/components/navigation/BlockSidebar/context.js +10 -0
  490. package/dist/components/navigation/BlockSidebar/context.js.map +1 -0
  491. package/dist/components/navigation/BlockSidebar/index.d.ts +3 -0
  492. package/dist/components/navigation/BlockSidebar/index.d.ts.map +1 -0
  493. package/dist/components/navigation/BlockTabs/BlockTabs.d.ts +7 -0
  494. package/dist/components/navigation/BlockTabs/BlockTabs.d.ts.map +1 -0
  495. package/dist/components/navigation/BlockTabs/BlockTabs.js +84 -0
  496. package/dist/components/navigation/BlockTabs/BlockTabs.js.map +1 -0
  497. package/dist/components/navigation/BlockTabs/BlockTabs.module.js +19 -0
  498. package/dist/components/navigation/BlockTabs/BlockTabs.module.js.map +1 -0
  499. package/dist/components/navigation/BlockTabs/BlockTabs.types.d.ts +21 -0
  500. package/dist/components/navigation/BlockTabs/BlockTabs.types.d.ts.map +1 -0
  501. package/dist/components/navigation/BlockTabs/index.d.ts +3 -0
  502. package/dist/components/navigation/BlockTabs/index.d.ts.map +1 -0
  503. package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts +4 -0
  504. package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  505. package/dist/components/navigation/Breadcrumb/Breadcrumb.js +55 -0
  506. package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
  507. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.js +23 -0
  508. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.js.map +1 -0
  509. package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts +16 -0
  510. package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts.map +1 -0
  511. package/dist/components/navigation/Breadcrumb/index.d.ts +3 -0
  512. package/dist/components/navigation/Breadcrumb/index.d.ts.map +1 -0
  513. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.d.ts +4 -0
  514. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.d.ts.map +1 -0
  515. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js +85 -0
  516. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js.map +1 -0
  517. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.module.js +25 -0
  518. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.module.js.map +1 -0
  519. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts +25 -0
  520. package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts.map +1 -0
  521. package/dist/components/navigation/HotbarNavigation/index.d.ts +3 -0
  522. package/dist/components/navigation/HotbarNavigation/index.d.ts.map +1 -0
  523. package/dist/components/navigation/index.d.ts +5 -0
  524. package/dist/components/navigation/index.d.ts.map +1 -0
  525. package/dist/hooks/index.d.ts +7 -0
  526. package/dist/hooks/index.d.ts.map +1 -0
  527. package/dist/hooks/useControllableState.d.ts +8 -0
  528. package/dist/hooks/useControllableState.d.ts.map +1 -0
  529. package/dist/hooks/useControllableState.js +15 -0
  530. package/dist/hooks/useControllableState.js.map +1 -0
  531. package/dist/hooks/useDigitHotkeys.d.ts +6 -0
  532. package/dist/hooks/useDigitHotkeys.d.ts.map +1 -0
  533. package/dist/hooks/useDigitHotkeys.js +30 -0
  534. package/dist/hooks/useDigitHotkeys.js.map +1 -0
  535. package/dist/hooks/useFocusTrap.d.ts +13 -0
  536. package/dist/hooks/useFocusTrap.d.ts.map +1 -0
  537. package/dist/hooks/useFocusTrap.js +53 -0
  538. package/dist/hooks/useFocusTrap.js.map +1 -0
  539. package/dist/hooks/useMediaQuery.d.ts +3 -0
  540. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  541. package/dist/hooks/useMediaQuery.js +16 -0
  542. package/dist/hooks/useMediaQuery.js.map +1 -0
  543. package/dist/index.d.ts +15 -0
  544. package/dist/index.d.ts.map +1 -0
  545. package/dist/index.js +68 -0
  546. package/dist/provider/BlockUIProvider.d.ts +13 -0
  547. package/dist/provider/BlockUIProvider.d.ts.map +1 -0
  548. package/dist/provider/BlockUIProvider.js +44 -0
  549. package/dist/provider/BlockUIProvider.js.map +1 -0
  550. package/dist/provider/BlockUIProvider.types.d.ts +15 -0
  551. package/dist/provider/BlockUIProvider.types.d.ts.map +1 -0
  552. package/dist/provider/context.d.ts +10 -0
  553. package/dist/provider/context.d.ts.map +1 -0
  554. package/dist/provider/context.js +20 -0
  555. package/dist/provider/context.js.map +1 -0
  556. package/dist/provider/index.d.ts +4 -0
  557. package/dist/provider/index.d.ts.map +1 -0
  558. package/dist/styles.css +3179 -0
  559. package/dist/utils/cx.d.ts +4 -0
  560. package/dist/utils/cx.d.ts.map +1 -0
  561. package/dist/utils/cx.js +9 -0
  562. package/dist/utils/cx.js.map +1 -0
  563. package/dist/utils/dom.d.ts +5 -0
  564. package/dist/utils/dom.d.ts.map +1 -0
  565. package/dist/utils/dom.js +38 -0
  566. package/dist/utils/dom.js.map +1 -0
  567. package/dist/utils/index.d.ts +6 -0
  568. package/dist/utils/index.d.ts.map +1 -0
  569. package/dist/utils/number.d.ts +6 -0
  570. package/dist/utils/number.d.ts.map +1 -0
  571. package/dist/utils/number.js +18 -0
  572. package/dist/utils/number.js.map +1 -0
  573. package/dist/utils/refs.d.ts +4 -0
  574. package/dist/utils/refs.d.ts.map +1 -0
  575. package/dist/utils/refs.js +12 -0
  576. package/dist/utils/refs.js.map +1 -0
  577. package/package.json +80 -3
@@ -0,0 +1,14 @@
1
+ import { formatNumber } from "../../../utils/number.js";
2
+ //#region src/components/inventory/ItemStack/ItemStack.utils.ts
3
+ /** Accessible description of a stack, e.g. "Diamond Pickaxe, durability 126 of 1,561". */
4
+ function describeItemStack({ name, amount, durability, maxDurability }) {
5
+ const parts = [];
6
+ if (name) parts.push(name);
7
+ if (amount !== void 0 && amount > 1) parts.push(`× ${formatNumber(amount)}`);
8
+ if (durability !== void 0 && maxDurability !== void 0) parts.push(`durability ${formatNumber(durability)} of ${formatNumber(maxDurability)}`);
9
+ return parts.join(", ");
10
+ }
11
+ //#endregion
12
+ export { describeItemStack };
13
+
14
+ //# sourceMappingURL=ItemStack.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemStack.utils.js","names":[],"sources":["../../../../src/components/inventory/ItemStack/ItemStack.utils.ts"],"sourcesContent":["import { formatNumber } from \"../../../utils/number\";\nimport type { ItemStackProps } from \"./ItemStack.types\";\n\n/** Accessible description of a stack, e.g. \"Diamond Pickaxe, durability 126 of 1,561\". */\nexport function describeItemStack({\n name,\n amount,\n durability,\n maxDurability,\n}: Pick<ItemStackProps, \"name\" | \"amount\" | \"durability\" | \"maxDurability\">): string {\n const parts: string[] = [];\n if (name) parts.push(name);\n if (amount !== undefined && amount > 1) parts.push(`× ${formatNumber(amount)}`);\n if (durability !== undefined && maxDurability !== undefined) {\n parts.push(`durability ${formatNumber(durability)} of ${formatNumber(maxDurability)}`);\n }\n return parts.join(\", \");\n}\n"],"mappings":";;;AAIA,SAAgB,kBAAkB,EAChC,MACA,QACA,YACA,iBACmF;CACnF,MAAM,QAAkB,CAAC;CACzB,IAAI,MAAM,MAAM,KAAK,IAAI;CACzB,IAAI,WAAW,KAAA,KAAa,SAAS,GAAG,MAAM,KAAK,KAAK,aAAa,MAAM,GAAG;CAC9E,IAAI,eAAe,KAAA,KAAa,kBAAkB,KAAA,GAChD,MAAM,KAAK,cAAc,aAAa,UAAU,EAAE,MAAM,aAAa,aAAa,GAAG;CAEvF,OAAO,MAAM,KAAK,IAAI;AACxB"}
@@ -0,0 +1,4 @@
1
+ export { ItemStack } from "./ItemStack";
2
+ export { describeItemStack } from "./ItemStack.utils";
3
+ export type { ItemStackProps } from "./ItemStack.types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inventory/ItemStack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ItemTooltipProps } from "./ItemTooltip.types";
2
+ /**
3
+ * Item details card: rarity-colored name, enchantments and stats. Rendered
4
+ * automatically by `InventorySlot` when it receives a `tooltip`.
5
+ */
6
+ export declare const ItemTooltip: import("react").ForwardRefExoticComponent<ItemTooltipProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=ItemTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;GAGG;AACH,eAAO,MAAM,WAAW,6GAoCtB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { cx } from "../../../utils/cx.js";
2
+ import ItemTooltip_module_default from "./ItemTooltip.module.js";
3
+ import { normalizeRarity } from "./ItemTooltip.utils.js";
4
+ import { forwardRef } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/components/inventory/ItemTooltip/ItemTooltip.tsx
7
+ /**
8
+ * Item details card: rarity-colored name, enchantments and stats. Rendered
9
+ * automatically by `InventorySlot` when it receives a `tooltip`.
10
+ */
11
+ var ItemTooltip = forwardRef(function ItemTooltip({ name, rarity, description, enchantments, stats, statIcon, className, ...rest }, ref) {
12
+ const normalized = normalizeRarity(rarity);
13
+ return /* @__PURE__ */ jsxs("div", {
14
+ ref,
15
+ className: cx(ItemTooltip_module_default.tooltip, className),
16
+ "data-rarity": normalized,
17
+ ...rest,
18
+ children: [
19
+ /* @__PURE__ */ jsx("p", {
20
+ className: ItemTooltip_module_default.name,
21
+ children: name
22
+ }),
23
+ rarity ? /* @__PURE__ */ jsx("p", {
24
+ className: ItemTooltip_module_default.rarity,
25
+ children: rarity
26
+ }) : null,
27
+ enchantments && enchantments.length > 0 ? /* @__PURE__ */ jsx("ul", {
28
+ className: ItemTooltip_module_default.enchantments,
29
+ children: enchantments.map((enchantment) => /* @__PURE__ */ jsx("li", { children: enchantment }, enchantment))
30
+ }) : null,
31
+ description ? /* @__PURE__ */ jsx("div", {
32
+ className: ItemTooltip_module_default.description,
33
+ children: description
34
+ }) : null,
35
+ stats && stats.length > 0 ? /* @__PURE__ */ jsx("dl", {
36
+ className: ItemTooltip_module_default.stats,
37
+ children: stats.map((stat) => /* @__PURE__ */ jsxs("div", {
38
+ className: ItemTooltip_module_default.stat,
39
+ children: [/* @__PURE__ */ jsxs("dt", { children: [statIcon ? /* @__PURE__ */ jsx("span", {
40
+ className: ItemTooltip_module_default.statIcon,
41
+ "aria-hidden": "true",
42
+ children: statIcon
43
+ }) : null, stat.label] }), /* @__PURE__ */ jsx("dd", { children: stat.value })]
44
+ }, stat.label))
45
+ }) : null
46
+ ]
47
+ });
48
+ });
49
+ //#endregion
50
+ export { ItemTooltip };
51
+
52
+ //# sourceMappingURL=ItemTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.js","names":["styles"],"sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport styles from \"./ItemTooltip.module.css\";\nimport type { ItemTooltipProps } from \"./ItemTooltip.types\";\nimport { normalizeRarity } from \"./ItemTooltip.utils\";\n\n/**\n * Item details card: rarity-colored name, enchantments and stats. Rendered\n * automatically by `InventorySlot` when it receives a `tooltip`.\n */\nexport const ItemTooltip = forwardRef<HTMLDivElement, ItemTooltipProps>(function ItemTooltip(\n { name, rarity, description, enchantments, stats, statIcon, className, ...rest },\n ref,\n) {\n const normalized = normalizeRarity(rarity);\n return (\n <div ref={ref} className={cx(styles.tooltip, className)} data-rarity={normalized} {...rest}>\n <p className={styles.name}>{name}</p>\n {rarity ? <p className={styles.rarity}>{rarity}</p> : null}\n {enchantments && enchantments.length > 0 ? (\n <ul className={styles.enchantments}>\n {enchantments.map((enchantment) => (\n <li key={enchantment}>{enchantment}</li>\n ))}\n </ul>\n ) : null}\n {description ? <div className={styles.description}>{description}</div> : null}\n {stats && stats.length > 0 ? (\n <dl className={styles.stats}>\n {stats.map((stat) => (\n <div key={stat.label} className={styles.stat}>\n <dt>\n {statIcon ? (\n <span className={styles.statIcon} aria-hidden=\"true\">\n {statIcon}\n </span>\n ) : null}\n {stat.label}\n </dt>\n <dd>{stat.value}</dd>\n </div>\n ))}\n </dl>\n ) : null}\n </div>\n );\n});\n"],"mappings":";;;;;;;;;;AAUA,IAAa,cAAc,WAA6C,SAAS,YAC/E,EAAE,MAAM,QAAQ,aAAa,cAAc,OAAO,UAAU,WAAW,GAAG,QAC1E,KACA;CACA,MAAM,aAAa,gBAAgB,MAAM;CACzC,OACE,qBAAC,OAAD;EAAU;EAAK,WAAW,GAAGA,2BAAO,SAAS,SAAS;EAAG,eAAa;EAAY,GAAI;EAAtF,UAAA;GACE,oBAAC,KAAD;IAAG,WAAWA,2BAAO;IAAO,UAAA;GAAQ,CAAA;GACnC,SAAS,oBAAC,KAAD;IAAG,WAAWA,2BAAO;IAAS,UAAA;GAAU,CAAA,IAAI;GACrD,gBAAgB,aAAa,SAAS,IACrC,oBAAC,MAAD;IAAI,WAAWA,2BAAO;IACnB,UAAA,aAAa,KAAK,gBACjB,oBAAC,MAAD,EAAA,UAAuB,YAAgB,GAA9B,WAA8B,CACxC;GACC,CAAA,IACF;GACH,cAAc,oBAAC,OAAD;IAAK,WAAWA,2BAAO;IAAc,UAAA;GAAiB,CAAA,IAAI;GACxE,SAAS,MAAM,SAAS,IACvB,oBAAC,MAAD;IAAI,WAAWA,2BAAO;IACnB,UAAA,MAAM,KAAK,SACV,qBAAC,OAAD;KAAsB,WAAWA,2BAAO;KAAxC,UAAA,CACE,qBAAC,MAAD,EAAA,UAAA,CACG,WACC,oBAAC,QAAD;MAAM,WAAWA,2BAAO;MAAU,eAAY;MAC3C,UAAA;KACG,CAAA,IACJ,MACH,KAAK,KACJ,EAAA,CAAA,GACJ,oBAAC,MAAD,EAAA,UAAK,KAAK,MAAU,CAAA,CACjB;IAVK,GAAA,KAAK,KAUV,CACN;GACC,CAAA,IACF;EACD;;AAET,CAAC"}
@@ -0,0 +1,23 @@
1
+ //#region src/components/inventory/ItemTooltip/ItemTooltip.module.css
2
+ var tooltip = "block-tooltip-xaqDQ";
3
+ var name = "block-name-KE3-B";
4
+ var rarity = "block-rarity-CgrwU";
5
+ var enchantments = "block-enchantments-IeL-5";
6
+ var description = "block-description-Hi7aU";
7
+ var stats = "block-stats-gC0Bc";
8
+ var stat = "block-stat-pt1S3";
9
+ var statIcon = "block-statIcon-y7PWK";
10
+ var ItemTooltip_module_default = {
11
+ tooltip,
12
+ name,
13
+ rarity,
14
+ enchantments,
15
+ description,
16
+ stats,
17
+ stat,
18
+ statIcon
19
+ };
20
+ //#endregion
21
+ export { ItemTooltip_module_default as default, description, enchantments, name, rarity, stat, statIcon, stats, tooltip };
22
+
23
+ //# sourceMappingURL=ItemTooltip.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.module.js","names":[],"sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.module.css"],"sourcesContent":[".tooltip {\n min-width: 180px;\n max-width: 280px;\n padding: var(--block-space-2) var(--block-space-3);\n color: var(--block-text-primary);\n background-color: color-mix(in srgb, var(--block-obsidian-dark) 94%, transparent);\n border: var(--block-border-width-thin) solid var(--block-black);\n box-shadow:\n inset 0 0 0 2px var(--block-obsidian-light),\n var(--block-shadow-drop);\n font-size: var(--block-font-size-sm);\n line-height: var(--block-line-height-normal);\n text-align: left;\n white-space: normal;\n}\n\n.name {\n margin: 0;\n font-family: var(--block-font-display);\n font-size: var(--block-font-size-md);\n font-weight: var(--block-font-weight-bold);\n color: var(--block-text-primary);\n text-shadow: var(--block-shadow-text);\n}\n\n.tooltip[data-rarity=\"uncommon\"] .name {\n color: var(--block-gold-light);\n}\n\n.tooltip[data-rarity=\"rare\"] .name {\n color: var(--block-diamond);\n}\n\n.tooltip[data-rarity=\"epic\"] .name {\n color: var(--block-amethyst-light);\n}\n\n.tooltip[data-rarity=\"legendary\"] .name {\n color: var(--block-lava-light);\n}\n\n.rarity {\n margin: 0;\n font-size: var(--block-font-size-xs);\n color: var(--block-text-secondary);\n text-transform: capitalize;\n}\n\n.enchantments {\n margin: var(--block-space-1) 0 0;\n padding: 0;\n list-style: none;\n color: var(--block-text-secondary);\n}\n\n.description {\n margin-top: var(--block-space-1);\n color: var(--block-text-secondary);\n}\n\n.stats {\n margin: var(--block-space-2) 0 0;\n padding-top: var(--block-space-2);\n border-top: 2px solid var(--block-obsidian-light);\n}\n\n.stat {\n display: flex;\n justify-content: space-between;\n gap: var(--block-space-3);\n color: var(--block-water-light);\n}\n\n.stat dt {\n display: inline-flex;\n align-items: center;\n gap: var(--block-space-1);\n}\n\n.stat dd {\n margin: 0;\n font-weight: var(--block-font-weight-bold);\n}\n\n.statIcon {\n display: inline-flex;\n}\n"],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ export declare const itemRarities: readonly ["common", "uncommon", "rare", "epic", "legendary"];
3
+ export type ItemRarity = (typeof itemRarities)[number];
4
+ export interface ItemTooltipStat {
5
+ label: string;
6
+ value: string | number;
7
+ }
8
+ export interface ItemTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
9
+ name: string;
10
+ /** Rarity name. Known rarities (common…legendary, any case) color the name. */
11
+ rarity?: ItemRarity | (string & {});
12
+ description?: ReactNode;
13
+ enchantments?: string[];
14
+ stats?: ItemTooltipStat[];
15
+ /** Small icon shown before each stat. */
16
+ statIcon?: ReactNode;
17
+ }
18
+ //# sourceMappingURL=ItemTooltip.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.types.d.ts","sourceRoot":"","sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,eAAO,MAAM,YAAY,8DAA+D,CAAC;AAEzF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -0,0 +1,12 @@
1
+ //#region src/components/inventory/ItemTooltip/ItemTooltip.types.ts
2
+ var itemRarities = [
3
+ "common",
4
+ "uncommon",
5
+ "rare",
6
+ "epic",
7
+ "legendary"
8
+ ];
9
+ //#endregion
10
+ export { itemRarities };
11
+
12
+ //# sourceMappingURL=ItemTooltip.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.types.js","names":[],"sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.types.ts"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport const itemRarities = [\"common\", \"uncommon\", \"rare\", \"epic\", \"legendary\"] as const;\n\nexport type ItemRarity = (typeof itemRarities)[number];\n\nexport interface ItemTooltipStat {\n label: string;\n value: string | number;\n}\n\nexport interface ItemTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, \"title\"> {\n name: string;\n /** Rarity name. Known rarities (common…legendary, any case) color the name. */\n rarity?: ItemRarity | (string & {});\n description?: ReactNode;\n enchantments?: string[];\n stats?: ItemTooltipStat[];\n /** Small icon shown before each stat. */\n statIcon?: ReactNode;\n}\n"],"mappings":";AAEA,IAAa,eAAe;CAAC;CAAU;CAAY;CAAQ;CAAQ;AAAW"}
@@ -0,0 +1,3 @@
1
+ import { type ItemRarity } from "./ItemTooltip.types";
2
+ export declare function normalizeRarity(rarity: string | undefined): ItemRarity | undefined;
3
+ //# sourceMappingURL=ItemTooltip.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAIlF"}
@@ -0,0 +1,11 @@
1
+ import { itemRarities } from "./ItemTooltip.types.js";
2
+ //#region src/components/inventory/ItemTooltip/ItemTooltip.utils.ts
3
+ function normalizeRarity(rarity) {
4
+ if (!rarity) return void 0;
5
+ const lower = rarity.toLowerCase();
6
+ return itemRarities.includes(lower) ? lower : void 0;
7
+ }
8
+ //#endregion
9
+ export { normalizeRarity };
10
+
11
+ //# sourceMappingURL=ItemTooltip.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemTooltip.utils.js","names":[],"sources":["../../../../src/components/inventory/ItemTooltip/ItemTooltip.utils.ts"],"sourcesContent":["import { itemRarities, type ItemRarity } from \"./ItemTooltip.types\";\n\nexport function normalizeRarity(rarity: string | undefined): ItemRarity | undefined {\n if (!rarity) return undefined;\n const lower = rarity.toLowerCase();\n return (itemRarities as readonly string[]).includes(lower) ? (lower as ItemRarity) : undefined;\n}\n"],"mappings":";;AAEA,SAAgB,gBAAgB,QAAoD;CAClF,IAAI,CAAC,QAAQ,OAAO,KAAA;CACpB,MAAM,QAAQ,OAAO,YAAY;CACjC,OAAQ,aAAmC,SAAS,KAAK,IAAK,QAAuB,KAAA;AACvF"}
@@ -0,0 +1,5 @@
1
+ export { ItemTooltip } from "./ItemTooltip";
2
+ export { normalizeRarity } from "./ItemTooltip.utils";
3
+ export { itemRarities } from "./ItemTooltip.types";
4
+ export type { ItemRarity, ItemTooltipProps, ItemTooltipStat } from "./ItemTooltip.types";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inventory/ItemTooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./DurabilityBar";
2
+ export * from "./ItemStack";
3
+ export * from "./ItemTooltip";
4
+ export * from "./InventorySlot";
5
+ export * from "./InventoryGrid";
6
+ export * from "./Hotbar";
7
+ export * from "./Inventory";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/inventory/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { BlockPanelProps } from "./BlockPanel.types";
2
+ /**
3
+ * The basic block container: a textured stone surface with a pixel border,
4
+ * bevel and an optional title strip. Titled panels are labelled regions.
5
+ */
6
+ export declare const BlockPanel: import("react").ForwardRefExoticComponent<BlockPanelProps & import("react").RefAttributes<HTMLElement>>;
7
+ //# sourceMappingURL=BlockPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/BlockPanel/BlockPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,yGA2CrB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { cx } from "../../../utils/cx.js";
2
+ import BlockPanel_module_default from "./BlockPanel.module.js";
3
+ import { createElement, forwardRef, useId } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/layout/BlockPanel/BlockPanel.tsx
6
+ /**
7
+ * The basic block container: a textured stone surface with a pixel border,
8
+ * bevel and an optional title strip. Titled panels are labelled regions.
9
+ */
10
+ var BlockPanel = forwardRef(function BlockPanel({ title, headingLevel = 2, actions, icon, variant = "stone", flush = false, as = "section", className, children, "aria-labelledby": ariaLabelledBy, ...rest }, ref) {
11
+ const titleId = useId();
12
+ const heading = title ? createElement(`h${headingLevel}`, {
13
+ id: titleId,
14
+ className: BlockPanel_module_default.title
15
+ }, title) : null;
16
+ return createElement(as, {
17
+ ref,
18
+ "aria-labelledby": ariaLabelledBy ?? (title ? titleId : void 0),
19
+ "data-variant": variant,
20
+ className: cx(BlockPanel_module_default.panel, BlockPanel_module_default[variant], className),
21
+ ...rest
22
+ }, title || actions ? /* @__PURE__ */ jsxs("div", {
23
+ className: BlockPanel_module_default.header,
24
+ children: [
25
+ icon ? /* @__PURE__ */ jsx("span", {
26
+ className: BlockPanel_module_default.icon,
27
+ "aria-hidden": "true",
28
+ children: icon
29
+ }) : null,
30
+ heading,
31
+ actions ? /* @__PURE__ */ jsx("div", {
32
+ className: BlockPanel_module_default.actions,
33
+ children: actions
34
+ }) : null
35
+ ]
36
+ }) : null, /* @__PURE__ */ jsx("div", {
37
+ className: cx(BlockPanel_module_default.body, flush && BlockPanel_module_default.flush),
38
+ children
39
+ }));
40
+ });
41
+ //#endregion
42
+ export { BlockPanel };
43
+
44
+ //# sourceMappingURL=BlockPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPanel.js","names":["styles"],"sources":["../../../../src/components/layout/BlockPanel/BlockPanel.tsx"],"sourcesContent":["import { createElement, forwardRef, useId } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport styles from \"./BlockPanel.module.css\";\nimport type { BlockPanelProps } from \"./BlockPanel.types\";\n\n/**\n * The basic block container: a textured stone surface with a pixel border,\n * bevel and an optional title strip. Titled panels are labelled regions.\n */\nexport const BlockPanel = forwardRef<HTMLElement, BlockPanelProps>(function BlockPanel(\n {\n title,\n headingLevel = 2,\n actions,\n icon,\n variant = \"stone\",\n flush = false,\n as = \"section\",\n className,\n children,\n \"aria-labelledby\": ariaLabelledBy,\n ...rest\n },\n ref,\n) {\n const titleId = useId();\n const heading = title\n ? createElement(`h${headingLevel}`, { id: titleId, className: styles.title }, title)\n : null;\n\n return createElement(\n as,\n {\n ref,\n \"aria-labelledby\": ariaLabelledBy ?? (title ? titleId : undefined),\n \"data-variant\": variant,\n className: cx(styles.panel, styles[variant], className),\n ...rest,\n },\n title || actions ? (\n <div className={styles.header}>\n {icon ? (\n <span className={styles.icon} aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n {heading}\n {actions ? <div className={styles.actions}>{actions}</div> : null}\n </div>\n ) : null,\n <div className={cx(styles.body, flush && styles.flush)}>{children}</div>,\n );\n});\n"],"mappings":";;;;;;;;;AASA,IAAa,aAAa,WAAyC,SAAS,WAC1E,EACE,OACA,eAAe,GACf,SACA,MACA,UAAU,SACV,QAAQ,OACR,KAAK,WACL,WACA,UACA,mBAAmB,gBACnB,GAAG,QAEL,KACA;CACA,MAAM,UAAU,MAAM;CACtB,MAAM,UAAU,QACZ,cAAc,IAAI,gBAAgB;EAAE,IAAI;EAAS,WAAWA,0BAAO;CAAM,GAAG,KAAK,IACjF;CAEJ,OAAO,cACL,IACA;EACE;EACA,mBAAmB,mBAAmB,QAAQ,UAAU,KAAA;EACxD,gBAAgB;EAChB,WAAW,GAAGA,0BAAO,OAAOA,0BAAO,UAAU,SAAS;EACtD,GAAG;CACL,GACA,SAAS,UACP,qBAAC,OAAD;EAAK,WAAWA,0BAAO;EAAvB,UAAA;GACG,OACC,oBAAC,QAAD;IAAM,WAAWA,0BAAO;IAAM,eAAY;IACvC,UAAA;GACG,CAAA,IACJ;GACH;GACA,UAAU,oBAAC,OAAD;IAAK,WAAWA,0BAAO;IAAU,UAAA;GAAa,CAAA,IAAI;EAC1D;CACH,CAAA,IAAA,MACJ,oBAAC,OAAD;EAAK,WAAW,GAAGA,0BAAO,MAAM,SAASA,0BAAO,KAAK;EAAI;CAAc,CAAA,CACzE;AACF,CAAC"}
@@ -0,0 +1,27 @@
1
+ //#region src/components/layout/BlockPanel/BlockPanel.module.css
2
+ var panel = "block-panel-rPtFI";
3
+ var stone = "block-stone-RjpzB";
4
+ var inset = "block-inset-5Bybc";
5
+ var plain = "block-plain-30L3n";
6
+ var header = "block-header-Pe5lL";
7
+ var icon = "block-icon-XaYPp";
8
+ var title = "block-title-GTIZb";
9
+ var actions = "block-actions-fTWO5";
10
+ var body = "block-body-Rb-bX";
11
+ var flush = "block-flush-u0xcc";
12
+ var BlockPanel_module_default = {
13
+ panel,
14
+ stone,
15
+ inset,
16
+ plain,
17
+ header,
18
+ icon,
19
+ title,
20
+ actions,
21
+ body,
22
+ flush
23
+ };
24
+ //#endregion
25
+ export { actions, body, BlockPanel_module_default as default, flush, header, icon, inset, panel, plain, stone, title };
26
+
27
+ //# sourceMappingURL=BlockPanel.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPanel.module.js","names":[],"sources":["../../../../src/components/layout/BlockPanel/BlockPanel.module.css"],"sourcesContent":[".panel {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n color: var(--block-text);\n border: var(--block-border-width) solid var(--block-border);\n}\n\n.stone {\n background-color: var(--block-surface);\n background-image:\n linear-gradient(\n color-mix(in srgb, var(--block-surface) 86%, transparent),\n color-mix(in srgb, var(--block-surface) 86%, transparent)\n ),\n var(--block-texture);\n background-size:\n auto,\n 64px 64px;\n image-rendering: pixelated;\n box-shadow: var(--block-shadow-bevel), var(--block-shadow-drop);\n}\n\n.inset {\n background-color: var(--block-surface-alt);\n box-shadow: var(--block-shadow-inset);\n}\n\n.plain {\n background-color: var(--block-surface-alt);\n box-shadow: var(--block-shadow-bevel);\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--block-space-2);\n min-height: 40px;\n margin: 3px 3px 0;\n padding: var(--block-space-2) var(--block-space-3);\n background-color: var(--block-surface-header);\n border-bottom: var(--block-border-width-thin) solid var(--block-border);\n box-shadow: inset 0 -2px 0 var(--block-shadow-bevel-light);\n}\n\n.icon {\n display: inline-flex;\n}\n\n.title {\n flex: 1;\n min-width: 0;\n margin: 0;\n font-family: var(--block-font-display);\n font-size: var(--block-font-size-lg);\n font-weight: var(--block-font-weight-bold);\n line-height: 1.2;\n letter-spacing: var(--block-letter-spacing-wide);\n text-transform: uppercase;\n text-shadow: var(--block-shadow-text);\n overflow-wrap: anywhere;\n}\n\n.actions {\n display: flex;\n align-items: center;\n gap: var(--block-space-2);\n margin-left: auto;\n}\n\n.body {\n flex: 1;\n min-width: 0;\n padding: var(--block-space-4);\n}\n\n.flush {\n padding: 0;\n}\n"],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ export type BlockPanelVariant = "stone" | "inset" | "plain";
3
+ export interface BlockPanelProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
4
+ /** Header title, rendered in the pixel display font. */
5
+ title?: ReactNode;
6
+ /** Heading level for the title. @default 2 */
7
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
8
+ /** Elements on the right side of the header (buttons, badges). */
9
+ actions?: ReactNode;
10
+ /** Icon before the title. */
11
+ icon?: ReactNode;
12
+ /** @default "stone" */
13
+ variant?: BlockPanelVariant;
14
+ /** Remove body padding (e.g. for edge-to-edge media). */
15
+ flush?: boolean;
16
+ /** Render as a different element. @default "section" */
17
+ as?: "section" | "div" | "article" | "aside";
18
+ children?: ReactNode;
19
+ }
20
+ //# sourceMappingURL=BlockPanel.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPanel.types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/BlockPanel/BlockPanel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACjF,wDAAwD;IACxD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,kEAAkE;IAClE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,uBAAuB;IACvB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ export { BlockPanel } from "./BlockPanel";
2
+ export type { BlockPanelProps, BlockPanelVariant } from "./BlockPanel.types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/BlockPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./BlockPanel";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { BlockSidebarProps, SidebarItemProps } from "./BlockSidebar.types";
2
+ /**
3
+ * Main navigation rail. Collapses to icons on tablet and hides on mobile when
4
+ * `responsive` (pair it with `HotbarNavigation`).
5
+ */
6
+ export declare const BlockSidebar: import("react").ForwardRefExoticComponent<BlockSidebarProps & import("react").RefAttributes<HTMLElement>>;
7
+ /** A sidebar entry. Renders `<a>` with `href`, otherwise `<button>`. */
8
+ export declare const SidebarItem: import("react").ForwardRefExoticComponent<SidebarItemProps & import("react").RefAttributes<HTMLElement>>;
9
+ //# sourceMappingURL=BlockSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockSidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/BlockSidebar/BlockSidebar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGhF;;;GAGG;AACH,eAAO,MAAM,YAAY,2GAiCvB,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,WAAW,0GAsEtB,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { cx } from "../../../utils/cx.js";
2
+ import { useMediaQuery } from "../../../hooks/useMediaQuery.js";
3
+ import BlockSidebar_module_default from "./BlockSidebar.module.js";
4
+ import { SidebarContext, useSidebar } from "./context.js";
5
+ import { forwardRef, useMemo } from "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ import { media } from "@malilion/block-ui-tokens";
8
+ //#region src/components/navigation/BlockSidebar/BlockSidebar.tsx
9
+ /**
10
+ * Main navigation rail. Collapses to icons on tablet and hides on mobile when
11
+ * `responsive` (pair it with `HotbarNavigation`).
12
+ */
13
+ var BlockSidebar = forwardRef(function BlockSidebar({ header, footer, collapsed = false, responsive = true, label = "Main", className, children, ...rest }, ref) {
14
+ const tablet = useMediaQuery(media.tablet);
15
+ const isCollapsed = collapsed || responsive && tablet;
16
+ const context = useMemo(() => ({ collapsed: isCollapsed }), [isCollapsed]);
17
+ return /* @__PURE__ */ jsxs("nav", {
18
+ ref,
19
+ "aria-label": label,
20
+ "data-collapsed": isCollapsed || void 0,
21
+ "data-responsive": responsive || void 0,
22
+ className: cx(BlockSidebar_module_default.sidebar, className),
23
+ ...rest,
24
+ children: [
25
+ header ? /* @__PURE__ */ jsx("div", {
26
+ className: BlockSidebar_module_default.header,
27
+ children: header
28
+ }) : null,
29
+ /* @__PURE__ */ jsx(SidebarContext.Provider, {
30
+ value: context,
31
+ children: /* @__PURE__ */ jsx("ul", {
32
+ className: BlockSidebar_module_default.list,
33
+ children
34
+ })
35
+ }),
36
+ footer ? /* @__PURE__ */ jsx("div", {
37
+ className: BlockSidebar_module_default.footer,
38
+ children: footer
39
+ }) : null
40
+ ]
41
+ });
42
+ });
43
+ /** A sidebar entry. Renders `<a>` with `href`, otherwise `<button>`. */
44
+ var SidebarItem = forwardRef(function SidebarItem({ icon, active = false, href, onClick, badge, disabled = false, className, children, title, ...rest }, ref) {
45
+ const { collapsed } = useSidebar();
46
+ const tooltip = title ?? (collapsed && typeof children === "string" ? children : void 0);
47
+ const handleClick = (event) => {
48
+ if (disabled) {
49
+ event.preventDefault();
50
+ return;
51
+ }
52
+ onClick?.(event);
53
+ };
54
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
55
+ icon ? /* @__PURE__ */ jsx("span", {
56
+ className: BlockSidebar_module_default.icon,
57
+ "aria-hidden": "true",
58
+ children: icon
59
+ }) : null,
60
+ /* @__PURE__ */ jsx("span", {
61
+ className: BlockSidebar_module_default.label,
62
+ children
63
+ }),
64
+ badge !== void 0 && badge !== null ? /* @__PURE__ */ jsxs(Fragment, { children: [" ", /* @__PURE__ */ jsx("span", {
65
+ className: BlockSidebar_module_default.badge,
66
+ children: badge
67
+ })] }) : null
68
+ ] });
69
+ const shared = {
70
+ className: cx(BlockSidebar_module_default.item, className),
71
+ "aria-current": active ? "page" : void 0,
72
+ "aria-disabled": disabled || void 0,
73
+ "data-active": active || void 0,
74
+ title: tooltip,
75
+ onClick: handleClick
76
+ };
77
+ return /* @__PURE__ */ jsx("li", {
78
+ className: BlockSidebar_module_default.listItem,
79
+ children: href !== void 0 ? /* @__PURE__ */ jsx("a", {
80
+ ref,
81
+ href: disabled ? void 0 : href,
82
+ ...shared,
83
+ ...rest,
84
+ children: content
85
+ }) : /* @__PURE__ */ jsx("button", {
86
+ ref,
87
+ type: "button",
88
+ ...shared,
89
+ children: content
90
+ })
91
+ });
92
+ });
93
+ //#endregion
94
+ export { BlockSidebar, SidebarItem };
95
+
96
+ //# sourceMappingURL=BlockSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockSidebar.js","names":["styles","_Fragment"],"sources":["../../../../src/components/navigation/BlockSidebar/BlockSidebar.tsx"],"sourcesContent":["import { media } from \"@malilion/block-ui-tokens\";\nimport { forwardRef, useMemo, type MouseEvent, type Ref } from \"react\";\nimport { useMediaQuery } from \"../../../hooks/useMediaQuery\";\nimport { cx } from \"../../../utils/cx\";\nimport styles from \"./BlockSidebar.module.css\";\nimport type { BlockSidebarProps, SidebarItemProps } from \"./BlockSidebar.types\";\nimport { SidebarContext, useSidebar } from \"./context\";\n\n/**\n * Main navigation rail. Collapses to icons on tablet and hides on mobile when\n * `responsive` (pair it with `HotbarNavigation`).\n */\nexport const BlockSidebar = forwardRef<HTMLElement, BlockSidebarProps>(function BlockSidebar(\n {\n header,\n footer,\n collapsed = false,\n responsive = true,\n label = \"Main\",\n className,\n children,\n ...rest\n },\n ref,\n) {\n const tablet = useMediaQuery(media.tablet);\n const isCollapsed = collapsed || (responsive && tablet);\n const context = useMemo(() => ({ collapsed: isCollapsed }), [isCollapsed]);\n\n return (\n <nav\n ref={ref}\n aria-label={label}\n data-collapsed={isCollapsed || undefined}\n data-responsive={responsive || undefined}\n className={cx(styles.sidebar, className)}\n {...rest}\n >\n {header ? <div className={styles.header}>{header}</div> : null}\n <SidebarContext.Provider value={context}>\n <ul className={styles.list}>{children}</ul>\n </SidebarContext.Provider>\n {footer ? <div className={styles.footer}>{footer}</div> : null}\n </nav>\n );\n});\n\n/** A sidebar entry. Renders `<a>` with `href`, otherwise `<button>`. */\nexport const SidebarItem = forwardRef<HTMLElement, SidebarItemProps>(function SidebarItem(\n {\n icon,\n active = false,\n href,\n onClick,\n badge,\n disabled = false,\n className,\n children,\n title,\n ...rest\n },\n ref,\n) {\n const { collapsed } = useSidebar();\n const tooltip = title ?? (collapsed && typeof children === \"string\" ? children : undefined);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n };\n\n const content = (\n <>\n {icon ? (\n <span className={styles.icon} aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n <span className={styles.label}>{children}</span>\n {badge !== undefined && badge !== null ? (\n <>\n {\" \"}\n <span className={styles.badge}>{badge}</span>\n </>\n ) : null}\n </>\n );\n\n const shared = {\n className: cx(styles.item, className),\n \"aria-current\": active ? (\"page\" as const) : undefined,\n \"aria-disabled\": disabled || undefined,\n \"data-active\": active || undefined,\n title: tooltip,\n onClick: handleClick,\n };\n\n return (\n <li className={styles.listItem}>\n {href !== undefined ? (\n <a\n ref={ref as Ref<HTMLAnchorElement>}\n href={disabled ? undefined : href}\n {...shared}\n {...rest}\n >\n {content}\n </a>\n ) : (\n <button ref={ref as Ref<HTMLButtonElement>} type=\"button\" {...shared}>\n {content}\n </button>\n )}\n </li>\n );\n});\n"],"mappings":";;;;;;;;;;;;AAYA,IAAa,eAAe,WAA2C,SAAS,aAC9E,EACE,QACA,QACA,YAAY,OACZ,aAAa,MACb,QAAQ,QACR,WACA,UACA,GAAG,QAEL,KACA;CACA,MAAM,SAAS,cAAc,MAAM,MAAM;CACzC,MAAM,cAAc,aAAc,cAAc;CAChD,MAAM,UAAU,eAAe,EAAE,WAAW,YAAY,IAAI,CAAC,WAAW,CAAC;CAEzE,OACE,qBAAC,OAAD;EACO;EACL,cAAY;EACZ,kBAAgB,eAAe,KAAA;EAC/B,mBAAiB,cAAc,KAAA;EAC/B,WAAW,GAAGA,4BAAO,SAAS,SAAS;EACvC,GAAI;EANN,UAAA;GAQG,SAAS,oBAAC,OAAD;IAAK,WAAWA,4BAAO;IAAS,UAAA;GAAY,CAAA,IAAI;GAC1D,oBAAC,eAAe,UAAhB;IAAyB,OAAO;IAC9B,UAAA,oBAAC,MAAD;KAAI,WAAWA,4BAAO;KAAO;IAAa,CAAA;GACnB,CAAA;GACxB,SAAS,oBAAC,OAAD;IAAK,WAAWA,4BAAO;IAAS,UAAA;GAAY,CAAA,IAAI;EACvD;;AAET,CAAC;;AAGD,IAAa,cAAc,WAA0C,SAAS,YAC5E,EACE,MACA,SAAS,OACT,MACA,SACA,OACA,WAAW,OACX,WACA,UACA,OACA,GAAG,QAEL,KACA;CACA,MAAM,EAAE,cAAc,WAAW;CACjC,MAAM,UAAU,UAAU,aAAa,OAAO,aAAa,WAAW,WAAW,KAAA;CAEjF,MAAM,eAAe,UAAmC;EACtD,IAAI,UAAU;GACZ,MAAM,eAAe;GACrB;EACF;EACA,UAAU,KAAK;CACjB;CAEA,MAAM,UACJ,qBAAAC,UAAA,EAAA,UAAA;EACG,OACC,oBAAC,QAAD;GAAM,WAAWD,4BAAO;GAAM,eAAY;GACvC,UAAA;EACG,CAAA,IACJ;EACJ,oBAAC,QAAD;GAAM,WAAWA,4BAAO;GAAQ;EAAe,CAAA;EAC9C,UAAU,KAAA,KAAa,UAAU,OAChC,qBAAAC,UAAA,EAAA,UAAA,CACG,KACD,oBAAC,QAAD;GAAM,WAAWD,4BAAO;GAAQ,UAAA;EAAY,CAAA,CAC5C,EAAA,CAAA,IACA;CACJ,EAAA,CAAA;CAGJ,MAAM,SAAS;EACb,WAAW,GAAGA,4BAAO,MAAM,SAAS;EACpC,gBAAgB,SAAU,SAAmB,KAAA;EAC7C,iBAAiB,YAAY,KAAA;EAC7B,eAAe,UAAU,KAAA;EACzB,OAAO;EACP,SAAS;CACX;CAEA,OACE,oBAAC,MAAD;EAAI,WAAWA,4BAAO;EACnB,UAAA,SAAS,KAAA,IACR,oBAAC,KAAD;GACO;GACL,MAAM,WAAW,KAAA,IAAY;GAC7B,GAAI;GACJ,GAAI;GAEH,UAAA;EACA,CAAA,IAEH,oBAAC,UAAD;GAAa;GAA+B,MAAK;GAAS,GAAI;GAC3D,UAAA;EACK,CAAA;CAER,CAAA;AAER,CAAC"}
@@ -0,0 +1,25 @@
1
+ //#region src/components/navigation/BlockSidebar/BlockSidebar.module.css
2
+ var sidebar = "block-sidebar-h3ahB";
3
+ var header = "block-header-NX0dw";
4
+ var list = "block-list-YWcM0";
5
+ var listItem = "block-listItem-SWSlH";
6
+ var item = "block-item-uFbXw";
7
+ var icon = "block-icon-gZaaA";
8
+ var label = "block-label--tdpQ";
9
+ var badge = "block-badge-vocdh";
10
+ var footer = "block-footer-zacyK";
11
+ var BlockSidebar_module_default = {
12
+ sidebar,
13
+ header,
14
+ list,
15
+ listItem,
16
+ item,
17
+ icon,
18
+ label,
19
+ badge,
20
+ footer
21
+ };
22
+ //#endregion
23
+ export { badge, BlockSidebar_module_default as default, footer, header, icon, item, label, list, listItem, sidebar };
24
+
25
+ //# sourceMappingURL=BlockSidebar.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockSidebar.module.js","names":[],"sources":["../../../../src/components/navigation/BlockSidebar/BlockSidebar.module.css"],"sourcesContent":[".sidebar {\n display: flex;\n flex-direction: column;\n gap: var(--block-space-3);\n width: var(--block-size-sidebar);\n min-height: 100%;\n padding: var(--block-space-3);\n color: var(--block-text);\n background-color: var(--block-surface-alt);\n background-image:\n linear-gradient(\n color-mix(in srgb, var(--block-surface-alt) 82%, transparent),\n color-mix(in srgb, var(--block-surface-alt) 82%, transparent)\n ),\n var(--block-texture);\n background-size:\n auto,\n 64px 64px;\n border: var(--block-border-width) solid var(--block-border);\n box-shadow: var(--block-shadow-bevel);\n}\n\n.sidebar[data-collapsed] {\n width: var(--block-size-sidebar-collapsed);\n padding-inline: var(--block-space-2);\n}\n\n.header {\n padding-bottom: var(--block-space-3);\n border-bottom: var(--block-border-width-thin) solid var(--block-border);\n}\n\n.list {\n display: flex;\n flex-direction: column;\n gap: var(--block-space-1);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.listItem {\n display: flex;\n}\n\n.item {\n display: flex;\n align-items: center;\n gap: var(--block-space-3);\n width: 100%;\n min-height: 40px;\n padding: var(--block-space-1) var(--block-space-3);\n font: inherit;\n font-size: var(--block-font-size-md);\n font-weight: var(--block-font-weight-medium);\n color: var(--block-text);\n text-align: left;\n text-decoration: none;\n background: transparent;\n border: var(--block-border-width-thin) solid transparent;\n cursor: pointer;\n transition:\n background-color var(--block-duration-instant) var(--block-ease-step),\n transform var(--block-duration-instant) var(--block-ease-step);\n}\n\n.item:hover:not([aria-disabled=\"true\"]):not([data-active]) {\n background-color: var(--block-slot-hover);\n border-color: var(--block-border);\n}\n\n.item:active:not([aria-disabled=\"true\"]) {\n transform: translateY(1px);\n}\n\n.item:focus-visible {\n outline: 3px solid var(--block-focus);\n outline-offset: 1px;\n}\n\n.item[data-active] {\n color: var(--block-on-primary);\n /* Stays readable on hover: the hover rule above skips the active item. */\n background-color: var(--block-primary);\n border-color: var(--block-border);\n box-shadow:\n inset 2px 2px 0 var(--block-primary-light),\n inset -2px -3px 0 var(--block-primary-dark);\n}\n\n.item[aria-disabled=\"true\"] {\n color: var(--block-text-muted);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.icon {\n display: inline-flex;\n flex-shrink: 0;\n filter: drop-shadow(1px 1px 0 var(--block-border));\n}\n\n.label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.badge {\n flex-shrink: 0;\n min-width: 22px;\n padding: 0 var(--block-space-1);\n font-family: var(--block-font-display);\n font-size: var(--block-font-size-xs);\n text-align: center;\n color: var(--block-on-redstone);\n background-color: var(--block-redstone);\n border: 1px solid var(--block-border);\n}\n\n.sidebar[data-collapsed] .item {\n justify-content: center;\n padding-inline: 0;\n}\n\n.sidebar[data-collapsed] .label,\n.sidebar[data-collapsed] .badge {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n.footer {\n margin-top: auto;\n padding-top: var(--block-space-3);\n border-top: var(--block-border-width-thin) solid var(--block-border);\n}\n\n@media (max-width: 767.98px) {\n .sidebar[data-responsive] {\n display: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { AnchorHTMLAttributes, HTMLAttributes, MouseEvent, ReactNode } from "react";
2
+ export interface BlockSidebarProps extends HTMLAttributes<HTMLElement> {
3
+ /** Brand / logo area at the top. */
4
+ header?: ReactNode;
5
+ /** Content pinned to the bottom. */
6
+ footer?: ReactNode;
7
+ /** Force the icon-only rail. */
8
+ collapsed?: boolean;
9
+ /**
10
+ * Follow the PRD breakpoints: collapsed on tablet (768–1023px) and hidden on
11
+ * mobile (< 768px, use `HotbarNavigation` there). @default true
12
+ */
13
+ responsive?: boolean;
14
+ /** Accessible name of the `<nav>`. @default "Main" */
15
+ label?: string;
16
+ children?: ReactNode;
17
+ }
18
+ export interface SidebarItemProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "children"> {
19
+ icon?: ReactNode;
20
+ /** Current page — sets `aria-current="page"`. */
21
+ active?: boolean;
22
+ /** Renders a link when set, otherwise a button. */
23
+ href?: string;
24
+ onClick?: (event: MouseEvent<HTMLElement>) => void;
25
+ /** Small count or label on the right (hidden when collapsed). */
26
+ badge?: ReactNode;
27
+ disabled?: boolean;
28
+ children: ReactNode;
29
+ }
30
+ //# sourceMappingURL=BlockSidebar.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockSidebar.types.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/BlockSidebar/BlockSidebar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACpE,oCAAoC;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,SAAS,GAAG,UAAU,CACvB;IACC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB"}
@@ -0,0 +1,7 @@
1
+ export declare const SidebarContext: import("react").Context<{
2
+ collapsed: boolean;
3
+ }>;
4
+ export declare function useSidebar(): {
5
+ collapsed: boolean;
6
+ };
7
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/BlockSidebar/context.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;eAA8B,OAAO;EAAyB,CAAC;AAE1F,wBAAgB,UAAU;eAF+B,OAAO;EAI/D"}
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from "react";
2
+ //#region src/components/navigation/BlockSidebar/context.ts
3
+ var SidebarContext = createContext({ collapsed: false });
4
+ function useSidebar() {
5
+ return useContext(SidebarContext);
6
+ }
7
+ //#endregion
8
+ export { SidebarContext, useSidebar };
9
+
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/components/navigation/BlockSidebar/context.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport const SidebarContext = createContext<{ collapsed: boolean }>({ collapsed: false });\n\nexport function useSidebar() {\n return useContext(SidebarContext);\n}\n"],"mappings":";;AAEA,IAAa,iBAAiB,cAAsC,EAAE,WAAW,MAAM,CAAC;AAExF,SAAgB,aAAa;CAC3B,OAAO,WAAW,cAAc;AAClC"}
@@ -0,0 +1,3 @@
1
+ export { BlockSidebar, SidebarItem } from "./BlockSidebar";
2
+ export type { BlockSidebarProps, SidebarItemProps } from "./BlockSidebar.types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/BlockSidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}