@gamepark/react-game 6.38.7 → 7.0.0-beta.3

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 (750) hide show
  1. package/dist/components/Avatar/Avatar.d.ts +6 -6
  2. package/dist/components/Avatar/Avatar.js +40 -63
  3. package/dist/components/Avatar/Avatar.js.map +1 -1
  4. package/dist/components/Avatar/ChatSpeechBubble.d.ts +8 -8
  5. package/dist/components/Avatar/ChatSpeechBubble.js +38 -77
  6. package/dist/components/Avatar/ChatSpeechBubble.js.map +1 -1
  7. package/dist/components/Avatar/SpeechBubble.d.ts +15 -15
  8. package/dist/components/Avatar/SpeechBubble.js +109 -72
  9. package/dist/components/Avatar/SpeechBubble.js.map +1 -1
  10. package/dist/components/Avatar/index.d.ts +3 -3
  11. package/dist/components/Avatar/index.js +3 -19
  12. package/dist/components/Avatar/index.js.map +1 -1
  13. package/dist/components/GamePoints/GamePointIcon.d.ts +2 -2
  14. package/dist/components/GamePoints/GamePointIcon.js +8 -25
  15. package/dist/components/GamePoints/GamePointIcon.js.map +1 -1
  16. package/dist/components/GamePoints/GamePoints.d.ts +8 -8
  17. package/dist/components/GamePoints/GamePoints.js +30 -73
  18. package/dist/components/GamePoints/GamePoints.js.map +1 -1
  19. package/dist/components/GamePoints/index.d.ts +2 -2
  20. package/dist/components/GamePoints/index.js +2 -18
  21. package/dist/components/GamePoints/index.js.map +1 -1
  22. package/dist/components/GameProvider/GameContext.d.ts +28 -28
  23. package/dist/components/GameProvider/GameContext.js +12 -19
  24. package/dist/components/GameProvider/GameContext.js.map +1 -1
  25. package/dist/components/GameProvider/GameProvider.d.ts +9 -9
  26. package/dist/components/GameProvider/GameProvider.js +106 -151
  27. package/dist/components/GameProvider/GameProvider.js.map +1 -1
  28. package/dist/components/GameProvider/index.d.ts +2 -2
  29. package/dist/components/GameProvider/index.js +2 -18
  30. package/dist/components/GameProvider/index.js.map +1 -1
  31. package/dist/components/Header/Header.d.ts +7 -7
  32. package/dist/components/Header/Header.js +35 -44
  33. package/dist/components/Header/Header.js.map +1 -1
  34. package/dist/components/Header/HeaderText.d.ts +11 -11
  35. package/dist/components/Header/HeaderText.js +23 -39
  36. package/dist/components/Header/HeaderText.js.map +1 -1
  37. package/dist/components/Header/MaterialHeader.d.ts +11 -11
  38. package/dist/components/Header/MaterialHeader.js +64 -112
  39. package/dist/components/Header/MaterialHeader.js.map +1 -1
  40. package/dist/components/Header/index.d.ts +3 -3
  41. package/dist/components/Header/index.js +3 -19
  42. package/dist/components/Header/index.js.map +1 -1
  43. package/dist/components/ImagesLoader/ImagesLoader.d.ts +5 -5
  44. package/dist/components/ImagesLoader/ImagesLoader.js +21 -26
  45. package/dist/components/ImagesLoader/ImagesLoader.js.map +1 -1
  46. package/dist/components/ImagesLoader/index.d.ts +1 -1
  47. package/dist/components/ImagesLoader/index.js +1 -17
  48. package/dist/components/ImagesLoader/index.js.map +1 -1
  49. package/dist/components/JournalTabs/Chat/Chat.d.ts +8 -8
  50. package/dist/components/JournalTabs/Chat/Chat.js +10 -36
  51. package/dist/components/JournalTabs/Chat/Chat.js.map +1 -1
  52. package/dist/components/JournalTabs/Chat/ChatMessage.d.ts +7 -7
  53. package/dist/components/JournalTabs/Chat/ChatMessage.js +13 -29
  54. package/dist/components/JournalTabs/Chat/ChatMessage.js.map +1 -1
  55. package/dist/components/JournalTabs/Chat/ChatMessageAuthor.d.ts +3 -3
  56. package/dist/components/JournalTabs/Chat/ChatMessageAuthor.js +21 -37
  57. package/dist/components/JournalTabs/Chat/ChatMessageAuthor.js.map +1 -1
  58. package/dist/components/JournalTabs/Chat/ChatTextInput.d.ts +19 -19
  59. package/dist/components/JournalTabs/Chat/ChatTextInput.js +74 -87
  60. package/dist/components/JournalTabs/Chat/ChatTextInput.js.map +1 -1
  61. package/dist/components/JournalTabs/Chat/CommonChat.d.ts +13 -12
  62. package/dist/components/JournalTabs/Chat/CommonChat.js +52 -58
  63. package/dist/components/JournalTabs/Chat/CommonChat.js.map +1 -1
  64. package/dist/components/JournalTabs/Chat/LocalChat.d.ts +6 -6
  65. package/dist/components/JournalTabs/Chat/LocalChat.js +13 -64
  66. package/dist/components/JournalTabs/Chat/LocalChat.js.map +1 -1
  67. package/dist/components/JournalTabs/Chat/RemoteChat.d.ts +7 -7
  68. package/dist/components/JournalTabs/Chat/RemoteChat.js +17 -45
  69. package/dist/components/JournalTabs/Chat/RemoteChat.js.map +1 -1
  70. package/dist/components/JournalTabs/Chat/SignInToChat.d.ts +1 -1
  71. package/dist/components/JournalTabs/Chat/SignInToChat.js +38 -35
  72. package/dist/components/JournalTabs/Chat/SignInToChat.js.map +1 -1
  73. package/dist/components/JournalTabs/Chat/index.d.ts +5 -5
  74. package/dist/components/JournalTabs/Chat/index.js +5 -21
  75. package/dist/components/JournalTabs/Chat/index.js.map +1 -1
  76. package/dist/components/JournalTabs/History/GameOverHistory.d.ts +1 -1
  77. package/dist/components/JournalTabs/History/GameOverHistory.js +18 -35
  78. package/dist/components/JournalTabs/History/GameOverHistory.js.map +1 -1
  79. package/dist/components/JournalTabs/History/History.d.ts +7 -7
  80. package/dist/components/JournalTabs/History/History.js +67 -62
  81. package/dist/components/JournalTabs/History/History.js.map +1 -1
  82. package/dist/components/JournalTabs/History/HistoryEntry.d.ts +9 -9
  83. package/dist/components/JournalTabs/History/HistoryEntry.js +39 -45
  84. package/dist/components/JournalTabs/History/HistoryEntry.js.map +1 -1
  85. package/dist/components/JournalTabs/History/StartGameHistory.d.ts +2 -2
  86. package/dist/components/JournalTabs/History/StartGameHistory.js +14 -30
  87. package/dist/components/JournalTabs/History/StartGameHistory.js.map +1 -1
  88. package/dist/components/JournalTabs/History/index.d.ts +2 -2
  89. package/dist/components/JournalTabs/History/index.js +2 -18
  90. package/dist/components/JournalTabs/History/index.js.map +1 -1
  91. package/dist/components/JournalTabs/JournalTabs.d.ts +6 -6
  92. package/dist/components/JournalTabs/JournalTabs.js +136 -93
  93. package/dist/components/JournalTabs/JournalTabs.js.map +1 -1
  94. package/dist/components/JournalTabs/index.d.ts +1 -1
  95. package/dist/components/JournalTabs/index.js +1 -17
  96. package/dist/components/JournalTabs/index.js.map +1 -1
  97. package/dist/components/Letterbox/Letterbox.d.ts +8 -8
  98. package/dist/components/Letterbox/Letterbox.js +30 -42
  99. package/dist/components/Letterbox/Letterbox.js.map +1 -1
  100. package/dist/components/Letterbox/index.d.ts +1 -1
  101. package/dist/components/Letterbox/index.js +1 -17
  102. package/dist/components/Letterbox/index.js.map +1 -1
  103. package/dist/components/LoadingScreen/LoadingScreen.d.ts +12 -12
  104. package/dist/components/LoadingScreen/LoadingScreen.js +96 -102
  105. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  106. package/dist/components/LoadingScreen/index.d.ts +1 -1
  107. package/dist/components/LoadingScreen/index.js +1 -17
  108. package/dist/components/LoadingScreen/index.js.map +1 -1
  109. package/dist/components/Log/InternalLiveLogContainer.d.ts +6 -6
  110. package/dist/components/Log/InternalLiveLogContainer.js +107 -117
  111. package/dist/components/Log/InternalLiveLogContainer.js.map +1 -1
  112. package/dist/components/Log/LiveLogButton.d.ts +1 -1
  113. package/dist/components/Log/LiveLogButton.js +18 -34
  114. package/dist/components/Log/LiveLogButton.js.map +1 -1
  115. package/dist/components/Log/LiveLogContainer.d.ts +3 -3
  116. package/dist/components/Log/LiveLogContainer.js +10 -25
  117. package/dist/components/Log/LiveLogContainer.js.map +1 -1
  118. package/dist/components/Log/LogDescription.d.ts +24 -24
  119. package/dist/components/Log/LogDescription.js +1 -2
  120. package/dist/components/Log/LogItem.d.ts +11 -11
  121. package/dist/components/Log/LogItem.js +44 -44
  122. package/dist/components/Log/LogItem.js.map +1 -1
  123. package/dist/components/Log/index.d.ts +3 -3
  124. package/dist/components/Log/index.js +3 -19
  125. package/dist/components/Log/index.js.map +1 -1
  126. package/dist/components/Picture/Picture.d.ts +8 -8
  127. package/dist/components/Picture/Picture.js +8 -34
  128. package/dist/components/Picture/Picture.js.map +1 -1
  129. package/dist/components/Picture/index.d.ts +1 -1
  130. package/dist/components/Picture/index.js +1 -17
  131. package/dist/components/Picture/index.js.map +1 -1
  132. package/dist/components/PlayerPanel/Counters.d.ts +15 -15
  133. package/dist/components/PlayerPanel/Counters.js +93 -53
  134. package/dist/components/PlayerPanel/Counters.js.map +1 -1
  135. package/dist/components/PlayerPanel/PlayerPanel.d.ts +8 -8
  136. package/dist/components/PlayerPanel/PlayerPanel.js +85 -55
  137. package/dist/components/PlayerPanel/PlayerPanel.js.map +1 -1
  138. package/dist/components/PlayerPanel/StyledPlayerPanel.d.ts +24 -24
  139. package/dist/components/PlayerPanel/StyledPlayerPanel.js +158 -93
  140. package/dist/components/PlayerPanel/StyledPlayerPanel.js.map +1 -1
  141. package/dist/components/PlayerPanel/index.d.ts +3 -3
  142. package/dist/components/PlayerPanel/index.js +3 -19
  143. package/dist/components/PlayerPanel/index.js.map +1 -1
  144. package/dist/components/PlayerTimer/PlayerTimer.d.ts +13 -13
  145. package/dist/components/PlayerTimer/PlayerTimer.js +44 -73
  146. package/dist/components/PlayerTimer/PlayerTimer.js.map +1 -1
  147. package/dist/components/PlayerTimer/index.d.ts +1 -1
  148. package/dist/components/PlayerTimer/index.js +1 -17
  149. package/dist/components/PlayerTimer/index.js.map +1 -1
  150. package/dist/components/Scoring/ScoringDescription.d.ts +8 -8
  151. package/dist/components/Scoring/ScoringDescription.js +1 -2
  152. package/dist/components/Scoring/index.d.ts +1 -1
  153. package/dist/components/Scoring/index.js +1 -17
  154. package/dist/components/Scoring/index.js.map +1 -1
  155. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.d.ts +14 -14
  156. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +114 -137
  157. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
  158. package/dist/components/buttons/PlayMoveButton/index.d.ts +1 -1
  159. package/dist/components/buttons/PlayMoveButton/index.js +1 -17
  160. package/dist/components/buttons/PlayMoveButton/index.js.map +1 -1
  161. package/dist/components/buttons/ThemeButton/ThemeButton.d.ts +3 -3
  162. package/dist/components/buttons/ThemeButton/ThemeButton.js +6 -21
  163. package/dist/components/buttons/ThemeButton/ThemeButton.js.map +1 -1
  164. package/dist/components/buttons/ThemeButton/index.d.ts +1 -1
  165. package/dist/components/buttons/ThemeButton/index.js +1 -17
  166. package/dist/components/buttons/ThemeButton/index.js.map +1 -1
  167. package/dist/components/buttons/UndoMovesButton/UndoMovesButton.d.ts +7 -7
  168. package/dist/components/buttons/UndoMovesButton/UndoMovesButton.js +30 -72
  169. package/dist/components/buttons/UndoMovesButton/UndoMovesButton.js.map +1 -1
  170. package/dist/components/buttons/UndoMovesButton/index.d.ts +1 -1
  171. package/dist/components/buttons/UndoMovesButton/index.js +1 -17
  172. package/dist/components/buttons/UndoMovesButton/index.js.map +1 -1
  173. package/dist/components/buttons/index.d.ts +3 -3
  174. package/dist/components/buttons/index.js +3 -19
  175. package/dist/components/buttons/index.js.map +1 -1
  176. package/dist/components/dialogs/Dialog.d.ts +11 -11
  177. package/dist/components/dialogs/Dialog.js +74 -84
  178. package/dist/components/dialogs/Dialog.js.map +1 -1
  179. package/dist/components/dialogs/FailuresDialog.d.ts +2 -2
  180. package/dist/components/dialogs/FailuresDialog.js +50 -84
  181. package/dist/components/dialogs/FailuresDialog.js.map +1 -1
  182. package/dist/components/dialogs/ResultDialog/RematchDisplay.d.ts +6 -6
  183. package/dist/components/dialogs/ResultDialog/RematchDisplay.js +68 -73
  184. package/dist/components/dialogs/ResultDialog/RematchDisplay.js.map +1 -1
  185. package/dist/components/dialogs/ResultDialog/RematchSection.d.ts +5 -5
  186. package/dist/components/dialogs/ResultDialog/RematchSection.js +20 -41
  187. package/dist/components/dialogs/ResultDialog/RematchSection.js.map +1 -1
  188. package/dist/components/dialogs/ResultDialog/ResultDialog.d.ts +7 -7
  189. package/dist/components/dialogs/ResultDialog/ResultDialog.js +134 -103
  190. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
  191. package/dist/components/dialogs/ResultDialog/index.d.ts +2 -2
  192. package/dist/components/dialogs/ResultDialog/index.js +2 -18
  193. package/dist/components/dialogs/ResultDialog/index.js.map +1 -1
  194. package/dist/components/dialogs/ResultDialog/useScoringTable.d.ts +2 -2
  195. package/dist/components/dialogs/ResultDialog/useScoringTable.js +35 -42
  196. package/dist/components/dialogs/ResultDialog/useScoringTable.js.map +1 -1
  197. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.d.ts +5 -5
  198. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +36 -46
  199. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
  200. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.d.ts +3 -3
  201. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js +25 -39
  202. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js.map +1 -1
  203. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.d.ts +5 -5
  204. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +143 -139
  205. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
  206. package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +6 -6
  207. package/dist/components/dialogs/RulesDialog/RulesDialog.js +25 -44
  208. package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -1
  209. package/dist/components/dialogs/RulesDialog/RulesHelpDialogContent.d.ts +6 -6
  210. package/dist/components/dialogs/RulesDialog/RulesHelpDialogContent.js +38 -40
  211. package/dist/components/dialogs/RulesDialog/RulesHelpDialogContent.js.map +1 -1
  212. package/dist/components/dialogs/RulesDialog/index.d.ts +2 -2
  213. package/dist/components/dialogs/RulesDialog/index.js +2 -18
  214. package/dist/components/dialogs/RulesDialog/index.js.map +1 -1
  215. package/dist/components/dialogs/index.d.ts +4 -4
  216. package/dist/components/dialogs/index.js +4 -20
  217. package/dist/components/dialogs/index.js.map +1 -1
  218. package/dist/components/index.d.ts +17 -17
  219. package/dist/components/index.js +17 -33
  220. package/dist/components/index.js.map +1 -1
  221. package/dist/components/material/ComponentDescription.d.ts +52 -52
  222. package/dist/components/material/ComponentDescription.js +54 -40
  223. package/dist/components/material/ComponentDescription.js.map +1 -1
  224. package/dist/components/material/Dices/CubicDiceDescription.d.ts +21 -21
  225. package/dist/components/material/Dices/CubicDiceDescription.js +85 -132
  226. package/dist/components/material/Dices/CubicDiceDescription.js.map +1 -1
  227. package/dist/components/material/Dices/index.d.ts +1 -1
  228. package/dist/components/material/Dices/index.js +1 -17
  229. package/dist/components/material/Dices/index.js.map +1 -1
  230. package/dist/components/material/DraggableMaterial.d.ts +9 -9
  231. package/dist/components/material/DraggableMaterial.js +179 -259
  232. package/dist/components/material/DraggableMaterial.js.map +1 -1
  233. package/dist/components/material/FlatMaterial/BoardDescription.d.ts +3 -3
  234. package/dist/components/material/FlatMaterial/BoardDescription.js +3 -27
  235. package/dist/components/material/FlatMaterial/BoardDescription.js.map +1 -1
  236. package/dist/components/material/FlatMaterial/CardDescription.d.ts +6 -6
  237. package/dist/components/material/FlatMaterial/CardDescription.js +6 -31
  238. package/dist/components/material/FlatMaterial/CardDescription.js.map +1 -1
  239. package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +31 -38
  240. package/dist/components/material/FlatMaterial/FlatMaterial.js +114 -170
  241. package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -1
  242. package/dist/components/material/FlatMaterial/MoneyDescription.d.ts +7 -7
  243. package/dist/components/material/FlatMaterial/MoneyDescription.js +11 -38
  244. package/dist/components/material/FlatMaterial/MoneyDescription.js.map +1 -1
  245. package/dist/components/material/FlatMaterial/PolyhexDescription.d.ts +20 -20
  246. package/dist/components/material/FlatMaterial/PolyhexDescription.js +22 -48
  247. package/dist/components/material/FlatMaterial/PolyhexDescription.js.map +1 -1
  248. package/dist/components/material/FlatMaterial/TokenDescription.d.ts +10 -10
  249. package/dist/components/material/FlatMaterial/TokenDescription.js +12 -43
  250. package/dist/components/material/FlatMaterial/TokenDescription.js.map +1 -1
  251. package/dist/components/material/FlatMaterial/index.d.ts +6 -6
  252. package/dist/components/material/FlatMaterial/index.js +6 -22
  253. package/dist/components/material/FlatMaterial/index.js.map +1 -1
  254. package/dist/components/material/GameTable/DropPreview.d.ts +2 -2
  255. package/dist/components/material/GameTable/DropPreview.js +40 -75
  256. package/dist/components/material/GameTable/DropPreview.js.map +1 -1
  257. package/dist/components/material/GameTable/DynamicItemsDisplay.d.ts +4 -4
  258. package/dist/components/material/GameTable/DynamicItemsDisplay.js +29 -88
  259. package/dist/components/material/GameTable/DynamicItemsDisplay.js.map +1 -1
  260. package/dist/components/material/GameTable/GameMaterialDisplay.d.ts +7 -7
  261. package/dist/components/material/GameTable/GameMaterialDisplay.js +28 -33
  262. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  263. package/dist/components/material/GameTable/GameTable.d.ts +20 -20
  264. package/dist/components/material/GameTable/GameTable.js +95 -142
  265. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  266. package/dist/components/material/GameTable/GameTableNavigation.d.ts +6 -6
  267. package/dist/components/material/GameTable/GameTableNavigation.js +61 -70
  268. package/dist/components/material/GameTable/GameTableNavigation.js.map +1 -1
  269. package/dist/components/material/GameTable/ItemDisplay.d.ts +20 -21
  270. package/dist/components/material/GameTable/ItemDisplay.js +114 -182
  271. package/dist/components/material/GameTable/ItemDisplay.js.map +1 -1
  272. package/dist/components/material/GameTable/StaticItemsDisplay.d.ts +5 -5
  273. package/dist/components/material/GameTable/StaticItemsDisplay.js +33 -96
  274. package/dist/components/material/GameTable/StaticItemsDisplay.js.map +1 -1
  275. package/dist/components/material/GameTable/StaticLocationsDisplay.d.ts +5 -5
  276. package/dist/components/material/GameTable/StaticLocationsDisplay.js +15 -32
  277. package/dist/components/material/GameTable/StaticLocationsDisplay.js.map +1 -1
  278. package/dist/components/material/GameTable/focus/FocusProvider.d.ts +12 -10
  279. package/dist/components/material/GameTable/focus/FocusProvider.js +59 -99
  280. package/dist/components/material/GameTable/focus/FocusProvider.js.map +1 -1
  281. package/dist/components/material/GameTable/focus/MaterialFocus.d.ts +20 -20
  282. package/dist/components/material/GameTable/focus/MaterialFocus.js +1 -2
  283. package/dist/components/material/GameTable/focus/index.d.ts +2 -2
  284. package/dist/components/material/GameTable/focus/index.js +2 -18
  285. package/dist/components/material/GameTable/focus/index.js.map +1 -1
  286. package/dist/components/material/GameTable/index.d.ts +3 -3
  287. package/dist/components/material/GameTable/index.js +3 -19
  288. package/dist/components/material/GameTable/index.js.map +1 -1
  289. package/dist/components/material/ImageLoader/MaterialImageLoader.d.ts +5 -5
  290. package/dist/components/material/ImageLoader/MaterialImageLoader.js +21 -93
  291. package/dist/components/material/ImageLoader/MaterialImageLoader.js.map +1 -1
  292. package/dist/components/material/ImageLoader/index.d.ts +1 -1
  293. package/dist/components/material/ImageLoader/index.js +1 -17
  294. package/dist/components/material/ImageLoader/index.js.map +1 -1
  295. package/dist/components/material/ItemMenuButton.d.ts +14 -14
  296. package/dist/components/material/ItemMenuButton.js +46 -74
  297. package/dist/components/material/ItemMenuButton.js.map +1 -1
  298. package/dist/components/material/ItemMenuWrapper.d.ts +11 -11
  299. package/dist/components/material/ItemMenuWrapper.js +18 -68
  300. package/dist/components/material/ItemMenuWrapper.js.map +1 -1
  301. package/dist/components/material/MaterialComponent.d.ts +17 -17
  302. package/dist/components/material/MaterialComponent.js +26 -48
  303. package/dist/components/material/MaterialComponent.js.map +1 -1
  304. package/dist/components/material/MaterialComponentType.d.ts +7 -7
  305. package/dist/components/material/MaterialComponentType.js +8 -11
  306. package/dist/components/material/MaterialComponentType.js.map +1 -1
  307. package/dist/components/material/MaterialDescription.d.ts +176 -176
  308. package/dist/components/material/MaterialDescription.js +253 -295
  309. package/dist/components/material/MaterialDescription.js.map +1 -1
  310. package/dist/components/material/MobileMaterialDescription.d.ts +10 -10
  311. package/dist/components/material/MobileMaterialDescription.js +30 -70
  312. package/dist/components/material/MobileMaterialDescription.js.map +1 -1
  313. package/dist/components/material/Wheel/WheelContent.d.ts +14 -14
  314. package/dist/components/material/Wheel/WheelContent.js +37 -51
  315. package/dist/components/material/Wheel/WheelContent.js.map +1 -1
  316. package/dist/components/material/Wheel/WheelDescription.d.ts +20 -20
  317. package/dist/components/material/Wheel/WheelDescription.js +66 -125
  318. package/dist/components/material/Wheel/WheelDescription.js.map +1 -1
  319. package/dist/components/material/Wheel/WheelItem.d.ts +15 -15
  320. package/dist/components/material/Wheel/WheelItem.js +54 -53
  321. package/dist/components/material/Wheel/WheelItem.js.map +1 -1
  322. package/dist/components/material/Wheel/index.d.ts +1 -1
  323. package/dist/components/material/Wheel/index.js +1 -17
  324. package/dist/components/material/Wheel/index.js.map +1 -1
  325. package/dist/components/material/Writing/WritingDescription.d.ts +12 -12
  326. package/dist/components/material/Writing/WritingDescription.js +59 -117
  327. package/dist/components/material/Writing/WritingDescription.js.map +1 -1
  328. package/dist/components/material/Writing/index.d.ts +1 -1
  329. package/dist/components/material/Writing/index.js +1 -17
  330. package/dist/components/material/Writing/index.js.map +1 -1
  331. package/dist/components/material/animations/CreateItemAnimations.d.ts +20 -15
  332. package/dist/components/material/animations/CreateItemAnimations.js +56 -80
  333. package/dist/components/material/animations/CreateItemAnimations.js.map +1 -1
  334. package/dist/components/material/animations/DeleteItemAnimations.d.ts +19 -14
  335. package/dist/components/material/animations/DeleteItemAnimations.js +52 -71
  336. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -1
  337. package/dist/components/material/animations/DeleteItemAtOnceAnimations.d.ts +12 -12
  338. package/dist/components/material/animations/DeleteItemAtOnceAnimations.js +38 -61
  339. package/dist/components/material/animations/DeleteItemAtOnceAnimations.js.map +1 -1
  340. package/dist/components/material/animations/ItemAnimations.d.ts +16 -11
  341. package/dist/components/material/animations/ItemAnimations.js +23 -57
  342. package/dist/components/material/animations/ItemAnimations.js.map +1 -1
  343. package/dist/components/material/animations/MaterialAnimations.d.ts +19 -19
  344. package/dist/components/material/animations/MaterialAnimations.js +32 -58
  345. package/dist/components/material/animations/MaterialAnimations.js.map +1 -1
  346. package/dist/components/material/animations/MaterialGameAnimations.d.ts +33 -33
  347. package/dist/components/material/animations/MaterialGameAnimations.js +74 -130
  348. package/dist/components/material/animations/MaterialGameAnimations.js.map +1 -1
  349. package/dist/components/material/animations/MoveItemAnimations.d.ts +16 -16
  350. package/dist/components/material/animations/MoveItemAnimations.js +83 -124
  351. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -1
  352. package/dist/components/material/animations/MoveItemAtOnceAnimations.d.ts +14 -14
  353. package/dist/components/material/animations/MoveItemAtOnceAnimations.js +40 -75
  354. package/dist/components/material/animations/MoveItemAtOnceAnimations.js.map +1 -1
  355. package/dist/components/material/animations/RollItemAnimations.d.ts +13 -13
  356. package/dist/components/material/animations/RollItemAnimations.js +73 -121
  357. package/dist/components/material/animations/RollItemAnimations.js.map +1 -1
  358. package/dist/components/material/animations/ShuffleAnimations.d.ts +8 -8
  359. package/dist/components/material/animations/ShuffleAnimations.js +11 -33
  360. package/dist/components/material/animations/ShuffleAnimations.js.map +1 -1
  361. package/dist/components/material/animations/getFirstStockItemTransforms.util.d.ts +2 -2
  362. package/dist/components/material/animations/getFirstStockItemTransforms.util.js +12 -30
  363. package/dist/components/material/animations/getFirstStockItemTransforms.util.js.map +1 -1
  364. package/dist/components/material/animations/index.d.ts +8 -8
  365. package/dist/components/material/animations/index.js +8 -26
  366. package/dist/components/material/animations/index.js.map +1 -1
  367. package/dist/components/material/animations/rotations.utils.d.ts +3 -3
  368. package/dist/components/material/animations/rotations.utils.js +93 -126
  369. package/dist/components/material/animations/rotations.utils.js.map +1 -1
  370. package/dist/components/material/animations/transformItem.util.d.ts +2 -2
  371. package/dist/components/material/animations/transformItem.util.js +7 -37
  372. package/dist/components/material/animations/transformItem.util.js.map +1 -1
  373. package/dist/components/material/index.d.ts +15 -15
  374. package/dist/components/material/index.js +15 -31
  375. package/dist/components/material/index.js.map +1 -1
  376. package/dist/components/material/locations/DropAreaDescription.d.ts +12 -12
  377. package/dist/components/material/locations/DropAreaDescription.js +23 -61
  378. package/dist/components/material/locations/DropAreaDescription.js.map +1 -1
  379. package/dist/components/material/locations/HexGridDropAreaDescription.d.ts +13 -13
  380. package/dist/components/material/locations/HexGridDropAreaDescription.js +52 -97
  381. package/dist/components/material/locations/HexGridDropAreaDescription.js.map +1 -1
  382. package/dist/components/material/locations/LocationComponent.d.ts +15 -16
  383. package/dist/components/material/locations/LocationComponent.js +70 -105
  384. package/dist/components/material/locations/LocationComponent.js.map +1 -1
  385. package/dist/components/material/locations/LocationDescription.d.ts +45 -45
  386. package/dist/components/material/locations/LocationDescription.js +83 -141
  387. package/dist/components/material/locations/LocationDescription.js.map +1 -1
  388. package/dist/components/material/locations/LocationDisplay.d.ts +13 -13
  389. package/dist/components/material/locations/LocationDisplay.js +30 -84
  390. package/dist/components/material/locations/LocationDisplay.js.map +1 -1
  391. package/dist/components/material/locations/LocationsMask.d.ts +6 -6
  392. package/dist/components/material/locations/LocationsMask.js +18 -39
  393. package/dist/components/material/locations/LocationsMask.js.map +1 -1
  394. package/dist/components/material/locations/SimpleDropArea.d.ts +11 -11
  395. package/dist/components/material/locations/SimpleDropArea.js +58 -106
  396. package/dist/components/material/locations/SimpleDropArea.js.map +1 -1
  397. package/dist/components/material/locations/index.d.ts +5 -5
  398. package/dist/components/material/locations/index.js +5 -21
  399. package/dist/components/material/locations/index.js.map +1 -1
  400. package/dist/components/material/sound/AudioLoader.d.ts +20 -20
  401. package/dist/components/material/sound/AudioLoader.js +70 -119
  402. package/dist/components/material/sound/AudioLoader.js.map +1 -1
  403. package/dist/components/material/sound/MaterialGameSounds.d.ts +8 -8
  404. package/dist/components/material/sound/MaterialGameSounds.js +88 -122
  405. package/dist/components/material/sound/MaterialGameSounds.js.map +1 -1
  406. package/dist/components/material/sound/MaterialSoundConfig.d.ts +11 -11
  407. package/dist/components/material/sound/MaterialSoundConfig.js +13 -10
  408. package/dist/components/material/sound/MaterialSoundConfig.js.map +1 -1
  409. package/dist/components/material/sound/MaterialSoundLoader.d.ts +8 -8
  410. package/dist/components/material/sound/MaterialSoundLoader.js +23 -79
  411. package/dist/components/material/sound/MaterialSoundLoader.js.map +1 -1
  412. package/dist/components/material/sound/index.d.ts +2 -2
  413. package/dist/components/material/sound/index.js +2 -18
  414. package/dist/components/material/sound/index.js.map +1 -1
  415. package/dist/components/material/sound/sound.utils.d.ts +2 -2
  416. package/dist/components/material/sound/sound.utils.js +10 -14
  417. package/dist/components/material/sound/sound.utils.js.map +1 -1
  418. package/dist/components/material/utils/IsLocationSubset.d.ts +2 -2
  419. package/dist/components/material/utils/IsLocationSubset.js +10 -17
  420. package/dist/components/material/utils/IsLocationSubset.js.map +1 -1
  421. package/dist/components/material/utils/getBestDropMove.d.ts +4 -4
  422. package/dist/components/material/utils/getBestDropMove.js +18 -33
  423. package/dist/components/material/utils/getBestDropMove.js.map +1 -1
  424. package/dist/components/material/utils/index.d.ts +1 -1
  425. package/dist/components/material/utils/index.js +1 -17
  426. package/dist/components/material/utils/index.js.map +1 -1
  427. package/dist/components/material/utils/isDroppedItem.d.ts +4 -4
  428. package/dist/components/material/utils/isDroppedItem.js +10 -27
  429. package/dist/components/material/utils/isDroppedItem.js.map +1 -1
  430. package/dist/components/material/utils/isPlacedOnItem.d.ts +3 -3
  431. package/dist/components/material/utils/isPlacedOnItem.js +9 -13
  432. package/dist/components/material/utils/isPlacedOnItem.js.map +1 -1
  433. package/dist/components/material/utils/isRotationMove.d.ts +3 -3
  434. package/dist/components/material/utils/isRotationMove.js +6 -24
  435. package/dist/components/material/utils/isRotationMove.js.map +1 -1
  436. package/dist/components/material/utils/useIsAnimatingPlayerAction.d.ts +1 -1
  437. package/dist/components/material/utils/useIsAnimatingPlayerAction.js +8 -14
  438. package/dist/components/material/utils/useIsAnimatingPlayerAction.js.map +1 -1
  439. package/dist/components/menus/EjectPlayer/EjectPlayerButton.d.ts +2 -2
  440. package/dist/components/menus/EjectPlayer/EjectPlayerButton.js +32 -34
  441. package/dist/components/menus/EjectPlayer/EjectPlayerButton.js.map +1 -1
  442. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.d.ts +4 -10
  443. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js +55 -74
  444. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js.map +1 -1
  445. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.d.ts +2 -2
  446. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js +27 -52
  447. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js.map +1 -1
  448. package/dist/components/menus/EjectPlayer/index.d.ts +3 -3
  449. package/dist/components/menus/EjectPlayer/index.js +3 -19
  450. package/dist/components/menus/EjectPlayer/index.js.map +1 -1
  451. package/dist/components/menus/Fullscreen/FullscreenButton.d.ts +1 -1
  452. package/dist/components/menus/Fullscreen/FullscreenButton.js +13 -28
  453. package/dist/components/menus/Fullscreen/FullscreenButton.js.map +1 -1
  454. package/dist/components/menus/Fullscreen/FullscreenDialog.d.ts +2 -2
  455. package/dist/components/menus/Fullscreen/FullscreenDialog.js +38 -62
  456. package/dist/components/menus/Fullscreen/FullscreenDialog.js.map +1 -1
  457. package/dist/components/menus/Fullscreen/FullscreenPopButton.d.ts +1 -1
  458. package/dist/components/menus/Fullscreen/FullscreenPopButton.js +31 -56
  459. package/dist/components/menus/Fullscreen/FullscreenPopButton.js.map +1 -1
  460. package/dist/components/menus/Fullscreen/index.d.ts +3 -3
  461. package/dist/components/menus/Fullscreen/index.js +3 -19
  462. package/dist/components/menus/Fullscreen/index.js.map +1 -1
  463. package/dist/components/menus/GiveUpButton/GiveUpButton.d.ts +1 -1
  464. package/dist/components/menus/GiveUpButton/GiveUpButton.js +67 -89
  465. package/dist/components/menus/GiveUpButton/GiveUpButton.js.map +1 -1
  466. package/dist/components/menus/GiveUpButton/index.d.ts +1 -1
  467. package/dist/components/menus/GiveUpButton/index.js +1 -17
  468. package/dist/components/menus/GiveUpButton/index.js.map +1 -1
  469. package/dist/components/menus/Menu/LogoIcon.d.ts +2 -2
  470. package/dist/components/menus/Menu/LogoIcon.js +2 -17
  471. package/dist/components/menus/Menu/LogoIcon.js.map +1 -1
  472. package/dist/components/menus/Menu/Menu.d.ts +3 -3
  473. package/dist/components/menus/Menu/Menu.js +130 -117
  474. package/dist/components/menus/Menu/Menu.js.map +1 -1
  475. package/dist/components/menus/Menu/MenuPopButton.d.ts +7 -7
  476. package/dist/components/menus/Menu/MenuPopButton.js +29 -68
  477. package/dist/components/menus/Menu/MenuPopButton.js.map +1 -1
  478. package/dist/components/menus/Menu/NavButton.d.ts +7 -7
  479. package/dist/components/menus/Menu/NavButton.js +3 -32
  480. package/dist/components/menus/Menu/NavButton.js.map +1 -1
  481. package/dist/components/menus/Menu/index.d.ts +1 -1
  482. package/dist/components/menus/Menu/index.js +1 -17
  483. package/dist/components/menus/Menu/index.js.map +1 -1
  484. package/dist/components/menus/PlayerQuit/TrackPlayersQuit.d.ts +1 -1
  485. package/dist/components/menus/PlayerQuit/TrackPlayersQuit.js +30 -63
  486. package/dist/components/menus/PlayerQuit/TrackPlayersQuit.js.map +1 -1
  487. package/dist/components/menus/PlayerQuit/index.d.ts +1 -1
  488. package/dist/components/menus/PlayerQuit/index.js +1 -17
  489. package/dist/components/menus/PlayerQuit/index.js.map +1 -1
  490. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.d.ts +1 -1
  491. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js +19 -35
  492. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js.map +1 -1
  493. package/dist/components/menus/RestartTutorialButton/index.d.ts +1 -1
  494. package/dist/components/menus/RestartTutorialButton/index.js +1 -17
  495. package/dist/components/menus/RestartTutorialButton/index.js.map +1 -1
  496. package/dist/components/menus/Result/Medal.d.ts +4 -4
  497. package/dist/components/menus/Result/Medal.js +14 -41
  498. package/dist/components/menus/Result/Medal.js.map +1 -1
  499. package/dist/components/menus/Result/MedalBronze.d.ts +2 -2
  500. package/dist/components/menus/Result/MedalBronze.js +2 -17
  501. package/dist/components/menus/Result/MedalBronze.js.map +1 -1
  502. package/dist/components/menus/Result/MedalGold.d.ts +2 -2
  503. package/dist/components/menus/Result/MedalGold.js +2 -17
  504. package/dist/components/menus/Result/MedalGold.js.map +1 -1
  505. package/dist/components/menus/Result/MedalSilver.d.ts +2 -2
  506. package/dist/components/menus/Result/MedalSilver.js +2 -17
  507. package/dist/components/menus/Result/MedalSilver.js.map +1 -1
  508. package/dist/components/menus/Result/ResultButton.d.ts +2 -2
  509. package/dist/components/menus/Result/ResultButton.js +10 -25
  510. package/dist/components/menus/Result/ResultButton.js.map +1 -1
  511. package/dist/components/menus/Result/ResultPopButton.d.ts +2 -2
  512. package/dist/components/menus/Result/ResultPopButton.js +48 -37
  513. package/dist/components/menus/Result/ResultPopButton.js.map +1 -1
  514. package/dist/components/menus/Result/index.d.ts +3 -3
  515. package/dist/components/menus/Result/index.js +3 -19
  516. package/dist/components/menus/Result/index.js.map +1 -1
  517. package/dist/components/menus/SoundButton/SoundButton.d.ts +1 -1
  518. package/dist/components/menus/SoundButton/SoundButton.js +13 -28
  519. package/dist/components/menus/SoundButton/SoundButton.js.map +1 -1
  520. package/dist/components/menus/SoundButton/index.d.ts +1 -1
  521. package/dist/components/menus/SoundButton/index.js +1 -17
  522. package/dist/components/menus/SoundButton/index.js.map +1 -1
  523. package/dist/components/menus/TimeStatsButton/TimeStatsButton.d.ts +1 -1
  524. package/dist/components/menus/TimeStatsButton/TimeStatsButton.js +80 -93
  525. package/dist/components/menus/TimeStatsButton/TimeStatsButton.js.map +1 -1
  526. package/dist/components/menus/TimeStatsButton/index.d.ts +1 -1
  527. package/dist/components/menus/TimeStatsButton/index.js +1 -17
  528. package/dist/components/menus/TimeStatsButton/index.js.map +1 -1
  529. package/dist/components/menus/UndoButton/UndoButton.d.ts +1 -1
  530. package/dist/components/menus/UndoButton/UndoButton.js +13 -44
  531. package/dist/components/menus/UndoButton/UndoButton.js.map +1 -1
  532. package/dist/components/menus/UndoButton/UndoPopButton.d.ts +1 -1
  533. package/dist/components/menus/UndoButton/UndoPopButton.js +26 -51
  534. package/dist/components/menus/UndoButton/UndoPopButton.js.map +1 -1
  535. package/dist/components/menus/UndoButton/index.d.ts +2 -2
  536. package/dist/components/menus/UndoButton/index.js +2 -18
  537. package/dist/components/menus/UndoButton/index.js.map +1 -1
  538. package/dist/components/menus/index.d.ts +6 -6
  539. package/dist/components/menus/index.js +6 -22
  540. package/dist/components/menus/index.js.map +1 -1
  541. package/dist/components/menus/menuCss.d.ts +9 -9
  542. package/dist/components/menus/menuCss.js +102 -19
  543. package/dist/components/menus/menuCss.js.map +1 -1
  544. package/dist/components/tutorial/MaterialTutorial.d.ts +43 -43
  545. package/dist/components/tutorial/MaterialTutorial.js +32 -40
  546. package/dist/components/tutorial/MaterialTutorial.js.map +1 -1
  547. package/dist/components/tutorial/MaterialTutorialDisplay.d.ts +1 -1
  548. package/dist/components/tutorial/MaterialTutorialDisplay.js +97 -112
  549. package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -1
  550. package/dist/components/tutorial/TutorialRulesWrapper.d.ts +3 -3
  551. package/dist/components/tutorial/TutorialRulesWrapper.js +133 -146
  552. package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -1
  553. package/dist/components/tutorial/index.d.ts +1 -1
  554. package/dist/components/tutorial/index.js +1 -17
  555. package/dist/components/tutorial/index.js.map +1 -1
  556. package/dist/css/GameTheme.d.ts +23 -23
  557. package/dist/css/GameTheme.js +18 -21
  558. package/dist/css/GameTheme.js.map +1 -1
  559. package/dist/css/addStylesheetUrl.d.ts +1 -1
  560. package/dist/css/addStylesheetUrl.js +6 -10
  561. package/dist/css/addStylesheetUrl.js.map +1 -1
  562. package/dist/css/backgroundCss.d.ts +1 -1
  563. package/dist/css/backgroundCss.js +5 -11
  564. package/dist/css/backgroundCss.js.map +1 -1
  565. package/dist/css/buttonCss.d.ts +3 -3
  566. package/dist/css/buttonCss.js +45 -13
  567. package/dist/css/buttonCss.js.map +1 -1
  568. package/dist/css/componentSizeCss.d.ts +5 -5
  569. package/dist/css/componentSizeCss.js +17 -22
  570. package/dist/css/componentSizeCss.js.map +1 -1
  571. package/dist/css/cursorCss.d.ts +3 -3
  572. package/dist/css/cursorCss.js +10 -12
  573. package/dist/css/cursorCss.js.map +1 -1
  574. package/dist/css/fadeIn.d.ts +1 -1
  575. package/dist/css/fadeIn.js +9 -12
  576. package/dist/css/fadeIn.js.map +1 -1
  577. package/dist/css/index.d.ts +10 -10
  578. package/dist/css/index.js +10 -26
  579. package/dist/css/index.js.map +1 -1
  580. package/dist/css/shadowEffect.d.ts +1 -1
  581. package/dist/css/shadowEffect.js +15 -10
  582. package/dist/css/shadowEffect.js.map +1 -1
  583. package/dist/css/shineEffect.d.ts +1 -1
  584. package/dist/css/shineEffect.js +31 -11
  585. package/dist/css/shineEffect.js.map +1 -1
  586. package/dist/css/transformCss.d.ts +2 -2
  587. package/dist/css/transformCss.js +7 -18
  588. package/dist/css/transformCss.js.map +1 -1
  589. package/dist/hooks/index.d.ts +26 -27
  590. package/dist/hooks/index.js +26 -43
  591. package/dist/hooks/index.js.map +1 -1
  592. package/dist/hooks/useActions.d.ts +2 -2
  593. package/dist/hooks/useActions.js +2 -8
  594. package/dist/hooks/useActions.js.map +1 -1
  595. package/dist/hooks/useAnimations.d.ts +4 -4
  596. package/dist/hooks/useAnimations.js +24 -58
  597. package/dist/hooks/useAnimations.js.map +1 -1
  598. package/dist/hooks/useDraggedItem.d.ts +2 -2
  599. package/dist/hooks/useDraggedItem.js +14 -34
  600. package/dist/hooks/useDraggedItem.js.map +1 -1
  601. package/dist/hooks/useFlatHistory.d.ts +13 -13
  602. package/dist/hooks/useFlatHistory.js +91 -162
  603. package/dist/hooks/useFlatHistory.js.map +1 -1
  604. package/dist/hooks/useFullscreen.d.ts +5 -5
  605. package/dist/hooks/useFullscreen.js +28 -51
  606. package/dist/hooks/useFullscreen.js.map +1 -1
  607. package/dist/hooks/useGame.d.ts +1 -1
  608. package/dist/hooks/useGame.js +4 -8
  609. package/dist/hooks/useGame.js.map +1 -1
  610. package/dist/hooks/useGiveUp.d.ts +1 -1
  611. package/dist/hooks/useGiveUp.js +11 -16
  612. package/dist/hooks/useGiveUp.js.map +1 -1
  613. package/dist/hooks/useItemLocations.d.ts +8 -8
  614. package/dist/hooks/useItemLocations.js +51 -126
  615. package/dist/hooks/useItemLocations.js.map +1 -1
  616. package/dist/hooks/useItemLocator.d.ts +2 -2
  617. package/dist/hooks/useItemLocator.js +4 -9
  618. package/dist/hooks/useItemLocator.js.map +1 -1
  619. package/dist/hooks/useKeyDown.d.ts +1 -1
  620. package/dist/hooks/useKeyDown.js +12 -16
  621. package/dist/hooks/useKeyDown.js.map +1 -1
  622. package/dist/hooks/useLegalMoves.d.ts +2 -2
  623. package/dist/hooks/useLegalMoves.js +14 -19
  624. package/dist/hooks/useLegalMoves.js.map +1 -1
  625. package/dist/hooks/useLocators.d.ts +1 -1
  626. package/dist/hooks/useLocators.js +3 -7
  627. package/dist/hooks/useLocators.js.map +1 -1
  628. package/dist/hooks/useMaterialContext.d.ts +2 -2
  629. package/dist/hooks/useMaterialContext.js +12 -17
  630. package/dist/hooks/useMaterialContext.js.map +1 -1
  631. package/dist/hooks/useMaterialDescription.d.ts +2 -2
  632. package/dist/hooks/useMaterialDescription.js +5 -10
  633. package/dist/hooks/useMaterialDescription.js.map +1 -1
  634. package/dist/hooks/useNow.d.ts +6 -6
  635. package/dist/hooks/useNow.js +16 -37
  636. package/dist/hooks/useNow.js.map +1 -1
  637. package/dist/hooks/useNumberOfPlayers.d.ts +1 -1
  638. package/dist/hooks/useNumberOfPlayers.js +2 -6
  639. package/dist/hooks/useNumberOfPlayers.js.map +1 -1
  640. package/dist/hooks/useOpponentWithMaxTime.d.ts +5 -5
  641. package/dist/hooks/useOpponentWithMaxTime.js +38 -60
  642. package/dist/hooks/useOpponentWithMaxTime.js.map +1 -1
  643. package/dist/hooks/usePlay.d.ts +2 -2
  644. package/dist/hooks/usePlay.js +7 -23
  645. package/dist/hooks/usePlay.js.map +1 -1
  646. package/dist/hooks/usePlayerId.d.ts +2 -2
  647. package/dist/hooks/usePlayerId.js +4 -10
  648. package/dist/hooks/usePlayerId.js.map +1 -1
  649. package/dist/hooks/usePlayerName.d.ts +1 -1
  650. package/dist/hooks/usePlayerName.js +20 -26
  651. package/dist/hooks/usePlayerName.js.map +1 -1
  652. package/dist/hooks/usePlayerTime.d.ts +1 -1
  653. package/dist/hooks/usePlayerTime.js +29 -50
  654. package/dist/hooks/usePlayerTime.js.map +1 -1
  655. package/dist/hooks/usePlayers.d.ts +8 -8
  656. package/dist/hooks/usePlayers.js +61 -95
  657. package/dist/hooks/usePlayers.js.map +1 -1
  658. package/dist/hooks/useRankedPlayers.d.ts +5 -5
  659. package/dist/hooks/useRankedPlayers.js +32 -37
  660. package/dist/hooks/useRankedPlayers.js.map +1 -1
  661. package/dist/hooks/useResultText.d.ts +1 -1
  662. package/dist/hooks/useResultText.js +67 -71
  663. package/dist/hooks/useResultText.js.map +1 -1
  664. package/dist/hooks/useRules.d.ts +2 -2
  665. package/dist/hooks/useRules.js +14 -18
  666. package/dist/hooks/useRules.js.map +1 -1
  667. package/dist/hooks/useSound.d.ts +1 -1
  668. package/dist/hooks/useSound.js +15 -35
  669. package/dist/hooks/useSound.js.map +1 -1
  670. package/dist/hooks/useStaticLocations.d.ts +2 -2
  671. package/dist/hooks/useStaticLocations.js +35 -102
  672. package/dist/hooks/useStaticLocations.js.map +1 -1
  673. package/dist/hooks/useTutorialStep.d.ts +2 -2
  674. package/dist/hooks/useTutorialStep.js +10 -14
  675. package/dist/hooks/useTutorialStep.js.map +1 -1
  676. package/dist/hooks/useUndo.d.ts +7 -7
  677. package/dist/hooks/useUndo.js +64 -102
  678. package/dist/hooks/useUndo.js.map +1 -1
  679. package/dist/hooks/useWebP.d.ts +1 -1
  680. package/dist/hooks/useWebP.js +12 -79
  681. package/dist/hooks/useWebP.js.map +1 -1
  682. package/dist/hooks/useZoomToElements.d.ts +13 -13
  683. package/dist/hooks/useZoomToElements.js +59 -92
  684. package/dist/hooks/useZoomToElements.js.map +1 -1
  685. package/dist/index.d.ts +6 -6
  686. package/dist/index.js +5 -23
  687. package/dist/index.js.map +1 -1
  688. package/dist/locators/DeckLocator.d.ts +10 -10
  689. package/dist/locators/DeckLocator.js +12 -34
  690. package/dist/locators/DeckLocator.js.map +1 -1
  691. package/dist/locators/FlexLocator.d.ts +57 -57
  692. package/dist/locators/FlexLocator.js +104 -117
  693. package/dist/locators/FlexLocator.js.map +1 -1
  694. package/dist/locators/HandLocator.d.ts +96 -96
  695. package/dist/locators/HandLocator.js +151 -176
  696. package/dist/locators/HandLocator.js.map +1 -1
  697. package/dist/locators/HexagonalGridLocator.d.ts +95 -95
  698. package/dist/locators/HexagonalGridLocator.js +250 -308
  699. package/dist/locators/HexagonalGridLocator.js.map +1 -1
  700. package/dist/locators/ListLocator.d.ts +54 -54
  701. package/dist/locators/ListLocator.js +109 -123
  702. package/dist/locators/ListLocator.js.map +1 -1
  703. package/dist/locators/Locator.d.ts +275 -275
  704. package/dist/locators/Locator.js +375 -421
  705. package/dist/locators/Locator.js.map +1 -1
  706. package/dist/locators/PileLocator.d.ts +53 -53
  707. package/dist/locators/PileLocator.js +123 -184
  708. package/dist/locators/PileLocator.js.map +1 -1
  709. package/dist/locators/index.d.ts +8 -8
  710. package/dist/locators/index.js +8 -24
  711. package/dist/locators/index.js.map +1 -1
  712. package/dist/locators/utils/getRelativePlayerIndex.util.d.ts +2 -2
  713. package/dist/locators/utils/getRelativePlayerIndex.util.js +8 -14
  714. package/dist/locators/utils/getRelativePlayerIndex.util.js.map +1 -1
  715. package/dist/locators/utils/index.d.ts +1 -1
  716. package/dist/locators/utils/index.js +1 -17
  717. package/dist/locators/utils/index.js.map +1 -1
  718. package/dist/utilities/DeepPartial.d.ts +6 -6
  719. package/dist/utilities/DeepPartial.js +1 -2
  720. package/dist/utilities/combineEventListeners.d.ts +7 -7
  721. package/dist/utilities/combineEventListeners.js +15 -49
  722. package/dist/utilities/combineEventListeners.js.map +1 -1
  723. package/dist/utilities/findIfUnique.util.d.ts +7 -7
  724. package/dist/utilities/findIfUnique.util.js +18 -22
  725. package/dist/utilities/findIfUnique.util.js.map +1 -1
  726. package/dist/utilities/index.d.ts +4 -4
  727. package/dist/utilities/index.js +4 -20
  728. package/dist/utilities/index.js.map +1 -1
  729. package/dist/utilities/translation.util.d.ts +10 -10
  730. package/dist/utilities/translation.util.js +27 -37
  731. package/dist/utilities/translation.util.js.map +1 -1
  732. package/dist/utilities/zoom-pan-pinch/animations.constants.d.ts +16 -16
  733. package/dist/utilities/zoom-pan-pinch/animations.constants.js +78 -81
  734. package/dist/utilities/zoom-pan-pinch/animations.constants.js.map +1 -1
  735. package/dist/utilities/zoom-pan-pinch/animations.util.d.ts +8 -8
  736. package/dist/utilities/zoom-pan-pinch/animations.util.js +71 -77
  737. package/dist/utilities/zoom-pan-pinch/animations.util.js.map +1 -1
  738. package/dist/utilities/zoom-pan-pinch/bounds.util.d.ts +17 -17
  739. package/dist/utilities/zoom-pan-pinch/bounds.util.js +75 -84
  740. package/dist/utilities/zoom-pan-pinch/bounds.util.js.map +1 -1
  741. package/dist/utilities/zoom-pan-pinch/calculation.util.d.ts +14 -14
  742. package/dist/utilities/zoom-pan-pinch/calculation.util.js +18 -23
  743. package/dist/utilities/zoom-pan-pinch/calculation.util.js.map +1 -1
  744. package/dist/utilities/zoom-pan-pinch/index.d.ts +9 -9
  745. package/dist/utilities/zoom-pan-pinch/index.js +9 -25
  746. package/dist/utilities/zoom-pan-pinch/index.js.map +1 -1
  747. package/dist/utilities/zoom-pan-pinch/zoom.util.d.ts +4 -4
  748. package/dist/utilities/zoom-pan-pinch/zoom.util.js +12 -16
  749. package/dist/utilities/zoom-pan-pinch/zoom.util.js.map +1 -1
  750. package/package.json +83 -77
