@gamepark/react-game 6.0.0-alpha.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 (469) hide show
  1. package/dist/components/Avatar/Avatar.d.ts +8 -0
  2. package/dist/components/Avatar/Avatar.js +63 -0
  3. package/dist/components/Avatar/Avatar.js.map +1 -0
  4. package/dist/components/Avatar/ChatSpeechBubble.d.ts +8 -0
  5. package/dist/components/Avatar/ChatSpeechBubble.js +62 -0
  6. package/dist/components/Avatar/ChatSpeechBubble.js.map +1 -0
  7. package/dist/components/Avatar/SpeechBubble.d.ts +15 -0
  8. package/dist/components/Avatar/SpeechBubble.js +73 -0
  9. package/dist/components/Avatar/SpeechBubble.js.map +1 -0
  10. package/dist/components/Avatar/index.d.ts +3 -0
  11. package/dist/components/Avatar/index.js +20 -0
  12. package/dist/components/Avatar/index.js.map +1 -0
  13. package/dist/components/Chat/Chat.d.ts +3 -0
  14. package/dist/components/Chat/Chat.js +81 -0
  15. package/dist/components/Chat/Chat.js.map +1 -0
  16. package/dist/components/Chat/ChatMessage.d.ts +7 -0
  17. package/dist/components/Chat/ChatMessage.js +30 -0
  18. package/dist/components/Chat/ChatMessage.js.map +1 -0
  19. package/dist/components/Chat/ChatMessageAuthor.d.ts +3 -0
  20. package/dist/components/Chat/ChatMessageAuthor.js +35 -0
  21. package/dist/components/Chat/ChatMessageAuthor.js.map +1 -0
  22. package/dist/components/Chat/ChatTextInput.d.ts +7 -0
  23. package/dist/components/Chat/ChatTextInput.js +45 -0
  24. package/dist/components/Chat/ChatTextInput.js.map +1 -0
  25. package/dist/components/Chat/SignInToChat.d.ts +1 -0
  26. package/dist/components/Chat/SignInToChat.js +36 -0
  27. package/dist/components/Chat/SignInToChat.js.map +1 -0
  28. package/dist/components/Chat/index.d.ts +5 -0
  29. package/dist/components/Chat/index.js +22 -0
  30. package/dist/components/Chat/index.js.map +1 -0
  31. package/dist/components/GamePoints/GamePointIcon.d.ts +2 -0
  32. package/dist/components/GamePoints/GamePointIcon.js +26 -0
  33. package/dist/components/GamePoints/GamePointIcon.js.map +1 -0
  34. package/dist/components/GamePoints/GamePoints.d.ts +8 -0
  35. package/dist/components/GamePoints/GamePoints.js +58 -0
  36. package/dist/components/GamePoints/GamePoints.js.map +1 -0
  37. package/dist/components/GamePoints/index.d.ts +2 -0
  38. package/dist/components/GamePoints/index.js +19 -0
  39. package/dist/components/GamePoints/index.js.map +1 -0
  40. package/dist/components/GameProvider/GameContext.d.ts +20 -0
  41. package/dist/components/GameProvider/GameContext.js +20 -0
  42. package/dist/components/GameProvider/GameContext.js.map +1 -0
  43. package/dist/components/GameProvider/GameProvider.d.ts +5 -0
  44. package/dist/components/GameProvider/GameProvider.js +113 -0
  45. package/dist/components/GameProvider/GameProvider.js.map +1 -0
  46. package/dist/components/GameProvider/index.d.ts +2 -0
  47. package/dist/components/GameProvider/index.js +19 -0
  48. package/dist/components/GameProvider/index.js.map +1 -0
  49. package/dist/components/Header/Header.d.ts +7 -0
  50. package/dist/components/Header/Header.js +46 -0
  51. package/dist/components/Header/Header.js.map +1 -0
  52. package/dist/components/Header/MaterialHeader.d.ts +9 -0
  53. package/dist/components/Header/MaterialHeader.js +41 -0
  54. package/dist/components/Header/MaterialHeader.js.map +1 -0
  55. package/dist/components/Header/index.d.ts +2 -0
  56. package/dist/components/Header/index.js +19 -0
  57. package/dist/components/Header/index.js.map +1 -0
  58. package/dist/components/ImagesLoader/ImagesLoader.d.ts +6 -0
  59. package/dist/components/ImagesLoader/ImagesLoader.js +24 -0
  60. package/dist/components/ImagesLoader/ImagesLoader.js.map +1 -0
  61. package/dist/components/ImagesLoader/index.d.ts +1 -0
  62. package/dist/components/ImagesLoader/index.js +18 -0
  63. package/dist/components/ImagesLoader/index.js.map +1 -0
  64. package/dist/components/Letterbox/Letterbox.d.ts +8 -0
  65. package/dist/components/Letterbox/Letterbox.js +43 -0
  66. package/dist/components/Letterbox/Letterbox.js.map +1 -0
  67. package/dist/components/Letterbox/index.d.ts +1 -0
  68. package/dist/components/Letterbox/index.js +18 -0
  69. package/dist/components/Letterbox/index.js.map +1 -0
  70. package/dist/components/LoadingScreen/LoadingScreen.d.ts +10 -0
  71. package/dist/components/LoadingScreen/LoadingScreen.js +76 -0
  72. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -0
  73. package/dist/components/LoadingScreen/index.d.ts +1 -0
  74. package/dist/components/LoadingScreen/index.js +18 -0
  75. package/dist/components/LoadingScreen/index.js.map +1 -0
  76. package/dist/components/Picture/Picture.d.ts +8 -0
  77. package/dist/components/Picture/Picture.js +34 -0
  78. package/dist/components/Picture/Picture.js.map +1 -0
  79. package/dist/components/Picture/index.d.ts +1 -0
  80. package/dist/components/Picture/index.js +18 -0
  81. package/dist/components/Picture/index.js.map +1 -0
  82. package/dist/components/PlayerPanel/PlayerPanel.d.ts +7 -0
  83. package/dist/components/PlayerPanel/PlayerPanel.js +57 -0
  84. package/dist/components/PlayerPanel/PlayerPanel.js.map +1 -0
  85. package/dist/components/PlayerPanel/index.d.ts +1 -0
  86. package/dist/components/PlayerPanel/index.js +18 -0
  87. package/dist/components/PlayerPanel/index.js.map +1 -0
  88. package/dist/components/PlayerTimer/PlayerTimer.d.ts +8 -0
  89. package/dist/components/PlayerTimer/PlayerTimer.js +69 -0
  90. package/dist/components/PlayerTimer/PlayerTimer.js.map +1 -0
  91. package/dist/components/PlayerTimer/index.d.ts +1 -0
  92. package/dist/components/PlayerTimer/index.js +18 -0
  93. package/dist/components/PlayerTimer/index.js.map +1 -0
  94. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.d.ts +13 -0
  95. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +66 -0
  96. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -0
  97. package/dist/components/buttons/PlayMoveButton/index.d.ts +1 -0
  98. package/dist/components/buttons/PlayMoveButton/index.js +18 -0
  99. package/dist/components/buttons/PlayMoveButton/index.js.map +1 -0
  100. package/dist/components/buttons/ThemeButton/ThemeButton.d.ts +3 -0
  101. package/dist/components/buttons/ThemeButton/ThemeButton.js +22 -0
  102. package/dist/components/buttons/ThemeButton/ThemeButton.js.map +1 -0
  103. package/dist/components/buttons/ThemeButton/index.d.ts +1 -0
  104. package/dist/components/buttons/ThemeButton/index.js +18 -0
  105. package/dist/components/buttons/ThemeButton/index.js.map +1 -0
  106. package/dist/components/buttons/index.d.ts +2 -0
  107. package/dist/components/buttons/index.js +19 -0
  108. package/dist/components/buttons/index.js.map +1 -0
  109. package/dist/components/dialogs/Dialog.d.ts +12 -0
  110. package/dist/components/dialogs/Dialog.js +63 -0
  111. package/dist/components/dialogs/Dialog.js.map +1 -0
  112. package/dist/components/dialogs/FailuresDialog.d.ts +2 -0
  113. package/dist/components/dialogs/FailuresDialog.js +69 -0
  114. package/dist/components/dialogs/FailuresDialog.js.map +1 -0
  115. package/dist/components/dialogs/ResultDialog/RematchDisplay.d.ts +6 -0
  116. package/dist/components/dialogs/ResultDialog/RematchDisplay.js +58 -0
  117. package/dist/components/dialogs/ResultDialog/RematchDisplay.js.map +1 -0
  118. package/dist/components/dialogs/ResultDialog/RematchSection.d.ts +5 -0
  119. package/dist/components/dialogs/ResultDialog/RematchSection.js +42 -0
  120. package/dist/components/dialogs/ResultDialog/RematchSection.js.map +1 -0
  121. package/dist/components/dialogs/ResultDialog/ResultDialog.d.ts +7 -0
  122. package/dist/components/dialogs/ResultDialog/ResultDialog.js +107 -0
  123. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -0
  124. package/dist/components/dialogs/ResultDialog/index.d.ts +1 -0
  125. package/dist/components/dialogs/ResultDialog/index.js +18 -0
  126. package/dist/components/dialogs/ResultDialog/index.js.map +1 -0
  127. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.d.ts +11 -0
  128. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +42 -0
  129. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -0
  130. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.d.ts +4 -0
  131. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js +42 -0
  132. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js.map +1 -0
  133. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.d.ts +9 -0
  134. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +49 -0
  135. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -0
  136. package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +7 -0
  137. package/dist/components/dialogs/RulesDialog/RulesDialog.js +44 -0
  138. package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -0
  139. package/dist/components/dialogs/RulesDialog/index.d.ts +2 -0
  140. package/dist/components/dialogs/RulesDialog/index.js +19 -0
  141. package/dist/components/dialogs/RulesDialog/index.js.map +1 -0
  142. package/dist/components/dialogs/index.d.ts +4 -0
  143. package/dist/components/dialogs/index.js +21 -0
  144. package/dist/components/dialogs/index.js.map +1 -0
  145. package/dist/components/index.d.ts +12 -0
  146. package/dist/components/index.js +29 -0
  147. package/dist/components/index.js.map +1 -0
  148. package/dist/components/material/Board/Board.d.ts +17 -0
  149. package/dist/components/material/Board/Board.js +34 -0
  150. package/dist/components/material/Board/Board.js.map +1 -0
  151. package/dist/components/material/Board/index.d.ts +1 -0
  152. package/dist/components/material/Board/index.js +18 -0
  153. package/dist/components/material/Board/index.js.map +1 -0
  154. package/dist/components/material/Card/Card.d.ts +23 -0
  155. package/dist/components/material/Card/Card.js +49 -0
  156. package/dist/components/material/Card/Card.js.map +1 -0
  157. package/dist/components/material/Card/index.d.ts +1 -0
  158. package/dist/components/material/Card/index.js +18 -0
  159. package/dist/components/material/Card/index.js.map +1 -0
  160. package/dist/components/material/DraggableMaterial.d.ts +14 -0
  161. package/dist/components/material/DraggableMaterial.js +112 -0
  162. package/dist/components/material/DraggableMaterial.js.map +1 -0
  163. package/dist/components/material/DropAreas/SimpleDropArea.d.ts +12 -0
  164. package/dist/components/material/DropAreas/SimpleDropArea.js +121 -0
  165. package/dist/components/material/DropAreas/SimpleDropArea.js.map +1 -0
  166. package/dist/components/material/DropAreas/index.d.ts +1 -0
  167. package/dist/components/material/DropAreas/index.js +18 -0
  168. package/dist/components/material/DropAreas/index.js.map +1 -0
  169. package/dist/components/material/GameTable/GameMaterialDisplay.d.ts +1 -0
  170. package/dist/components/material/GameTable/GameMaterialDisplay.js +107 -0
  171. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -0
  172. package/dist/components/material/GameTable/GameTable.d.ts +18 -0
  173. package/dist/components/material/GameTable/GameTable.js +53 -0
  174. package/dist/components/material/GameTable/GameTable.js.map +1 -0
  175. package/dist/components/material/GameTable/GameTableContent.d.ts +18 -0
  176. package/dist/components/material/GameTable/GameTableContent.js +48 -0
  177. package/dist/components/material/GameTable/GameTableContent.js.map +1 -0
  178. package/dist/components/material/GameTable/index.d.ts +1 -0
  179. package/dist/components/material/GameTable/index.js +18 -0
  180. package/dist/components/material/GameTable/index.js.map +1 -0
  181. package/dist/components/material/Items.d.ts +4 -0
  182. package/dist/components/material/Items.js +3 -0
  183. package/dist/components/material/Items.js.map +1 -0
  184. package/dist/components/material/MaterialAnimations.d.ts +28 -0
  185. package/dist/components/material/MaterialAnimations.js +172 -0
  186. package/dist/components/material/MaterialAnimations.js.map +1 -0
  187. package/dist/components/material/MaterialComponent.d.ts +20 -0
  188. package/dist/components/material/MaterialComponent.js +101 -0
  189. package/dist/components/material/MaterialComponent.js.map +1 -0
  190. package/dist/components/material/MaterialComponentType.d.ts +7 -0
  191. package/dist/components/material/MaterialComponentType.js +12 -0
  192. package/dist/components/material/MaterialComponentType.js.map +1 -0
  193. package/dist/components/material/MaterialDescription.d.ts +20 -0
  194. package/dist/components/material/MaterialDescription.js +3 -0
  195. package/dist/components/material/MaterialDescription.js.map +1 -0
  196. package/dist/components/material/MaterialGameAnimations.d.ts +10 -0
  197. package/dist/components/material/MaterialGameAnimations.js +47 -0
  198. package/dist/components/material/MaterialGameAnimations.js.map +1 -0
  199. package/dist/components/material/Token/Token.d.ts +18 -0
  200. package/dist/components/material/Token/Token.js +34 -0
  201. package/dist/components/material/Token/Token.js.map +1 -0
  202. package/dist/components/material/Token/index.d.ts +1 -0
  203. package/dist/components/material/Token/index.js +18 -0
  204. package/dist/components/material/Token/index.js.map +1 -0
  205. package/dist/components/material/index.d.ts +11 -0
  206. package/dist/components/material/index.js +28 -0
  207. package/dist/components/material/index.js.map +1 -0
  208. package/dist/components/material/utils/IsLocationSubset.d.ts +2 -0
  209. package/dist/components/material/utils/IsLocationSubset.js +12 -0
  210. package/dist/components/material/utils/IsLocationSubset.js.map +1 -0
  211. package/dist/components/material/utils/IsMoveOnItem.d.ts +2 -0
  212. package/dist/components/material/utils/IsMoveOnItem.js +13 -0
  213. package/dist/components/material/utils/IsMoveOnItem.js.map +1 -0
  214. package/dist/components/material/utils/IsMoveThisItem.d.ts +2 -0
  215. package/dist/components/material/utils/IsMoveThisItem.js +12 -0
  216. package/dist/components/material/utils/IsMoveThisItem.js.map +1 -0
  217. package/dist/components/material/utils/IsMoveThisItemToLocation.d.ts +3 -0
  218. package/dist/components/material/utils/IsMoveThisItemToLocation.js +11 -0
  219. package/dist/components/material/utils/IsMoveThisItemToLocation.js.map +1 -0
  220. package/dist/components/material/utils/IsMoveToLocation.d.ts +2 -0
  221. package/dist/components/material/utils/IsMoveToLocation.js +13 -0
  222. package/dist/components/material/utils/IsMoveToLocation.js.map +1 -0
  223. package/dist/components/material/utils/IsMoveToStock.d.ts +4 -0
  224. package/dist/components/material/utils/IsMoveToStock.js +18 -0
  225. package/dist/components/material/utils/IsMoveToStock.js.map +1 -0
  226. package/dist/components/material/utils/index.d.ts +5 -0
  227. package/dist/components/material/utils/index.js +22 -0
  228. package/dist/components/material/utils/index.js.map +1 -0
  229. package/dist/components/menus/ContrastThemeButton/ContrastThemeButton.d.ts +4 -0
  230. package/dist/components/menus/ContrastThemeButton/ContrastThemeButton.js +27 -0
  231. package/dist/components/menus/ContrastThemeButton/ContrastThemeButton.js.map +1 -0
  232. package/dist/components/menus/ContrastThemeButton/index.d.ts +1 -0
  233. package/dist/components/menus/ContrastThemeButton/index.js +18 -0
  234. package/dist/components/menus/ContrastThemeButton/index.js.map +1 -0
  235. package/dist/components/menus/EjectPlayer/EjectPlayerButton.d.ts +2 -0
  236. package/dist/components/menus/EjectPlayer/EjectPlayerButton.js +35 -0
  237. package/dist/components/menus/EjectPlayer/EjectPlayerButton.js.map +1 -0
  238. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.d.ts +10 -0
  239. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js +79 -0
  240. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js.map +1 -0
  241. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.d.ts +2 -0
  242. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js +37 -0
  243. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js.map +1 -0
  244. package/dist/components/menus/EjectPlayer/index.d.ts +3 -0
  245. package/dist/components/menus/EjectPlayer/index.js +20 -0
  246. package/dist/components/menus/EjectPlayer/index.js.map +1 -0
  247. package/dist/components/menus/Fullscreen/FullscreenButton.d.ts +1 -0
  248. package/dist/components/menus/Fullscreen/FullscreenButton.js +28 -0
  249. package/dist/components/menus/Fullscreen/FullscreenButton.js.map +1 -0
  250. package/dist/components/menus/Fullscreen/FullscreenDialog.d.ts +2 -0
  251. package/dist/components/menus/Fullscreen/FullscreenDialog.js +47 -0
  252. package/dist/components/menus/Fullscreen/FullscreenDialog.js.map +1 -0
  253. package/dist/components/menus/Fullscreen/FullscreenPopButton.d.ts +1 -0
  254. package/dist/components/menus/Fullscreen/FullscreenPopButton.js +40 -0
  255. package/dist/components/menus/Fullscreen/FullscreenPopButton.js.map +1 -0
  256. package/dist/components/menus/Fullscreen/index.d.ts +3 -0
  257. package/dist/components/menus/Fullscreen/index.js +20 -0
  258. package/dist/components/menus/Fullscreen/index.js.map +1 -0
  259. package/dist/components/menus/GiveUpButton/GiveUpButton.d.ts +1 -0
  260. package/dist/components/menus/GiveUpButton/GiveUpButton.js +47 -0
  261. package/dist/components/menus/GiveUpButton/GiveUpButton.js.map +1 -0
  262. package/dist/components/menus/GiveUpButton/index.d.ts +1 -0
  263. package/dist/components/menus/GiveUpButton/index.js +18 -0
  264. package/dist/components/menus/GiveUpButton/index.js.map +1 -0
  265. package/dist/components/menus/Menu/LogoIcon.d.ts +2 -0
  266. package/dist/components/menus/Menu/LogoIcon.js +18 -0
  267. package/dist/components/menus/Menu/LogoIcon.js.map +1 -0
  268. package/dist/components/menus/Menu/Menu.d.ts +3 -0
  269. package/dist/components/menus/Menu/Menu.js +103 -0
  270. package/dist/components/menus/Menu/Menu.js.map +1 -0
  271. package/dist/components/menus/Menu/MenuPopButton.d.ts +7 -0
  272. package/dist/components/menus/Menu/MenuPopButton.js +52 -0
  273. package/dist/components/menus/Menu/MenuPopButton.js.map +1 -0
  274. package/dist/components/menus/Menu/NavButton.d.ts +7 -0
  275. package/dist/components/menus/Menu/NavButton.js +33 -0
  276. package/dist/components/menus/Menu/NavButton.js.map +1 -0
  277. package/dist/components/menus/Menu/index.d.ts +1 -0
  278. package/dist/components/menus/Menu/index.js +18 -0
  279. package/dist/components/menus/Menu/index.js.map +1 -0
  280. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.d.ts +1 -0
  281. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js +36 -0
  282. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js.map +1 -0
  283. package/dist/components/menus/RestartTutorialButton/index.d.ts +1 -0
  284. package/dist/components/menus/RestartTutorialButton/index.js +18 -0
  285. package/dist/components/menus/RestartTutorialButton/index.js.map +1 -0
  286. package/dist/components/menus/Result/Medal.d.ts +4 -0
  287. package/dist/components/menus/Result/Medal.js +42 -0
  288. package/dist/components/menus/Result/Medal.js.map +1 -0
  289. package/dist/components/menus/Result/MedalBronze.d.ts +2 -0
  290. package/dist/components/menus/Result/MedalBronze.js +18 -0
  291. package/dist/components/menus/Result/MedalBronze.js.map +1 -0
  292. package/dist/components/menus/Result/MedalGold.d.ts +2 -0
  293. package/dist/components/menus/Result/MedalGold.js +18 -0
  294. package/dist/components/menus/Result/MedalGold.js.map +1 -0
  295. package/dist/components/menus/Result/MedalSilver.d.ts +2 -0
  296. package/dist/components/menus/Result/MedalSilver.js +18 -0
  297. package/dist/components/menus/Result/MedalSilver.js.map +1 -0
  298. package/dist/components/menus/Result/ResultButton.d.ts +2 -0
  299. package/dist/components/menus/Result/ResultButton.js +26 -0
  300. package/dist/components/menus/Result/ResultButton.js.map +1 -0
  301. package/dist/components/menus/Result/ResultPopButton.d.ts +2 -0
  302. package/dist/components/menus/Result/ResultPopButton.js +37 -0
  303. package/dist/components/menus/Result/ResultPopButton.js.map +1 -0
  304. package/dist/components/menus/Result/index.d.ts +3 -0
  305. package/dist/components/menus/Result/index.js +20 -0
  306. package/dist/components/menus/Result/index.js.map +1 -0
  307. package/dist/components/menus/SoundButton/SoundButton.d.ts +1 -0
  308. package/dist/components/menus/SoundButton/SoundButton.js +34 -0
  309. package/dist/components/menus/SoundButton/SoundButton.js.map +1 -0
  310. package/dist/components/menus/SoundButton/index.d.ts +1 -0
  311. package/dist/components/menus/SoundButton/index.js +18 -0
  312. package/dist/components/menus/SoundButton/index.js.map +1 -0
  313. package/dist/components/menus/TimeStatsButton/TimeStatsButton.d.ts +1 -0
  314. package/dist/components/menus/TimeStatsButton/TimeStatsButton.js +76 -0
  315. package/dist/components/menus/TimeStatsButton/TimeStatsButton.js.map +1 -0
  316. package/dist/components/menus/TimeStatsButton/index.d.ts +1 -0
  317. package/dist/components/menus/TimeStatsButton/index.js +18 -0
  318. package/dist/components/menus/TimeStatsButton/index.js.map +1 -0
  319. package/dist/components/menus/UndoButton/UndoButton.d.ts +1 -0
  320. package/dist/components/menus/UndoButton/UndoButton.js +29 -0
  321. package/dist/components/menus/UndoButton/UndoButton.js.map +1 -0
  322. package/dist/components/menus/UndoButton/UndoPopButton.d.ts +1 -0
  323. package/dist/components/menus/UndoButton/UndoPopButton.js +36 -0
  324. package/dist/components/menus/UndoButton/UndoPopButton.js.map +1 -0
  325. package/dist/components/menus/UndoButton/index.d.ts +2 -0
  326. package/dist/components/menus/UndoButton/index.js +19 -0
  327. package/dist/components/menus/UndoButton/index.js.map +1 -0
  328. package/dist/components/menus/index.d.ts +5 -0
  329. package/dist/components/menus/index.js +22 -0
  330. package/dist/components/menus/index.js.map +1 -0
  331. package/dist/components/menus/menuCss.d.ts +10 -0
  332. package/dist/components/menus/menuCss.js +28 -0
  333. package/dist/components/menus/menuCss.js.map +1 -0
  334. package/dist/css/backgroundCss.d.ts +1 -0
  335. package/dist/css/backgroundCss.js +12 -0
  336. package/dist/css/backgroundCss.js.map +1 -0
  337. package/dist/css/buttonCss.d.ts +3 -0
  338. package/dist/css/buttonCss.js +14 -0
  339. package/dist/css/buttonCss.js.map +1 -0
  340. package/dist/css/componentSizeCss.d.ts +9 -0
  341. package/dist/css/componentSizeCss.js +20 -0
  342. package/dist/css/componentSizeCss.js.map +1 -0
  343. package/dist/css/cursorCss.d.ts +3 -0
  344. package/dist/css/cursorCss.js +13 -0
  345. package/dist/css/cursorCss.js.map +1 -0
  346. package/dist/css/index.d.ts +6 -0
  347. package/dist/css/index.js +23 -0
  348. package/dist/css/index.js.map +1 -0
  349. package/dist/css/shineEffect.d.ts +1 -0
  350. package/dist/css/shineEffect.js +12 -0
  351. package/dist/css/shineEffect.js.map +1 -0
  352. package/dist/css/transformCss.d.ts +1 -0
  353. package/dist/css/transformCss.js +18 -0
  354. package/dist/css/transformCss.js.map +1 -0
  355. package/dist/hooks/index.d.ts +24 -0
  356. package/dist/hooks/index.js +41 -0
  357. package/dist/hooks/index.js.map +1 -0
  358. package/dist/hooks/useActions.d.ts +2 -0
  359. package/dist/hooks/useActions.js +9 -0
  360. package/dist/hooks/useActions.js.map +1 -0
  361. package/dist/hooks/useAnimations.d.ts +4 -0
  362. package/dist/hooks/useAnimations.js +37 -0
  363. package/dist/hooks/useAnimations.js.map +1 -0
  364. package/dist/hooks/useContrastTheme.d.ts +7 -0
  365. package/dist/hooks/useContrastTheme.js +27 -0
  366. package/dist/hooks/useContrastTheme.js.map +1 -0
  367. package/dist/hooks/useFailures.d.ts +1 -0
  368. package/dist/hooks/useFailures.js +11 -0
  369. package/dist/hooks/useFailures.js.map +1 -0
  370. package/dist/hooks/useFullscreen.d.ts +5 -0
  371. package/dist/hooks/useFullscreen.js +36 -0
  372. package/dist/hooks/useFullscreen.js.map +1 -0
  373. package/dist/hooks/useGame.d.ts +1 -0
  374. package/dist/hooks/useGame.js +9 -0
  375. package/dist/hooks/useGame.js.map +1 -0
  376. package/dist/hooks/useGiveUp.d.ts +1 -0
  377. package/dist/hooks/useGiveUp.js +17 -0
  378. package/dist/hooks/useGiveUp.js.map +1 -0
  379. package/dist/hooks/useItemLocator.d.ts +2 -0
  380. package/dist/hooks/useItemLocator.js +11 -0
  381. package/dist/hooks/useItemLocator.js.map +1 -0
  382. package/dist/hooks/useKeyDown.d.ts +1 -0
  383. package/dist/hooks/useKeyDown.js +17 -0
  384. package/dist/hooks/useKeyDown.js.map +1 -0
  385. package/dist/hooks/useLegalMoves.d.ts +2 -0
  386. package/dist/hooks/useLegalMoves.js +23 -0
  387. package/dist/hooks/useLegalMoves.js.map +1 -0
  388. package/dist/hooks/useMaterialAnimations.d.ts +2 -0
  389. package/dist/hooks/useMaterialAnimations.js +17 -0
  390. package/dist/hooks/useMaterialAnimations.js.map +1 -0
  391. package/dist/hooks/useMaterialDescription.d.ts +2 -0
  392. package/dist/hooks/useMaterialDescription.js +11 -0
  393. package/dist/hooks/useMaterialDescription.js.map +1 -0
  394. package/dist/hooks/useNow.d.ts +6 -0
  395. package/dist/hooks/useNow.js +22 -0
  396. package/dist/hooks/useNow.js.map +1 -0
  397. package/dist/hooks/useNumberOfPlayers.d.ts +1 -0
  398. package/dist/hooks/useNumberOfPlayers.js +7 -0
  399. package/dist/hooks/useNumberOfPlayers.js.map +1 -0
  400. package/dist/hooks/useOpponentWithMaxTime.d.ts +5 -0
  401. package/dist/hooks/useOpponentWithMaxTime.js +41 -0
  402. package/dist/hooks/useOpponentWithMaxTime.js.map +1 -0
  403. package/dist/hooks/usePlay.d.ts +6 -0
  404. package/dist/hooks/usePlay.js +24 -0
  405. package/dist/hooks/usePlay.js.map +1 -0
  406. package/dist/hooks/usePlayerId.d.ts +1 -0
  407. package/dist/hooks/usePlayerId.js +7 -0
  408. package/dist/hooks/usePlayerId.js.map +1 -0
  409. package/dist/hooks/usePlayerName.d.ts +1 -0
  410. package/dist/hooks/usePlayerName.js +9 -0
  411. package/dist/hooks/usePlayerName.js.map +1 -0
  412. package/dist/hooks/usePlayerTime.d.ts +1 -0
  413. package/dist/hooks/usePlayerTime.js +37 -0
  414. package/dist/hooks/usePlayerTime.js.map +1 -0
  415. package/dist/hooks/usePlayers.d.ts +8 -0
  416. package/dist/hooks/usePlayers.js +65 -0
  417. package/dist/hooks/usePlayers.js.map +1 -0
  418. package/dist/hooks/useRules.d.ts +2 -0
  419. package/dist/hooks/useRules.js +17 -0
  420. package/dist/hooks/useRules.js.map +1 -0
  421. package/dist/hooks/useScale.d.ts +1 -0
  422. package/dist/hooks/useScale.js +16 -0
  423. package/dist/hooks/useScale.js.map +1 -0
  424. package/dist/hooks/useSound.d.ts +1 -0
  425. package/dist/hooks/useSound.js +20 -0
  426. package/dist/hooks/useSound.js.map +1 -0
  427. package/dist/hooks/useStocks.d.ts +2 -0
  428. package/dist/hooks/useStocks.js +12 -0
  429. package/dist/hooks/useStocks.js.map +1 -0
  430. package/dist/hooks/useUndo.d.ts +7 -0
  431. package/dist/hooks/useUndo.js +58 -0
  432. package/dist/hooks/useUndo.js.map +1 -0
  433. package/dist/hooks/useWebP.d.ts +1 -0
  434. package/dist/hooks/useWebP.js +64 -0
  435. package/dist/hooks/useWebP.js.map +1 -0
  436. package/dist/index.d.ts +5 -0
  437. package/dist/index.js +22 -0
  438. package/dist/index.js.map +1 -0
  439. package/dist/locators/DeckLocator.d.ts +9 -0
  440. package/dist/locators/DeckLocator.js +49 -0
  441. package/dist/locators/DeckLocator.js.map +1 -0
  442. package/dist/locators/HandLocator.d.ts +14 -0
  443. package/dist/locators/HandLocator.js +70 -0
  444. package/dist/locators/HandLocator.js.map +1 -0
  445. package/dist/locators/ItemLocator.d.ts +67 -0
  446. package/dist/locators/ItemLocator.js +204 -0
  447. package/dist/locators/ItemLocator.js.map +1 -0
  448. package/dist/locators/LineLocator.d.ts +8 -0
  449. package/dist/locators/LineLocator.js +45 -0
  450. package/dist/locators/LineLocator.js.map +1 -0
  451. package/dist/locators/PileLocator.d.ts +13 -0
  452. package/dist/locators/PileLocator.js +69 -0
  453. package/dist/locators/PileLocator.js.map +1 -0
  454. package/dist/locators/index.d.ts +5 -0
  455. package/dist/locators/index.js +22 -0
  456. package/dist/locators/index.js.map +1 -0
  457. package/dist/translation/index.d.ts +1 -0
  458. package/dist/translation/index.js +18 -0
  459. package/dist/translation/index.js.map +1 -0
  460. package/dist/translation/setupTranslation.d.ts +5 -0
  461. package/dist/translation/setupTranslation.js +33 -0
  462. package/dist/translation/setupTranslation.js.map +1 -0
  463. package/dist/utilities/combineEventListeners.d.ts +1 -0
  464. package/dist/utilities/combineEventListeners.js +19 -0
  465. package/dist/utilities/combineEventListeners.js.map +1 -0
  466. package/dist/utilities/index.d.ts +1 -0
  467. package/dist/utilities/index.js +18 -0
  468. package/dist/utilities/index.js.map +1 -0
  469. package/package.json +68 -0
