@gamepark/react-game 6.0.0-alpha.0 → 6.2.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 (264) hide show
  1. package/dist/components/Avatar/Avatar.js +7 -5
  2. package/dist/components/Avatar/Avatar.js.map +1 -1
  3. package/dist/components/GameProvider/GameContext.d.ts +1 -0
  4. package/dist/components/GameProvider/GameContext.js.map +1 -1
  5. package/dist/components/GameProvider/GameProvider.d.ts +1 -1
  6. package/dist/components/GameProvider/GameProvider.js +13 -4
  7. package/dist/components/GameProvider/GameProvider.js.map +1 -1
  8. package/dist/components/ImagesLoader/ImagesLoader.d.ts +2 -3
  9. package/dist/components/ImagesLoader/ImagesLoader.js.map +1 -1
  10. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +25 -10
  11. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
  12. package/dist/components/dialogs/ResultDialog/ResultDialog.js +22 -17
  13. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
  14. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.d.ts +4 -9
  15. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +7 -7
  16. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
  17. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js +5 -17
  18. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js.map +1 -1
  19. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.d.ts +3 -6
  20. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +8 -8
  21. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
  22. package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +1 -0
  23. package/dist/components/dialogs/RulesDialog/RulesDialog.js +3 -3
  24. package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -1
  25. package/dist/components/index.d.ts +2 -0
  26. package/dist/components/index.js +2 -0
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/components/material/DraggableMaterial.d.ts +14 -11
  29. package/dist/components/material/DraggableMaterial.js +102 -48
  30. package/dist/components/material/DraggableMaterial.js.map +1 -1
  31. package/dist/components/material/FlatMaterial/BoardDescription.d.ts +3 -0
  32. package/dist/components/material/FlatMaterial/BoardDescription.js +28 -0
  33. package/dist/components/material/FlatMaterial/BoardDescription.js.map +1 -0
  34. package/dist/components/material/FlatMaterial/CardDescription.d.ts +6 -0
  35. package/dist/components/material/FlatMaterial/CardDescription.js +32 -0
  36. package/dist/components/material/FlatMaterial/CardDescription.js.map +1 -0
  37. package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +35 -0
  38. package/dist/components/material/FlatMaterial/FlatMaterial.js +128 -0
  39. package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -0
  40. package/dist/components/material/FlatMaterial/TokenDescription.d.ts +10 -0
  41. package/dist/components/material/FlatMaterial/TokenDescription.js +44 -0
  42. package/dist/components/material/FlatMaterial/TokenDescription.js.map +1 -0
  43. package/dist/components/material/FlatMaterial/index.d.ts +4 -0
  44. package/dist/components/material/{Card → FlatMaterial}/index.js +4 -1
  45. package/dist/components/material/FlatMaterial/index.js.map +1 -0
  46. package/dist/components/material/GameTable/GameMaterialDisplay.js +64 -45
  47. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  48. package/dist/components/material/GameTable/GameTable.d.ts +2 -2
  49. package/dist/components/material/GameTable/GameTable.js +64 -16
  50. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  51. package/dist/components/material/GameTable/GameTableContent.js +22 -7
  52. package/dist/components/material/GameTable/GameTableContent.js.map +1 -1
  53. package/dist/components/material/ImageLoader/MaterialImageLoader.d.ts +5 -0
  54. package/dist/components/material/ImageLoader/MaterialImageLoader.js +33 -0
  55. package/dist/components/material/ImageLoader/MaterialImageLoader.js.map +1 -0
  56. package/dist/components/material/ImageLoader/index.d.ts +1 -0
  57. package/dist/components/material/{Token → ImageLoader}/index.js +1 -1
  58. package/dist/components/material/ImageLoader/index.js.map +1 -0
  59. package/dist/components/material/MaterialAnimations.d.ts +11 -14
  60. package/dist/components/material/MaterialAnimations.js +129 -82
  61. package/dist/components/material/MaterialAnimations.js.map +1 -1
  62. package/dist/components/material/MaterialComponent.d.ts +5 -10
  63. package/dist/components/material/MaterialComponent.js +8 -53
  64. package/dist/components/material/MaterialComponent.js.map +1 -1
  65. package/dist/components/material/MaterialDescription.d.ts +31 -18
  66. package/dist/components/material/MaterialDescription.js +36 -0
  67. package/dist/components/material/MaterialDescription.js.map +1 -1
  68. package/dist/components/material/animations/CreateItemAnimations.d.ts +14 -0
  69. package/dist/components/material/animations/CreateItemAnimations.js +72 -0
  70. package/dist/components/material/animations/CreateItemAnimations.js.map +1 -0
  71. package/dist/components/material/animations/DeleteItemAnimations.d.ts +14 -0
  72. package/dist/components/material/animations/DeleteItemAnimations.js +80 -0
  73. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -0
  74. package/dist/components/material/animations/ItemAnimations.d.ts +7 -0
  75. package/dist/components/material/animations/ItemAnimations.js +31 -0
  76. package/dist/components/material/animations/ItemAnimations.js.map +1 -0
  77. package/dist/components/material/animations/MaterialAnimations.d.ts +19 -0
  78. package/dist/components/material/animations/MaterialAnimations.js +51 -0
  79. package/dist/components/material/animations/MaterialAnimations.js.map +1 -0
  80. package/dist/components/material/animations/MaterialGameAnimations.d.ts +11 -0
  81. package/dist/components/material/animations/MaterialGameAnimations.js +42 -0
  82. package/dist/components/material/animations/MaterialGameAnimations.js.map +1 -0
  83. package/dist/components/material/animations/MoveItemAnimations.d.ts +16 -0
  84. package/dist/components/material/animations/MoveItemAnimations.js +105 -0
  85. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -0
  86. package/dist/components/material/animations/ShuffleAnimations.d.ts +8 -0
  87. package/dist/components/material/animations/ShuffleAnimations.js +34 -0
  88. package/dist/components/material/animations/ShuffleAnimations.js.map +1 -0
  89. package/dist/components/material/animations/adjustRotation.d.ts +1 -0
  90. package/dist/components/material/animations/adjustRotation.js +37 -0
  91. package/dist/components/material/animations/adjustRotation.js.map +1 -0
  92. package/dist/components/material/animations/getFirstStockItemTransforms.util.d.ts +2 -0
  93. package/dist/components/material/animations/getFirstStockItemTransforms.util.js +32 -0
  94. package/dist/components/material/animations/getFirstStockItemTransforms.util.js.map +1 -0
  95. package/dist/components/material/animations/index.d.ts +9 -0
  96. package/dist/components/material/animations/index.js +29 -0
  97. package/dist/components/material/animations/index.js.map +1 -0
  98. package/dist/components/material/animations/isMovedOrDeletedItem.util.d.ts +3 -0
  99. package/dist/components/material/animations/isMovedOrDeletedItem.util.js +28 -0
  100. package/dist/components/material/animations/isMovedOrDeletedItem.util.js.map +1 -0
  101. package/dist/components/material/animations/itemMovementCss.util.d.ts +2 -0
  102. package/dist/components/material/animations/itemMovementCss.util.js +13 -0
  103. package/dist/components/material/animations/itemMovementCss.util.js.map +1 -0
  104. package/dist/components/material/animations/transformItem.util.d.ts +2 -0
  105. package/dist/components/material/animations/transformItem.util.js +11 -0
  106. package/dist/components/material/animations/transformItem.util.js.map +1 -0
  107. package/dist/components/material/index.d.ts +4 -7
  108. package/dist/components/material/index.js +4 -7
  109. package/dist/components/material/index.js.map +1 -1
  110. package/dist/components/material/locations/LocationDescription.d.ts +28 -0
  111. package/dist/components/material/locations/LocationDescription.js +54 -0
  112. package/dist/components/material/locations/LocationDescription.js.map +1 -0
  113. package/dist/components/material/locations/LocationsMask.d.ts +5 -0
  114. package/dist/components/material/locations/LocationsMask.js +48 -0
  115. package/dist/components/material/locations/LocationsMask.js.map +1 -0
  116. package/dist/components/material/locations/SimpleDropArea.d.ts +13 -0
  117. package/dist/components/material/{DropAreas → locations}/SimpleDropArea.js +44 -30
  118. package/dist/components/material/locations/SimpleDropArea.js.map +1 -0
  119. package/dist/components/material/locations/index.d.ts +3 -0
  120. package/dist/components/material/{Board → locations}/index.js +3 -1
  121. package/dist/components/material/locations/index.js.map +1 -0
  122. package/dist/components/material/utils/getItemFromContext.d.ts +3 -0
  123. package/dist/components/material/utils/getItemFromContext.js +10 -0
  124. package/dist/components/material/utils/getItemFromContext.js.map +1 -0
  125. package/dist/components/material/utils/index.d.ts +0 -3
  126. package/dist/components/material/utils/index.js +0 -3
  127. package/dist/components/material/utils/index.js.map +1 -1
  128. package/dist/components/material/utils/isDroppedItem.d.ts +2 -0
  129. package/dist/components/material/utils/isDroppedItem.js +15 -0
  130. package/dist/components/material/utils/isDroppedItem.js.map +1 -0
  131. package/dist/components/material/utils/isPlacedOnItem.d.ts +3 -0
  132. package/dist/components/material/utils/isPlacedOnItem.js +15 -0
  133. package/dist/components/material/utils/isPlacedOnItem.js.map +1 -0
  134. package/dist/components/material/utils/useIsAnimatingPlayerAction.d.ts +1 -0
  135. package/dist/components/material/utils/useIsAnimatingPlayerAction.js +10 -0
  136. package/dist/components/material/utils/useIsAnimatingPlayerAction.js.map +1 -0
  137. package/dist/components/menus/Menu/Menu.js +3 -3
  138. package/dist/components/menus/Menu/Menu.js.map +1 -1
  139. package/dist/components/menus/Result/ResultPopButton.js +1 -1
  140. package/dist/components/menus/Result/ResultPopButton.js.map +1 -1
  141. package/dist/components/tutorial/MaterialTutorial.d.ts +47 -0
  142. package/dist/components/tutorial/MaterialTutorial.js +95 -0
  143. package/dist/components/tutorial/MaterialTutorial.js.map +1 -0
  144. package/dist/components/tutorial/MaterialTutorialDisplay.d.ts +1 -0
  145. package/dist/components/tutorial/MaterialTutorialDisplay.js +73 -0
  146. package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -0
  147. package/dist/components/tutorial/TutorialRulesWrapper.d.ts +3 -0
  148. package/dist/components/tutorial/TutorialRulesWrapper.js +60 -0
  149. package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -0
  150. package/dist/components/tutorial/index.d.ts +1 -0
  151. package/dist/components/{material/DropAreas → tutorial}/index.js +1 -1
  152. package/dist/components/tutorial/index.js.map +1 -0
  153. package/dist/css/componentSizeCss.d.ts +1 -5
  154. package/dist/css/componentSizeCss.js +1 -1
  155. package/dist/css/componentSizeCss.js.map +1 -1
  156. package/dist/css/fadeIn.d.ts +1 -0
  157. package/dist/css/fadeIn.js +13 -0
  158. package/dist/css/fadeIn.js.map +1 -0
  159. package/dist/css/index.d.ts +2 -0
  160. package/dist/css/index.js +2 -0
  161. package/dist/css/index.js.map +1 -1
  162. package/dist/css/shadowEffect.d.ts +1 -0
  163. package/dist/css/shadowEffect.js +11 -0
  164. package/dist/css/shadowEffect.js.map +1 -0
  165. package/dist/css/transformCss.d.ts +1 -0
  166. package/dist/css/transformCss.js +3 -2
  167. package/dist/css/transformCss.js.map +1 -1
  168. package/dist/hooks/index.d.ts +3 -0
  169. package/dist/hooks/index.js +3 -0
  170. package/dist/hooks/index.js.map +1 -1
  171. package/dist/hooks/useItemLocator.js +2 -3
  172. package/dist/hooks/useItemLocator.js.map +1 -1
  173. package/dist/hooks/useLegalMoves.js +11 -6
  174. package/dist/hooks/useLegalMoves.js.map +1 -1
  175. package/dist/hooks/useLocators.d.ts +1 -0
  176. package/dist/hooks/useLocators.js +8 -0
  177. package/dist/hooks/useLocators.js.map +1 -0
  178. package/dist/hooks/useMaterialContext.d.ts +2 -0
  179. package/dist/hooks/useMaterialContext.js +18 -0
  180. package/dist/hooks/useMaterialContext.js.map +1 -0
  181. package/dist/hooks/useMaterials.d.ts +2 -0
  182. package/dist/hooks/useMaterials.js +10 -0
  183. package/dist/hooks/useMaterials.js.map +1 -0
  184. package/dist/hooks/usePlayerName.js +12 -1
  185. package/dist/hooks/usePlayerName.js.map +1 -1
  186. package/dist/hooks/usePlayers.js +1 -1
  187. package/dist/hooks/usePlayers.js.map +1 -1
  188. package/dist/hooks/useRulesStep.d.ts +2 -0
  189. package/dist/hooks/useRulesStep.js +10 -0
  190. package/dist/hooks/useRulesStep.js.map +1 -0
  191. package/dist/hooks/useTutorialStep.d.ts +2 -0
  192. package/dist/hooks/useTutorialStep.js +15 -0
  193. package/dist/hooks/useTutorialStep.js.map +1 -0
  194. package/dist/hooks/useZoomToElements.d.ts +5 -0
  195. package/dist/hooks/useZoomToElements.js +65 -0
  196. package/dist/hooks/useZoomToElements.js.map +1 -0
  197. package/dist/index.d.ts +1 -0
  198. package/dist/locators/DeckLocator.d.ts +4 -4
  199. package/dist/locators/DeckLocator.js +3 -2
  200. package/dist/locators/DeckLocator.js.map +1 -1
  201. package/dist/locators/HandLocator.d.ts +11 -11
  202. package/dist/locators/HandLocator.js.map +1 -1
  203. package/dist/locators/ItemLocator.d.ts +31 -41
  204. package/dist/locators/ItemLocator.js +33 -90
  205. package/dist/locators/ItemLocator.js.map +1 -1
  206. package/dist/locators/LineLocator.d.ts +7 -5
  207. package/dist/locators/LineLocator.js +10 -1
  208. package/dist/locators/LineLocator.js.map +1 -1
  209. package/dist/locators/PileLocator.d.ts +8 -6
  210. package/dist/locators/PileLocator.js +13 -1
  211. package/dist/locators/PileLocator.js.map +1 -1
  212. package/dist/utilities/animations.constants.d.ts +16 -0
  213. package/dist/utilities/animations.constants.js +82 -0
  214. package/dist/utilities/animations.constants.js.map +1 -0
  215. package/dist/utilities/animations.util.d.ts +4 -0
  216. package/dist/utilities/animations.util.js +78 -0
  217. package/dist/utilities/animations.util.js.map +1 -0
  218. package/dist/utilities/bounds.util.d.ts +18 -0
  219. package/dist/utilities/bounds.util.js +85 -0
  220. package/dist/utilities/bounds.util.js.map +1 -0
  221. package/dist/utilities/calculation.util.d.ts +14 -0
  222. package/dist/utilities/calculation.util.js +24 -0
  223. package/dist/utilities/calculation.util.js.map +1 -0
  224. package/dist/utilities/zoom.util.d.ts +4 -0
  225. package/dist/utilities/zoom.util.js +17 -0
  226. package/dist/utilities/zoom.util.js.map +1 -0
  227. package/package.json +7 -5
  228. package/dist/components/material/Board/Board.d.ts +0 -17
  229. package/dist/components/material/Board/Board.js +0 -34
  230. package/dist/components/material/Board/Board.js.map +0 -1
  231. package/dist/components/material/Board/index.d.ts +0 -1
  232. package/dist/components/material/Board/index.js.map +0 -1
  233. package/dist/components/material/Card/Card.d.ts +0 -23
  234. package/dist/components/material/Card/Card.js +0 -49
  235. package/dist/components/material/Card/Card.js.map +0 -1
  236. package/dist/components/material/Card/index.d.ts +0 -1
  237. package/dist/components/material/Card/index.js.map +0 -1
  238. package/dist/components/material/DropAreas/SimpleDropArea.d.ts +0 -12
  239. package/dist/components/material/DropAreas/SimpleDropArea.js.map +0 -1
  240. package/dist/components/material/DropAreas/index.d.ts +0 -1
  241. package/dist/components/material/DropAreas/index.js.map +0 -1
  242. package/dist/components/material/Items.d.ts +0 -4
  243. package/dist/components/material/Items.js +0 -3
  244. package/dist/components/material/Items.js.map +0 -1
  245. package/dist/components/material/Token/Token.d.ts +0 -18
  246. package/dist/components/material/Token/Token.js +0 -34
  247. package/dist/components/material/Token/Token.js.map +0 -1
  248. package/dist/components/material/Token/index.d.ts +0 -1
  249. package/dist/components/material/Token/index.js.map +0 -1
  250. package/dist/components/material/utils/IsMoveThisItem.d.ts +0 -2
  251. package/dist/components/material/utils/IsMoveThisItem.js +0 -12
  252. package/dist/components/material/utils/IsMoveThisItem.js.map +0 -1
  253. package/dist/components/material/utils/IsMoveThisItemToLocation.d.ts +0 -3
  254. package/dist/components/material/utils/IsMoveThisItemToLocation.js +0 -11
  255. package/dist/components/material/utils/IsMoveThisItemToLocation.js.map +0 -1
  256. package/dist/components/material/utils/IsMoveToLocation.d.ts +0 -2
  257. package/dist/components/material/utils/IsMoveToLocation.js +0 -13
  258. package/dist/components/material/utils/IsMoveToLocation.js.map +0 -1
  259. package/dist/components/material/utils/IsMoveToStock.d.ts +0 -4
  260. package/dist/components/material/utils/IsMoveToStock.js +0 -18
  261. package/dist/components/material/utils/IsMoveToStock.js.map +0 -1
  262. package/dist/hooks/useStocks.d.ts +0 -2
  263. package/dist/hooks/useStocks.js +0 -12
  264. package/dist/hooks/useStocks.js.map +0 -1
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useItemLocator = void 0;
4
- var components_1 = require("../components");
5
- var react_1 = require("react");
4
+ var useLocators_1 = require("./useLocators");
6
5
  function useItemLocator(type) {
7
6
  var _a;
8
- return (_a = (0, react_1.useContext)(components_1.gameContext).locators) === null || _a === void 0 ? void 0 : _a[type];
7
+ return (_a = (0, useLocators_1.useLocators)()) === null || _a === void 0 ? void 0 : _a[type];
9
8
  }
