@gamepark/react-game 6.24.2 → 6.24.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 (263) hide show
  1. package/dist/components/Avatar/Avatar.d.ts +4 -6
  2. package/dist/components/Avatar/Avatar.js +5 -4
  3. package/dist/components/Avatar/Avatar.js.map +1 -1
  4. package/dist/components/Avatar/ChatSpeechBubble.js +3 -2
  5. package/dist/components/Avatar/ChatSpeechBubble.js.map +1 -1
  6. package/dist/components/Avatar/SpeechBubble.d.ts +1 -0
  7. package/dist/components/Avatar/SpeechBubble.js +2 -1
  8. package/dist/components/Avatar/SpeechBubble.js.map +1 -1
  9. package/dist/components/GamePoints/GamePointIcon.js +1 -0
  10. package/dist/components/GamePoints/GamePointIcon.js.map +1 -1
  11. package/dist/components/GamePoints/GamePoints.js +1 -0
  12. package/dist/components/GamePoints/GamePoints.js.map +1 -1
  13. package/dist/components/GameProvider/GameContext.js +2 -1
  14. package/dist/components/GameProvider/GameContext.js.map +1 -1
  15. package/dist/components/GameProvider/GameProvider.js +3 -0
  16. package/dist/components/GameProvider/GameProvider.js.map +1 -1
  17. package/dist/components/Header/Header.d.ts +1 -0
  18. package/dist/components/Header/Header.js +3 -2
  19. package/dist/components/Header/Header.js.map +1 -1
  20. package/dist/components/Header/MaterialHeader.js +1 -0
  21. package/dist/components/Header/MaterialHeader.js.map +1 -1
  22. package/dist/components/ImagesLoader/ImagesLoader.js +1 -0
  23. package/dist/components/ImagesLoader/ImagesLoader.js.map +1 -1
  24. package/dist/components/JournalTabs/Chat/Chat.d.ts +1 -0
  25. package/dist/components/JournalTabs/Chat/ChatMessage.js +1 -0
  26. package/dist/components/JournalTabs/Chat/ChatMessage.js.map +1 -1
  27. package/dist/components/JournalTabs/Chat/ChatMessageAuthor.js +1 -0
  28. package/dist/components/JournalTabs/Chat/ChatMessageAuthor.js.map +1 -1
  29. package/dist/components/JournalTabs/Chat/ChatTextInput.js +1 -0
  30. package/dist/components/JournalTabs/Chat/ChatTextInput.js.map +1 -1
  31. package/dist/components/JournalTabs/Chat/CommonChat.js +1 -0
  32. package/dist/components/JournalTabs/Chat/CommonChat.js.map +1 -1
  33. package/dist/components/JournalTabs/Chat/SignInToChat.js +1 -0
  34. package/dist/components/JournalTabs/Chat/SignInToChat.js.map +1 -1
  35. package/dist/components/JournalTabs/History/GameOverHistory.js +1 -0
  36. package/dist/components/JournalTabs/History/GameOverHistory.js.map +1 -1
  37. package/dist/components/JournalTabs/History/History.js +2 -0
  38. package/dist/components/JournalTabs/History/History.js.map +1 -1
  39. package/dist/components/JournalTabs/History/HistoryEntry.js +1 -0
  40. package/dist/components/JournalTabs/History/HistoryEntry.js.map +1 -1
  41. package/dist/components/JournalTabs/History/StartGameHistory.js +1 -0
  42. package/dist/components/JournalTabs/History/StartGameHistory.js.map +1 -1
  43. package/dist/components/JournalTabs/JournalTabs.d.ts +1 -0
  44. package/dist/components/JournalTabs/JournalTabs.js +5 -1
  45. package/dist/components/JournalTabs/JournalTabs.js.map +1 -1
  46. package/dist/components/Letterbox/Letterbox.js +1 -0
  47. package/dist/components/Letterbox/Letterbox.js.map +1 -1
  48. package/dist/components/LoadingScreen/LoadingScreen.js +1 -0
  49. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  50. package/dist/components/Picture/Picture.d.ts +1 -0
  51. package/dist/components/Picture/Picture.js +1 -0
  52. package/dist/components/Picture/Picture.js.map +1 -1
  53. package/dist/components/PlayerPanel/Counters.d.ts +1 -0
  54. package/dist/components/PlayerPanel/Counters.js +1 -0
  55. package/dist/components/PlayerPanel/Counters.js.map +1 -1
  56. package/dist/components/PlayerPanel/PlayerPanel.js +1 -0
  57. package/dist/components/PlayerPanel/PlayerPanel.js.map +1 -1
  58. package/dist/components/PlayerPanel/StyledPlayerPanel.d.ts +1 -0
  59. package/dist/components/PlayerPanel/StyledPlayerPanel.js +44 -16
  60. package/dist/components/PlayerPanel/StyledPlayerPanel.js.map +1 -1
  61. package/dist/components/PlayerTimer/PlayerTimer.d.ts +1 -0
  62. package/dist/components/PlayerTimer/PlayerTimer.js +1 -0
  63. package/dist/components/PlayerTimer/PlayerTimer.js.map +1 -1
  64. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +1 -0
  65. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
  66. package/dist/components/buttons/ThemeButton/ThemeButton.d.ts +1 -0
  67. package/dist/components/buttons/UndoMovesButton/UndoMovesButton.d.ts +1 -0
  68. package/dist/components/dialogs/Dialog.d.ts +1 -0
  69. package/dist/components/dialogs/Dialog.js +3 -0
  70. package/dist/components/dialogs/Dialog.js.map +1 -1
  71. package/dist/components/dialogs/FailuresDialog.js +1 -0
  72. package/dist/components/dialogs/FailuresDialog.js.map +1 -1
  73. package/dist/components/dialogs/ResultDialog/RematchDisplay.js +1 -0
  74. package/dist/components/dialogs/ResultDialog/RematchDisplay.js.map +1 -1
  75. package/dist/components/dialogs/ResultDialog/RematchSection.js +1 -0
  76. package/dist/components/dialogs/ResultDialog/RematchSection.js.map +1 -1
  77. package/dist/components/dialogs/ResultDialog/ResultDialog.js +1 -0
  78. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
  79. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +1 -0
  80. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
  81. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js +1 -0
  82. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js.map +1 -1
  83. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +1 -0
  84. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
  85. package/dist/components/dialogs/RulesDialog/RulesDialog.js +1 -0
  86. package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -1
  87. package/dist/components/dialogs/RulesDialog/RulesHelpDialogContent.js +1 -0
  88. package/dist/components/dialogs/RulesDialog/RulesHelpDialogContent.js.map +1 -1
  89. package/dist/components/material/ComponentDescription.d.ts +32 -0
  90. package/dist/components/material/ComponentDescription.js +15 -1
  91. package/dist/components/material/ComponentDescription.js.map +1 -1
  92. package/dist/components/material/Dices/CubicDiceDescription.d.ts +4 -4
  93. package/dist/components/material/Dices/CubicDiceDescription.js +6 -7
  94. package/dist/components/material/Dices/CubicDiceDescription.js.map +1 -1
  95. package/dist/components/material/DraggableMaterial.js +4 -0
  96. package/dist/components/material/DraggableMaterial.js.map +1 -1
  97. package/dist/components/material/FlatMaterial/BoardDescription.js +1 -1
  98. package/dist/components/material/FlatMaterial/CardDescription.js +3 -3
  99. package/dist/components/material/FlatMaterial/CardDescription.js.map +1 -1
  100. package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +1 -0
  101. package/dist/components/material/FlatMaterial/FlatMaterial.js +2 -1
  102. package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -1
  103. package/dist/components/material/FlatMaterial/MoneyDescription.d.ts +7 -0
  104. package/dist/components/material/FlatMaterial/MoneyDescription.js +39 -0
  105. package/dist/components/material/FlatMaterial/MoneyDescription.js.map +1 -0
  106. package/dist/components/material/FlatMaterial/TokenDescription.js +2 -2
  107. package/dist/components/material/FlatMaterial/index.d.ts +1 -0
  108. package/dist/components/material/FlatMaterial/index.js +1 -0
  109. package/dist/components/material/FlatMaterial/index.js.map +1 -1
  110. package/dist/components/material/GameTable/DynamicItemsDisplay.js +2 -1
  111. package/dist/components/material/GameTable/DynamicItemsDisplay.js.map +1 -1
  112. package/dist/components/material/GameTable/GameMaterialDisplay.js +1 -0
  113. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  114. package/dist/components/material/GameTable/GameTable.d.ts +1 -0
  115. package/dist/components/material/GameTable/GameTable.js +1 -0
  116. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  117. package/dist/components/material/GameTable/GameTableNavigation.js +1 -0
  118. package/dist/components/material/GameTable/GameTableNavigation.js.map +1 -1
  119. package/dist/components/material/GameTable/ItemDisplay.js +2 -1
  120. package/dist/components/material/GameTable/ItemDisplay.js.map +1 -1
  121. package/dist/components/material/GameTable/StaticItemsDisplay.d.ts +1 -0
  122. package/dist/components/material/GameTable/StaticLocationsDisplay.d.ts +1 -0
  123. package/dist/components/material/GameTable/focus/FocusProvider.js +1 -0
  124. package/dist/components/material/GameTable/focus/FocusProvider.js.map +1 -1
  125. package/dist/components/material/MaterialComponent.js +1 -0
  126. package/dist/components/material/MaterialComponent.js.map +1 -1
  127. package/dist/components/material/MaterialDescription.d.ts +119 -0
  128. package/dist/components/material/MaterialDescription.js +107 -1
  129. package/dist/components/material/MaterialDescription.js.map +1 -1
  130. package/dist/components/material/MobileMaterialDescription.d.ts +1 -0
  131. package/dist/components/material/MobileMaterialDescription.js +2 -1
  132. package/dist/components/material/MobileMaterialDescription.js.map +1 -1
  133. package/dist/components/material/Writing/WritingDescription.js +2 -1
  134. package/dist/components/material/Writing/WritingDescription.js.map +1 -1
  135. package/dist/components/material/animations/CreateItemAnimations.js +1 -1
  136. package/dist/components/material/animations/DeleteItemAnimations.js +5 -3
  137. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -1
  138. package/dist/components/material/animations/ItemAnimations.js +1 -1
  139. package/dist/components/material/animations/MaterialAnimations.js +1 -1
  140. package/dist/components/material/animations/MaterialGameAnimations.js +2 -2
  141. package/dist/components/material/animations/MoveItemAnimations.js +7 -5
  142. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -1
  143. package/dist/components/material/animations/MoveItemAtOnceAnimations.js +2 -1
  144. package/dist/components/material/animations/MoveItemAtOnceAnimations.js.map +1 -1
  145. package/dist/components/material/animations/RollItemAnimations.js +4 -1
  146. package/dist/components/material/animations/RollItemAnimations.js.map +1 -1
  147. package/dist/components/material/animations/ShuffleAnimations.js +1 -1
  148. package/dist/components/material/animations/isMovedOrDeletedItem.util.d.ts +1 -1
  149. package/dist/components/material/animations/isMovedOrDeletedItem.util.js +1 -4
  150. package/dist/components/material/animations/isMovedOrDeletedItem.util.js.map +1 -1
  151. package/dist/components/material/animations/rotations.utils.js +23 -12
  152. package/dist/components/material/animations/rotations.utils.js.map +1 -1
  153. package/dist/components/material/locations/DropAreaDescription.js +1 -1
  154. package/dist/components/material/locations/LocationComponent.js +2 -1
  155. package/dist/components/material/locations/LocationComponent.js.map +1 -1
  156. package/dist/components/material/locations/LocationDescription.d.ts +7 -0
  157. package/dist/components/material/locations/LocationDescription.js +8 -1
  158. package/dist/components/material/locations/LocationDescription.js.map +1 -1
  159. package/dist/components/material/locations/LocationDisplay.js +1 -0
  160. package/dist/components/material/locations/LocationDisplay.js.map +1 -1
  161. package/dist/components/material/locations/SimpleDropArea.js +1 -0
  162. package/dist/components/material/locations/SimpleDropArea.js.map +1 -1
  163. package/dist/components/menus/EjectPlayer/EjectPlayerButton.js +1 -0
  164. package/dist/components/menus/EjectPlayer/EjectPlayerButton.js.map +1 -1
  165. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js +1 -0
  166. package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js.map +1 -1
  167. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js +1 -0
  168. package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js.map +1 -1
  169. package/dist/components/menus/Fullscreen/FullscreenButton.js +1 -0
  170. package/dist/components/menus/Fullscreen/FullscreenButton.js.map +1 -1
  171. package/dist/components/menus/Fullscreen/FullscreenDialog.js +1 -0
  172. package/dist/components/menus/Fullscreen/FullscreenDialog.js.map +1 -1
  173. package/dist/components/menus/Fullscreen/FullscreenPopButton.js +1 -0
  174. package/dist/components/menus/Fullscreen/FullscreenPopButton.js.map +1 -1
  175. package/dist/components/menus/GiveUpButton/GiveUpButton.js +1 -0
  176. package/dist/components/menus/GiveUpButton/GiveUpButton.js.map +1 -1
  177. package/dist/components/menus/Menu/Menu.js +1 -0
  178. package/dist/components/menus/Menu/Menu.js.map +1 -1
  179. package/dist/components/menus/Menu/MenuPopButton.js +1 -0
  180. package/dist/components/menus/Menu/MenuPopButton.js.map +1 -1
  181. package/dist/components/menus/Menu/NavButton.d.ts +1 -0
  182. package/dist/components/menus/PlayerQuit/TrackPlayersQuit.js +1 -0
  183. package/dist/components/menus/PlayerQuit/TrackPlayersQuit.js.map +1 -1
  184. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js +1 -0
  185. package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js.map +1 -1
  186. package/dist/components/menus/Result/ResultButton.js +1 -0
  187. package/dist/components/menus/Result/ResultButton.js.map +1 -1
  188. package/dist/components/menus/Result/ResultPopButton.js +1 -0
  189. package/dist/components/menus/Result/ResultPopButton.js.map +1 -1
  190. package/dist/components/menus/SoundButton/SoundButton.js +1 -0
  191. package/dist/components/menus/SoundButton/SoundButton.js.map +1 -1
  192. package/dist/components/menus/TimeStatsButton/TimeStatsButton.js +1 -0
  193. package/dist/components/menus/TimeStatsButton/TimeStatsButton.js.map +1 -1
  194. package/dist/components/menus/UndoButton/UndoButton.js +1 -0
  195. package/dist/components/menus/UndoButton/UndoButton.js.map +1 -1
  196. package/dist/components/menus/UndoButton/UndoPopButton.js +1 -0
  197. package/dist/components/menus/UndoButton/UndoPopButton.js.map +1 -1
  198. package/dist/components/tutorial/MaterialTutorial.js +1 -1
  199. package/dist/components/tutorial/MaterialTutorialDisplay.js +1 -0
  200. package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -1
  201. package/dist/components/tutorial/TutorialRulesWrapper.js +1 -0
  202. package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -1
  203. package/dist/hooks/useFullscreen.js +1 -0
  204. package/dist/hooks/useFullscreen.js.map +1 -1
  205. package/dist/hooks/useOpponentWithMaxTime.d.ts +3 -0
  206. package/dist/hooks/useOpponentWithMaxTime.js +3 -0
  207. package/dist/hooks/useOpponentWithMaxTime.js.map +1 -1
  208. package/dist/hooks/usePlayerTime.js +1 -1
  209. package/dist/hooks/usePlayerTime.js.map +1 -1
  210. package/dist/hooks/useResultText.js +1 -0
  211. package/dist/hooks/useResultText.js.map +1 -1
  212. package/dist/hooks/useSound.js +1 -0
  213. package/dist/hooks/useSound.js.map +1 -1
  214. package/dist/hooks/useWebP.js +2 -2
  215. package/dist/hooks/useWebP.js.map +1 -1
  216. package/dist/hooks/useZoomToElements.d.ts +3 -0
  217. package/dist/hooks/useZoomToElements.js +3 -0
  218. package/dist/hooks/useZoomToElements.js.map +1 -1
  219. package/dist/locators/DeckLocator.d.ts +3 -0
  220. package/dist/locators/DeckLocator.js +4 -1
  221. package/dist/locators/DeckLocator.js.map +1 -1
  222. package/dist/locators/FlexLocator.d.ts +39 -0
  223. package/dist/locators/FlexLocator.js +31 -1
  224. package/dist/locators/FlexLocator.js.map +1 -1
  225. package/dist/locators/HandLocator.d.ts +72 -0
  226. package/dist/locators/HandLocator.js +73 -1
  227. package/dist/locators/HandLocator.js.map +1 -1
  228. package/dist/locators/ListLocator.d.ts +36 -0
  229. package/dist/locators/ListLocator.js +28 -1
  230. package/dist/locators/ListLocator.js.map +1 -1
  231. package/dist/locators/Locator.d.ts +199 -1
  232. package/dist/locators/Locator.js +189 -1
  233. package/dist/locators/Locator.js.map +1 -1
  234. package/dist/locators/PileLocator.d.ts +30 -0
  235. package/dist/locators/PileLocator.js +31 -1
  236. package/dist/locators/PileLocator.js.map +1 -1
  237. package/dist/utilities/DeepPartial.d.ts +3 -0
  238. package/dist/utilities/combineEventListeners.d.ts +6 -0
  239. package/dist/utilities/combineEventListeners.js +6 -0
  240. package/dist/utilities/combineEventListeners.js.map +1 -1
  241. package/dist/utilities/findIfUnique.util.d.ts +6 -0
  242. package/dist/utilities/findIfUnique.util.js +6 -0
  243. package/dist/utilities/findIfUnique.util.js.map +1 -1
  244. package/dist/utilities/translation.util.d.ts +5 -0
  245. package/dist/utilities/translation.util.js +5 -0
  246. package/dist/utilities/translation.util.js.map +1 -1
  247. package/dist/utilities/zoom-pan-pinch/animations.constants.js +20 -0
  248. package/dist/utilities/zoom-pan-pinch/animations.constants.js.map +1 -1
  249. package/dist/utilities/zoom-pan-pinch/animations.util.js +7 -0
  250. package/dist/utilities/zoom-pan-pinch/animations.util.js.map +1 -1
  251. package/dist/utilities/zoom-pan-pinch/bounds.util.d.ts +10 -0
  252. package/dist/utilities/zoom-pan-pinch/bounds.util.js +8 -0
  253. package/dist/utilities/zoom-pan-pinch/bounds.util.js.map +1 -1
  254. package/dist/utilities/zoom-pan-pinch/calculation.util.d.ts +12 -0
  255. package/dist/utilities/zoom-pan-pinch/calculation.util.js +12 -0
  256. package/dist/utilities/zoom-pan-pinch/calculation.util.js.map +1 -1
  257. package/dist/utilities/zoom-pan-pinch/index.d.ts +4 -0
  258. package/dist/utilities/zoom-pan-pinch/index.js +4 -0
  259. package/dist/utilities/zoom-pan-pinch/index.js.map +1 -1
  260. package/dist/utilities/zoom-pan-pinch/zoom.util.d.ts +3 -0
  261. package/dist/utilities/zoom-pan-pinch/zoom.util.js +3 -0
  262. package/dist/utilities/zoom-pan-pinch/zoom.util.js.map +1 -1
  263. package/package.json +3 -3