@@ -1,422 +1,376 @@
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
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __values = (this && this.__values) || function(o) {
25
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
26
- if (m) return m.call(o);
27
- if (o && typeof o.length === "number") return {
28
- next: function () {
29
- if (o && i >= o.length) o = void 0;
30
- return { value: o && o[i++], done: !o };
31
- }
32
- };
33
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
34
- };
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getItemFromContext = exports.isItemContext = exports.Locator = void 0;
40
- /** @jsxImportSource @emotion/react */
41
- var rules_api_1 = require("@gamepark/rules-api");
42
- var isEqual_1 = __importDefault(require("lodash/isEqual"));
43
- var sumBy_1 = __importDefault(require("lodash/sumBy"));
44
- var uniqWith_1 = __importDefault(require("lodash/uniqWith"));
45
- var components_1 = require("../components");
46
- /**
47
- * A Locator is responsible for placing item and locations (such as drop areas) on the Game Table.
48
- */
49
- var Locator = /** @class */ (function () {
50
- /**
51
- * With the constructor, you can create new locators in one line.
52
- * @example `new Locator({ coordinates: { x: -10, y: -5 } })`
53
- * @param clone Object to clone into the class
54
- */
55
- function Locator(clone) {
56
- /**
57
- * Types of items placed by the locator since it was created
58
- * @internal
59
- * @protected
60
- */
61
- this.itemTypes = [];
62
- /**
63
- * The rotation unit to use. See {@link getRotateZ}
64
- */
65
- this.rotationUnit = 'deg';
66
- /**
67
- * Declare this field if you always need to display some locations that does not depend on the context. See {@link getLocations}.
68
- */
69
- this.locations = [];
70
- /**
71
- * Position of the location on the parent item, in percentage. Use {@link getPositionOnParent} to provide a dynamic position.
72
- */
73
- this.positionOnParent = { x: 50, y: 50 };
74
- /**
75
- * Coordinates of the location on the Game Table. Use {@link getCoordinates} to provide dynamic coordinates.
76
- */
77
- this.coordinates = { x: 0, y: 0, z: 0 };
78
- /**
79
- * The default Z-axis rotation of the items or locations to place if {@link getRotateZ} is not overridden.
80
- */
81
- this.rotateZ = 0;
82
- /**
83
- * How items in the same location area are sorted for the help dialog navigation arrows.
84
- */
85
- this.navigationSorts = [function (item) { var _a; return (_a = item.location.x) !== null && _a !== void 0 ? _a : 0; }, function (item) { var _a; return (_a = item.location.y) !== null && _a !== void 0 ? _a : 0; }, function (item) { var _a; return (_a = item.location.z) !== null && _a !== void 0 ? _a : 0; }];
86
- /**
87
- * If set to true, each time an item is dragged over
88
- */
89
- this.dropPreview = false;
90
- Object.assign(this, clone);
91
- }
92
- /**
93
- * Override this if you need to display some locations on the Game Table that depends on the context.
94
- * By default, return any {@link location} or {@link locations}.
95
- */
96
- Locator.prototype.getLocations = function (_context) {
97
- return this.location ? [this.location] : this.locations;
98
- };
99
- /**
100
- * @internal
101
- * This function automatically create some drop location descriptions based on the context (dragged item, parent item).
102
- *
103
- * Do not override it but use {@link locationDescription},
104
- * otherwise the images of the location descriptions will not be preloaded by the {@link MaterialImageLoader}.
105
- */
106
- Locator.prototype.getLocationDescription = function (location, context) {
107
- if (!this.locationDescription) {
108
- if (this.parentItemType !== undefined && location.x === undefined && location.y === undefined && location.z === undefined) {
109
- var material = context.material[this.parentItemType];
110
- if (material) {
111
- this.locationDescription = new components_1.DropAreaDescription(material);
112
- }
113
- }
114
- else if (isItemContext(context)) {
115
- return this.generateLocationDescriptionFromDraggedItem(location, context);
116
- }
117
- }
118
- return this.locationDescription;
119
- };
120
- /**
121
- * @internal This function provides a custom location description for the current dragged item.
122
- */
123
- Locator.prototype.generateLocationDescriptionFromDraggedItem = function (_location, context) {
124
- return new components_1.DropAreaDescription(context.material[context.type]);
125
- };
126
- /**
127
- * This function can hide some items on the game table depending on the context.
128
- * @param item The item
129
- * @param context The context of the item
130
- * @returns true if the item must be hidden
131
- */
132
- Locator.prototype.hide = function (item, context) {
133
- return this.limit !== undefined && this.getItemIndex(item, context) < 0;
134
- };
135
- /**
136
- * Provide a list of css transform operations to place a location on the game table.
137
- * @param location Location to place
138
- * @param context Context of the location in the game
139
- * @returns the css transform that will be applied to the location
140
- */
141
- Locator.prototype.placeLocation = function (location, context) {
142
- var transform = [];
143
- var _a = this.getLocationCoordinates(location, context), _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, _d = _a.z, z = _d === void 0 ? 0 : _d;
144
- if (x || y || z) {
145
- transform.push("translate3d(".concat(x, "em, ").concat(y, "em, ").concat(z, "em)"));
146
- }
147
- var rotateZ = this.getRotateZ(location, context);
148
- if (rotateZ) {
149
- transform.push("rotateZ(".concat(rotateZ).concat(this.rotationUnit, ")"));
150
- }
151
- if (context.canDrop)
152
- transform.push('translateZ(5em)');
153
- return transform;
154
- };
155
- /**
156
- * Provide a list of css transform operations to place an item on the game table.
157
- * @param item Item to place
158
- * @param context Context of the item in the game
159
- * @returns the css transform that will be applied to the item
160
- */
161
- Locator.prototype.placeItem = function (item, context) {
162
- if (!this.itemTypes.includes(context.type)) {
163
- this.itemTypes.push(context.type);
164
- }
165
- var transform = this.placeItemOnParent(item, context);
166
- var _a = this.getItemCoordinates(item, context), _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, _d = _a.z, z = _d === void 0 ? 0 : _d;
167
- if (x || y || z) {
168
- transform.push("translate3d(".concat(x, "em, ").concat(y, "em, ").concat(z, "em)"));
169
- }
170
- var rotateZ = this.getItemRotateZ(item, context);
171
- if (rotateZ) {
172
- transform.push("rotateZ(".concat(rotateZ).concat(this.rotationUnit, ")"));
173
- }
174
- return transform;
175
- };
176
- /**
177
- * Provide a list of css transform operations to place an item on a parent item.
178
- * @param item Item to place
179
- * @param context Context of the item in the game
180
- * @returns the css transform that will be applied to the item
181
- */
182
- Locator.prototype.placeItemOnParent = function (item, context) {
183
- var _a;
184
- var parentItem = this.getParentItem(item.location, context);
185
- if (this.parentItemType === undefined || !parentItem)
186
- return [];
187
- var locator = context.locators[parentItem.location.type];
188
- var parentContext = __assign(__assign({}, context), { type: this.parentItemType, displayIndex: 0 });
189
- var transform = (_a = locator === null || locator === void 0 ? void 0 : locator.placeItem(parentItem, parentContext)) !== null && _a !== void 0 ? _a : [];
190
- var parentMaterial = context.material[this.parentItemType];
191
- var _b = this.getPositionOnParent(item.location, context), x = _b.x, y = _b.y;
192
- if (parentMaterial && (x !== 0 || y !== 0)) {
193
- var _c = parentMaterial.getSize(parentItem.id), width = _c.width, height = _c.height;
194
- transform.push("translate3d(".concat(width * (x - 50) / 100, "em, ").concat(height * (y - 50) / 100, "em, ").concat(parentMaterial.getThickness(parentItem, parentContext), "em)"));
195
- }
196
- return transform;
197
- };
198
- /**
199
- * If a location belongs to an item, returns the item
200
- * @param location A location
201
- * @param context Context of the game
202
- * @returns the parent item of the location if any
203
- */
204
- Locator.prototype.getParentItem = function (location, context) {
205
- var _a;
206
- var rules = context.rules, material = context.material;
207
- if (this.parentItemType === undefined)
208
- return undefined;
209
- if (location.parent === undefined)
210
- return (_a = material[this.parentItemType]) === null || _a === void 0 ? void 0 : _a.staticItem;
211
- return rules.material(this.parentItemType).getItem(location.parent);
212
- };
213
- /**
214
- * Place the center of the item in the plan of their parent item. This is ignored if "parentItemType" is undefined.
215
- * Examples: {x: 0, y: 0} places the center of the item in the top-left corner of the parent item
216
- * {x: 50, y: 50} centers the item in the parent item.
217
- *
218
- * @param _location Location of the item or area inside the parent item
219
- * @param _context THe material game context
220
- * @return {x, y} with "x" as a percentage from the parent's width, "y" a percentage of the height
221
- */
222
- Locator.prototype.getPositionOnParent = function (_location, _context) {
223
- return this.positionOnParent;
224
- };
225
- /**
226
- * Provide the coordinates of a location on the Game Table.
227
- *
228
- * Called by {@link getLocationCoordinates} but can be used as the Hand, List or Pile "initial" position in subclasses.
229
- *
230
- * @param _location Location to position
231
- * @param _context Context of the game
232
- * @returns the x, y, z coordinates (in cm) of the location
233
- */
234
- Locator.prototype.getCoordinates = function (_location, _context) {
235
- return this.coordinates;
236
- };
237
- /**
238
- * Provide the coordinates of a location on the Game Table.
239
- *
240
- * Fallback to {@link getCoordinates} but the differences appear in subclasses {@link ListLocator}, {@link PileLocator}, {@link HandLocator}.
241
- *
242
- * @param location Location to position
243
- * @param context Context of the game
244
- * @returns the x, y, z coordinates (in cm) of the location
245
- */
246
- Locator.prototype.getLocationCoordinates = function (location, context) {
247
- return this.getCoordinates(location, context);
248
- };
249
- /**
250
- * Provide the coordinates of the center of an item on the Game Table.
251
- *
252
- * @param item Item being placed
253
- * @param context Context of the item in the game
254
- * @return The x, y, z coordinates in cm of the center of the item on the table
255
- */
256
- Locator.prototype.getItemCoordinates = function (item, context) {
257
- return this.getLocationCoordinates(item.location, context);
258
- };
259
- /**
260
- * Get the Z-axis rotation of a location.
261
- * @param _location Location to place
262
- * @param _context Context of the location
263
- * @returns the rotation (unit in {@link rotationUnit})
264
- */
265
- Locator.prototype.getRotateZ = function (_location, _context) {
266
- return this.rotateZ;
267
- };
268
- /**
269
- * Get the Z-axis rotation of an item. Defaults to {@link getRotateZ}.
270
- * @param item item to place
271
- * @param context Context of the item
272
- * @returns the rotation (unit in {@link rotationUnit})
273
- */
274
- Locator.prototype.getItemRotateZ = function (item, context) {
275
- return this.getRotateZ(item.location, context);
276
- };
277
- /**
278
- * The index of a location to place, if it matters in the locator's context (see {@link HandLocator}, {@link ListLocator} or {@link PileLocator}).
279
- *
280
- * Defaults to location.x first, y otherwise, z last.
281
- *
282
- * @param location Location to index in the location area (see {@link isSameLocationArea})
283
- * @param _context Context of the game
284
- * @returns the index of the location in the location area
285
- */
286
- Locator.prototype.getLocationIndex = function (location, _context) {
287
- var _a, _b;
288
- return (_b = (_a = location.x) !== null && _a !== void 0 ? _a : location.y) !== null && _b !== void 0 ? _b : location.z;
289
- };
290
- /**
291
- * Index of an item to place (fallback to {@link getLocationIndex} or item's displayIndex).
292
- * @param item Item to place
293
- * @param context Context of the item
294
- * @returns the index of the item in the location area
295
- */
296
- Locator.prototype.getItemIndex = function (item, context) {
297
- var _a;
298
- var index = (_a = this.getLocationIndex(item.location, context)) !== null && _a !== void 0 ? _a : context.displayIndex;
299
- if (this.limit === undefined)
300
- return index;
301
- var count = this.countItems(item.location, context);
302
- if (count <= this.limit)
303
- return index;
304
- return this.limit - count + index;
305
- };
306
- /**
307
- * The total number of items in the same location area (see {@link isSameLocationArea}).
308
- *
309
- * @param location the location area
310
- * @param context Context of the game
311
- * @returns the total number of items in the location area
312
- */
313
- Locator.prototype.countItems = function (location, _a) {
314
- var rules = _a.rules;
315
- return (0, sumBy_1.default)(this.itemTypes, function (type) { return rules.material(type).location(function (itemLocation) { return (0, rules_api_1.isSameLocationArea)(itemLocation, location); }).getQuantity(); });
316
- };
317
- /**
318
- * Any css transform to apply to the item when it is hovered by the pointer. See {@link HandLocator} override for example.
319
- * @param _item The item
320
- * @param _context Context of the item
321
- * @returns the list of css transforms
322
- */
323
- Locator.prototype.getHoverTransform = function (_item, _context) {
324
- return [];
325
- };
326
- /**
327
- * How items in the same location area are sorted for the help dialog navigation arrows.
328
- * @param _context Context of the game
329
- * @returns The list of sort functions to sort the items.
330
- */
331
- Locator.prototype.getNavigationSorts = function (_context) {
332
- return this.navigationSorts;
333
- };
334
- /**
335
- * Utility function for animation to know if the item is one that should be animated.
336
- * @param item Item to consider
337
- * @param context Context of the Item
338
- * @param move Move to animate
339
- * @returns true if the items must be animated
340
- */
341
- Locator.prototype.isItemToAnimate = function (item, context, move) {
342
- var e_1, _a;
343
- var _b, _c, _d;
344
- var rules = context.rules, type = context.type, index = context.index, displayIndex = context.displayIndex;
345
- if (move.itemType !== type || move.itemIndex !== index)
346
- return false;
347
- var quantity = (_b = item.quantity) !== null && _b !== void 0 ? _b : 1;
348
- var movedQuantity = (_c = move.quantity) !== null && _c !== void 0 ? _c : 1;
349
- if (quantity === movedQuantity)
350
- return true;
351
- // If we move only a part of the quantity, we need to find which displayed items should move
352
- var droppedItems = (_d = rules.game.droppedItems) !== null && _d !== void 0 ? _d : [];
353
- var displayIndexMoving = quantity - movedQuantity;
354
- try {
355
- for (var droppedItems_1 = __values(droppedItems), droppedItems_1_1 = droppedItems_1.next(); !droppedItems_1_1.done; droppedItems_1_1 = droppedItems_1.next()) {
356
- var droppedItem = droppedItems_1_1.value;
357
- if (droppedItem.type === type && droppedItem.index === index) {
358
- var droppedIndex = droppedItem.displayIndex;
359
- if (displayIndex === droppedIndex)
360
- return true;
361
- if (droppedIndex < displayIndexMoving)
362
- displayIndexMoving++;
363
- }
364
- }
365
- }
366
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
367
- finally {
368
- try {
369
- if (droppedItems_1_1 && !droppedItems_1_1.done && (_a = droppedItems_1.return)) _a.call(droppedItems_1);
370
- }
371
- finally { if (e_1) throw e_1.error; }
372
- }
373
- return context.displayIndex >= displayIndexMoving;
374
- };
375
- /**
376
- * Given an item being dragged, and all the moves for this item going to this location type, this function must return the list of valid drop locations
377
- * for the item
378
- * @param moves Legal movements for the item
379
- * @param context Context of the item
380
- * @return the drop locations to display
381
- */
382
- Locator.prototype.getDropLocations = function (moves, context) {
383
- return (0, uniqWith_1.default)(moves.map(function (move) {
384
- var _a;
385
- var _b = move.location, rotation = _b.rotation, location = __rest(_b, ["rotation"]);
386
- var itemIndex = (0, rules_api_1.isMoveItem)(move) ? move.itemIndex : move.indexes[0];
387
- var type = (_a = location.type) !== null && _a !== void 0 ? _a : context.rules.material(move.itemType).getItem(itemIndex).location.type;
388
- return __assign({ type: type }, location);
389
- }), isEqual_1.default);
390
- };
391
- /**
392
- * If this function returns true, a preview of the dragged item will be displayed when it is over this location.
393
- * @param _move The move that will be played if the item is dropped
394
- * @param _context Context of the game
395
- * @return true if a preview must be displayed
396
- */
397
- Locator.prototype.showDropPreview = function (_move, _context) {
398
- return this.dropPreview;
399
- };
400
- return Locator;
401
- }());
402
- exports.Locator = Locator;
403
- /**
404
- * Type guard to test if some MaterialContext is also an item context.
405
- * @param context Context of the game
406
- * @returns true if the context also hold information about a specific item in the game.
407
- */
408
- function isItemContext(context) {
409
- var itemContext = context;
410
- return itemContext.type !== undefined && itemContext.index !== undefined && itemContext.displayIndex !== undefined;
411
- }
412
- exports.isItemContext = isItemContext;
413
- /**
414
- * Help function to get an item from an ItemContext
415
- * @param context Context of the item
416
- * @return The item
417
- */
418
- function getItemFromContext(context) {
419
- return context.rules.material(context.type).getItem(context.index);
420
- }
421
- exports.getItemFromContext = getItemFromContext;
1
+ /** @jsxImportSource @emotion/react */
2
+ import { isMoveItem, isSameLocationArea } from '@gamepark/rules-api';
3
+ import { isEqual, sumBy, uniqWith } from 'es-toolkit';
4
+ import { DropAreaDescription } from '../components';
5
+ /**
6
+ * A Locator is responsible for placing item and locations (such as drop areas) on the Game Table.
7
+ */
8
+ export class Locator {
9
+ /**
10
+ * With the constructor, you can create new locators in one line.
11
+ * @example `new Locator({ coordinates: { x: -10, y: -5 } })`
12
+ * @param clone Object to clone into the class
13
+ */
14
+ constructor(clone) {
15
+ Object.assign(this, clone);
16
+ }
17
+ /**
18
+ * Types of items placed by the locator since it was created
19
+ * @internal
20
+ * @protected
21
+ */
22
+ itemTypes = [];
23
+ /**
24
+ * If the locator places items on top of another item (a game board for instance), the type of the parent item must be provided here.
25
+ */
26
+ parentItemType;
27
+ /**
28
+ * The maximum number of items do display.
29
+ */
30
+ limit;
31
+ /**
32
+ * The rotation unit to use. See {@link getRotateZ}
33
+ */
34
+ rotationUnit = 'deg';
35
+ /**
36
+ * Declare this field if you always need to display one location that does not depend on the context. See {@link getLocations}.
37
+ */
38
+ location;
39
+ /**
40
+ * Declare this field if you always need to display some locations that does not depend on the context. See {@link getLocations}.
41
+ */
42
+ locations = [];
43
+ /**
44
+ * Override this if you need to display some locations on the Game Table that depends on the context.
45
+ * By default, return any {@link location} or {@link locations}.
46
+ */
47
+ getLocations(_context) {
48
+ return this.location ? [this.location] : this.locations;
49
+ }
50
+ /**
51
+ * If you need do display custom locations in the game, provide their description here.
52
+ */
53
+ locationDescription;
54
+ /**
55
+ * @internal
56
+ * This function automatically create some drop location descriptions based on the context (dragged item, parent item).
57
+ *
58
+ * Do not override it but use {@link locationDescription},
59
+ * otherwise the images of the location descriptions will not be preloaded by the {@link MaterialImageLoader}.
60
+ */
61
+ getLocationDescription(location, context) {
62
+ if (!this.locationDescription) {
63
+ if (this.parentItemType !== undefined && location.x === undefined && location.y === undefined && location.z === undefined) {
64
+ const material = context.material[this.parentItemType];
65
+ if (material) {
66
+ this.locationDescription = new DropAreaDescription(material);
67
+ }
68
+ }
69
+ else if (isItemContext(context)) {
70
+ return this.generateLocationDescriptionFromDraggedItem(location, context);
71
+ }
72
+ }
73
+ return this.locationDescription;
74
+ }
75
+ /**
76
+ * @internal This function provides a custom location description for the current dragged item.
77
+ */
78
+ generateLocationDescriptionFromDraggedItem(_location, context) {
79
+ return new DropAreaDescription(context.material[context.type]);
80
+ }
81
+ /**
82
+ * This function can hide some items on the game table depending on the context.
83
+ * @param item The item
84
+ * @param context The context of the item
85
+ * @returns true if the item must be hidden
86
+ */
87
+ hide(item, context) {
88
+ return this.limit !== undefined && this.getItemIndex(item, context) < 0;
89
+ }
90
+ /**
91
+ * Provide a list of css transform operations to place a location on the game table.
92
+ * @param location Location to place
93
+ * @param context Context of the location in the game
94
+ * @returns the css transform that will be applied to the location
95
+ */
96
+ placeLocation(location, context) {
97
+ const transform = [];
98
+ const { x = 0, y = 0, z = 0 } = this.getLocationCoordinates(location, context);
99
+ if (x || y || z) {
100
+ transform.push(`translate3d(${x}em, ${y}em, ${z}em)`);
101
+ }
102
+ const rotateZ = this.getRotateZ(location, context);
103
+ if (rotateZ) {
104
+ transform.push(`rotateZ(${rotateZ}${this.rotationUnit})`);
105
+ }
106
+ if (context.canDrop)
107
+ transform.push('translateZ(5em)');
108
+ return transform;
109
+ }
110
+ /**
111
+ * Provide a list of css transform operations to place an item on the game table.
112
+ * @param item Item to place
113
+ * @param context Context of the item in the game
114
+ * @returns the css transform that will be applied to the item
115
+ */
116
+ placeItem(item, context) {
117
+ if (!this.itemTypes.includes(context.type)) {
118
+ this.itemTypes.push(context.type);
119
+ }
120
+ const transform = this.placeItemOnParent(item, context);
121
+ const { x = 0, y = 0, z = 0 } = this.getItemCoordinates(item, context);
122
+ if (x || y || z) {
123
+ transform.push(`translate3d(${x}em, ${y}em, ${z}em)`);
124
+ }
125
+ const rotateZ = this.getItemRotateZ(item, context);
126
+ if (rotateZ) {
127
+ transform.push(`rotateZ(${rotateZ}${this.rotationUnit})`);
128
+ }
129
+ return transform;
130
+ }
131
+ /**
132
+ * Provide a list of css transform operations to place an item on a parent item.
133
+ * @param item Item to place
134
+ * @param context Context of the item in the game
135
+ * @returns the css transform that will be applied to the item
136
+ */
137
+ placeItemOnParent(item, context) {
138
+ const parentItem = this.getParentItem(item.location, context);
139
+ if (this.parentItemType === undefined || !parentItem)
140
+ return [];
141
+ const locator = context.locators[parentItem.location.type];
142
+ const parentContext = { ...context, type: this.parentItemType, displayIndex: 0 };
143
+ const transform = locator?.placeItem(parentItem, parentContext) ?? [];
144
+ const parentMaterial = context.material[this.parentItemType];
145
+ const { x, y } = this.getPositionOnParent(item.location, context);
146
+ if (parentMaterial && (x !== 0 || y !== 0)) {
147
+ const { width, height } = parentMaterial.getSize(parentItem.id);
148
+ transform.push(`translate3d(${width * (x - 50) / 100}em, ${height * (y - 50) / 100}em, ${parentMaterial.getThickness(parentItem, parentContext)}em)`);
149
+ }
150
+ return transform;
151
+ }
152
+ /**
153
+ * If a location belongs to an item, returns the item
154
+ * @param location A location
155
+ * @param context Context of the game
156
+ * @returns the parent item of the location if any
157
+ */
158
+ getParentItem(location, context) {
159
+ const { rules, material } = context;
160
+ if (this.parentItemType === undefined)
161
+ return undefined;
162
+ if (location.parent === undefined)
163
+ return material[this.parentItemType]?.staticItem;
164
+ return rules.material(this.parentItemType).getItem(location.parent);
165
+ }
166
+ /**
167
+ * Position of the location on the parent item, in percentage. Use {@link getPositionOnParent} to provide a dynamic position.
168
+ */
169
+ positionOnParent = { x: 50, y: 50 };
170
+ /**
171
+ * Place the center of the item in the plan of their parent item. This is ignored if "parentItemType" is undefined.
172
+ * Examples: {x: 0, y: 0} places the center of the item in the top-left corner of the parent item
173
+ * {x: 50, y: 50} centers the item in the parent item.
174
+ *
175
+ * @param _location Location of the item or area inside the parent item
176
+ * @param _context THe material game context
177
+ * @return {x, y} with "x" as a percentage from the parent's width, "y" a percentage of the height
178
+ */
179
+ getPositionOnParent(_location, _context) {
180
+ return this.positionOnParent;
181
+ }
182
+ /**
183
+ * Coordinates of the location on the Game Table. Use {@link getCoordinates} to provide dynamic coordinates.
184
+ */
185
+ coordinates = { x: 0, y: 0, z: 0 };
186
+ /**
187
+ * Provide the coordinates of a location on the Game Table.
188
+ *
189
+ * Called by {@link getLocationCoordinates} but can be used as the Hand, List or Pile "initial" position in subclasses.
190
+ *
191
+ * @param _location Location to position
192
+ * @param _context Context of the game
193
+ * @returns the x, y, z coordinates (in cm) of the location
194
+ */
195
+ getCoordinates(_location, _context) {
196
+ return this.coordinates;
197
+ }
198
+ /**
199
+ * Provide the coordinates of a location on the Game Table.
200
+ *
201
+ * Fallback to {@link getCoordinates} but the differences appear in subclasses {@link ListLocator}, {@link PileLocator}, {@link HandLocator}.
202
+ *
203
+ * @param location Location to position
204
+ * @param context Context of the game
205
+ * @returns the x, y, z coordinates (in cm) of the location
206
+ */
207
+ getLocationCoordinates(location, context) {
208
+ return this.getCoordinates(location, context);
209
+ }
210
+ /**
211
+ * Provide the coordinates of the center of an item on the Game Table.
212
+ *
213
+ * @param item Item being placed
214
+ * @param context Context of the item in the game
215
+ * @return The x, y, z coordinates in cm of the center of the item on the table
216
+ */
217
+ getItemCoordinates(item, context) {
218
+ return this.getLocationCoordinates(item.location, context);
219
+ }
220
+ /**
221
+ * The default Z-axis rotation of the items or locations to place if {@link getRotateZ} is not overridden.
222
+ */
223
+ rotateZ = 0;
224
+ /**
225
+ * Get the Z-axis rotation of a location.
226
+ * @param _location Location to place
227
+ * @param _context Context of the location
228
+ * @returns the rotation (unit in {@link rotationUnit})
229
+ */
230
+ getRotateZ(_location, _context) {
231
+ return this.rotateZ;
232
+ }
233
+ /**
234
+ * Get the Z-axis rotation of an item. Defaults to {@link getRotateZ}.
235
+ * @param item item to place
236
+ * @param context Context of the item
237
+ * @returns the rotation (unit in {@link rotationUnit})
238
+ */
239
+ getItemRotateZ(item, context) {
240
+ return this.getRotateZ(item.location, context);
241
+ }
242
+ /**
243
+ * The index of a location to place, if it matters in the locator's context (see {@link HandLocator}, {@link ListLocator} or {@link PileLocator}).
244
+ *
245
+ * Defaults to location.x first, y otherwise, z last.
246
+ *
247
+ * @param location Location to index in the location area (see {@link isSameLocationArea})
248
+ * @param _context Context of the game
249
+ * @returns the index of the location in the location area
250
+ */
251
+ getLocationIndex(location, _context) {
252
+ return location.x ?? location.y ?? location.z;
253
+ }
254
+ /**
255
+ * Index of an item to place (fallback to {@link getLocationIndex} or item's displayIndex).
256
+ * @param item Item to place
257
+ * @param context Context of the item
258
+ * @returns the index of the item in the location area
259
+ */
260
+ getItemIndex(item, context) {
261
+ const index = this.getLocationIndex(item.location, context) ?? context.displayIndex;
262
+ if (this.limit === undefined)
263
+ return index;
264
+ const count = this.countItems(item.location, context);
265
+ if (count <= this.limit)
266
+ return index;
267
+ return this.limit - count + index;
268
+ }
269
+ /**
270
+ * The total number of items in the same location area (see {@link isSameLocationArea}).
271
+ *
272
+ * @param location the location area
273
+ * @param context Context of the game
274
+ * @returns the total number of items in the location area
275
+ */
276
+ countItems(location, { rules }) {
277
+ return sumBy(this.itemTypes, type => rules.material(type).location(itemLocation => isSameLocationArea(itemLocation, location)).getQuantity());
278
+ }
279
+ /**
280
+ * Any css transform to apply to the item when it is hovered by the pointer. See {@link HandLocator} override for example.
281
+ * @param _item The item
282
+ * @param _context Context of the item
283
+ * @returns the list of css transforms
284
+ */
285
+ getHoverTransform(_item, _context) {
286
+ return [];
287
+ }
288
+ /**
289
+ * How items in the same location area are sorted for the help dialog navigation arrows.
290
+ */
291
+ navigationSorts = [(item) => item.location.x ?? 0, (item) => item.location.y ?? 0, (item) => item.location.z ?? 0];
292
+ /**
293
+ * How items in the same location area are sorted for the help dialog navigation arrows.
294
+ * @param _context Context of the game
295
+ * @returns The list of sort functions to sort the items.
296
+ */
297
+ getNavigationSorts(_context) {
298
+ return this.navigationSorts;
299
+ }
300
+ /**
301
+ * Utility function for animation to know if the item is one that should be animated.
302
+ * @param item Item to consider
303
+ * @param context Context of the Item
304
+ * @param move Move to animate
305
+ * @returns true if the items must be animated
306
+ */
307
+ isItemToAnimate(item, context, move) {
308
+ const { rules, type, index, displayIndex } = context;
309
+ if (move.itemType !== type || move.itemIndex !== index)
310
+ return false;
311
+ const quantity = item.quantity ?? 1;
312
+ const movedQuantity = move.quantity ?? 1;
313
+ if (quantity === movedQuantity)
314
+ return true;
315
+ // If we move only a part of the quantity, we need to find which displayed items should move
316
+ const droppedItems = rules.game.droppedItems ?? [];
317
+ let displayIndexMoving = quantity - movedQuantity;
318
+ for (const droppedItem of droppedItems) {
319
+ if (droppedItem.type === type && droppedItem.index === index) {
320
+ const droppedIndex = droppedItem.displayIndex;
321
+ if (displayIndex === droppedIndex)
322
+ return true;
323
+ if (droppedIndex < displayIndexMoving)
324
+ displayIndexMoving++;
325
+ }
326
+ }
327
+ return context.displayIndex >= displayIndexMoving;
328
+ }
329
+ /**
330
+ * Given an item being dragged, and all the moves for this item going to this location type, this function must return the list of valid drop locations
331
+ * for the item
332
+ * @param moves Legal movements for the item
333
+ * @param context Context of the item
334
+ * @return the drop locations to display
335
+ */
336
+ getDropLocations(moves, context) {
337
+ return uniqWith(moves.map(move => {
338
+ const { rotation, ...location } = move.location;
339
+ const itemIndex = isMoveItem(move) ? move.itemIndex : move.indexes[0];
340
+ const type = location.type ?? context.rules.material(move.itemType).getItem(itemIndex).location.type;
341
+ return { type, ...location };
342
+ }), isEqual);
343
+ }
344
+ /**
345
+ * If set to true, each time an item is dragged over
346
+ */
347
+ dropPreview = false;
348
+ /**
349
+ * If this function returns true, a preview of the dragged item will be displayed when it is over this location.
350
+ * @param _move The move that will be played if the item is dropped
351
+ * @param _context Context of the game
352
+ * @return true if a preview must be displayed
353
+ */
354
+ showDropPreview(_move, _context) {
355
+ return this.dropPreview;
356
+ }
357
+ help;
358
+ }
359
+ /**
360
+ * Type guard to test if some MaterialContext is also an item context.
361
+ * @param context Context of the game
362
+ * @returns true if the context also hold information about a specific item in the game.
363
+ */
364
+ export function isItemContext(context) {
365
+ const itemContext = context;
366
+ return itemContext.type !== undefined && itemContext.index !== undefined && itemContext.displayIndex !== undefined;
367
+ }
368
+ /**
369
+ * Help function to get an item from an ItemContext
370
+ * @param context Context of the item
371
+ * @return The item
372
+ */
373
+ export function getItemFromContext(context) {
374
+ return context.rules.material(context.type).getItem(context.index);
375
+ }
422
376
  //# sourceMappingURL=Locator.js.map