@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
@@ -0,0 +1 @@
1
+ export declare const useIsAnimatingPlayerAction: () => boolean;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIsAnimatingPlayerAction = void 0;
4
+ var hooks_1 = require("../../../hooks");
5
+ var useIsAnimatingPlayerAction = function () {
6
+ var player = (0, hooks_1.usePlayerId)();
7
+ return (0, hooks_1.useAnimations)(function (animation) { return animation.action.playerId === player; }).length > 0;
8
+ };
9
+ exports.useIsAnimatingPlayerAction = useIsAnimatingPlayerAction;
10
+ //# sourceMappingURL=useIsAnimatingPlayerAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsAnimatingPlayerAction.js","sourceRoot":"","sources":["../../../../src/components/material/utils/useIsAnimatingPlayerAction.tsx"],"names":[],"mappings":";;;AAAA,wCAA2D;AAGpD,IAAM,0BAA0B,GAAG;IACxC,IAAM,MAAM,GAAG,IAAA,mBAAW,GAAE,CAAA;IAC5B,OAAO,IAAA,qBAAa,EAAe,UAAA,SAAS,IAAI,OAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,EAApC,CAAoC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AAClG,CAAC,CAAA;AAHY,QAAA,0BAA0B,8BAGtC"}
@@ -58,7 +58,7 @@ var Menu = function () {
58
58
  var gameMode = (0, react_redux_1.useSelector)(function (state) { return state.gameMode; });
59
59
  var options = (0, react_redux_1.useSelector)(function (state) { return state.options; });
60
60
  var playerId = (0, react_redux_1.useSelector)(function (state) { return state.playerId; });
61
- var gameOver = (0, react_redux_1.useSelector)(function (state) { return state.gameOver; });
61
+ var gameOver = (0, react_redux_1.useSelector)(function (state) { var _a; return state.gameOver && !((_a = state.actions) === null || _a === void 0 ? void 0 : _a.some(function (action) { return action.animation; })); });
62
62
  var tournament = (0, react_redux_1.useSelector)(function (state) { return state.tournament; });
63
63
  var couldEject = !gameOver && (playerId !== undefined || (tournament === null || tournament === void 0 ? void 0 : tournament.signedUp) === true) && (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime;
64
64
  var couldUndo = !gameOver && playerId !== undefined;
@@ -84,9 +84,9 @@ var Menu = function () {
84
84
  setResultDialogAutoOpen(false);
85
85
  }, [resultDialogOpen]);
86
86
  var theme = (0, react_1.useTheme)();
87
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && gameMode !== react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), (0, hooks_1.isContrastTheme)(theme) && (0, jsx_runtime_1.jsx)(ContrastThemeButton_1.ContrastThemeButton, { theme: theme }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && gameMode !== react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
87
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), (0, hooks_1.isContrastTheme)(theme) && (0, jsx_runtime_1.jsx)(ContrastThemeButton_1.ContrastThemeButton, { theme: theme }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
88
88
  (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/play") }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChessPawn }), t('Play again')] })), goToRanking &&
89
- (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/ranking") }, { children: [(0, jsx_runtime_1.jsx)(GamePoints_1.GamePointIcon, { css: gamePointIconStyle }), t('See overall ranking')] }))] })), (0, jsx_runtime_1.jsx)("button", __assign({ "aria-label": t('Menu'), title: t('Menu'), css: mainButtonCss, onClick: function () { return setOpen(!isOpen); } }, { children: isOpen ? (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faTimes, css: iconStyle }) : (0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { fill: "white" }) })), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerDialog, { open: ejectPlayerDialogOpen, close: function () { return setEjectPlayerDialogOpen(false); } }), gameOver && gameMode !== react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(dialogs_1.ResultDialog, { open: resultDialogOpen, openDialog: function () { return setResultDialogOpen(true); }, close: function () { return setResultDialogOpen(false); } }), chatEnable && gameId && (0, jsx_runtime_1.jsx)(Chat_1.Chat, { gameId: gameId })] }));
89
+ (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/ranking") }, { children: [(0, jsx_runtime_1.jsx)(GamePoints_1.GamePointIcon, { css: gamePointIconStyle }), t('See overall ranking')] }))] })), (0, jsx_runtime_1.jsx)("button", __assign({ "aria-label": t('Menu'), title: t('Menu'), css: mainButtonCss, onClick: function () { return setOpen(!isOpen); } }, { children: isOpen ? (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faTimes, css: iconStyle }) : (0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { fill: "white" }) })), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerDialog, { open: ejectPlayerDialogOpen, close: function () { return setEjectPlayerDialogOpen(false); } }), gameOver && (0, jsx_runtime_1.jsx)(dialogs_1.ResultDialog, { open: resultDialogOpen, openDialog: function () { return setResultDialogOpen(true); }, close: function () { return setResultDialogOpen(false); } }), chatEnable && gameId && (0, jsx_runtime_1.jsx)(Chat_1.Chat, { gameId: gameId })] }));
90
90
  };
91
91
  exports.Menu = Menu;
92
92
  (0, menuCss_1.addStylesheetUrl)('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ var react_redux_1 = require("react-redux");
26
26
  var MenuPopButton_1 = require("../Menu/MenuPopButton");
27
27
  var ResultPopButton = function (props) {
28
28
  var t = (0, react_i18next_1.useTranslation)().t;
29
- var gameOver = (0, react_redux_1.useSelector)(function (state) { return state.gameOver; });
29
+ var gameOver = (0, react_redux_1.useSelector)(function (state) { var _a; return state.gameOver && !((_a = state.actions) === null || _a === void 0 ? void 0 : _a.some(function (action) { return action.animation; })); });
30
30
  return ((0, jsx_runtime_1.jsx)(MenuPopButton_1.MenuPopButton, __assign({ pop: gameOver, css: style, title: t('result.button') }, props, { children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faRankingStar_1.faRankingStar, css: shakeAnimation }) })));
31
31
  };
32
32
  exports.ResultPopButton = ResultPopButton;
@@ -1 +1 @@
1
- {"version":3,"file":"ResultPopButton.js","sourceRoot":"","sources":["../../../../src/components/menus/Result/ResultPopButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAA+C;AAC/C,iFAA+E;AAC/E,oEAAgE;AAGhE,+CAA8C;AAC9C,2CAAyC;AACzC,uDAAqD;AAE9C,IAAM,eAAe,GAAG,UAAC,KAAwC;IAC9D,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IAEtE,OAAO,CACL,uBAAC,6BAAa,aAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,CAAE,IAAM,KAAK,cAC7E,uBAAC,mCAAe,IAAC,IAAI,EAAE,6BAAa,EAAE,GAAG,EAAE,cAAc,GAAG,IAC9C,CACjB,CAAA;AACH,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B;AAED,IAAM,KAAK,OAAG,WAAG,uNAAA,mJAWhB,IAAA,CAAA;AAED,IAAM,KAAK,OAAG,iBAAS,8UAAA,0QAmBtB,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,kHAAA,iBACX,EAAK,2BACnB,KADc,KAAK,CACnB,CAAA"}
1
+ {"version":3,"file":"ResultPopButton.js","sourceRoot":"","sources":["../../../../src/components/menus/Result/ResultPopButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAA+C;AAC/C,iFAA+E;AAC/E,oEAAgE;AAGhE,+CAA8C;AAC9C,2CAAyC;AACzC,uDAAqD;AAE9C,IAAM,eAAe,GAAG,UAAC,KAAwC;IAC9D,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,YAAK,OAAA,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,EAAhB,CAAgB,CAAC,CAAA,CAAA,EAAA,CAAC,CAAA;IAE1H,OAAO,CACL,uBAAC,6BAAa,aAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,CAAE,IAAM,KAAK,cAC7E,uBAAC,mCAAe,IAAC,IAAI,EAAE,6BAAa,EAAE,GAAG,EAAE,cAAc,GAAG,IAC9C,CACjB,CAAA;AACH,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B;AAED,IAAM,KAAK,OAAG,WAAG,uNAAA,mJAWhB,IAAA,CAAA;AAED,IAAM,KAAK,OAAG,iBAAS,8UAAA,0QAmBtB,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,kHAAA,iBACX,EAAK,2BACnB,KADc,KAAK,CACnB,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { TutorialDescription } from '@gamepark/react-client';
2
+ import { Location, LocationBuilder, Material, MaterialGame, MaterialGameSetup, MaterialItem, MaterialMove, XYCoordinates } from '@gamepark/rules-api';
3
+ import { TFunction } from 'i18next';
4
+ import { ReactNode } from 'react';
5
+ import { AvatarProps } from '@gamepark/avataaars';
6
+ export declare abstract class MaterialTutorial<P extends number = number, M extends number = number, L extends number = number> implements TutorialDescription<MaterialGame<P, M, L>, MaterialMove<P, M, L>> {
7
+ abstract options: any;
8
+ abstract setup: MaterialGameSetup<P, M, L>;
9
+ abstract steps: TutorialStep<P, M, L>[];
10
+ avatars: Partial<Record<P, AvatarProps>>;
11
+ material(game: MaterialGame<P, M, L>, type: M): Material<P, M, L>;
12
+ location(type: L): LocationBuilder<P, L>;
13
+ setupTutorial(): [MaterialGame<P, M, L>, P[]];
14
+ expectedMoves(): (MaterialMove<P, M, L>[] | MaterialMove<P, M, L>)[];
15
+ }
16
+ export declare enum TutorialStepType {
17
+ Popup = 1,
18
+ Move = 2
19
+ }
20
+ export type TutorialStepBase = {
21
+ zoom?: number;
22
+ };
23
+ export type TutorialStep<P extends number = number, M extends number = number, L extends number = number> = {
24
+ popup?: TutorialPopup;
25
+ focus?: (game: MaterialGame<P, M, L>) => TutorialFocus<P, M, L> | TutorialFocus<P, M, L>[];
26
+ move?: {
27
+ player?: P;
28
+ filter?: (move: MaterialMove<P, M, L>, game: MaterialGame<P, M, L>) => boolean;
29
+ };
30
+ };
31
+ export type TutorialPopup = {
32
+ text: (t: TFunction) => string | ReactNode;
33
+ position?: XYCoordinates;
34
+ };
35
+ export type TutorialFocus<P extends number = number, M extends number = number, L extends number = number> = Material<P, M, L> | StaticItem<P, M, L> | LocationBuilder<P, L>;
36
+ export type StaticItem<P extends number = number, M extends number = number, L extends number = number> = {
37
+ type: M;
38
+ item: MaterialItem<P, L>;
39
+ };
40
+ export declare function isMaterialTutorial<P extends number = number, M extends number = number, L extends number = number>(tutorialDescription?: TutorialDescription<any, any, any>): tutorialDescription is MaterialTutorial<P, M, L>;
41
+ export declare function isItemFocus(itemType: number, itemIndex: number, focus?: TutorialFocus | TutorialFocus[]): boolean;
42
+ export declare function isMaterialFocus(focus?: TutorialFocus): focus is Material;
43
+ export declare function countTutorialFocusRefs(focus?: TutorialFocus | TutorialFocus[]): number;
44
+ export declare function isStaticItem(focus?: TutorialFocus): focus is StaticItem;
45
+ export declare function isStaticItemFocus(itemType: number, item: MaterialItem, focus?: TutorialFocus | TutorialFocus[]): boolean;
46
+ export declare function isLocationBuilder(focus?: TutorialFocus): focus is LocationBuilder;
47
+ export declare function isLocationFocus(location: Location, focus?: TutorialFocus | TutorialFocus[]): boolean;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isLocationFocus = exports.isLocationBuilder = exports.isStaticItemFocus = exports.isStaticItem = exports.countTutorialFocusRefs = exports.isMaterialFocus = exports.isItemFocus = exports.isMaterialTutorial = exports.TutorialStepType = exports.MaterialTutorial = void 0;
7
+ var rules_api_1 = require("@gamepark/rules-api");
8
+ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
9
+ var sumBy_1 = __importDefault(require("lodash/sumBy"));
10
+ var MaterialTutorial = /** @class */ (function () {
11
+ function MaterialTutorial() {
12
+ this.avatars = {};
13
+ }
14
+ MaterialTutorial.prototype.material = function (game, type) {
15
+ var _a;
16
+ return new rules_api_1.Material(type, Array.from(((_a = game === null || game === void 0 ? void 0 : game.items[type]) !== null && _a !== void 0 ? _a : []).entries()).filter(function (entry) { return entry[1].quantity !== 0; }));
17
+ };
18
+ MaterialTutorial.prototype.location = function (type) {
19
+ return new rules_api_1.LocationBuilder({ type: type });
20
+ };
21
+ MaterialTutorial.prototype.setupTutorial = function () {
22
+ var game = this.setup.setup(this.options);
23
+ game.tutorialStep = 0;
24
+ return [game, game.players];
25
+ };
26
+ MaterialTutorial.prototype.expectedMoves = function () {
27
+ return [];
28
+ };
29
+ return MaterialTutorial;
30
+ }());
31
+ exports.MaterialTutorial = MaterialTutorial;
32
+ var TutorialStepType;
33
+ (function (TutorialStepType) {
34
+ TutorialStepType[TutorialStepType["Popup"] = 1] = "Popup";
35
+ TutorialStepType[TutorialStepType["Move"] = 2] = "Move";
36
+ })(TutorialStepType = exports.TutorialStepType || (exports.TutorialStepType = {}));
37
+ function isMaterialTutorial(tutorialDescription) {
38
+ return !!tutorialDescription && typeof tutorialDescription.material === 'function';
39
+ }
40
+ exports.isMaterialTutorial = isMaterialTutorial;
41
+ function isItemFocus(itemType, itemIndex, focus) {
42
+ if (Array.isArray(focus)) {
43
+ return focus.some(function (focus) { return isItemFocus(itemType, itemIndex, focus); });
44
+ }
45
+ return isMaterialFocus(focus) && focus.type === itemType && focus.getIndexes().includes(itemIndex);
46
+ }
47
+ exports.isItemFocus = isItemFocus;
48
+ function isMaterialFocus(focus) {
49
+ return typeof focus === 'object' && focus.entries !== undefined;
50
+ }
51
+ exports.isMaterialFocus = isMaterialFocus;
52
+ function countTutorialFocusRefs(focus) {
53
+ var _a;
54
+ if (!focus)
55
+ return 0;
56
+ if (Array.isArray(focus)) {
57
+ return (0, sumBy_1.default)(focus, function (focus) { return countTutorialFocusRefs(focus); });
58
+ }
59
+ if (isMaterialFocus(focus)) {
60
+ return (0, sumBy_1.default)(focus.getItems(), function (item) { var _a; return (_a = item.quantity) !== null && _a !== void 0 ? _a : 1; });
61
+ }
62
+ else if (isStaticItem(focus)) {
63
+ return (_a = focus.item.quantity) !== null && _a !== void 0 ? _a : 1;
64
+ }
65
+ else if (isLocationBuilder(focus)) {
66
+ return 1;
67
+ }
68
+ else {
69
+ return 0;
70
+ }
71
+ }
72
+ exports.countTutorialFocusRefs = countTutorialFocusRefs;
73
+ function isStaticItem(focus) {
74
+ return typeof focus === 'object' && typeof focus.type === 'number' && typeof focus.item === 'object';
75
+ }
76
+ exports.isStaticItem = isStaticItem;
77
+ function isStaticItemFocus(itemType, item, focus) {
78
+ if (Array.isArray(focus)) {
79
+ return focus.some(function (focus) { return isStaticItemFocus(itemType, item, focus); });
80
+ }
81
+ return isStaticItem(focus) && focus.type === itemType && (0, fast_deep_equal_1.default)(focus.item, item);
82
+ }
83
+ exports.isStaticItemFocus = isStaticItemFocus;
84
+ function isLocationBuilder(focus) {
85
+ return typeof focus === 'object' && typeof focus.location === 'object';
86
+ }
87
+ exports.isLocationBuilder = isLocationBuilder;
88
+ function isLocationFocus(location, focus) {
89
+ if (Array.isArray(focus)) {
90
+ return focus.some(function (focus) { return isLocationFocus(location, focus); });
91
+ }
92
+ return isLocationBuilder(focus) && (0, fast_deep_equal_1.default)(focus.location, location);
93
+ }
94
+ exports.isLocationFocus = isLocationFocus;
95
+ //# sourceMappingURL=MaterialTutorial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterialTutorial.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorial.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const MaterialTutorialDisplay: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.MaterialTutorialDisplay = void 0;
22
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
23
+ /** @jsxImportSource @emotion/react */
24
+ var dialogs_1 = require("../dialogs");
25
+ var hooks_1 = require("../../hooks");
26
+ var rules_api_1 = require("@gamepark/rules-api");
27
+ var react_1 = require("react");
28
+ var react_i18next_1 = require("react-i18next");
29
+ var react_2 = require("@emotion/react");
30
+ var buttons_1 = require("../buttons");
31
+ var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
32
+ var faForwardFast_1 = require("@fortawesome/free-solid-svg-icons/faForwardFast");
33
+ var css_1 = require("../../css");
34
+ var minBy_1 = __importDefault(require("lodash/minBy"));
35
+ var maxBy_1 = __importDefault(require("lodash/maxBy"));
36
+ var faBackward_1 = require("@fortawesome/free-solid-svg-icons/faBackward");
37
+ var faForward_1 = require("@fortawesome/free-solid-svg-icons/faForward");
38
+ var useTutorialStep_1 = require("../../hooks/useTutorialStep");
39
+ var faPlay_1 = require("@fortawesome/free-solid-svg-icons/faPlay");
40
+ var react_redux_1 = require("react-redux");
41
+ var PlayTutorialMoves_1 = require("@gamepark/react-client/dist/Tutorial/PlayTutorialMoves");
42
+ var MaterialTutorialDisplay = function () {
43
+ var t = (0, react_i18next_1.useTranslation)().t;
44
+ var game = (0, hooks_1.useGame)();
45
+ var tutorialStep = (0, useTutorialStep_1.useTutorialStep)();
46
+ var tutorialMoves = (0, hooks_1.useLegalMoves)(rules_api_1.isSetTutorialStep);
47
+ var popup = tutorialStep === null || tutorialStep === void 0 ? void 0 : tutorialStep.popup;
48
+ var dispatch = (0, react_redux_1.useDispatch)();
49
+ (0, react_1.useEffect)(function () {
50
+ dispatch((0, PlayTutorialMoves_1.playTutorialMovesAction)(Infinity));
51
+ }, []);
52
+ var nextStepMove = (0, minBy_1.default)(tutorialMoves, function (move) { return move.step; });
53
+ var passMove = (0, maxBy_1.default)(tutorialMoves, function (move) { return move.step; });
54
+ var _a = (0, hooks_1.useUndo)(), undo = _a[0], canUndo = _a[1];
55
+ var canUndoLastMove = canUndo();
56
+ return ((0, jsx_runtime_1.jsx)(dialogs_1.Dialog, __assign({ open: popup !== undefined && !(game === null || game === void 0 ? void 0 : game.tutorialPopupClosed), css: [
57
+ dialogs_1.rulesDialogCss,
58
+ tutorialDialogCss,
59
+ (popup === null || popup === void 0 ? void 0 : popup.position) && (0, css_1.transformCss)("translate(".concat(popup.position.x, "em, ").concat(popup.position.y, "em)"))
60
+ ], backdropCss: backdropCss }, { children: popup &&
61
+ (0, jsx_runtime_1.jsx)(react_2.ThemeProvider, __assign({ theme: function (theme) { return (__assign(__assign({}, theme), { buttons: (0, css_1.buttonCss)('#002448', '#c2ebf1', '#ade4ec') })); } }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ css: rules }, { children: [passMove && (0, jsx_runtime_1.jsxs)(buttons_1.PlayMoveButton, __assign({ move: passMove, css: passButton }, { children: [t('Pass'), "\u00A0", (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faForwardFast_1.faForwardFast })] })), (0, jsx_runtime_1.jsx)("p", { children: popup.text(t) }), (0, jsx_runtime_1.jsxs)("p", __assign({ css: buttonsLine }, { children: [(0, jsx_runtime_1.jsxs)(buttons_1.ThemeButton, __assign({ disabled: !canUndoLastMove, onClick: function () { return undo(); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faBackward_1.faBackward }), "\u00A0", t('Previous')] })), nextStepMove ?
62
+ (0, jsx_runtime_1.jsxs)(buttons_1.PlayMoveButton, __assign({ move: nextStepMove, disabled: !nextStepMove }, { children: [t('Next'), "\u00A0", (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faForward_1.faForward })] }))
63
+ : (0, jsx_runtime_1.jsxs)(buttons_1.PlayMoveButton, __assign({ move: closeTutorialPopup }, { children: [t('OK'), "\u00A0", (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faPlay_1.faPlay })] }))] }))] })) })) })));
64
+ };
65
+ exports.MaterialTutorialDisplay = MaterialTutorialDisplay;
66
+ var rules = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin: 0 1em;\n font-size: 3em;\n padding-top: 1em;\n\n > h2 {\n margin: 0 1em;\n text-align: center;\n }\n\n > p {\n white-space: break-spaces;\n }\n"], ["\n margin: 0 1em;\n font-size: 3em;\n padding-top: 1em;\n\n > h2 {\n margin: 0 1em;\n text-align: center;\n }\n\n > p {\n white-space: break-spaces;\n }\n"])));
67
+ var backdropCss = (0, react_2.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background: none;\n pointer-events: none;\n z-index: 900;\n"], ["\n background: none;\n pointer-events: none;\n z-index: 900;\n"])));
68
+ var passButton = (0, react_2.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n font-size: 0.7em;\n top: 1em;\n right: 1.8em;\n"], ["\n position: absolute;\n font-size: 0.7em;\n top: 1em;\n right: 1.8em;\n"])));
69
+ var buttonsLine = (0, react_2.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n"], ["\n display: flex;\n justify-content: space-between;\n"])));
70
+ var tutorialDialogCss = (0, react_2.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n width: 80em;\n pointer-events: auto;\n transition: transform 0.1s ease-in-out;\n"], ["\n width: 80em;\n pointer-events: auto;\n transition: transform 0.1s ease-in-out;\n"])));
71
+ var closeTutorialPopup = { kind: rules_api_1.MoveKind.LocalMove, type: rules_api_1.LocalMoveType.CloseTutorialPopup };
72
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
73
+ //# sourceMappingURL=MaterialTutorialDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterialTutorialDisplay.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorialDisplay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,sCAAmD;AACnD,qCAA6D;AAC7D,iDAAmI;AACnI,+BAAiC;AACjC,+CAA8C;AAC9C,wCAAmD;AACnD,sCAAwD;AACxD,oEAAgE;AAChE,iFAA+E;AAC/E,iCAAmD;AACnD,uDAAgC;AAChC,uDAAgC;AAChC,2EAAyE;AACzE,yEAAuE;AACvE,+DAA6D;AAC7D,mEAAiE;AACjE,2CAAyC;AACzC,4FAAgG;AAEzF,IAAM,uBAAuB,GAAG;IAC7B,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,IAAI,GAAG,IAAA,eAAO,GAAgB,CAAA;IACpC,IAAM,YAAY,GAAG,IAAA,iCAAe,GAAE,CAAA;IACtC,IAAM,aAAa,GAAG,IAAA,qBAAa,EAAkB,6BAAiB,CAAC,CAAA;IAEvE,IAAM,KAAK,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAA;IAEjC,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAA,iBAAS,EAAC;QACR,QAAQ,CAAC,IAAA,2CAAuB,EAAC,QAAQ,CAAC,CAAC,CAAA;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,YAAY,GAAG,IAAA,eAAK,EAAC,aAAa,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAA;IAC5D,IAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,aAAa,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAA;IAElD,IAAA,KAAkB,IAAA,eAAO,GAAE,EAA1B,IAAI,QAAA,EAAE,OAAO,QAAa,CAAA;IACjC,IAAM,eAAe,GAAG,OAAO,EAAE,CAAA;IAEjC,OAAO,CACL,uBAAC,gBAAM,aAAC,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAA,EACvD,GAAG,EAAE;YACH,wBAAc;YACd,iBAAiB;YACjB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,KAAI,IAAA,kBAAY,EAAC,oBAAa,KAAK,CAAC,QAAQ,CAAC,CAAC,iBAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAK,CAAC;SAC3F,EACD,WAAW,EAAE,WAAW,gBAC7B,KAAK;YACJ,uBAAC,qBAAa,aAAC,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,uBAAM,KAAK,KAAE,OAAO,EAAE,IAAA,eAAS,EAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,IAAG,EAAnE,CAAmE,gBAChG,0CAAK,GAAG,EAAE,KAAK,iBACZ,QAAQ,IAAI,wBAAC,wBAAc,aAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,iBAAG,CAAC,CAAC,MAAM,CAAC,YAAO,uBAAC,mCAAe,IAAC,IAAI,EAAE,6BAAa,GAAG,KAAiB,EACvI,wCAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAK,EACtB,wCAAG,GAAG,EAAE,WAAW,iBACjB,wBAAC,qBAAW,aAAC,QAAQ,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,cAAM,OAAA,IAAI,EAAE,EAAN,CAAM,iBAAE,uBAAC,mCAAe,IAAC,IAAI,EAAE,uBAAU,GAAG,YAAO,CAAC,CAAC,UAAU,CAAC,KAAe,EACtI,YAAY,CAAC,CAAC;oCACb,wBAAC,wBAAc,aAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,YAAY,iBAAG,CAAC,CAAC,MAAM,CAAC,YAAO,uBAAC,mCAAe,IAAC,IAAI,EAAE,qBAAS,GAAG,KAAiB;oCAClI,CAAC,CAAC,wBAAC,wBAAc,aAAC,IAAI,EAAE,kBAAkB,iBAAG,CAAC,CAAC,IAAI,CAAC,YAAO,uBAAC,mCAAe,IAAC,IAAI,EAAE,eAAM,GAAG,KAAiB,KAE5G,KACA,IACQ,IAEX,CACV,CAAA;AACH,CAAC,CAAA;AA5CY,QAAA,uBAAuB,2BA4CnC;AAED,IAAM,KAAK,OAAG,WAAG,gPAAA,4KAahB,IAAA,CAAA;AAED,IAAM,WAAW,OAAG,WAAG,uIAAA,mEAItB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,kJAAA,8EAKrB,IAAA,CAAA;AAED,IAAM,WAAW,OAAG,WAAG,6HAAA,yDAGtB,IAAA,CAAA;AAED,IAAM,iBAAiB,OAAG,WAAG,4JAAA,wFAI5B,IAAA,CAAA;AAED,IAAM,kBAAkB,GAAuB,EAAE,IAAI,EAAE,oBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { RulesCreator } from '@gamepark/rules-api';
2
+ import { MaterialTutorial } from './MaterialTutorial';
3
+ export declare function wrapRulesWithTutorial(tutorial: MaterialTutorial, Rules: RulesCreator<any, any, any>): void;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapRulesWithTutorial = void 0;
4
+ var rules_api_1 = require("@gamepark/rules-api");
5
+ function wrapRulesWithTutorial(tutorial, Rules) {
6
+ var getLegalMoves = Rules.prototype.getLegalMoves;
7
+ Rules.prototype.getTutorialStep = function () {
8
+ return this.game.tutorialStep !== undefined ? tutorial.steps[this.game.tutorialStep] : undefined;
9
+ };
10
+ Rules.prototype.getLegalMoves = function (playerId) {
11
+ var _a;
12
+ var game = this.game;
13
+ if (game.tutorialStep === undefined || game.tutorialStep >= tutorial.steps.length) {
14
+ return getLegalMoves.bind(this)(playerId);
15
+ }
16
+ var tutorialStep = tutorial.steps[game.tutorialStep];
17
+ if (tutorialStep.move) {
18
+ var player = (_a = tutorialStep.move.player) !== null && _a !== void 0 ? _a : this.game.players[0];
19
+ if (playerId !== player)
20
+ return [];
21
+ var legalMoves = getLegalMoves.bind(this)(playerId);
22
+ var filter_1 = tutorialStep.move.filter;
23
+ if (filter_1) {
24
+ legalMoves = legalMoves.filter(function (move) { return filter_1(move, game); });
25
+ }
26
+ if (player === this.game.players[0] && tutorialStep.popup) {
27
+ legalMoves.push({ kind: rules_api_1.MoveKind.LocalMove, type: rules_api_1.LocalMoveType.CloseTutorialPopup });
28
+ }
29
+ return legalMoves;
30
+ }
31
+ else {
32
+ if (playerId !== this.game.players[0])
33
+ return [];
34
+ var moves = [{ kind: rules_api_1.MoveKind.LocalMove, type: rules_api_1.LocalMoveType.SetTutorialStep, step: this.game.tutorialStep + 1 }];
35
+ while (this.game.tutorialStep + moves.length < tutorial.steps.length && !tutorial.steps[this.game.tutorialStep + moves.length].move) {
36
+ moves.push({ kind: rules_api_1.MoveKind.LocalMove, type: rules_api_1.LocalMoveType.SetTutorialStep, step: this.game.tutorialStep + moves.length + 1 });
37
+ }
38
+ return moves;
39
+ }
40
+ };
41
+ var play = Rules.prototype.play;
42
+ Rules.prototype.play = function (move) {
43
+ var game = this.game;
44
+ var step = game.tutorialStep;
45
+ if (move.kind !== rules_api_1.MoveKind.LocalMove && step !== undefined && step < tutorial.steps.length && tutorial.steps[step].move) {
46
+ game.tutorialStepComplete = true;
47
+ }
48
+ return play.bind(this)(move);
49
+ };
50
+ var getAutomaticMoves = Rules.prototype.getAutomaticMoves;
51
+ Rules.prototype.getAutomaticMoves = function () {
52
+ var consequences = getAutomaticMoves.bind(this)();
53
+ if (!consequences.length && this.game.tutorialStepComplete) {
54
+ return [{ kind: rules_api_1.MoveKind.LocalMove, type: rules_api_1.LocalMoveType.SetTutorialStep, step: this.game.tutorialStep + 1 }];
55
+ }
56
+ return consequences;
57
+ };
58
+ }
59
+ exports.wrapRulesWithTutorial = wrapRulesWithTutorial;
60
+ //# sourceMappingURL=TutorialRulesWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './MaterialTutorial';
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./SimpleDropArea"), exports);
17
+ __exportStar(require("./MaterialTutorial"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/tutorial/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC"}
@@ -1,9 +1,5 @@
1
- export declare const sizeCss: (size: ComponentSize) => import("@emotion/utils").SerializedStyles;
1
+ export declare const sizeCss: (width: number, height: number) => import("@emotion/utils").SerializedStyles;
2
2
  export declare const borderRadiusCss: (radius: number) => import("@emotion/utils").SerializedStyles;
3
3
  export declare const shadowCss: (image: string) => import("@emotion/utils").SerializedStyles;
4
4
  export declare const fontSizeCss: (size: number) => import("@emotion/utils").SerializedStyles;
5
5
  export declare const perspectiveCss: (perspective: number) => import("@emotion/utils").SerializedStyles;
6
- export type ComponentSize = {
7
- height: number;
8
- ratio: number;
9
- };
@@ -6,7 +6,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.perspectiveCss = exports.fontSizeCss = exports.shadowCss = exports.borderRadiusCss = exports.sizeCss = void 0;
8
8
  var react_1 = require("@emotion/react");
9
- var sizeCss = function (size) { return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: ", "em;\n height: ", "em;\n"], ["\n width: ", "em;\n height: ", "em;\n"])), (size.height * size.ratio), (size.height)); };
9
+ var sizeCss = function (width, height) { return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: ", "em;\n height: ", "em;\n"], ["\n width: ", "em;\n height: ", "em;\n"])), (width), (height)); };
10
10
  exports.sizeCss = sizeCss;
11
11
  var borderRadiusCss = function (radius) { return (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-radius: ", "em;\n"], ["\n border-radius: ", "em;\n"])), radius); };
12
12
  exports.borderRadiusCss = borderRadiusCss;
@@ -1 +1 @@
1
- {"version":3,"file":"componentSizeCss.js","sourceRoot":"","sources":["../../src/css/componentSizeCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AAE7B,IAAM,OAAO,GAAG,UAAC,IAAmB,IAAK,WAAA,WAAG,6GAAA,aACxC,EAA0B,iBACzB,EAAa,OACxB,KAFU,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EACzB,CAAC,IAAI,CAAC,MAAM,CAAC,GAFuB,CAG/C,CAAA;AAHY,QAAA,OAAO,WAGnB;AAEM,IAAM,eAAe,GAAG,UAAC,MAAc,IAAK,WAAA,WAAG,kGAAA,qBACnC,EAAM,OACxB,KADkB,MAAM,GAD0B,CAElD,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,IAAM,SAAS,GAAG,UAAC,KAAa,IAAK,OAAA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,KAAC,WAAG,yHAAA,qDAExE,KAAC,CAAC,KAAC,WAAG,wEAAA,IACN,IAAA,EAH2C,CAG3C,CAAA;AAHY,QAAA,SAAS,aAGrB;AAEM,IAAM,WAAW,GAAG,UAAC,IAAY,IAAK,WAAA,WAAG,8FAAA,iBACjC,EAAI,OAClB,KADc,IAAI,GAD0B,CAE5C,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,IAAM,cAAc,GAAG,UAAC,WAAmB,IAAK,WAAA,WAAG,gGAAA,mBACzC,EAAW,OAC3B,KADgB,WAAW,GAD2B,CAEtD,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
1
+ {"version":3,"file":"componentSizeCss.js","sourceRoot":"","sources":["../../src/css/componentSizeCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AAE7B,IAAM,OAAO,GAAG,UAAC,KAAa,EAAE,MAAc,IAAK,WAAA,WAAG,6GAAA,aAClD,EAAO,iBACN,EAAQ,OACnB,KAFU,CAAC,KAAK,CAAC,EACN,CAAC,MAAM,CAAC,GAFsC,CAGzD,CAAA;AAHY,QAAA,OAAO,WAGnB;AAEM,IAAM,eAAe,GAAG,UAAC,MAAc,IAAK,WAAA,WAAG,kGAAA,qBACnC,EAAM,OACxB,KADkB,MAAM,GAD0B,CAElD,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,IAAM,SAAS,GAAG,UAAC,KAAa,IAAK,OAAA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,KAAC,WAAG,yHAAA,qDAExE,KAAC,CAAC,KAAC,WAAG,wEAAA,IACN,IAAA,EAH2C,CAG3C,CAAA;AAHY,QAAA,SAAS,aAGrB;AAEM,IAAM,WAAW,GAAG,UAAC,IAAY,IAAK,WAAA,WAAG,8FAAA,iBACjC,EAAI,OAClB,KADc,IAAI,GAD0B,CAE5C,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,IAAM,cAAc,GAAG,UAAC,WAAmB,IAAK,WAAA,WAAG,gGAAA,mBACzC,EAAW,OAC3B,KADgB,WAAW,GAD2B,CAEtD,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
@@ -0,0 +1 @@
1
+ export declare const fadeIn: (duration: number) => import("@emotion/utils").SerializedStyles;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.fadeIn = void 0;
8
+ var react_1 = require("@emotion/react");
9
+ var fadeIn = function (duration) { return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n animation: ", " ", "s ease-in-out forwards\n"], ["\n animation: ", " ", "s ease-in-out forwards\n"])), fadeInKeyFrames, duration); };
10
+ exports.fadeIn = fadeIn;
11
+ var fadeInKeyFrames = (0, react_1.keyframes)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n from {\n opacity: 0;\n }\n"], ["\n from {\n opacity: 0;\n }\n"])));
12
+ var templateObject_1, templateObject_2;
13
+ //# sourceMappingURL=fadeIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fadeIn.js","sourceRoot":"","sources":["../../src/css/fadeIn.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAA+C;AAExC,IAAM,MAAM,GAAG,UAAC,QAAgB,IAAK,WAAA,WAAG,sHAAA,iBAChC,EAAe,GAAI,EAAQ,0BACzC,KADc,eAAe,EAAI,QAAQ,GADE,CAE3C,CAAA;AAFY,QAAA,MAAM,UAElB;AAED,IAAM,eAAe,OAAG,iBAAS,wGAAA,oCAIhC,IAAA,CAAA"}
@@ -2,5 +2,7 @@ export * from './backgroundCss';
2
2
  export * from './buttonCss';
3
3
  export * from './componentSizeCss';
4
4
  export * from './cursorCss';
5
+ export * from './fadeIn';
6
+ export * from './shadowEffect';
5
7
  export * from './shineEffect';
6
8
  export * from './transformCss';
package/dist/css/index.js CHANGED
@@ -18,6 +18,8 @@ __exportStar(require("./backgroundCss"), exports);
18
18
  __exportStar(require("./buttonCss"), exports);
19
19
  __exportStar(require("./componentSizeCss"), exports);
20
20
  __exportStar(require("./cursorCss"), exports);
21
+ __exportStar(require("./fadeIn"), exports);
22
+ __exportStar(require("./shadowEffect"), exports);
21
23
  __exportStar(require("./shineEffect"), exports);
22
24
  __exportStar(require("./transformCss"), exports);
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,8CAA2B;AAC3B,qDAAkC;AAClC,8CAA2B;AAC3B,gDAA6B;AAC7B,iDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,8CAA2B;AAC3B,qDAAkC;AAClC,8CAA2B;AAC3B,2CAAwB;AACxB,iDAA8B;AAC9B,gDAA6B;AAC7B,iDAA8B"}
@@ -0,0 +1 @@
1
+ export declare const shadowEffect: import("@emotion/utils").SerializedStyles;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.shadowEffect = void 0;
8
+ var react_1 = require("@emotion/react");
9
+ exports.shadowEffect = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:after {\n content: '';\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n background: rgba(0, 0, 0, 0.5);\n }\n"], ["\n &:after {\n content: '';\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n background: rgba(0, 0, 0, 0.5);\n }\n"])));
10
+ var templateObject_1;
11
+ //# sourceMappingURL=shadowEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowEffect.js","sourceRoot":"","sources":["../../src/css/shadowEffect.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AAEvB,QAAA,YAAY,OAAG,WAAG,6SAAA,yOAa9B,KAAA"}
@@ -1 +1,2 @@
1
1
  export declare const transformCss: (...transformations: (string | false | undefined)[]) => import("@emotion/utils").SerializedStyles;
2
+ export declare const preserve3d: import("@emotion/utils").SerializedStyles;
@@ -4,7 +4,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
4
4
  return cooked;
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.transformCss = void 0;
7
+ exports.preserve3d = exports.transformCss = void 0;
8
8
  var react_1 = require("@emotion/react");
9
9
  var transformCss = function () {
10
10
  var transformations = [];
@@ -14,5 +14,6 @@ var transformCss = function () {
14
14
  return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transform: ", ";\n"], ["\n transform: ", ";\n"])), transformations.filter(function (t) { return !!t; }).join(' '));
15
15
  };
16
16
  exports.transformCss = transformCss;
17
- var templateObject_1;
17
+ exports.preserve3d = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n transform-style: preserve-3d;\n"], ["\n transform-style: preserve-3d;\n"])));
18
+ var templateObject_1, templateObject_2;
18
19
  //# sourceMappingURL=transformCss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformCss.js","sourceRoot":"","sources":["../../src/css/transformCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AAE7B,IAAM,YAAY,GAAG;IAAC,yBAAkD;SAAlD,UAAkD,EAAlD,qBAAkD,EAAlD,IAAkD;QAAlD,oCAAkD;;IAAK,WAAA,WAAG,4FAAA,iBACxE,EAA0C,KACxD,KADc,eAAe,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAD2B,CAEnF,CAAA;AAFY,QAAA,YAAY,gBAExB"}
1
+ {"version":3,"file":"transformCss.js","sourceRoot":"","sources":["../../src/css/transformCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AAE7B,IAAM,YAAY,GAAG;IAAC,yBAAkD;SAAlD,UAAkD,EAAlD,qBAAkD,EAAlD,IAAkD;QAAlD,oCAAkD;;IAAK,WAAA,WAAG,4FAAA,iBACxE,EAA0C,KACxD,KADc,eAAe,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAD2B,CAEnF,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEY,QAAA,UAAU,OAAG,WAAG,yGAAA,qCAE5B,KAAA"}
@@ -9,6 +9,7 @@ export * from './useItemLocator';
9
9
  export * from './useKeyDown';
10
10
  export * from './useLegalMoves';
11
11
  export * from './useMaterialAnimations';
12
+ export * from './useMaterialContext';
12
13
  export * from './useMaterialDescription';
13
14
  export * from './useNow';
14
15
  export * from './useNumberOfPlayers';
@@ -19,6 +20,8 @@ export * from './usePlayerName';
19
20
  export * from './usePlayers';
20
21
  export * from './usePlayerTime';
21
22
  export * from './useRules';
23
+ export * from './useRulesStep';
22
24
  export * from './useSound';
23
25
  export * from './useUndo';
24
26
  export * from './useWebP';
27
+ export * from './useZoomToElements';
@@ -25,6 +25,7 @@ __exportStar(require("./useItemLocator"), exports);
25
25
  __exportStar(require("./useKeyDown"), exports);
26
26
  __exportStar(require("./useLegalMoves"), exports);
27
27
  __exportStar(require("./useMaterialAnimations"), exports);
28
+ __exportStar(require("./useMaterialContext"), exports);
28
29
  __exportStar(require("./useMaterialDescription"), exports);
29
30
  __exportStar(require("./useNow"), exports);
30
31
  __exportStar(require("./useNumberOfPlayers"), exports);
@@ -35,7 +36,9 @@ __exportStar(require("./usePlayerName"), exports);
35
36
  __exportStar(require("./usePlayers"), exports);
36
37
  __exportStar(require("./usePlayerTime"), exports);
37
38
  __exportStar(require("./useRules"), exports);
39
+ __exportStar(require("./useRulesStep"), exports);
38
40
  __exportStar(require("./useSound"), exports);
39
41
  __exportStar(require("./useUndo"), exports);
40
42
  __exportStar(require("./useWebP"), exports);
43
+ __exportStar(require("./useZoomToElements"), exports);
41
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,kDAA+B;AAC/B,qDAAkC;AAClC,gDAA6B;AAC7B,kDAA+B;AAC/B,4CAAyB;AACzB,8CAA2B;AAC3B,mDAAgC;AAChC,+CAA4B;AAC5B,kDAA+B;AAC/B,0DAAuC;AACvC,2DAAwC;AACxC,2CAAwB;AACxB,uDAAoC;AACpC,2DAAwC;AACxC,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,+CAA4B;AAC5B,kDAA+B;AAC/B,6CAA0B;AAC1B,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,kDAA+B;AAC/B,qDAAkC;AAClC,gDAA6B;AAC7B,kDAA+B;AAC/B,4CAAyB;AACzB,8CAA2B;AAC3B,mDAAgC;AAChC,+CAA4B;AAC5B,kDAA+B;AAC/B,0DAAuC;AACvC,uDAAoC;AACpC,2DAAwC;AACxC,2CAAwB;AACxB,uDAAoC;AACpC,2DAAwC;AACxC,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,+CAA4B;AAC5B,kDAA+B;AAC/B,6CAA0B;AAC1B,iDAA8B;AAC9B,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB;AACzB,sDAAmC"}