10
9
  exports.useItemLocator = useItemLocator;
11
10
  //# sourceMappingURL=useItemLocator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useItemLocator.js","sourceRoot":"","sources":["../../src/hooks/useItemLocator.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,+BAAkC;AAGlC,SAAgB,cAAc,CAC5B,IAAO;;IAEP,OAAO,MAAA,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAC,QAAQ,0CAAG,IAAI,CAAqC,CAAA;AACrF,CAAC;AAJD,wCAIC"}
1
+ {"version":3,"file":"useItemLocator.js","sourceRoot":"","sources":["../../src/hooks/useItemLocator.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAE3C,SAAgB,cAAc,CAC5B,IAAO;;IAEP,OAAO,MAAA,IAAA,yBAAW,GAAE,0CAAG,IAAI,CAAqC,CAAA;AAClE,CAAC;AAJD,wCAIC"}
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useLegalMove = exports.useLegalMoves = void 0;
4
- var useRules_1 = require("./useRules");
5
4
  var react_1 = require("react");
5
+ var useRules_1 = require("./useRules");
6
6
  var usePlayerId_1 = require("./usePlayerId");
7
+ var cache = {
8
+ game: undefined,
9
+ moves: []
10
+ };
7
11
  function useLegalMoves(predicate) {
8
12
  var rules = (0, useRules_1.useRules)();
9
13
  var playerId = (0, usePlayerId_1.usePlayerId)();
14
+ if (rules && playerId !== undefined && cache.game !== rules.game) {
15
+ cache.game = rules.game;
16
+ cache.moves = rules.getLegalMoves(playerId);
17
+ }
10
18
  return (0, react_1.useMemo)(function () {
11
- if (rules === undefined || playerId === undefined)
12
- return [];
13
- var legalMoves = rules.getLegalMoves(playerId);
14
- return predicate ? legalMoves.filter(predicate) : legalMoves;
15
- }, [rules, playerId]);
19
+ return predicate ? cache.moves.filter(predicate) : cache.moves;
20
+ }, [cache.moves, predicate]);
16
21
  }