@@ -0,0 +1,12 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { HTMLAttributes } from 'react';
3
+ import { Location, MaterialMove } from '@gamepark/rules-api';
4
+ export type SimpleDropAreaProps<P extends number = number, M extends number = number, L extends number = number> = {
5
+ location: Location<P, L>;
6
+ legalMoves: MaterialMove<P, M, L>[];
7
+ onShortClick?: () => void;
8
+ onLongClick?: () => void;
9
+ dragOnly?: boolean;
10
+ } & HTMLAttributes<HTMLDivElement>;
11
+ export declare const SimpleDropArea: <P extends number = number, M extends number = number, L extends number = number>({ location, legalMoves, onShortClick, onLongClick, dragOnly, ...props }: SimpleDropAreaProps<P, M, L>) => import("@emotion/react/jsx-runtime").JSX.Element;
12
+ export declare function isDropLocation<P extends number = number, L extends number = number>(data?: Record<string, any>): data is Location<P, L>;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.isDropLocation = exports.SimpleDropArea = void 0;
30
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
31
+ /** @jsxImportSource @emotion/react */
32
+ var react_1 = require("react");
33
+ var rules_api_1 = require("@gamepark/rules-api");
34
+ var react_2 = require("@emotion/react");
35
+ var use_long_press_1 = require("use-long-press");
36
+ var hooks_1 = require("../../../hooks");
37
+ var css_1 = require("../../../css");
38
+ var core_1 = require("@dnd-kit/core");
39
+ var utils_1 = require("../utils");
40
+ var DraggableMaterial_1 = require("../DraggableMaterial");
41
+ var utilities_1 = require("../../../utilities");
42
+ var useStocks_1 = require("../../../hooks/useStocks");
43
+ var SimpleDropArea = function (_a) {
44
+ var location = _a.location, legalMoves = _a.legalMoves, onShortClick = _a.onShortClick, onLongClick = _a.onLongClick, dragOnly = _a.dragOnly, props = __rest(_a, ["location", "legalMoves", "onShortClick", "onLongClick", "dragOnly"]);
45
+ var locator = (0, hooks_1.useItemLocator)(location.type);
46
+ var stocks = (0, useStocks_1.useStocks)();
47
+ var rules = (0, hooks_1.useRules)();
48
+ var play = (0, hooks_1.usePlay)();
49
+ var player = (0, hooks_1.usePlayerId)();
50
+ if (!onLongClick && legalMoves.length === 1) {
51
+ onLongClick = function () { return play(legalMoves[0], { delayed: rules === null || rules === void 0 ? void 0 : rules.isUnpredictableMove(legalMoves[0], player) }); };
52
+ }
53
+ if (!onShortClick && (locator === null || locator === void 0 ? void 0 : locator.getLocationRules)) {
54
+ onShortClick = function () { return play((0, rules_api_1.displayLocationRules)(location), { local: true }); };
55
+ if (!onLongClick) {
56
+ onLongClick = function () { return play((0, rules_api_1.displayLocationRules)(location), { local: true }); };
57
+ }
58
+ }
59
+ var _b = (0, core_1.useDroppable)({
60
+ id: JSON.stringify(location),
61
+ disabled: !legalMoves.length,
62
+ data: location
63
+ }), isOver = _b.isOver, active = _b.active, setNodeRef = _b.setNodeRef;
64
+ var draggedItem = (0, DraggableMaterial_1.isDraggedItem)(active === null || active === void 0 ? void 0 : active.data.current) ? active === null || active === void 0 ? void 0 : active.data.current : undefined;
65
+ var canDrop = draggedItem !== undefined && legalMoves.filter(function (move) {
66
+ return rules === null || rules === void 0 ? void 0 : rules.isMoveTrigger(move, function (move) {
67
+ return (0, utils_1.isMoveThisItemToLocation)(move, draggedItem.type, draggedItem.index, location, stocks);
68
+ });
69
+ }).length === 1;
70
+ var animations = (0, hooks_1.useAnimations)(function (animation) { return animation.action.playerId === player; });
71
+ var _c = (0, react_1.useState)(false), clicking = _c[0], setClicking = _c[1];
72
+ var listeners = (0, use_long_press_1.useLongPress)(function () { return onLongClick && onLongClick(); }, {
73
+ detect: use_long_press_1.LongPressEventType.Pointer,
74
+ cancelOnMovement: 5,
75
+ threshold: 600,
76
+ onStart: function (event) {
77
+ setClicking(true);
78
+ if (onShortClick || onLongClick) {
79
+ event.stopPropagation();
80
+ }
81
+ },
82
+ onFinish: function () { return setClicking(false); },
83
+ onCancel: function (_, _a) {
84
+ var reason = _a.reason;
85
+ setClicking(false);
86
+ if (onShortClick && reason === use_long_press_1.LongPressCallbackReason.CancelledByRelease) {
87
+ setTimeout(function () { return onShortClick && onShortClick(); });
88
+ }
89
+ },
90
+ filterEvents: function (event) { return !event.button; } // Ignore clicks on mouse buttons > 0
91
+ })();
92
+ if (!canDrop && dragOnly)
93
+ return null;
94
+ return (0, jsx_runtime_1.jsx)("div", __assign({ ref: setNodeRef, css: [
95
+ !draggedItem && (onShortClick || onLongClick) && hoverHighlight, clicking && clickingAnimation,
96
+ (canDrop || (!draggedItem && legalMoves.length > 0 && !animations.length)) && css_1.shineEffect,
97
+ canDrop && isOver && dropHighlight
98
+ ] }, props, (0, utilities_1.combineEventListeners)(listeners, props)));
99
+ };
100
+ exports.SimpleDropArea = SimpleDropArea;
101
+ var hoverHighlight = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:hover {\n background-color: rgba(255, 255, 255, 0.2);\n }\n"], ["\n &:hover {\n background-color: rgba(255, 255, 255, 0.2);\n }\n"])));
102
+ var clickingKeyframes = (0, react_2.keyframes)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n from {\n background-color: rgba(255, 255, 255, 0.2);\n }\n to {\n background-color: rgba(0, 255, 0, 0.5);\n }\n"], ["\n from {\n background-color: rgba(255, 255, 255, 0.2);\n }\n to {\n background-color: rgba(0, 255, 0, 0.5);\n }\n"])));
103
+ var longClickThreshold = 600;
104
+ var clickingAnimation = (0, react_2.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n animation: ", " ", "ms ease-in-out;\n"], ["\n animation: ", " ", "ms ease-in-out;\n"])), clickingKeyframes, longClickThreshold);
105
+ var dropHighlight = (0, react_2.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-color: rgba(0, 255, 0, 0.5);\n"], ["\n background-color: rgba(0, 255, 0, 0.5);\n"])));
106
+ var getMoveItemTypes = function (move, rules) {
107
+ switch (move.kind) {
108
+ case rules_api_1.MoveKind.ItemMove:
109
+ return move.type === rules_api_1.ItemMoveType.Move ? [move.itemType] : [];
110
+ case rules_api_1.MoveKind.CustomMove:
111
+ return rules.play(move).flatMap(function (move) { return getMoveItemTypes(move, rules); });
112
+ default:
113
+ return [];
114
+ }
115
+ };
116
+ function isDropLocation(data) {
117
+ return typeof (data === null || data === void 0 ? void 0 : data.type) === 'number';
118
+ }
119
+ exports.isDropLocation = isDropLocation;
120
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
121
+ //# sourceMappingURL=SimpleDropArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/DropAreas/SimpleDropArea.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './SimpleDropArea';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./SimpleDropArea"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/DropAreas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC"}
@@ -0,0 +1 @@
1
+ export declare const GameMaterialDisplay: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.GameMaterialDisplay = void 0;
31
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
32
+ var react_1 = require("react");
33
+ var hooks_1 = require("../../../hooks");
34
+ var rules_api_1 = require("@gamepark/rules-api");
35
+ var pickBy_1 = __importDefault(require("lodash/pickBy"));
36
+ var utils_1 = require("../utils");
37
+ var MaterialComponent_1 = require("../MaterialComponent");
38
+ var css_1 = require("../../../css");
39
+ var DraggableMaterial_1 = require("../DraggableMaterial");
40
+ var dialogs_1 = require("../../dialogs");
41
+ var core_1 = require("@dnd-kit/core");
42
+ var react_2 = require("@emotion/react");
43
+ var GameProvider_1 = require("../../GameProvider");
44
+ var GameMaterialDisplay = function () {
45
+ var _a, _b;
46
+ var context = (0, react_1.useContext)(GameProvider_1.gameContext);
47
+ var material = (_a = context.material) !== null && _a !== void 0 ? _a : {};
48
+ var locators = (_b = context.locators) !== null && _b !== void 0 ? _b : {};
49
+ var player = (0, hooks_1.usePlayerId)();
50
+ var rules = (0, hooks_1.useRules)();
51
+ var legalMoves = (0, hooks_1.useLegalMoves)();
52
+ var play = (0, hooks_1.usePlay)();
53
+ var _c = (0, react_1.useState)(), draggedItem = _c[0], setDraggedItem = _c[1];
54
+ (0, core_1.useDndMonitor)({
55
+ onDragStart: function (event) { return (0, DraggableMaterial_1.isDraggedItem)(event.active.data.current) && setDraggedItem(event.active.data.current); },
56
+ onDragEnd: function () { return setDraggedItem(undefined); }
57
+ });
58
+ if (!rules)
59
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
60
+ var game = rules === null || rules === void 0 ? void 0 : rules.game;
61
+ var commonContext = { game: game, player: player, material: material, locators: locators };
62
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [Object.entries(material).map(function (_a) {
63
+ var stringType = _a[0], description = _a[1];
64
+ if (!description.items)
65
+ return null;
66
+ var type = parseInt(stringType);
67
+ var innerLocators = (0, pickBy_1.default)(locators, function (locator) { return locator.parentItemType === type; });
68
+ var innerLocations = Object.keys(innerLocators).map(function (type) { return parseInt(type); });
69
+ return description.items(game, player).map(function (item) {
70
+ var _a;
71
+ var legalMovesTo = innerLocations.length > 0 ? legalMoves.filter(function (move) { return rules.isMoveTrigger(move, function (move) { return (0, utils_1.isMoveOnItem)(move, item.id, innerLocations); }); }) : undefined;
72
+ var locator = locators[item.location.type];
73
+ return __spreadArray([], Array((_a = item.quantity) !== null && _a !== void 0 ? _a : 1), true).map(function (_, index) {
74
+ var context = __assign(__assign({}, commonContext), { type: type, index: index });
75
+ return (0, jsx_runtime_1.jsx)(MaterialComponent_1.MaterialComponent, { type: type, itemId: item.id, withLocations: true, legalMovesTo: legalMovesTo, css: [css_1.pointerCursorCss, css_1.transformCss.apply(void 0, locator.transformItem(item, context))], onShortClick: function () { return play((0, rules_api_1.displayMaterialRules)(type, index, item), { local: true }); } }, "".concat(stringType, "_").concat(index));
76
+ });
77
+ });
78
+ }), rules && game && Object.entries(game.items).map(function (_a) {
79
+ var stringType = _a[0], items = _a[1];
80
+ if (!items)
81
+ return null;
82
+ var type = parseInt(stringType);
83
+ return items.map(function (item, index) {
84
+ var _a;
85
+ var locator = locators[item.location.type];
86
+ return __spreadArray([], Array((_a = item.quantity) !== null && _a !== void 0 ? _a : 1), true).map(function (_, displayIndex) {
87
+ var context = __assign(__assign({}, commonContext), { type: type, index: displayIndex });
88
+ if (locator.hide(item, context))
89
+ return null;
90
+ var itemMoves = legalMoves.filter(function (move) { return rules.isMoveTrigger(move, function (move) { return (0, utils_1.isMoveThisItem)(move, type, index); }); });
91
+ var draggingToSameLocation = !!draggedItem && legalMoves.some(function (move) {
92
+ return (0, utils_1.isMoveThisItemToLocation)(move, draggedItem.type, draggedItem.index, item.location);
93
+ });
94
+ return (0, jsx_runtime_1.jsx)(DraggableMaterial_1.DraggableMaterial, { type: type, item: item, index: index, displayIndex: displayIndex, withLocations: true, disabled: !itemMoves.length, postTransform: locator.transformItem(item, context).join(' '), css: draggingToSameLocation && noPointerEvents, onShortClick: function () { return play((0, rules_api_1.displayMaterialRules)(type, index, item), { local: true }); }, onLongClick: itemMoves.length === 1 ?
95
+ function () { return play(itemMoves[0], { delayed: rules.isUnpredictableMove(itemMoves[0], player) }); }
96
+ : undefined }, "".concat(type, "_").concat(index, "_").concat(displayIndex));
97
+ });
98
+ });
99
+ }), Object.entries(locators).map(function (_a) {
100
+ var locator = _a[1];
101
+ return locator.createLocations(legalMoves, rules, commonContext);
102
+ }), (0, jsx_runtime_1.jsx)(dialogs_1.MaterialRulesDialog, { open: !!(game === null || game === void 0 ? void 0 : game.rulesDisplay), close: function () { return play(rules_api_1.closeRulesDisplay, { local: true }); } })] });
103
+ };
104
+ exports.GameMaterialDisplay = GameMaterialDisplay;
105
+ var noPointerEvents = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n pointer-events: none;\n"], ["\n pointer-events: none;\n"])));
106
+ var templateObject_1;
107
+ //# sourceMappingURL=GameMaterialDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameMaterialDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameMaterialDisplay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { FC } from 'react';
3
+ export type GameTableProps = {
4
+ xMin: number;
5
+ xMax: number;
6
+ yMin: number;
7
+ yMax: number;
8
+ zoomMin?: number;
9
+ zoomMax?: number;
10
+ perspective?: number;
11
+ margin?: {
12
+ left: number;
13
+ top: number;
14
+ right: number;
15
+ bottom: number;
16
+ };
17
+ };
18
+ export declare const GameTable: FC<GameTableProps>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.GameTable = void 0;
15
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
16
+ /** @jsxImportSource @emotion/react */
17
+ var react_1 = require("react");
18
+ var rules_api_1 = require("@gamepark/rules-api");
19
+ var react_zoom_pan_pinch_1 = require("react-zoom-pan-pinch");
20
+ var hooks_1 = require("../../../hooks");
21
+ var core_1 = require("@dnd-kit/core");
22
+ var modifiers_1 = require("@dnd-kit/modifiers");
23
+ var utils_1 = require("../utils");
24
+ var GameTableContent_1 = require("./GameTableContent");
25
+ var useStocks_1 = require("../../../hooks/useStocks");
26
+ var DraggableMaterial_1 = require("../DraggableMaterial");
27
+ var DropAreas_1 = require("../DropAreas");
28
+ var wheel = { step: 0.05 };
29
+ var doubleClick = { disabled: true };
30
+ var GameTable = function (props) {
31
+ var _a = props.zoomMin, zoomMin = _a === void 0 ? 1 : _a, _b = props.zoomMax, zoomMax = _b === void 0 ? 1 : _b;
32
+ var _c = (0, react_1.useState)(false), dragging = _c[0], setDragging = _c[1];
33
+ var play = (0, hooks_1.usePlay)();
34
+ var playerId = (0, hooks_1.usePlayerId)();
35
+ var rules = (0, hooks_1.useRules)();
36
+ var legalMoves = (0, hooks_1.useLegalMoves)();
37
+ var stocks = (0, useStocks_1.useStocks)();
38
+ var onDragEnd = (0, react_1.useCallback)(function (event) {
39
+ setDragging(false);
40
+ if (event.over && (0, DraggableMaterial_1.isDraggedItem)(event.active.data.current) && (0, DropAreas_1.isDropLocation)(event.over.data.current)) {
41
+ var _a = event.active.data.current, type_1 = _a.type, index_1 = _a.index, displayIndex = _a.displayIndex;
42
+ var location_1 = event.over.data.current;
43
+ var moves = legalMoves.filter(function (move) { return rules.isMoveTrigger(move, function (move) { return (0, utils_1.isMoveThisItemToLocation)(move, type_1, index_1, location_1, stocks); }); });
44
+ if (moves.length === 1) {
45
+ play((0, rules_api_1.dropItemMove)(type_1, index_1, displayIndex), { local: true });
46
+ play(moves[0], { delayed: rules.isUnpredictableMove(moves[0], playerId) });
47
+ }
48
+ }
49
+ }, [play, rules, legalMoves]);
50
+ return ((0, jsx_runtime_1.jsx)(core_1.DndContext, __assign({ measuring: { draggable: { measure: core_1.getClientRect }, droppable: { measure: core_1.getClientRect } }, modifiers: [modifiers_1.snapCenterToCursor], onDragStart: function () { return setDragging(true); }, onDragEnd: onDragEnd, onDragCancel: function () { return setDragging(false); } }, { children: (0, jsx_runtime_1.jsx)(react_zoom_pan_pinch_1.TransformWrapper, __assign({ minScale: zoomMin / zoomMax, maxScale: 1, initialScale: zoomMin / zoomMax, centerOnInit: true, wheel: wheel, panning: { disabled: dragging }, disablePadding: true, doubleClick: doubleClick }, { children: (0, jsx_runtime_1.jsx)(GameTableContent_1.GameTableContent, __assign({}, props)) })) })));
51
+ };
52
+ exports.GameTable = GameTable;
53
+ //# sourceMappingURL=GameTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameTable.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { FC } from 'react';
3
+ export type GameTableContentProps = {
4
+ xMin: number;
5
+ xMax: number;
6
+ yMin: number;
7
+ yMax: number;
8
+ zoomMin?: number;
9
+ zoomMax?: number;
10
+ perspective?: number;
11
+ margin?: {
12
+ left: number;
13
+ top: number;
14
+ right: number;
15
+ bottom: number;
16
+ };
17
+ };
18
+ export declare const GameTableContent: FC<GameTableContentProps>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.GameTableContent = void 0;
19
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
20
+ /** @jsxImportSource @emotion/react */
21
+ var react_1 = require("react");
22
+ var react_2 = require("@emotion/react");
23
+ var react_zoom_pan_pinch_1 = require("react-zoom-pan-pinch");
24
+ var css_1 = require("../../../css");
25
+ var GameMaterialDisplay_1 = require("./GameMaterialDisplay");
26
+ var GameTableContent = function (props) {
27
+ var perspective = props.perspective, xMin = props.xMin, xMax = props.xMax, yMin = props.yMin, yMax = props.yMax, _a = props.zoomMax, zoomMax = _a === void 0 ? 1 : _a, _b = props.margin, margin = _b === void 0 ? { left: 0, right: 0, top: 7, bottom: 0 } : _b;
28
+ var centerView = (0, react_zoom_pan_pinch_1.useControls)().centerView;
29
+ (0, react_1.useEffect)(function () {
30
+ var handler = function () { return centerView(); };
31
+ window.addEventListener('resize', handler);
32
+ return function () {
33
+ window.removeEventListener('resize', handler);
34
+ };
35
+ }, []);
36
+ return ((0, jsx_runtime_1.jsx)(react_zoom_pan_pinch_1.TransformComponent, __assign({ wrapperStyle: {
37
+ position: 'absolute',
38
+ margin: "".concat(margin.top, "em ").concat(margin.right, "em ").concat(margin.bottom, "em ").concat(margin.left, "em"),
39
+ transformStyle: 'preserve-3d',
40
+ height: "calc(100% - ".concat(margin.top + margin.bottom, "em)"),
41
+ width: "calc(100% - ".concat(margin.left + margin.right, "em)"),
42
+ overflow: 'visible'
43
+ } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ css: [tableCss(xMin, xMax, yMin, yMax), (0, css_1.fontSizeCss)(zoomMax), perspective && (0, css_1.perspectiveCss)(perspective)] }, { children: (0, jsx_runtime_1.jsx)(GameMaterialDisplay_1.GameMaterialDisplay, {}) })) })));
44
+ };
45
+ exports.GameTableContent = GameTableContent;
46
+ var tableCss = function (xMin, xMax, yMin, yMax) { return (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transform-style: preserve-3d;\n width: ", "em;\n height: ", "em;\n\n > * {\n position: absolute;\n top: ", "em;\n left: ", "em;\n transform-style: preserve-3d;\n }\n"], ["\n transform-style: preserve-3d;\n width: ", "em;\n height: ", "em;\n\n > * {\n position: absolute;\n top: ", "em;\n left: ", "em;\n transform-style: preserve-3d;\n }\n"])), xMax - xMin, yMax - yMin, -yMin, -xMin); };
47
+ var templateObject_1;
48
+ //# sourceMappingURL=GameTableContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameTableContent.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTableContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAqC;AACrC,wCAAoC;AACpC,6DAAsE;AACtE,oCAA0D;AAC1D,6DAA2D;AAapD,IAAM,gBAAgB,GAA8B,UAAC,KAAK;IACvD,IAAA,WAAW,GAA6F,KAAK,YAAlG,EAAE,IAAI,GAAuF,KAAK,KAA5F,EAAE,IAAI,GAAiF,KAAK,KAAtF,EAAE,IAAI,GAA2E,KAAK,KAAhF,EAAE,IAAI,GAAqE,KAAK,KAA1E,EAAE,KAAmE,KAAK,QAA7D,EAAX,OAAO,mBAAG,CAAC,KAAA,EAAE,KAAsD,KAAK,OAAV,EAAjD,MAAM,mBAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAA,CAAU;IAE7G,IAAA,UAAU,GAAK,IAAA,kCAAW,GAAE,WAAlB,CAAkB;IACpC,IAAA,iBAAS,EAAC;QACR,IAAM,OAAO,GAAG,cAAM,OAAA,UAAU,EAAE,EAAZ,CAAY,CAAA;QAClC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,uBAAC,yCAAkB,aAAC,YAAY,EAAE;YAChC,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,UAAG,MAAM,CAAC,GAAG,gBAAM,MAAM,CAAC,KAAK,gBAAM,MAAM,CAAC,MAAM,gBAAM,MAAM,CAAC,IAAI,OAAI;YAC/E,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,sBAAe,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,QAAK;YACtD,KAAK,EAAE,sBAAe,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,QAAK;YACrD,QAAQ,EAAE,SAAS;SACpB,gBACC,yCAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,iBAAW,EAAC,OAAO,CAAC,EAAE,WAAW,IAAI,IAAA,oBAAc,EAAC,WAAW,CAAC,CAAC,gBAC5G,uBAAC,yCAAmB,KAAE,IAClB,IACa,CACtB,CAAA;AACH,CAAC,CAAA;AA1BY,QAAA,gBAAgB,oBA0B5B;AAED,IAAM,QAAQ,GAAG,UAAC,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,IAAK,WAAA,WAAG,+PAAA,8CAErE,EAAW,iBACV,EAAW,oDAIZ,EAAK,iBACJ,EAAK,+CAGhB,KATU,IAAI,GAAG,IAAI,EACV,IAAI,GAAG,IAAI,EAIZ,CAAC,IAAI,EACJ,CAAC,IAAI,GAR4D,CAW5E,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './GameTable';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./GameTable"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"}
@@ -0,0 +1,4 @@
1
+ export type ItemCustomization<Props, ItemId extends number = number> = {
2
+ [Property in keyof Props]: Props[Property] extends object | undefined ? ItemCustomization<Props[Property], ItemId> : ItemProp<Props[Property], ItemId>;
3
+ };
4
+ export type ItemProp<T, ItemId extends number = number> = T | Record<ItemId, T> | ((id?: ItemId) => T);
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Items.js","sourceRoot":"","sources":["../../../src/components/material/Items.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { Animation, AnimationContext, Animations } from '@gamepark/react-client';
2
+ import { CreateItem, DeleteItem, DisplayedItem, ItemMove, MaterialGame, MaterialMove, MaterialRules, MoveItem } from '@gamepark/rules-api';
3
+ import { Interpolation, Theme } from '@emotion/react';
4
+ import { ItemLocator } from '../../locators';
5
+ import { MaterialDescription } from './MaterialDescription';
6
+ export declare class MaterialAnimations<P extends number = number, M extends number = number, L extends number = number> extends Animations<MaterialGame<P, M, L>, ItemMove<P, M, L>, P> {
7
+ getPreDuration(move: ItemMove<P, M, L>, context: AnimationContext<MaterialGame<P, M, L>, MaterialMove<P, M, L>, P>): number;
8
+ getPostDuration(move: ItemMove<P, M, L>, context: AnimationContext<MaterialGame<P, M, L>, MaterialMove<P, M, L>, P>): number;
9
+ moveDuration(_move: ItemMove<P, M, L>, _context: AnimationContext<MaterialGame<P, M, L>, MaterialMove<P, M, L>, P>): number;
10
+ getItemAnimation(item: DisplayedItem<M>, animation: Animation<ItemMove<P, M, L>>, context: ItemAnimationContext<P, M, L>): Interpolation<Theme>;
11
+ protected getCreateItemAnimation(item: DisplayedItem<M>, animation: Animation<CreateItem<P, M, L>>, context: ItemAnimationContext<P, M, L>): Interpolation<Theme>;
12
+ protected fadein(duration: number): import("@emotion/utils").SerializedStyles;
13
+ protected getStockLocation(itemType: M, { rules, ...context }: ItemAnimationContext<P, M, L>): string;
14
+ protected getKeyframesFromOrigin(origin: string, _item: DisplayedItem<M>, _animation: Animation<ItemMove<P, M, L>>, _context: ItemAnimationContext<P, M, L>): import("@emotion/serialize").Keyframes;
15
+ protected getMoveItemAnimation(item: DisplayedItem<M>, animation: Animation<MoveItem<P, M, L>>, context: ItemAnimationContext<P, M, L>): Interpolation<Theme>;
16
+ private closestItemRotation;
17
+ private transformItem;
18
+ private closestRotation;
19
+ private getRotation;
20
+ protected getKeyframesToDestination(destination: string, _item: DisplayedItem<M>, _animation: Animation<ItemMove<P, M, L>>, _context: ItemAnimationContext<P, M, L>): import("@emotion/serialize").Keyframes;
21
+ protected getDeleteItemAnimation(item: DisplayedItem<M>, animation: Animation<DeleteItem<M>>, context: ItemAnimationContext<P, M, L>): Interpolation<Theme>;
22
+ }
23
+ export type ItemAnimationContext<P extends number = number, M extends number = number, L extends number = number> = {
24
+ material: Record<M, MaterialDescription<P, M, L>>;
25
+ locators: Record<L, ItemLocator<P, M, L>>;
26
+ rules: MaterialRules<P, M, L>;
27
+ player?: P;
28
+ };