@@ -15,23 +15,66 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.isItemContext = exports.Locator = void 0;
18
+ /** @jsxImportSource @emotion/react */
18
19
  var rules_api_1 = require("@gamepark/rules-api");
19
20
  var sumBy_1 = __importDefault(require("lodash/sumBy"));
20
21
  var components_1 = require("../components");
21
- var Locator = (function () {
22
+ /**
23
+ * A Locator is responsible for placing item and locations (such as drop areas) on the Game Table.
24
+ */
25
+ var Locator = /** @class */ (function () {
26
+ /**
27
+ * With the constructor, you can create new locators in one line.
28
+ * @example `new Locator({ coordinates: { x: -10, y: -5 } })`
29
+ * @param clone Object to clone into the class
30
+ */
22
31
  function Locator(clone) {
32
+ /**
33
+ * Types of items placed by the locator since it was created
34
+ * @internal
35
+ * @protected
36
+ */
23
37
  this.itemTypes = [];
38
+ /**
39
+ * The rotation unit to use. See {@link getRotateZ}
40
+ */
24
41
  this.rotationUnit = 'deg';
42
+ /**
43
+ * Declare this field if you always need to display some locations that does not depend on the context. See {@link getLocations}.
44
+ */
25
45
  this.locations = [];
46
+ /**
47
+ * Position of the location on the parent item, in percentage. Use {@link getPositionOnParent} to provide a dynamic position.
48
+ */
26
49
  this.positionOnParent = { x: 50, y: 50 };
50
+ /**
51
+ * Coordinates of the location on the Game Table. Use {@link getCoordinates} to provide dynamic coordinates.
52
+ */
27
53
  this.coordinates = { x: 0, y: 0, z: 0 };
54
+ /**
55
+ * The default Z-axis rotation of the items or locations to place if {@link getRotateZ} is not overridden.
56
+ */
28
57
  this.rotateZ = 0;
58
+ /**
59
+ * How items in the same location area are sorted for the help dialog navigation arrows.
60
+ */
29
61
  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; }];
30
62
  Object.assign(this, clone);
31
63
  }
64
+ /**
65
+ * Override this if you need to display some locations on the Game Table that depends on the context.
66
+ * By default, return any {@link location} or {@link locations}.
67
+ */
32
68
  Locator.prototype.getLocations = function (_context) {
33
69
  return this.location ? [this.location] : this.locations;
34
70
  };
71
+ /**
72
+ * @internal
73
+ * This function automatically create some drop location descriptions based on the context (dragged item, parent item).
74
+ *
75
+ * Do not override it but use {@link locationDescription},
76
+ * otherwise the images of the location descriptions will not be preloaded by the {@link MaterialImageLoader}.
77
+ */
35
78
  Locator.prototype.getLocationDescription = function (location, context) {
36
79
  if (!this.locationDescription) {
37
80
  if (this.parentItemType !== undefined && location.x === undefined && location.y === undefined && location.z === undefined) {
@@ -46,12 +89,27 @@ var Locator = (function () {
46
89
  }
47
90
  return this.locationDescription;
48
91
  };
92
+ /**
93
+ * @internal This function provides a custom location description for the current dragged item.
94
+ */
49
95
  Locator.prototype.generateLocationDescriptionFromDraggedItem = function (_location, context) {
50
96
  return new components_1.DropAreaDescription(context.material[context.type]);
51
97
  };
98
+ /**
99
+ * This function can hide some items on the game table depending on the context.
100
+ * @param item The item
101
+ * @param context The context of the item
102
+ * @returns true if the item must be hidden
103
+ */
52
104
  Locator.prototype.hide = function (item, context) {
53
105
  return this.limit ? this.getItemIndex(item, context) >= this.limit : false;
54
106
  };
107
+ /**
108
+ * Provide a list of css transform operations to place a location on the game table.
109
+ * @param location Location to place
110
+ * @param context Context of the location in the game
111
+ * @returns the css transform that will be applied to the location
112
+ */
55
113
  Locator.prototype.placeLocation = function (location, context) {
56
114
  var transform = [];
57
115
  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;
@@ -66,6 +124,12 @@ var Locator = (function () {
66
124
  transform.push('translateZ(5em)');
67
125
  return transform;
68
126
  };
127
+ /**
128
+ * Provide a list of css transform operations to place an item on the game table.
129
+ * @param item Item to place
130
+ * @param context Context of the item in the game
131
+ * @returns the css transform that will be applied to the item
132
+ */
69
133
  Locator.prototype.placeItem = function (item, context) {
70
134
  if (!this.itemTypes.includes(context.type)) {
71
135
  this.itemTypes.push(context.type);
@@ -81,6 +145,12 @@ var Locator = (function () {
81
145
  }
82
146
  return transform;
83
147
  };
148
+ /**
149
+ * Provide a list of css transform operations to place an item on a parent item.
150
+ * @param item Item to place
151
+ * @param context Context of the item in the game
152
+ * @returns the css transform that will be applied to the item
153
+ */
84
154
  Locator.prototype.placeItemOnParent = function (item, context) {
85
155
  var _a;
86
156
  var parentItem = this.getParentItem(item.location, context);
@@ -97,6 +167,12 @@ var Locator = (function () {
97
167
  }
98
168
  return transform;
99
169
  };
170
+ /**
171
+ * If a location belongs to an item, returns the item
172
+ * @param location A location
173
+ * @param context Context of the game
174
+ * @returns the parent item of the location if any
175
+ */
100
176
  Locator.prototype.getParentItem = function (location, _a) {
101
177
  var _b;
102
178
  var rules = _a.rules, material = _a.material;
@@ -106,45 +182,157 @@ var Locator = (function () {
106
182
  return (_b = material[this.parentItemType]) === null || _b === void 0 ? void 0 : _b.staticItem;
107
183
  return rules.material(this.parentItemType).getItem(location.parent);
108
184
  };
185
+ /**
186
+ * Place the center of the item in the plan of their parent item. This is ignored if "parentItemType" is undefined.
187
+ * Examples: {x: 0, y: 0} places the center of the item in the top-left corner of the parent item
188
+ * {x: 50, y: 50} centers the item in the parent item.
189
+ *
190
+ * @param _location Location of the item or area inside the parent item
191
+ * @param _context THe material game context
192
+ * @return {x, y} with "x" as a percentage from the parent's width, "y" a percentage of the height
193
+ */
109
194
  Locator.prototype.getPositionOnParent = function (_location, _context) {
110
195
  return this.positionOnParent;
111
196
  };
197
+ /**
198
+ * Provide the coordinates of a location on the Game Table.
199
+ *
200
+ * Called by {@link getLocationCoordinates} but can be used as the Hand, List or Pile "initial" position in subclasses.
201
+ *
202
+ * @param _location Location to position
203
+ * @param _context Context of the game
204
+ * @returns the x, y, z coordinates (in cm) of the location
205
+ */
112
206
  Locator.prototype.getCoordinates = function (_location, _context) {
113
207
  return this.coordinates;
114
208
  };
209
+ /**
210
+ * Provide the coordinates of a location on the Game Table.
211
+ *
212
+ * Fallback to {@link getCoordinates} but the differences appear in subclasses {@link ListLocator}, {@link PileLocator}, {@link HandLocator}.
213
+ *
214
+ * @param location Location to position
215
+ * @param context Context of the game
216
+ * @returns the x, y, z coordinates (in cm) of the location
217
+ */
115
218
  Locator.prototype.getLocationCoordinates = function (location, context) {
116
219
  return this.getCoordinates(location, context);
117
220
  };
221
+ /**
222
+ * Provide the coordinates of the center of an item on the Game Table.
223
+ *
224
+ * @param item Item being placed
225
+ * @param context Context of the item in the game
226
+ * @return The x, y, z coordinates in cm of the center of the item on the table
227
+ */
118
228
  Locator.prototype.getItemCoordinates = function (item, context) {
119
229
  return this.getLocationCoordinates(item.location, context);
120
230
  };
231
+ /**
232
+ * Get the Z-axis rotation of a location.
233
+ * @param _location Location to place
234
+ * @param _context Context of the location
235
+ * @returns the rotation (unit in {@link rotationUnit})
236
+ */
121
237
  Locator.prototype.getRotateZ = function (_location, _context) {
122
238
  return this.rotateZ;
123
239
  };
240
+ /**
241
+ * Get the Z-axis rotation of an item. Defaults to {@link getRotateZ}.
242
+ * @param item item to place
243
+ * @param context Context of the item
244
+ * @returns the rotation (unit in {@link rotationUnit})
245
+ */
124
246
  Locator.prototype.getItemRotateZ = function (item, context) {
125
247
  return this.getRotateZ(item.location, context);
126
248
  };
249
+ /**
250
+ * The index of a location to place, if it matters in the locator's context (see {@link HandLocator}, {@link ListLocator} or {@link PileLocator}).
251
+ *
252
+ * Defaults to location.x first, y otherwise, z last.
253
+ *
254
+ * @param location Location to index in the location area (see {@link isSameLocationArea})
255
+ * @param _context Context of the game
256
+ * @returns the index of the location in the location area
257
+ */
127
258
  Locator.prototype.getLocationIndex = function (location, _context) {
128
259
  var _a, _b;
129
260
  return (_b = (_a = location.x) !== null && _a !== void 0 ? _a : location.y) !== null && _b !== void 0 ? _b : location.z;
130
261
  };
262
+ /**
263
+ * Index of an item to place (fallback to {@link getLocationIndex} or item's displayIndex).
264
+ * @param item Item to place
265
+ * @param context Context of the item
266
+ * @returns the index of the item in the location area
267
+ */
131
268
  Locator.prototype.getItemIndex = function (item, context) {
132
269
  var _a;
133
270
  return (_a = this.getLocationIndex(item.location, context)) !== null && _a !== void 0 ? _a : context.displayIndex;
134
271
  };
272
+ /**
273
+ * The total number of items in the same location area (see {@link isSameLocationArea}).
274
+ *
275
+ * @param location the location area
276
+ * @param context Context of the game
277
+ * @returns the total number of items in the location area
278
+ */
135
279
  Locator.prototype.countItems = function (location, _a) {
136
280
  var rules = _a.rules;
137
281
  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(); });
138
282
  };
283
+ /**
284
+ * Any css transform to apply to the item when it is hovered by the pointer. See {@link HandLocator} override for example.
285
+ * @param _item The item
286
+ * @param _context Context of the item
287
+ * @returns the list of css transforms
288
+ */
139
289
  Locator.prototype.getHoverTransform = function (_item, _context) {
140
290
  return [];
141
291
  };
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
+ */
142
297
  Locator.prototype.getNavigationSorts = function (_context) {
143
298
  return this.navigationSorts;
144
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
+ Locator.prototype.isItemToAnimate = function (item, context, move) {
308
+ var _a, _b;
309
+ var rules = context.rules, type = context.type, index = context.index, displayIndex = context.displayIndex;
310
+ if (move.itemType !== type || move.itemIndex !== index)
311
+ return false;
312
+ var quantity = (_a = item.quantity) !== null && _a !== void 0 ? _a : 1;
313
+ var movedQuantity = (_b = move.quantity) !== null && _b !== void 0 ? _b : 1;
314
+ if (quantity === movedQuantity)
315
+ return true;
316
+ // If we move only a part of the quantity, we need to find which displayed items should move
317
+ var droppedItem = rules.game.droppedItem;
318
+ var itemsNotMoving = this.limit ? Math.min(quantity, this.limit) - movedQuantity : quantity - movedQuantity;
319
+ if ((droppedItem === null || droppedItem === void 0 ? void 0 : droppedItem.type) === type && droppedItem.index === index) {
320
+ var droppedIndex = droppedItem.displayIndex;
321
+ if (displayIndex === droppedIndex)
322
+ return true;
323
+ if (droppedIndex < itemsNotMoving)
324
+ itemsNotMoving++;
325
+ }
326
+ return this.getItemIndex(item, context) >= itemsNotMoving;
327
+ };
145
328
  return Locator;
146
329
  }());
147
330
  exports.Locator = Locator;
331
+ /**
332
+ * Type guard to test if some MaterialContext is also an item context.
333
+ * @param context Context of the game
334
+ * @returns true if the context also hold information about a specific item in the game.
335
+ */
148
336
  function isItemContext(context) {
149
337
  var itemContext = context;
150
338
  return itemContext.type !== undefined && itemContext.index !== undefined && itemContext.displayIndex !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../src/locators/Locator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../src/locators/Locator.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,45 @@
1
1
  import { Coordinates, Location, MaterialItem, XYCoordinates } from '@gamepark/rules-api';
2
2
  import { LocationDescription } from '../components';
3
3
  import { ItemContext, Locator, MaterialContext } from './Locator';
4
+ /**
5
+ * This Locator places items in a disorganised pile.
6
+ */
4
7
  export declare class PileLocator<P extends number = number, M extends number = number, L extends number = number> extends Locator<P, M, L> {
5
8
  constructor(clone?: Partial<PileLocator>);
6
9
  private positions;
7
10
  private rotations;
11
+ /**
12
+ * By default, a maximum of 20 items are displayed
13
+ */
8
14
  limit: number;
15
+ /**
16
+ * Maximum dispersion radius of the items.
17
+ */
9
18
  radius: number | XYCoordinates;
19
+ /**
20
+ * Function to override to provide a {@link radius} that depends on the context
21
+ * @param _location Location to position
22
+ * @param _context Context of the game
23
+ * @returns the maximum dispersion radius of the items.
24
+ */
10
25
  getRadius(_location: Location<P, L>, _context: MaterialContext<P, M, L>): number | XYCoordinates;
26
+ /**
27
+ * Maximum angle of rotation of the items. Defaults to 180, bidirectional so items can have any rotation.
28
+ */
11
29
  maxAngle: number;
30
+ /**
31
+ * Function to override to provide a {@link maxAngle} that depends on the context
32
+ * @param _location Location to position
33
+ * @param _context Context of the game
34
+ * @returns the maximum angle of rotation of the items
35
+ */
12
36
  getMaxAngle(_location: Location<P, L>, _context: MaterialContext<P, M, L>): number;
37
+ /**
38
+ * Identifier of the pile. By default, distinct location areas (different player, id or parent) forms distinct piles.
39
+ * @param item Item to position
40
+ * @param _context Context of the item
41
+ * @returns a unique identifier for the pile of items this location goes to
42
+ */
13
43
  getPileId(item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): string;
14
44
  getItemCoordinates(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Partial<Coordinates>;
15
45
  getItemRotateZ(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): number;
@@ -18,24 +18,54 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.PileLocator = void 0;
19
19
  var components_1 = require("../components");
20
20
  var Locator_1 = require("./Locator");
21
- var PileLocator = (function (_super) {
21
+ /**
22
+ * This Locator places items in a disorganised pile.
23
+ */
24
+ var PileLocator = /** @class */ (function (_super) {
22
25
  __extends(PileLocator, _super);
23
26
  function PileLocator(clone) {
24
27
  var _this = _super.call(this) || this;
25
28
  _this.positions = new Map();
26
29
  _this.rotations = new Map();
30
+ /**
31
+ * By default, a maximum of 20 items are displayed
32
+ */
27
33
  _this.limit = 20;
34
+ /**
35
+ * Maximum dispersion radius of the items.
36
+ */
28
37
  _this.radius = 0;
38
+ /**
39
+ * Maximum angle of rotation of the items. Defaults to 180, bidirectional so items can have any rotation.
40
+ */
29
41
  _this.maxAngle = 180;
30
42
  Object.assign(_this, clone);
31
43
  return _this;
32
44
  }
45
+ /**
46
+ * Function to override to provide a {@link radius} that depends on the context
47
+ * @param _location Location to position
48
+ * @param _context Context of the game
49
+ * @returns the maximum dispersion radius of the items.
50
+ */
33
51
  PileLocator.prototype.getRadius = function (_location, _context) {
34
52
  return this.radius;
35
53
  };
54
+ /**
55
+ * Function to override to provide a {@link maxAngle} that depends on the context
56
+ * @param _location Location to position
57
+ * @param _context Context of the game
58
+ * @returns the maximum angle of rotation of the items
59
+ */
36
60
  PileLocator.prototype.getMaxAngle = function (_location, _context) {
37
61
  return this.maxAngle;
38
62
  };
63
+ /**
64
+ * Identifier of the pile. By default, distinct location areas (different player, id or parent) forms distinct piles.
65
+ * @param item Item to position
66
+ * @param _context Context of the item
67
+ * @returns a unique identifier for the pile of items this location goes to
68
+ */
39
69
  PileLocator.prototype.getPileId = function (item, _context) {
40
70
  return [item.location.player, item.location.id, item.location.parent].filter(function (part) { return part !== undefined; }).join('_');
41
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Inspired from @apollo/client/utilities/DeepPartial: transform all properties from a type into optional properties, recursively
3
+ */
1
4
  export type DeepPartial<T> = T extends object ? {
2
5
  [P in keyof T]?: DeepPartial<T[P]>;
3
6
  } : T;
@@ -1 +1,7 @@
1
+ /**
2
+ * Combines listeners returned by useLongPress hook (onClick, onMouseDown...) with existing properties in order for both functions to be called.
3
+ * @param listeners Listener functions
4
+ * @param props React component properties
5
+ * @returns the properties but if listeners and props contains the same function, both will be called (listener first, then props once which returns the value)
6
+ */
1
7
  export declare function combineEventListeners<T extends Object>(listeners: T, props: Record<string, any>): T;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.combineEventListeners = void 0;
4
+ /**
5
+ * Combines listeners returned by useLongPress hook (onClick, onMouseDown...) with existing properties in order for both functions to be called.
6
+ * @param listeners Listener functions
7
+ * @param props React component properties
8
+ * @returns the properties but if listeners and props contains the same function, both will be called (listener first, then props once which returns the value)
9
+ */
4
10
  function combineEventListeners(listeners, props) {
5
11
  return Object.entries(listeners).reduce(function (result, _a) {
6
12
  var key = _a[0], value = _a[1];
@@ -1 +1 @@
1
- {"version":3,"file":"combineEventListeners.js","sourceRoot":"","sources":["../../src/utilities/combineEventListeners.ts"],"names":[],"mappings":";;;AAMA,SAAgB,qBAAqB,CAAmB,SAAY,EAAE,KAA0B;IAC9F,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;YAAC,cAAY;iBAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;gBAAZ,yBAAY;;YAC5D,KAAK,eAAI,IAAI,EAAC;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,OAAV,KAAK,EAAS,IAAI,EAAC;QAC5B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACT,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,EAAE,CAAM,CAAA;AACb,CAAC;AARD,sDAQC"}
1
+ {"version":3,"file":"combineEventListeners.js","sourceRoot":"","sources":["../../src/utilities/combineEventListeners.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAmB,SAAY,EAAE,KAA0B;IAC9F,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;YAAC,cAAY;iBAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;gBAAZ,yBAAY;;YAC5D,KAAK,eAAI,IAAI,EAAC;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,OAAV,KAAK,EAAS,IAAI,EAAC;QAC5B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACT,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,EAAE,CAAM,CAAA;AACb,CAAC;AARD,sDAQC"}
@@ -1 +1,7 @@
1
+ /**
2
+ * Search for a value that match a predicate in a collection, but only return the match if it is the only match in the collection
3
+ * @param collection Array of values
4
+ * @param predicate Predicate function to test the value
5
+ * @returns Matching item if and only if it is the only matching item
6
+ */
1
7
  export declare function findIfUnique<T>(collection: ArrayLike<T>, predicate: (value: T, index: number, collection: ArrayLike<T>) => boolean): T | undefined;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findIfUnique = void 0;
4
+ /**
5
+ * Search for a value that match a predicate in a collection, but only return the match if it is the only match in the collection
6
+ * @param collection Array of values
7
+ * @param predicate Predicate function to test the value
8
+ * @returns Matching item if and only if it is the only matching item
9
+ */
4
10
  function findIfUnique(collection, predicate) {
5
11
  var result = undefined;
6
12
  for (var i = 0; i < collection.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"findIfUnique.util.js","sourceRoot":"","sources":["../../src/utilities/findIfUnique.util.ts"],"names":[],"mappings":";;;AAMA,SAAgB,YAAY,CAAI,UAAwB,EAAE,SAAyE;IACjI,IAAI,MAAM,GAAG,SAAS,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YAC1C,MAAM,GAAG,CAAC,CAAA;SACX;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAVD,oCAUC"}
1
+ {"version":3,"file":"findIfUnique.util.js","sourceRoot":"","sources":["../../src/utilities/findIfUnique.util.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,YAAY,CAAI,UAAwB,EAAE,SAAyE;IACjI,IAAI,MAAM,GAAG,SAAS,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YAC1C,MAAM,GAAG,CAAC,CAAA;SACX;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAVD,oCAUC"}
@@ -2,4 +2,9 @@ import { InitOptions, Resource } from 'i18next';
2
2
  import 'dayjs/locale/de';
3
3
  import 'dayjs/locale/fr';
4
4
  import 'dayjs/locale/ru';
5
+ /**
6
+ * Setup i18next global instance.
7
+ * @param translations The translation mapping
8
+ * @param options i18next options
9
+ */
5
10
  export declare const setupTranslation: (translations: Resource, options?: InitOptions) => void;
@@ -22,6 +22,11 @@ require("dayjs/locale/de");
22
22
  require("dayjs/locale/fr");
23
23
  require("dayjs/locale/ru");
24
24
  var react_i18next_1 = require("react-i18next");
25
+ /**
26
+ * Setup i18next global instance.
27
+ * @param translations The translation mapping
28
+ * @param options i18next options
29
+ */
25
30
  var setupTranslation = function (translations, options) {
26
31
  i18next_1.default.use(react_i18next_1.initReactI18next).use(i18next_icu_1.default);
27
32
  var query = new URLSearchParams(window.location.search);
@@ -1 +1 @@
1
- {"version":3,"file":"translation.util.js","sourceRoot":"","sources":["../../src/utilities/translation.util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAsD;AACtD,4DAA6B;AAC7B,gDAAyB;AACzB,2BAAwB;AACxB,2BAAwB;AACxB,2BAAwB;AACxB,+CAA8C;AAOvC,IAAM,gBAAgB,GAAG,UAAC,YAAsB,EAAE,OAAqB;IAC5E,iBAAO,CAAC,GAAG,CAAC,gCAAgB,CAAC,CAAC,GAAG,CAAC,qBAAG,CAAC,CAAA;IAEtC,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAA;IAE1C,iBAAO,CAAC,IAAI,YACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAC7C,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,KAAK,EACnB,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,YAAY,IACpB,OAAO,EACV,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC,CAAA;IAEvC,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B"}
1
+ {"version":3,"file":"translation.util.js","sourceRoot":"","sources":["../../src/utilities/translation.util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAsD;AACtD,4DAA6B;AAC7B,gDAAyB;AACzB,2BAAwB;AACxB,2BAAwB;AACxB,2BAAwB;AACxB,+CAA8C;AAE9C;;;;GAIG;AACI,IAAM,gBAAgB,GAAG,UAAC,YAAsB,EAAE,OAAqB;IAC5E,iBAAO,CAAC,GAAG,CAAC,gCAAgB,CAAC,CAAC,GAAG,CAAC,qBAAG,CAAC,CAAA;IAEtC,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAA;IAE1C,iBAAO,CAAC,IAAI,YACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAC7C,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,KAAK,EACnB,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,YAAY,IACpB,OAAO,EACV,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC,CAAA;IAEvC,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B"}
@@ -1,45 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.animations = void 0;
4
+ /**
5
+ * Comes from https://github.com/prc5/react-zoom-pan-pinch/blob/master/src/core/animations/animations.constants.ts
6
+ */
7
+ /**
8
+ * Functions should return denominator of the target value, which is the next animation step.
9
+ * t is a value from 0 to 1, reflecting the percentage of animation status.
10
+ */
4
11
  var easeOut = function (t) {
5
12
  return -Math.cos(t * Math.PI) / 2 + 0.5;
6
13
  };
14
+ // linear
7
15
  var linear = function (t) {
8
16
  return t;
9
17
  };
18
+ // accelerating from zero velocity
10
19
  var easeInQuad = function (t) {
11
20
  return t * t;
12
21
  };
22
+ // decelerating to zero velocity
13
23
  var easeOutQuad = function (t) {
14
24
  return t * (2 - t);
15
25
  };
26
+ // acceleration until halfway, then deceleration
16
27
  var easeInOutQuad = function (t) {
17
28
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
18
29
  };
30
+ // accelerating from zero velocity
19
31
  var easeInCubic = function (t) {
20
32
  return t * t * t;
21
33
  };
34
+ // decelerating to zero velocity
22
35
  var easeOutCubic = function (t) {
23
36
  return --t * t * t + 1;
24
37
  };
38
+ // acceleration until halfway, then deceleration
25
39
  var easeInOutCubic = function (t) {
26
40
  return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
27
41
  };
42
+ // accelerating from zero velocity
28
43
  var easeInQuart = function (t) {
29
44
  return t * t * t * t;
30
45
  };
46
+ // decelerating to zero velocity
31
47
  var easeOutQuart = function (t) {
32
48
  return 1 - --t * t * t * t;
33
49
  };
50
+ // acceleration until halfway, then deceleration
34
51
  var easeInOutQuart = function (t) {
35
52
  return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t;
36
53
  };
54
+ // accelerating from zero velocity
37
55
  var easeInQuint = function (t) {
38
56
  return t * t * t * t * t;
39
57
  };
58
+ // decelerating to zero velocity
40
59
  var easeOutQuint = function (t) {
41
60
  return 1 + --t * t * t * t * t;
42
61
  };
62
+ // acceleration until halfway, then deceleration
43
63
  var easeInOutQuint = function (t) {
44
64
  return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t;
45
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"animations.constants.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/animations.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animations.constants.js","sourceRoot":"","sources":["../../../src/utilities/zoom-pan-pinch/animations.constants.ts"],"names":[],"mappings":"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"}