17
22
  exports.useLegalMoves = useLegalMoves;
18
23
  function useLegalMove(predicate) {
@@ -1 +1 @@
1
- {"version":3,"file":"useLegalMoves.js","sourceRoot":"","sources":["../../src/hooks/useLegalMoves.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,+BAA+B;AAC/B,6CAA2C;AAE3C,SAAgB,aAAa,CAAa,SAAmC;IAC3E,IAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,OAAO,IAAA,eAAO,EAAC;QACb,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QAC5D,IAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAChD,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AACvB,CAAC;AARD,sCAQC;AAED,SAAgB,YAAY,CAAa,SAAmC;IAC1E,IAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAChD,CAAC;AAHD,oCAGC"}
1
+ {"version":3,"file":"useLegalMoves.js","sourceRoot":"","sources":["../../src/hooks/useLegalMoves.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,uCAAqC;AACrC,6CAA2C;AAO3C,IAAM,KAAK,GAAU;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,EAAE;CACV,CAAA;AAED,SAAgB,aAAa,CAAa,SAAmC;IAC3E,IAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAI,KAAK,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;QAChE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;KAC5C;IACD,OAAO,IAAA,eAAO,EAAC;QACX,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChE,CAAC,EACD,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;AAC7B,CAAC;AAXD,sCAWC;AAED,SAAgB,YAAY,CAAa,SAAmC;IAC1E,IAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAChD,CAAC;AAHD,oCAGC"}
@@ -0,0 +1 @@
1
+ export declare const useLocators: () => Record<number, import("..").ItemLocator<number, number, number>>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLocators = void 0;
4
+ var react_1 = require("react");
5
+ var components_1 = require("../components");
6
+ var useLocators = function () { return (0, react_1.useContext)(components_1.gameContext).locators; };
7
+ exports.useLocators = useLocators;
8
+ //# sourceMappingURL=useLocators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocators.js","sourceRoot":"","sources":["../../src/hooks/useLocators.tsx"],"names":[],"mappings":";;;AAAA,+BAAkC;AAClC,4CAA2C;AAEpC,IAAM,WAAW,GAAG,cAAM,OAAA,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAC,QAAQ,EAAhC,CAAgC,CAAA;AAApD,QAAA,WAAW,eAAyC"}
@@ -0,0 +1,2 @@
1
+ import { MaterialContext } from '../locators';
2
+ export declare function useMaterialContext<P extends number = number, M extends number = number, L extends number = number>(): MaterialContext<P, M, L>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMaterialContext = void 0;
4
+ var useGame_1 = require("./useGame");
5
+ var react_1 = require("react");
6
+ var components_1 = require("../components");
7
+ var usePlayerId_1 = require("./usePlayerId");
8
+ function useMaterialContext() {
9
+ var game = (0, useGame_1.useGame)();
10
+ var player = (0, usePlayerId_1.usePlayerId)();
11
+ var context = (0, react_1.useContext)(components_1.gameContext);
12
+ var Rules = context.Rules;
13
+ var material = context.material;
14
+ var locators = context.locators;
15
+ return (0, react_1.useMemo)(function () { return ({ Rules: Rules, game: game, player: player, material: material, locators: locators }); }, [Rules, game, player, material, locators]);
16
+ }
17
+ exports.useMaterialContext = useMaterialContext;
18
+ //# sourceMappingURL=useMaterialContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaterialContext.js","sourceRoot":"","sources":["../../src/hooks/useMaterialContext.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAEnC,+BAA2C;AAC3C,4CAAgE;AAChE,6CAA2C;AAE3C,SAAgB,kBAAkB;IAChC,IAAM,IAAI,GAAG,IAAA,iBAAO,GAA0B,CAAA;IAC9C,IAAM,MAAM,GAAG,IAAA,yBAAW,GAAK,CAAA;IAC/B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAA;IACvC,IAAM,KAAK,GAAG,OAAO,CAAC,KAAsC,CAAA;IAC5D,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAmD,CAAA;IAC5E,IAAM,QAAQ,GAAG,OAAO,CAAC,QAA2C,CAAA;IACpE,OAAO,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAA7C,CAA6C,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAChH,CAAC;AARD,gDAQC"}
@@ -0,0 +1,2 @@
1
+ import { MaterialDescription } from '../components';
2
+ export declare function useMaterials<P extends number = number, M extends number = number, L extends number = number>(): Record<M, MaterialDescription<P, M, L>> | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMaterials = void 0;
4
+ var components_1 = require("../components");
5
+ var react_1 = require("react");
6
+ function useMaterials() {
7
+ return (0, react_1.useContext)(components_1.gameContext).material;
8
+ }
9
+ exports.useMaterials = useMaterials;
10
+ //# sourceMappingURL=useMaterials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaterials.js","sourceRoot":"","sources":["../../src/hooks/useMaterials.ts"],"names":[],"mappings":";;;AAAA,4CAAgE;AAChE,+BAAkC;AAElC,SAAgB,YAAY;IAC1B,OAAO,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAC,QAA+D,CAAA;AAChG,CAAC;AAFD,oCAEC"}
@@ -2,8 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.usePlayerName = void 0;
4
4
  var react_redux_1 = require("react-redux");
5
+ var react_1 = require("react");
6
+ var components_1 = require("../components");
7
+ var rules_api_1 = require("@gamepark/rules-api");
8
+ var react_i18next_1 = require("react-i18next");
5
9
  function usePlayerName(playerId) {
6
- return (0, react_redux_1.useSelector)(function (state) { var _a, _b; return (_b = (_a = state.players.find(function (player) { var _a; return (_a = player.id === playerId) !== null && _a !== void 0 ? _a : state.playerId; })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : ''; });
10
+ var name = (0, react_redux_1.useSelector)(function (state) { var _a, _b; return (_b = (_a = state.players.find(function (player) { var _a; return (_a = player.id === playerId) !== null && _a !== void 0 ? _a : state.playerId; })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : ''; });
11
+ var optionsSpec = (0, react_1.useContext)(components_1.gameContext).optionsSpec;
12
+ var t = (0, react_i18next_1.useTranslation)().t;
13
+ if (name)
14
+ return name;
15
+ if ((0, rules_api_1.isWithPlayerIdOptions)(optionsSpec))
16
+ return optionsSpec.players.id.valueSpec(playerId).label(t);
17
+ return t('Player {number}', { number: playerId });
7
18
  }
8
19
  exports.usePlayerName = usePlayerName;
9
20
  //# sourceMappingURL=usePlayerName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePlayerName.js","sourceRoot":"","sources":["../../src/hooks/usePlayerName.ts"],"names":[],"mappings":";;;AACA,2CAAyC;AAEzC,SAAgB,aAAa,CAAiB,QAAkB;IAC9D,OAAO,IAAA,yBAAW,EAAC,UAAC,KAAoB,gBAAK,OAAA,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,YAAI,OAAA,MAAA,MAAM,CAAC,EAAE,KAAK,QAAQ,mCAAI,KAAK,CAAC,QAAQ,CAAA,EAAA,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAA;AAClI,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"usePlayerName.js","sourceRoot":"","sources":["../../src/hooks/usePlayerName.ts"],"names":[],"mappings":";;;AACA,2CAAyC;AACzC,+BAAkC;AAClC,4CAA2C;AAC3C,iDAA2D;AAC3D,+CAA8C;AAE9C,SAAgB,aAAa,CAAiB,QAAkB;IAC9D,IAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,gBAAK,OAAA,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,YAAI,OAAA,MAAA,MAAM,CAAC,EAAE,KAAK,QAAQ,mCAAI,KAAK,CAAC,QAAQ,CAAA,EAAA,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAA;IACtI,IAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAC,WAAW,CAAA;IAC/C,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,IAAA,iCAAqB,EAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClG,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;AACnD,CAAC;AAPD,sCAOC"}
@@ -15,7 +15,7 @@ var usePlayers = function (options) {
15
15
  var rawPlayers = (0, react_redux_1.useSelector)(function (state) { return state.players; });
16
16
  var players = (0, react_1.useMemo)(function () {
17
17
  var index = rawPlayers.findIndex(function (player) { return player.id === playerId; });
18
- if (index < 1)
18
+ if (!(options === null || options === void 0 ? void 0 : options.sortFromMe) || index < 1)
19
19
  return rawPlayers;
20
20
  return rawPlayers.slice(index).concat(rawPlayers.slice(0, index));
21
21
  }, [playerId, rawPlayers]);
@@ -1 +1 @@
1
- {"version":3,"file":"usePlayers.js","sourceRoot":"","sources":["../../src/hooks/usePlayers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePlayers.js","sourceRoot":"","sources":["../../src/hooks/usePlayers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { MaterialRulesPart } from '@gamepark/rules-api';
2
+ export declare function useRulesStep<T extends MaterialRulesPart>(): T | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRulesStep = void 0;
4
+ var useRules_1 = require("./useRules");
5
+ function useRulesStep() {
6
+ var rules = (0, useRules_1.useRules)();
7
+ return rules === null || rules === void 0 ? void 0 : rules.rulesStep;
8
+ }
9
+ exports.useRulesStep = useRulesStep;
10
+ //# sourceMappingURL=useRulesStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRulesStep.js","sourceRoot":"","sources":["../../src/hooks/useRulesStep.ts"],"names":[],"mappings":";;;AACA,uCAAqC;AAErC,SAAgB,YAAY;IAC1B,IAAM,KAAK,GAAG,IAAA,mBAAQ,GAAiB,CAAA;IACvC,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAA0B,CAAA;AAC1C,CAAC;AAHD,oCAGC"}
@@ -0,0 +1,2 @@
1
+ import { TutorialStep } from '../components';
2
+ export declare function useTutorialStep<P extends number = number, M extends number = number, L extends number = number>(): TutorialStep<P, M, L> | undefined;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTutorialStep = void 0;
4
+ var components_1 = require("../components");
5
+ var react_1 = require("react");
6
+ var useGame_1 = require("./useGame");
7
+ function useTutorialStep() {
8
+ var game = (0, useGame_1.useGame)();
9
+ var tutorial = (0, react_1.useContext)(components_1.gameContext).tutorial;
10
+ if (!game || game.tutorialStep === undefined || !(0, components_1.isMaterialTutorial)(tutorial))
11
+ return;
12
+ return tutorial.steps[game.tutorialStep];
13
+ }
14
+ exports.useTutorialStep = useTutorialStep;
15
+ //# sourceMappingURL=useTutorialStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTutorialStep.js","sourceRoot":"","sources":["../../src/hooks/useTutorialStep.ts"],"names":[],"mappings":";;;AAAA,4CAA6E;AAC7E,+BAAkC;AAClC,qCAAmC;AAGnC,SAAgB,eAAe;IAC7B,IAAM,IAAI,GAAG,IAAA,iBAAO,GAAgB,CAAA;IACpC,IAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,wBAAW,CAAC,CAAC,QAAQ,CAAA;IACjD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,IAAA,+BAAkB,EAAU,QAAQ,CAAC;QAAE,OAAM;IAC9F,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAC1C,CAAC;AALD,0CAKC"}
@@ -0,0 +1,5 @@
1
+ import { animations } from '../utilities/animations.constants';
2
+ /**
3
+ * react-zoom-pan-pinch only has "zoomToElement". This code is the equivalent to zoom to display multiple elements at once.
4
+ */
5
+ export declare function useZoomToElements(): (elements: HTMLElement[], scale?: number, animationTime?: number, animationType?: keyof typeof animations) => void;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useZoomToElements = void 0;
4
+ var react_zoom_pan_pinch_1 = require("react-zoom-pan-pinch");
5
+ var bounds_util_1 = require("../utilities/bounds.util");
6
+ var zoom_util_1 = require("../utilities/zoom.util");
7
+ var animations_util_1 = require("../utilities/animations.util");
8
+ /**
9
+ * react-zoom-pan-pinch only has "zoomToElement". This code is the equivalent to zoom to display multiple elements at once.
10
+ */
11
+ function useZoomToElements() {
12
+ var libraryContext = (0, react_zoom_pan_pinch_1.useTransformContext)();
13
+ return zoomToElements(libraryContext);
14
+ }
15
+ exports.useZoomToElements = useZoomToElements;
16
+ var zoomToElements = function (contextInstance) { return function (nodes, scale, animationTime, animationType) {
17
+ if (animationTime === void 0) { animationTime = 600; }
18
+ if (animationType === void 0) { animationType = 'easeOut'; }
19
+ (0, animations_util_1.handleCancelAnimation)(contextInstance);
20
+ var wrapperComponent = contextInstance.wrapperComponent;
21
+ var targets = nodes.map(function (node) {
22
+ return typeof node === 'string' ? document.getElementById(node) : node;
23
+ });
24
+ if (wrapperComponent && targets.length && targets.every(function (target) { return wrapperComponent.contains(target); })) {
25
+ var targetState = calculateZoomToNodes(contextInstance, targets, scale);
26
+ (0, animations_util_1.animate)(contextInstance, targetState, animationTime, animationType);
27
+ }
28
+ }; };
29
+ function calculateZoomToNodes(contextInstance, nodes, customZoom) {
30
+ var wrapperComponent = contextInstance.wrapperComponent, contentComponent = contextInstance.contentComponent, transformState = contextInstance.transformState;
31
+ var _a = contextInstance.setup, limitToBounds = _a.limitToBounds, minScale = _a.minScale, maxScale = _a.maxScale;
32
+ if (!wrapperComponent || !contentComponent)
33
+ return transformState;
34
+ var wrapperRect = wrapperComponent.getBoundingClientRect();
35
+ var nodesRect = nodes.map(function (node) { return node.getBoundingClientRect(); });
36
+ var nodesWidth = Math.max.apply(Math, nodesRect.map(function (rect) { return rect.x + rect.width; })) - Math.min.apply(Math, nodesRect.map(function (rect) { return rect.x; }));
37
+ var nodesHeight = Math.max.apply(Math, nodesRect.map(function (rect) { return rect.y + rect.height; })) - Math.min.apply(Math, nodesRect.map(function (rect) { return rect.y; }));
38
+ var nodesOffset = nodes.map(function (node) { return getOffset(node, wrapperComponent, contentComponent, transformState); });
39
+ var nodeLeft = Math.min.apply(Math, nodesOffset.map(function (offset) { return offset.x; }));
40
+ var nodeTop = Math.min.apply(Math, nodesOffset.map(function (offset) { return offset.y; }));
41
+ var nodeWidth = nodesWidth / transformState.scale;
42
+ var nodeHeight = nodesHeight / transformState.scale;
43
+ var scaleX = wrapperComponent.offsetWidth / nodeWidth;
44
+ var scaleY = wrapperComponent.offsetHeight / nodeHeight;
45
+ var newScale = (0, zoom_util_1.checkZoomBounds)(customZoom || Math.min(scaleX, scaleY), minScale, maxScale, 0, false);
46
+ var offsetX = (wrapperRect.width - nodeWidth * newScale) / 2;
47
+ var offsetY = (wrapperRect.height - nodeHeight * newScale) / 2;
48
+ var newPositionX = (wrapperRect.left - nodeLeft) * newScale + offsetX;
49
+ var newPositionY = (wrapperRect.top - nodeTop) * newScale + offsetY;
50
+ var bounds = (0, bounds_util_1.calculateBounds)(contextInstance, newScale);
51
+ var _b = (0, bounds_util_1.getMouseBoundedPosition)(newPositionX, newPositionY, bounds, limitToBounds, 0, 0, wrapperComponent), x = _b.x, y = _b.y;
52
+ return { positionX: x, positionY: y, scale: newScale };
53
+ }
54
+ function getOffset(element, wrapper, content, state) {
55
+ var offset = element.getBoundingClientRect();
56
+ var wrapperOffset = wrapper.getBoundingClientRect();
57
+ var contentOffset = content.getBoundingClientRect();
58
+ var xOff = wrapperOffset.x * state.scale;
59
+ var yOff = wrapperOffset.y * state.scale;
60
+ return {
61
+ x: (offset.x - contentOffset.x + xOff) / state.scale,
62
+ y: (offset.y - contentOffset.y + yOff) / state.scale
63
+ };
64
+ }
65
+ //# sourceMappingURL=useZoomToElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useZoomToElements.js","sourceRoot":"","sources":["../../src/hooks/useZoomToElements.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './css';
3
3
  export * from './hooks';
4
4
  export * from './locators';
5
5
  export * from './translation';
6
+ export { GameAI, Animation, AnimationContext, DisplayedAction } from '@gamepark/react-client';
@@ -1,9 +1,9 @@
1
1
  import { Coordinates, MaterialItem } from '@gamepark/rules-api';
2
2
  import { LineLocator } from './LineLocator';
3
- import { PlaceItemContext } from './ItemLocator';
3
+ import { ItemContext } from './ItemLocator';
4
4
  export declare abstract class DeckLocator<P extends number = number, M extends number = number, L extends number = number> extends LineLocator<P, M, L> {
5
5
  limit: number;
6
- hide(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): boolean;
7
- getItemIndex(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
8
- getDelta(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): Partial<Coordinates>;
6
+ hide(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): boolean;
7
+ getItemIndex(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): number;
8
+ getDelta(_item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Partial<Coordinates>;
9
9
  }
@@ -40,8 +40,9 @@ var DeckLocator = /** @class */ (function (_super) {
40
40
  return index;
41
41
  return Math.max(0, index - count + this.limit);
42
42
  };
43
- DeckLocator.prototype.getDelta = function (_item, _context) {
44
- return { z: 0.05 };
43
+ DeckLocator.prototype.getDelta = function (_item, context) {
44
+ var _a;
45
+ return (_a = this.delta) !== null && _a !== void 0 ? _a : { z: context.material[context.type].thickness };
45
46
  };
46
47
  return DeckLocator;
47
48
  }(LineLocator_1.LineLocator));
@@ -1 +1 @@
1
- {"version":3,"file":"DeckLocator.js","sourceRoot":"","sources":["../../src/locators/DeckLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,6CAA2C;AAG3C;IAA2H,+BAAoB;IAA/I;QAAA,qEAqBC;QApBC,WAAK,GAAG,EAAE,CAAA;;IAoBZ,CAAC;IAlBC,0BAAI,GAAJ,UAAK,IAAwB,EAAE,OAAkC;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAM,KAAK,GAAG,iBAAM,YAAY,YAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACnC,CAAC;IAED,kCAAY,GAAZ,UAAa,IAAwB,EAAE,OAAkC;QACvE,IAAM,KAAK,GAAG,iBAAM,YAAY,YAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAyB,EAAE,QAAmC;QACrE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;IACpB,CAAC;IACH,kBAAC;AAAD,CAAC,AArBD,CAA2H,yBAAW,GAqBrI;AArBqB,kCAAW"}
1
+ {"version":3,"file":"DeckLocator.js","sourceRoot":"","sources":["../../src/locators/DeckLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,6CAA2C;AAG3C;IAA2H,+BAAoB;IAA/I;QAAA,qEAqBC;QApBC,WAAK,GAAG,EAAE,CAAA;;IAoBZ,CAAC;IAlBC,0BAAI,GAAJ,UAAK,IAAwB,EAAE,OAA6B;QAC1D,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAM,KAAK,GAAG,iBAAM,YAAY,YAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACnC,CAAC;IAED,kCAAY,GAAZ,UAAa,IAAwB,EAAE,OAA6B;QAClE,IAAM,KAAK,GAAG,iBAAM,YAAY,YAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAyB,EAAE,OAA6B;;QAC/D,OAAO,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAA;IACtE,CAAC;IACH,kBAAC;AAAD,CAAC,AArBD,CAA2H,yBAAW,GAqBrI;AArBqB,kCAAW"}
@@ -1,14 +1,14 @@
1
- import { ItemLocator, PlaceItemContext } from './ItemLocator';
1
+ import { ItemLocator, ItemContext } from './ItemLocator';
2
2
  import { Coordinates, Location, MaterialItem } from '@gamepark/rules-api';
3
3
  export declare abstract class HandLocator<P extends number = number, M extends number = number, L extends number = number> extends ItemLocator<P, M, L> {
4
- getPosition(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
5
- getRotation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
6
- abstract getCoordinates(location: Location<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
7
- getItemIndex(item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
8
- getRadius(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
9
- getBaseAngle(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
10
- getMaxAngle(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
11
- getGapMaxAngle(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
12
- isClockwise(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): boolean;
13
- getDeltaZ(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
4
+ getPosition(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Coordinates;
5
+ getRotation(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): number;
6
+ abstract getCoordinates(location: Location<P, L>, context: ItemContext<P, M, L>): Coordinates;
7
+ getItemIndex(item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
8
+ getRadius(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
9
+ getBaseAngle(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
10
+ getMaxAngle(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
11
+ getGapMaxAngle(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
12
+ isClockwise(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): boolean;
13
+ getDeltaZ(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HandLocator.js","sourceRoot":"","sources":["../../src/locators/HandLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAA6D;AAG7D;IAA2H,+BAAoB;IAA/I;;IAoDA,CAAC;IAnDC,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAAkC;QACtE,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/D,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7C,IAAM,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;QACjH,IAAM,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;QACjH,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE,CAAA;IACpD,CAAC;IAED,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAAkC;QACtE,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACpD,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAChD,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtD,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,OAAO,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrG,CAAC;IAID,kCAAY,GAAZ,UAAa,IAAwB,EAAE,QAAmC;;QACxE,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,mCAAI,CAAC,CAAA;IAC7B,CAAC;IAED,+BAAS,GAAT,UAAU,KAAyB,EAAE,QAAmC;QACtE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,kCAAY,GAAZ,UAAa,KAAyB,EAAE,QAAmC;QACzE,OAAO,CAAC,CAAA;IACV,CAAC;IAED,iCAAW,GAAX,UAAY,KAAyB,EAAE,QAAmC;QACxE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,oCAAc,GAAd,UAAe,KAAyB,EAAE,QAAmC;QAC3E,OAAO,CAAC,CAAA;IACV,CAAC;IAED,iCAAW,GAAX,UAAY,KAAyB,EAAE,QAAmC;QACxE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+BAAS,GAAT,UAAU,KAAyB,EAAE,QAAmC;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;IACH,kBAAC;AAAD,CAAC,AApDD,CAA2H,yBAAW,GAoDrI;AApDqB,kCAAW"}
1
+ {"version":3,"file":"HandLocator.js","sourceRoot":"","sources":["../../src/locators/HandLocator.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,18 @@
1
1
  /** @jsxImportSource @emotion/react */
2
- import { Coordinates, DisplayedItem, ItemMove, Location, Material, MaterialGame, MaterialItem, MaterialMove, MaterialRules, XYCoordinates } from '@gamepark/rules-api';
3
- import { ItemAnimationContext, MaterialDescription } from '../components';
4
- import { ReactNode } from 'react';
5
- import { Interpolation, Theme } from '@emotion/react';
6
- import { Animation } from '@gamepark/react-client';
2
+ import { Coordinates, DisplayedItem, Location, Material, MaterialGame, MaterialItem, MaterialRulesCreator, XYCoordinates } from '@gamepark/rules-api';
3
+ import { LocationDescription, MaterialDescription } from '../components';
7
4
  export declare abstract class ItemLocator<P extends number = number, M extends number = number, L extends number = number> {
8
5
  parentItemType?: M;
9
6
  rotationUnit: string;
10
7
  limit?: number;
11
- hide(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): boolean;
12
- transformItem(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
13
- protected transformItemLocation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
14
- protected transformOwnItemLocation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
15
- getTranslate3d(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string;
8
+ locationDescription?: LocationDescription;
9
+ hide(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): boolean;
10
+ transformItem(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): string[];
11
+ protected transformItemLocation(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): string[];
12
+ protected transformOwnItemLocation(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): string[];
13
+ getTranslate3d(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): string;
16
14
  getParentItemId(_location: Location<P, L>): number | undefined;
15
+ position: XYCoordinates;
17
16
  /**
18
17
  * Place the center of the item on the screen
19
18
  *
@@ -21,47 +20,38 @@ export declare abstract class ItemLocator<P extends number = number, M extends n
21
20
  * @param context Placement context (type of item, and index if item has a quantity to display)
22
21
  * @return The delta coordinates in em of the center of the item from the center of their parent (or the screen)
23
22
  */
24
- getPosition(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
23
+ getPosition(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Coordinates;
24
+ positionOnParent: XYCoordinates;
25
25
  /**
26
26
  * Place the center of the item in the plan of their parent item. This is ignored if "parentItemType" is undefined.
27
27
  * Examples: {x: 0, y: 0} places the center of the item in the top-left corner of the parent item
28
28
  * {x: 50, y: 50} centers the item in the parent item.
29
29
  *
30
- * @param location Location of the item or area inside the parent item
30
+ * @param _location Location of the item or area inside the parent item
31
+ * @param _context THe material game context
31
32
  * @return {x, y} with "x" as a percentage from the parent's width, "y" a percentage of the height
32
33
  */
33
- getPositionOnParent?(location: Location<P, L>): XYCoordinates;
34
- getRotations(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
35
- getRotation?(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
36
- isHidden(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): boolean;
37
- protected transformParentItemLocation(location: Location<P, L>, context: PlaceItemContext<P, M, L>): string[];
38
- getItemThickness(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
39
- getItemIndex(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
34
+ getPositionOnParent(_location: Location<P, L>, _context: MaterialContext<P, M, L>): XYCoordinates;
35
+ getRotations(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): string[];
36
+ getRotation?(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): number;
37
+ hidden: boolean;
38
+ isHidden(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): boolean;
39
+ protected transformParentItemLocation(location: Location<P, L>, context: ItemContext<P, M, L>): string[];
40
+ getItemIndex(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): number;
40
41
  isSameLocation(location1: Location<P, L>, location2: Location<P, L>): boolean;
41
- countItems(location: Location<P, L>, context: PlaceItemContext<P, M, L>): number;
42
+ countItems(location: Location<P, L>, { game, type }: ItemContext<P, M, L>): number;
42
43
  getMaterial(game: MaterialGame<P, M, L>, type: M): Material<P, M, L>;
43
- createLocationsOnItem<ParentItemId extends number | undefined>(parent: ParentItemId, legalMoves: MaterialMove<P, M, L>[], rules: MaterialRules<P, M, L>): ReactNode;
44
- createLocations(legalMoves: MaterialMove<P, M, L>[], rules: MaterialRules<P, M, L>, context: BaseContext<P, M, L>): ReactNode;
45
- getParentItemLocations?<ParentItemId extends number | undefined>(_parent: ParentItemId): Location<P, L>[];
46
- getLocations?(): Location<P, L>[];
47
- createLocation(location: Location<P, L>, rules: MaterialRules<P, M, L>, legalMoves: MaterialMove<P, M, L>[], hasParent?: boolean): ReactNode;
48
- getLocationCss(_location: Location<P, L>, _rules: MaterialRules<P, M, L>, _legalMoves: MaterialMove<P, M, L>[]): Interpolation<Theme>;
49
- getLocationRules?(props: LocationRulesProps<P, M, L>): ReactNode;
50
- getRelativePlayerIndex({ game: { players }, player: me }: PlaceItemContext<P, M, L>, player: P): number;
51
- isItemToAnimate({ type, index, displayIndex }: DisplayedItem<M>, animation: Animation<ItemMove<P, M, L>>, { rules: { game } }: ItemAnimationContext<P, M, L>): boolean;
44
+ getRelativePlayerIndex({ game: { players }, player: me }: MaterialContext<P, M, L>, player: P): number;
52
45
  }
53
- export type BaseContext<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
54
- game: MaterialGame<Player, MaterialType, LocationType>;
55
- material: Record<MaterialType, MaterialDescription<Player, MaterialType, LocationType>>;
56
- locators: Record<LocationType, ItemLocator<Player, MaterialType, LocationType>>;
57
- player?: Player;
46
+ export type MaterialContext<P extends number = number, M extends number = number, L extends number = number> = {
47
+ Rules: MaterialRulesCreator<P, M, L>;
48
+ game: MaterialGame<P, M, L>;
49
+ material: Record<M, MaterialDescription<P, M, L>>;
50
+ locators: Record<L, ItemLocator<P, M, L>>;
51
+ player?: P;
58
52
  };
59
- export type PlaceItemContext<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
60
- type: MaterialType;
61
- index: number;
62
- } & BaseContext<Player, MaterialType, LocationType>;
63
- export type LocationRulesProps<P extends number = number, M extends number = number, L extends number = number> = {
53
+ export type ItemContext<P extends number = number, M extends number = number, L extends number = number> = MaterialContext<P, M, L> & DisplayedItem<M>;
54
+ export type LocationRulesProps<P extends number = number, L extends number = number> = {
64
55
  location: Location<P, L>;
65
- legalMoves: MaterialMove<P, M, L>[];
66
- close: () => void;
56
+ closeDialog: () => void;
67
57
  };