@gamepark/react-game 6.23.4 → 6.24.2

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 (197) hide show
  1. package/dist/components/Header/MaterialHeader.js +2 -1
  2. package/dist/components/Header/MaterialHeader.js.map +1 -1
  3. package/dist/components/PlayerPanel/Counters.d.ts +13 -0
  4. package/dist/components/PlayerPanel/Counters.js +44 -0
  5. package/dist/components/PlayerPanel/Counters.js.map +1 -0
  6. package/dist/components/PlayerPanel/StyledPlayerPanel.d.ts +4 -2
  7. package/dist/components/PlayerPanel/StyledPlayerPanel.js +30 -25
  8. package/dist/components/PlayerPanel/StyledPlayerPanel.js.map +1 -1
  9. package/dist/components/PlayerPanel/index.d.ts +1 -0
  10. package/dist/components/PlayerPanel/index.js +1 -0
  11. package/dist/components/PlayerPanel/index.js.map +1 -1
  12. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.d.ts +1 -1
  13. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +6 -6
  14. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
  15. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +13 -6
  16. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
  17. package/dist/components/material/ComponentDescription.d.ts +14 -0
  18. package/dist/components/material/ComponentDescription.js +27 -0
  19. package/dist/components/material/ComponentDescription.js.map +1 -0
  20. package/dist/components/material/Dices/CubicDiceDescription.d.ts +1 -0
  21. package/dist/components/material/Dices/CubicDiceDescription.js +13 -0
  22. package/dist/components/material/Dices/CubicDiceDescription.js.map +1 -1
  23. package/dist/components/material/DraggableMaterial.d.ts +1 -13
  24. package/dist/components/material/DraggableMaterial.js +37 -91
  25. package/dist/components/material/DraggableMaterial.js.map +1 -1
  26. package/dist/components/material/FlatMaterial/CardDescription.d.ts +2 -2
  27. package/dist/components/material/FlatMaterial/CardDescription.js +1 -1
  28. package/dist/components/material/FlatMaterial/CardDescription.js.map +1 -1
  29. package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +4 -2
  30. package/dist/components/material/FlatMaterial/FlatMaterial.js +17 -11
  31. package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -1
  32. package/dist/components/material/FlatMaterial/TokenDescription.d.ts +1 -1
  33. package/dist/components/material/FlatMaterial/TokenDescription.js.map +1 -1
  34. package/dist/components/material/GameTable/GameMaterialDisplay.js +1 -1
  35. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  36. package/dist/components/material/GameTable/GameTable.js +9 -7
  37. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  38. package/dist/components/material/GameTable/ItemDisplay.d.ts +4 -2
  39. package/dist/components/material/GameTable/ItemDisplay.js +104 -15
  40. package/dist/components/material/GameTable/ItemDisplay.js.map +1 -1
  41. package/dist/components/material/GameTable/StaticItemsDisplay.js +2 -2
  42. package/dist/components/material/GameTable/StaticItemsDisplay.js.map +1 -1
  43. package/dist/components/material/GameTable/StaticLocationsDisplay.js +12 -12
  44. package/dist/components/material/GameTable/StaticLocationsDisplay.js.map +1 -1
  45. package/dist/components/material/GameTable/focus/FocusProvider.d.ts +6 -6
  46. package/dist/components/material/GameTable/focus/FocusProvider.js +2 -2
  47. package/dist/components/material/GameTable/focus/FocusProvider.js.map +1 -1
  48. package/dist/components/material/GameTable/focus/index.d.ts +0 -1
  49. package/dist/components/material/GameTable/focus/index.js +0 -1
  50. package/dist/components/material/GameTable/focus/index.js.map +1 -1
  51. package/dist/components/material/ImageLoader/MaterialImageLoader.js +17 -11
  52. package/dist/components/material/ImageLoader/MaterialImageLoader.js.map +1 -1
  53. package/dist/components/material/MaterialComponent.d.ts +0 -4
  54. package/dist/components/material/MaterialComponent.js +5 -18
  55. package/dist/components/material/MaterialComponent.js.map +1 -1
  56. package/dist/components/material/MaterialDescription.d.ts +5 -13
  57. package/dist/components/material/MaterialDescription.js +48 -22
  58. package/dist/components/material/MaterialDescription.js.map +1 -1
  59. package/dist/components/material/Writing/WritingDescription.d.ts +0 -4
  60. package/dist/components/material/Writing/WritingDescription.js +0 -10
  61. package/dist/components/material/Writing/WritingDescription.js.map +1 -1
  62. package/dist/components/material/animations/CreateItemAnimations.js +5 -3
  63. package/dist/components/material/animations/CreateItemAnimations.js.map +1 -1
  64. package/dist/components/material/animations/DeleteItemAnimations.js +7 -5
  65. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -1
  66. package/dist/components/material/animations/ItemAnimations.d.ts +2 -1
  67. package/dist/components/material/animations/ItemAnimations.js +9 -0
  68. package/dist/components/material/animations/ItemAnimations.js.map +1 -1
  69. package/dist/components/material/animations/MaterialAnimations.d.ts +2 -2
  70. package/dist/components/material/animations/MoveItemAnimations.d.ts +1 -2
  71. package/dist/components/material/animations/MoveItemAnimations.js +18 -31
  72. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -1
  73. package/dist/components/material/animations/MoveItemAtOnceAnimations.d.ts +1 -2
  74. package/dist/components/material/animations/MoveItemAtOnceAnimations.js +14 -28
  75. package/dist/components/material/animations/MoveItemAtOnceAnimations.js.map +1 -1
  76. package/dist/components/material/animations/RollItemAnimations.d.ts +1 -2
  77. package/dist/components/material/animations/RollItemAnimations.js +4 -15
  78. package/dist/components/material/animations/RollItemAnimations.js.map +1 -1
  79. package/dist/components/material/animations/adjustRotation.d.ts +1 -1
  80. package/dist/components/material/animations/adjustRotation.js +60 -19
  81. package/dist/components/material/animations/adjustRotation.js.map +1 -1
  82. package/dist/components/material/animations/getFirstStockItemTransforms.util.js +3 -6
  83. package/dist/components/material/animations/getFirstStockItemTransforms.util.js.map +1 -1
  84. package/dist/components/material/animations/rotations.utils.d.ts +2 -0
  85. package/dist/components/material/animations/rotations.utils.js +99 -0
  86. package/dist/components/material/animations/rotations.utils.js.map +1 -0
  87. package/dist/components/material/animations/transformItem.util.js +3 -5
  88. package/dist/components/material/animations/transformItem.util.js.map +1 -1
  89. package/dist/components/material/index.d.ts +1 -0
  90. package/dist/components/material/index.js +1 -0
  91. package/dist/components/material/index.js.map +1 -1
  92. package/dist/components/material/locations/DropAreaDescription.d.ts +9 -0
  93. package/dist/components/material/locations/DropAreaDescription.js +46 -0
  94. package/dist/components/material/locations/DropAreaDescription.js.map +1 -0
  95. package/dist/components/material/locations/LocationComponent.d.ts +16 -0
  96. package/dist/components/material/locations/LocationComponent.js +89 -0
  97. package/dist/components/material/locations/LocationComponent.js.map +1 -0
  98. package/dist/components/material/locations/LocationDescription.d.ts +14 -25
  99. package/dist/components/material/locations/LocationDescription.js +43 -50
  100. package/dist/components/material/locations/LocationDescription.js.map +1 -1
  101. package/dist/components/material/locations/LocationDisplay.d.ts +4 -1
  102. package/dist/components/material/locations/LocationDisplay.js +4 -9
  103. package/dist/components/material/locations/LocationDisplay.js.map +1 -1
  104. package/dist/components/material/locations/LocationsMask.d.ts +2 -1
  105. package/dist/components/material/locations/LocationsMask.js +6 -6
  106. package/dist/components/material/locations/LocationsMask.js.map +1 -1
  107. package/dist/components/material/locations/SimpleDropArea.d.ts +4 -7
  108. package/dist/components/material/locations/SimpleDropArea.js +18 -88
  109. package/dist/components/material/locations/SimpleDropArea.js.map +1 -1
  110. package/dist/components/material/locations/index.d.ts +1 -0
  111. package/dist/components/material/locations/index.js +1 -0
  112. package/dist/components/material/locations/index.js.map +1 -1
  113. package/dist/components/material/utils/isDroppedItem.js +12 -1
  114. package/dist/components/material/utils/isDroppedItem.js.map +1 -1
  115. package/dist/components/material/utils/isPlacedOnItem.d.ts +3 -3
  116. package/dist/components/material/utils/isPlacedOnItem.js +5 -5
  117. package/dist/components/material/utils/isPlacedOnItem.js.map +1 -1
  118. package/dist/components/tutorial/MaterialTutorial.js +4 -4
  119. package/dist/components/tutorial/MaterialTutorial.js.map +1 -1
  120. package/dist/components/tutorial/MaterialTutorialDisplay.js +7 -6
  121. package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -1
  122. package/dist/components/tutorial/TutorialRulesWrapper.js +26 -26
  123. package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -1
  124. package/dist/hooks/index.d.ts +1 -1
  125. package/dist/hooks/index.js +1 -1
  126. package/dist/hooks/index.js.map +1 -1
  127. package/dist/hooks/useDraggedItem.d.ts +2 -0
  128. package/dist/hooks/useDraggedItem.js +19 -0
  129. package/dist/hooks/useDraggedItem.js.map +1 -0
  130. package/dist/hooks/useItemLocations.d.ts +8 -0
  131. package/dist/hooks/useItemLocations.js +83 -0
  132. package/dist/hooks/useItemLocations.js.map +1 -0
  133. package/dist/hooks/useItemLocator.d.ts +2 -2
  134. package/dist/hooks/useItemLocator.js.map +1 -1
  135. package/dist/hooks/useLegalMoves.js +4 -18
  136. package/dist/hooks/useLegalMoves.js.map +1 -1
  137. package/dist/hooks/usePlayers.js +14 -1
  138. package/dist/hooks/usePlayers.js.map +1 -1
  139. package/dist/hooks/useStaticLocations.d.ts +2 -0
  140. package/dist/hooks/useStaticLocations.js +53 -0
  141. package/dist/hooks/useStaticLocations.js.map +1 -0
  142. package/dist/hooks/useTutorialStep.js +2 -2
  143. package/dist/hooks/useTutorialStep.js.map +1 -1
  144. package/dist/hooks/useZoomToElements.d.ts +1 -1
  145. package/dist/hooks/useZoomToElements.js +8 -8
  146. package/dist/hooks/useZoomToElements.js.map +1 -1
  147. package/dist/index.d.ts +1 -1
  148. package/dist/index.js +3 -1
  149. package/dist/index.js.map +1 -1
  150. package/dist/locators/DeckLocator.d.ts +5 -4
  151. package/dist/locators/DeckLocator.js +6 -8
  152. package/dist/locators/DeckLocator.js.map +1 -1
  153. package/dist/locators/FlexLocator.d.ts +18 -0
  154. package/dist/locators/FlexLocator.js +88 -0
  155. package/dist/locators/FlexLocator.js.map +1 -0
  156. package/dist/locators/HandLocator.d.ts +22 -13
  157. package/dist/locators/HandLocator.js +71 -39
  158. package/dist/locators/HandLocator.js.map +1 -1
  159. package/dist/locators/ListLocator.d.ts +18 -0
  160. package/dist/locators/ListLocator.js +97 -0
  161. package/dist/locators/ListLocator.js.map +1 -0
  162. package/dist/locators/Locator.d.ts +50 -0
  163. package/dist/locators/Locator.js +153 -0
  164. package/dist/locators/Locator.js.map +1 -0
  165. package/dist/locators/PileLocator.d.ts +12 -11
  166. package/dist/locators/PileLocator.js +44 -29
  167. package/dist/locators/PileLocator.js.map +1 -1
  168. package/dist/locators/index.d.ts +3 -3
  169. package/dist/locators/index.js +3 -3
  170. package/dist/locators/index.js.map +1 -1
  171. package/dist/utilities/combineEventListeners.js.map +1 -1
  172. package/dist/utilities/findIfUnique.util.js.map +1 -1
  173. package/dist/utilities/index.d.ts +1 -0
  174. package/dist/utilities/index.js +1 -0
  175. package/dist/utilities/index.js.map +1 -1
  176. package/dist/utilities/translation.util.d.ts +5 -0
  177. package/dist/utilities/translation.util.js +33 -0
  178. package/dist/utilities/translation.util.js.map +1 -0
  179. package/dist/utilities/zoom-pan-pinch/animations.constants.d.ts +16 -0
  180. package/dist/utilities/zoom-pan-pinch/animations.constants.js +62 -0
  181. package/dist/utilities/zoom-pan-pinch/animations.constants.js.map +1 -0
  182. package/dist/utilities/zoom-pan-pinch/animations.util.d.ts +4 -0
  183. package/dist/utilities/zoom-pan-pinch/animations.util.js +71 -0
  184. package/dist/utilities/zoom-pan-pinch/animations.util.js.map +1 -0
  185. package/dist/utilities/zoom-pan-pinch/bounds.util.d.ts +7 -0
  186. package/dist/utilities/zoom-pan-pinch/bounds.util.js +77 -0
  187. package/dist/utilities/zoom-pan-pinch/bounds.util.js.map +1 -0
  188. package/dist/utilities/zoom-pan-pinch/calculation.util.d.ts +2 -0
  189. package/dist/utilities/zoom-pan-pinch/calculation.util.js +12 -0
  190. package/dist/utilities/zoom-pan-pinch/calculation.util.js.map +1 -0
  191. package/dist/utilities/zoom-pan-pinch/index.d.ts +5 -0
  192. package/dist/utilities/zoom-pan-pinch/index.js +22 -0
  193. package/dist/utilities/zoom-pan-pinch/index.js.map +1 -0
  194. package/dist/utilities/zoom-pan-pinch/zoom.util.d.ts +1 -0
  195. package/dist/utilities/zoom-pan-pinch/zoom.util.js +14 -0
  196. package/dist/utilities/zoom-pan-pinch/zoom.util.js.map +1 -0
  197. package/package.json +3 -3
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.animate = exports.handleSetupAnimation = exports.handleCancelAnimation = void 0;
4
+ var animations_constants_1 = require("./animations.constants");
5
+ var handleCancelAnimationFrame = function (animation) {
6
+ if (typeof animation === 'number') {
7
+ cancelAnimationFrame(animation);
8
+ }
9
+ };
10
+ var handleCancelAnimation = function (contextInstance) {
11
+ if (!contextInstance.mounted)
12
+ return;
13
+ handleCancelAnimationFrame(contextInstance.animation);
14
+ contextInstance.animate = false;
15
+ contextInstance.animation = null;
16
+ contextInstance.velocity = null;
17
+ };
18
+ exports.handleCancelAnimation = handleCancelAnimation;
19
+ function handleSetupAnimation(contextInstance, animationName, animationTime, callback) {
20
+ if (!contextInstance.mounted)
21
+ return;
22
+ var startTime = new Date().getTime();
23
+ var lastStep = 1;
24
+ (0, exports.handleCancelAnimation)(contextInstance);
25
+ contextInstance.animation = function () {
26
+ if (!contextInstance.mounted) {
27
+ return handleCancelAnimationFrame(contextInstance.animation);
28
+ }
29
+ var frameTime = new Date().getTime() - startTime;
30
+ var animationProgress = frameTime / animationTime;
31
+ var animationType = animations_constants_1.animations[animationName];
32
+ var step = animationType(animationProgress);
33
+ if (frameTime >= animationTime) {
34
+ callback(lastStep);
35
+ contextInstance.animation = null;
36
+ }
37
+ else if (contextInstance.animation) {
38
+ callback(step);
39
+ requestAnimationFrame(contextInstance.animation);
40
+ }
41
+ };
42
+ requestAnimationFrame(contextInstance.animation);
43
+ }
44
+ exports.handleSetupAnimation = handleSetupAnimation;
45
+ function isValidTargetState(targetState) {
46
+ var scale = targetState.scale, positionX = targetState.positionX, positionY = targetState.positionY;
47
+ return !(Number.isNaN(scale) || Number.isNaN(positionX) || Number.isNaN(positionY));
48
+ }
49
+ function animate(contextInstance, targetState, animationTime, animationName) {
50
+ var isValid = isValidTargetState(targetState);
51
+ if (!contextInstance.mounted || !isValid)
52
+ return;
53
+ var setTransformState = contextInstance.setTransformState;
54
+ var _a = contextInstance.transformState, scale = _a.scale, positionX = _a.positionX, positionY = _a.positionY;
55
+ var scaleDiff = targetState.scale - scale;
56
+ var positionXDiff = targetState.positionX - positionX;
57
+ var positionYDiff = targetState.positionY - positionY;
58
+ if (animationTime === 0) {
59
+ setTransformState(targetState.scale, targetState.positionX, targetState.positionY);
60
+ }
61
+ else {
62
+ handleSetupAnimation(contextInstance, animationName, animationTime, function (step) {
63
+ var newScale = scale + scaleDiff * step;
64
+ var newPositionX = positionX + positionXDiff * step;
65
+ var newPositionY = positionY + positionYDiff * step;
66
+ setTransformState(newScale, newPositionX, newPositionY);
67
+ });
68
+ }
69
+ }
70
+ exports.animate = animate;
71
+ //# sourceMappingURL=animations.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animations.util.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/animations.util.ts"],"names":[],"mappings":";;;AAGA,+DAAmD;AAGnD,IAAM,0BAA0B,GAAG,UAAC,SAA+B;IACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,oBAAoB,CAAC,SAAS,CAAC,CAAA;KAChC;AACH,CAAC,CAAA;AAEM,IAAM,qBAAqB,GAAG,UACnC,eAAyC;IAEzC,IAAI,CAAC,eAAe,CAAC,OAAO;QAAE,OAAM;IACpC,0BAA0B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAErD,eAAe,CAAC,OAAO,GAAG,KAAK,CAAA;IAC/B,eAAe,CAAC,SAAS,GAAG,IAAI,CAAA;IAChC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAA;AACjC,CAAC,CAAA;AATY,QAAA,qBAAqB,yBASjC;AAED,SAAgB,oBAAoB,CAClC,eAAyC,EACzC,aAAqB,EACrB,aAAqB,EACrB,QAAgC;IAEhC,IAAI,CAAC,eAAe,CAAC,OAAO;QAAE,OAAM;IACpC,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IACtC,IAAM,QAAQ,GAAG,CAAC,CAAA;IAGlB,IAAA,6BAAqB,EAAC,eAAe,CAAC,CAAA;IAGtC,eAAe,CAAC,SAAS,GAAG;QAC1B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;YAC5B,OAAO,0BAA0B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SAC7D;QAED,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAA;QAClD,IAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAA;QACnD,IAAM,aAAa,GAAG,iCAAU,CAAC,aAAa,CAAC,CAAA;QAE/C,IAAM,IAAI,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAA;QAE7C,IAAI,SAAS,IAAI,aAAa,EAAE;YAC9B,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAClB,eAAe,CAAC,SAAS,GAAG,IAAI,CAAA;SACjC;aAAM,IAAI,eAAe,CAAC,SAAS,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,qBAAqB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SACjD;IACH,CAAC,CAAA;IAED,qBAAqB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;AAClD,CAAC;AAnCD,oDAmCC;AAED,SAAS,kBAAkB,CAAC,WAAsB;IACxC,IAAA,KAAK,GAA2B,WAAW,MAAtC,EAAE,SAAS,GAAgB,WAAW,UAA3B,EAAE,SAAS,GAAK,WAAW,UAAhB,CAAgB;IAEnD,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAgB,OAAO,CACrB,eAAyC,EACzC,WAAsB,EACtB,aAAqB,EACrB,aAAqB;IAErB,IAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC/C,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,OAAO;QAAE,OAAM;IAExC,IAAA,iBAAiB,GAAK,eAAe,kBAApB,CAAoB;IACvC,IAAA,KAAkC,eAAe,CAAC,cAAc,EAA9D,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAmC,CAAA;IAEtE,IAAM,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;IAC3C,IAAM,aAAa,GAAG,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;IACvD,IAAM,aAAa,GAAG,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;IAEvD,IAAI,aAAa,KAAK,CAAC,EAAE;QACvB,iBAAiB,CACf,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,SAAS,CACtB,CAAA;KACF;SAAM;QAEL,oBAAoB,CAClB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAC,IAAY;YACX,IAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAA;YACzC,IAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAAA;YACrD,IAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAAA;YAErD,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC,CACF,CAAA;KACF;AACH,CAAC;AArCD,0BAqCC"}
@@ -0,0 +1,7 @@
1
+ import { BoundsType, PositionType, ReactZoomPanPinchContext } from 'react-zoom-pan-pinch';
2
+ export declare function getComponentsSizes(wrapperComponent: HTMLDivElement, contentComponent: HTMLDivElement, newScale: number): any;
3
+ export declare const getBounds: (wrapperWidth: number, newContentWidth: number, diffWidth: number, wrapperHeight: number, newContentHeight: number, diffHeight: number, centerZoomedOut: boolean) => BoundsType;
4
+ export declare const calculateBounds: (contextInstance: ReactZoomPanPinchContext, newScale: number) => BoundsType;
5
+ export declare const boundLimiter: (value: number, minBound: number, maxBound: number, isActive: boolean) => number;
6
+ export declare const handleCalculateBounds: (contextInstance: ReactZoomPanPinchContext, newScale: number) => BoundsType;
7
+ export declare function getMouseBoundedPosition(positionX: number, positionY: number, bounds: BoundsType, limitToBounds: boolean, paddingValueX: number, paddingValueY: number, wrapperComponent: HTMLDivElement | null): PositionType;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMouseBoundedPosition = exports.handleCalculateBounds = exports.boundLimiter = exports.calculateBounds = exports.getBounds = exports.getComponentsSizes = void 0;
4
+ var calculation_util_1 = require("./calculation.util");
5
+ function getComponentsSizes(wrapperComponent, contentComponent, newScale) {
6
+ var wrapperWidth = wrapperComponent.offsetWidth;
7
+ var wrapperHeight = wrapperComponent.offsetHeight;
8
+ var contentWidth = contentComponent.offsetWidth;
9
+ var contentHeight = contentComponent.offsetHeight;
10
+ var newContentWidth = contentWidth * newScale;
11
+ var newContentHeight = contentHeight * newScale;
12
+ var newDiffWidth = wrapperWidth - newContentWidth;
13
+ var newDiffHeight = wrapperHeight - newContentHeight;
14
+ return {
15
+ wrapperWidth: wrapperWidth,
16
+ wrapperHeight: wrapperHeight,
17
+ newContentWidth: newContentWidth,
18
+ newDiffWidth: newDiffWidth,
19
+ newContentHeight: newContentHeight,
20
+ newDiffHeight: newDiffHeight
21
+ };
22
+ }
23
+ exports.getComponentsSizes = getComponentsSizes;
24
+ var getBounds = function (wrapperWidth, newContentWidth, diffWidth, wrapperHeight, newContentHeight, diffHeight, centerZoomedOut) {
25
+ var scaleWidthFactor = wrapperWidth > newContentWidth
26
+ ? diffWidth * (centerZoomedOut ? 1 : 0.5)
27
+ : 0;
28
+ var scaleHeightFactor = wrapperHeight > newContentHeight
29
+ ? diffHeight * (centerZoomedOut ? 1 : 0.5)
30
+ : 0;
31
+ var minPositionX = wrapperWidth - newContentWidth - scaleWidthFactor;
32
+ var maxPositionX = scaleWidthFactor;
33
+ var minPositionY = wrapperHeight - newContentHeight - scaleHeightFactor;
34
+ var maxPositionY = scaleHeightFactor;
35
+ return { minPositionX: minPositionX, maxPositionX: maxPositionX, minPositionY: minPositionY, maxPositionY: maxPositionY };
36
+ };
37
+ exports.getBounds = getBounds;
38
+ var calculateBounds = function (contextInstance, newScale) {
39
+ var wrapperComponent = contextInstance.wrapperComponent, contentComponent = contextInstance.contentComponent;
40
+ var centerZoomedOut = contextInstance.setup.centerZoomedOut;
41
+ if (!wrapperComponent || !contentComponent) {
42
+ throw new Error('Components are not mounted');
43
+ }
44
+ var _a = getComponentsSizes(wrapperComponent, contentComponent, newScale), wrapperWidth = _a.wrapperWidth, wrapperHeight = _a.wrapperHeight, newContentWidth = _a.newContentWidth, newDiffWidth = _a.newDiffWidth, newContentHeight = _a.newContentHeight, newDiffHeight = _a.newDiffHeight;
45
+ return (0, exports.getBounds)(wrapperWidth, newContentWidth, newDiffWidth, wrapperHeight, newContentHeight, newDiffHeight, Boolean(centerZoomedOut));
46
+ };
47
+ exports.calculateBounds = calculateBounds;
48
+ var boundLimiter = function (value, minBound, maxBound, isActive) {
49
+ if (!isActive)
50
+ return (0, calculation_util_1.roundNumber)(value, 2);
51
+ if (value < minBound)
52
+ return (0, calculation_util_1.roundNumber)(minBound, 2);
53
+ if (value > maxBound)
54
+ return (0, calculation_util_1.roundNumber)(maxBound, 2);
55
+ return (0, calculation_util_1.roundNumber)(value, 2);
56
+ };
57
+ exports.boundLimiter = boundLimiter;
58
+ var handleCalculateBounds = function (contextInstance, newScale) {
59
+ var bounds = (0, exports.calculateBounds)(contextInstance, newScale);
60
+ contextInstance.bounds = bounds;
61
+ return bounds;
62
+ };
63
+ exports.handleCalculateBounds = handleCalculateBounds;
64
+ function getMouseBoundedPosition(positionX, positionY, bounds, limitToBounds, paddingValueX, paddingValueY, wrapperComponent) {
65
+ var minPositionX = bounds.minPositionX, minPositionY = bounds.minPositionY, maxPositionX = bounds.maxPositionX, maxPositionY = bounds.maxPositionY;
66
+ var paddingX = 0;
67
+ var paddingY = 0;
68
+ if (wrapperComponent) {
69
+ paddingX = paddingValueX;
70
+ paddingY = paddingValueY;
71
+ }
72
+ var x = (0, exports.boundLimiter)(positionX, minPositionX - paddingX, maxPositionX + paddingX, limitToBounds);
73
+ var y = (0, exports.boundLimiter)(positionY, minPositionY - paddingY, maxPositionY + paddingY, limitToBounds);
74
+ return { x: x, y: y };
75
+ }
76
+ exports.getMouseBoundedPosition = getMouseBoundedPosition;
77
+ //# sourceMappingURL=bounds.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounds.util.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/bounds.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const roundNumber: (num: number, decimal: number) => number;
2
+ export declare const checkIsNumber: (num: any, defaultValue: number) => number;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkIsNumber = exports.roundNumber = void 0;
4
+ var roundNumber = function (num, decimal) {
5
+ return Number(num.toFixed(decimal));
6
+ };
7
+ exports.roundNumber = roundNumber;
8
+ var checkIsNumber = function (num, defaultValue) {
9
+ return typeof num === "number" ? num : defaultValue;
10
+ };
11
+ exports.checkIsNumber = checkIsNumber;
12
+ //# sourceMappingURL=calculation.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculation.util.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/calculation.util.ts"],"names":[],"mappings":";;;AAQO,IAAM,WAAW,GAAG,UAAC,GAAW,EAAE,OAAe;IACtD,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAOK,IAAM,aAAa,GAAG,UAAC,GAAQ,EAAE,YAAoB;IAC1D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
@@ -0,0 +1,5 @@
1
+ export * from './animations.constants';
2
+ export * from './animations.util';
3
+ export * from './bounds.util';
4
+ export * from './calculation.util';
5
+ export * from './zoom.util';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./animations.constants"), exports);
18
+ __exportStar(require("./animations.util"), exports);
19
+ __exportStar(require("./bounds.util"), exports);
20
+ __exportStar(require("./calculation.util"), exports);
21
+ __exportStar(require("./zoom.util"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,yDAAsC;AACtC,oDAAiC;AACjC,gDAA6B;AAC7B,qDAAkC;AAClC,8CAA2B"}
@@ -0,0 +1 @@
1
+ export declare function checkZoomBounds(zoom: number, minScale: number, maxScale: number, zoomPadding: number, enablePadding: boolean): number;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkZoomBounds = void 0;
4
+ function checkZoomBounds(zoom, minScale, maxScale, zoomPadding, enablePadding) {
5
+ var scalePadding = enablePadding ? zoomPadding : 0;
6
+ var minScaleWithPadding = minScale - scalePadding;
7
+ if (!Number.isNaN(maxScale) && zoom >= maxScale)
8
+ return maxScale;
9
+ if (!Number.isNaN(minScale) && zoom <= minScaleWithPadding)
10
+ return minScaleWithPadding;
11
+ return zoom;
12
+ }
13
+ exports.checkZoomBounds = checkZoomBounds;
14
+ //# sourceMappingURL=zoom.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom.util.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/zoom.util.ts"],"names":[],"mappings":";;;AAGA,SAAgB,eAAe,CAC7B,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,aAAsB;IAEtB,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,IAAM,mBAAmB,GAAG,QAAQ,GAAG,YAAY,CAAA;IAEnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,mBAAmB;QACxD,OAAO,mBAAmB,CAAA;IAC5B,OAAO,IAAI,CAAA;AACb,CAAC;AAdD,0CAcC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/react-game",
3
- "version": "6.23.4",
3
+ "version": "6.24.2",
4
4
  "description": "React components & tools to create a Board Game user interface for Game Park",
5
5
  "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
6
6
  "license": "ISC",
@@ -27,8 +27,8 @@
27
27
  "@fortawesome/free-solid-svg-icons": "^6.4.0",
28
28
  "@fortawesome/react-fontawesome": "^0.2.0",
29
29
  "@gamepark/avataaars": "^2.2.0",
30
- "@gamepark/react-client": "~6.23.4",
31
- "@gamepark/rules-api": "~6.23.3",
30
+ "@gamepark/react-client": "~6.24.2",
31
+ "@gamepark/rules-api": "~6.24.2",
32
32
  "dayjs": "^1.11.7",
33
33
  "emotion-normalize": "^11.0.1",
34
34
  "fscreen": "^1.2.0",