@gamepark/react-game 6.0.0-alpha.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/dist/components/Avatar/Avatar.js +7 -5
  2. package/dist/components/Avatar/Avatar.js.map +1 -1
  3. package/dist/components/GameProvider/GameContext.d.ts +1 -0
  4. package/dist/components/GameProvider/GameContext.js.map +1 -1
  5. package/dist/components/GameProvider/GameProvider.d.ts +1 -1
  6. package/dist/components/GameProvider/GameProvider.js +13 -4
  7. package/dist/components/GameProvider/GameProvider.js.map +1 -1
  8. package/dist/components/ImagesLoader/ImagesLoader.d.ts +2 -3
  9. package/dist/components/ImagesLoader/ImagesLoader.js.map +1 -1
  10. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +25 -10
  11. package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
  12. package/dist/components/dialogs/ResultDialog/ResultDialog.js +22 -17
  13. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
  14. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.d.ts +4 -9
  15. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +7 -7
  16. package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
  17. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js +5 -17
  18. package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js.map +1 -1
  19. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.d.ts +3 -6
  20. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +8 -8
  21. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
  22. package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +1 -0
  23. package/dist/components/dialogs/RulesDialog/RulesDialog.js +3 -3
  24. package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -1
  25. package/dist/components/index.d.ts +2 -0
  26. package/dist/components/index.js +2 -0
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/components/material/DraggableMaterial.d.ts +14 -11
  29. package/dist/components/material/DraggableMaterial.js +102 -48
  30. package/dist/components/material/DraggableMaterial.js.map +1 -1
  31. package/dist/components/material/FlatMaterial/BoardDescription.d.ts +3 -0
  32. package/dist/components/material/FlatMaterial/BoardDescription.js +28 -0
  33. package/dist/components/material/FlatMaterial/BoardDescription.js.map +1 -0
  34. package/dist/components/material/FlatMaterial/CardDescription.d.ts +6 -0
  35. package/dist/components/material/FlatMaterial/CardDescription.js +32 -0
  36. package/dist/components/material/FlatMaterial/CardDescription.js.map +1 -0
  37. package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +35 -0
  38. package/dist/components/material/FlatMaterial/FlatMaterial.js +128 -0
  39. package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -0
  40. package/dist/components/material/FlatMaterial/TokenDescription.d.ts +10 -0
  41. package/dist/components/material/FlatMaterial/TokenDescription.js +44 -0
  42. package/dist/components/material/FlatMaterial/TokenDescription.js.map +1 -0
  43. package/dist/components/material/FlatMaterial/index.d.ts +4 -0
  44. package/dist/components/material/{Card → FlatMaterial}/index.js +4 -1
  45. package/dist/components/material/FlatMaterial/index.js.map +1 -0
  46. package/dist/components/material/GameTable/GameMaterialDisplay.js +64 -45
  47. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  48. package/dist/components/material/GameTable/GameTable.d.ts +2 -2
  49. package/dist/components/material/GameTable/GameTable.js +64 -16
  50. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  51. package/dist/components/material/GameTable/GameTableContent.js +22 -7
  52. package/dist/components/material/GameTable/GameTableContent.js.map +1 -1
  53. package/dist/components/material/ImageLoader/MaterialImageLoader.d.ts +5 -0
  54. package/dist/components/material/ImageLoader/MaterialImageLoader.js +33 -0
  55. package/dist/components/material/ImageLoader/MaterialImageLoader.js.map +1 -0
  56. package/dist/components/material/ImageLoader/index.d.ts +1 -0
  57. package/dist/components/material/{Token → ImageLoader}/index.js +1 -1
  58. package/dist/components/material/ImageLoader/index.js.map +1 -0
  59. package/dist/components/material/MaterialAnimations.d.ts +11 -14
  60. package/dist/components/material/MaterialAnimations.js +129 -82
  61. package/dist/components/material/MaterialAnimations.js.map +1 -1
  62. package/dist/components/material/MaterialComponent.d.ts +5 -10
  63. package/dist/components/material/MaterialComponent.js +8 -53
  64. package/dist/components/material/MaterialComponent.js.map +1 -1
  65. package/dist/components/material/MaterialDescription.d.ts +31 -18
  66. package/dist/components/material/MaterialDescription.js +36 -0
  67. package/dist/components/material/MaterialDescription.js.map +1 -1
  68. package/dist/components/material/animations/CreateItemAnimations.d.ts +14 -0
  69. package/dist/components/material/animations/CreateItemAnimations.js +72 -0
  70. package/dist/components/material/animations/CreateItemAnimations.js.map +1 -0
  71. package/dist/components/material/animations/DeleteItemAnimations.d.ts +14 -0
  72. package/dist/components/material/animations/DeleteItemAnimations.js +80 -0
  73. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -0
  74. package/dist/components/material/animations/ItemAnimations.d.ts +7 -0
  75. package/dist/components/material/animations/ItemAnimations.js +31 -0
  76. package/dist/components/material/animations/ItemAnimations.js.map +1 -0
  77. package/dist/components/material/animations/MaterialAnimations.d.ts +19 -0
  78. package/dist/components/material/animations/MaterialAnimations.js +51 -0
  79. package/dist/components/material/animations/MaterialAnimations.js.map +1 -0
  80. package/dist/components/material/animations/MaterialGameAnimations.d.ts +11 -0
  81. package/dist/components/material/animations/MaterialGameAnimations.js +42 -0
  82. package/dist/components/material/animations/MaterialGameAnimations.js.map +1 -0
  83. package/dist/components/material/animations/MoveItemAnimations.d.ts +16 -0
  84. package/dist/components/material/animations/MoveItemAnimations.js +105 -0
  85. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -0
  86. package/dist/components/material/animations/ShuffleAnimations.d.ts +8 -0
  87. package/dist/components/material/animations/ShuffleAnimations.js +34 -0
  88. package/dist/components/material/animations/ShuffleAnimations.js.map +1 -0
  89. package/dist/components/material/animations/adjustRotation.d.ts +1 -0
  90. package/dist/components/material/animations/adjustRotation.js +37 -0
  91. package/dist/components/material/animations/adjustRotation.js.map +1 -0
  92. package/dist/components/material/animations/getFirstStockItemTransforms.util.d.ts +2 -0
  93. package/dist/components/material/animations/getFirstStockItemTransforms.util.js +32 -0
  94. package/dist/components/material/animations/getFirstStockItemTransforms.util.js.map +1 -0
  95. package/dist/components/material/animations/index.d.ts +9 -0
  96. package/dist/components/material/animations/index.js +29 -0
  97. package/dist/components/material/animations/index.js.map +1 -0
  98. package/dist/components/material/animations/isMovedOrDeletedItem.util.d.ts +3 -0
  99. package/dist/components/material/animations/isMovedOrDeletedItem.util.js +28 -0
  100. package/dist/components/material/animations/isMovedOrDeletedItem.util.js.map +1 -0
  101. package/dist/components/material/animations/itemMovementCss.util.d.ts +2 -0
  102. package/dist/components/material/animations/itemMovementCss.util.js +13 -0
  103. package/dist/components/material/animations/itemMovementCss.util.js.map +1 -0
  104. package/dist/components/material/animations/transformItem.util.d.ts +2 -0
  105. package/dist/components/material/animations/transformItem.util.js +11 -0
  106. package/dist/components/material/animations/transformItem.util.js.map +1 -0
  107. package/dist/components/material/index.d.ts +4 -7
  108. package/dist/components/material/index.js +4 -7
  109. package/dist/components/material/index.js.map +1 -1
  110. package/dist/components/material/locations/LocationDescription.d.ts +28 -0
  111. package/dist/components/material/locations/LocationDescription.js +54 -0
  112. package/dist/components/material/locations/LocationDescription.js.map +1 -0
  113. package/dist/components/material/locations/LocationsMask.d.ts +5 -0
  114. package/dist/components/material/locations/LocationsMask.js +48 -0
  115. package/dist/components/material/locations/LocationsMask.js.map +1 -0
  116. package/dist/components/material/locations/SimpleDropArea.d.ts +13 -0
  117. package/dist/components/material/{DropAreas → locations}/SimpleDropArea.js +44 -30
  118. package/dist/components/material/locations/SimpleDropArea.js.map +1 -0
  119. package/dist/components/material/locations/index.d.ts +3 -0
  120. package/dist/components/material/{Board → locations}/index.js +3 -1
  121. package/dist/components/material/locations/index.js.map +1 -0
  122. package/dist/components/material/utils/getItemFromContext.d.ts +3 -0
  123. package/dist/components/material/utils/getItemFromContext.js +10 -0
  124. package/dist/components/material/utils/getItemFromContext.js.map +1 -0
  125. package/dist/components/material/utils/index.d.ts +0 -3
  126. package/dist/components/material/utils/index.js +0 -3
  127. package/dist/components/material/utils/index.js.map +1 -1
  128. package/dist/components/material/utils/isDroppedItem.d.ts +2 -0
  129. package/dist/components/material/utils/isDroppedItem.js +15 -0
  130. package/dist/components/material/utils/isDroppedItem.js.map +1 -0
  131. package/dist/components/material/utils/isPlacedOnItem.d.ts +3 -0
  132. package/dist/components/material/utils/isPlacedOnItem.js +15 -0
  133. package/dist/components/material/utils/isPlacedOnItem.js.map +1 -0
  134. package/dist/components/material/utils/useIsAnimatingPlayerAction.d.ts +1 -0
  135. package/dist/components/material/utils/useIsAnimatingPlayerAction.js +10 -0
  136. package/dist/components/material/utils/useIsAnimatingPlayerAction.js.map +1 -0
  137. package/dist/components/menus/Menu/Menu.js +3 -3
  138. package/dist/components/menus/Menu/Menu.js.map +1 -1
  139. package/dist/components/menus/Result/ResultPopButton.js +1 -1
  140. package/dist/components/menus/Result/ResultPopButton.js.map +1 -1
  141. package/dist/components/tutorial/MaterialTutorial.d.ts +47 -0
  142. package/dist/components/tutorial/MaterialTutorial.js +95 -0
  143. package/dist/components/tutorial/MaterialTutorial.js.map +1 -0
  144. package/dist/components/tutorial/MaterialTutorialDisplay.d.ts +1 -0
  145. package/dist/components/tutorial/MaterialTutorialDisplay.js +73 -0
  146. package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -0
  147. package/dist/components/tutorial/TutorialRulesWrapper.d.ts +3 -0
  148. package/dist/components/tutorial/TutorialRulesWrapper.js +60 -0
  149. package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -0
  150. package/dist/components/tutorial/index.d.ts +1 -0
  151. package/dist/components/{material/DropAreas → tutorial}/index.js +1 -1
  152. package/dist/components/tutorial/index.js.map +1 -0
  153. package/dist/css/componentSizeCss.d.ts +1 -5
  154. package/dist/css/componentSizeCss.js +1 -1
  155. package/dist/css/componentSizeCss.js.map +1 -1
  156. package/dist/css/fadeIn.d.ts +1 -0
  157. package/dist/css/fadeIn.js +13 -0
  158. package/dist/css/fadeIn.js.map +1 -0
  159. package/dist/css/index.d.ts +2 -0
  160. package/dist/css/index.js +2 -0
  161. package/dist/css/index.js.map +1 -1
  162. package/dist/css/shadowEffect.d.ts +1 -0
  163. package/dist/css/shadowEffect.js +11 -0
  164. package/dist/css/shadowEffect.js.map +1 -0
  165. package/dist/css/transformCss.d.ts +1 -0
  166. package/dist/css/transformCss.js +3 -2
  167. package/dist/css/transformCss.js.map +1 -1
  168. package/dist/hooks/index.d.ts +3 -0
  169. package/dist/hooks/index.js +3 -0
  170. package/dist/hooks/index.js.map +1 -1
  171. package/dist/hooks/useItemLocator.js +2 -3
  172. package/dist/hooks/useItemLocator.js.map +1 -1
  173. package/dist/hooks/useLegalMoves.js +11 -6
  174. package/dist/hooks/useLegalMoves.js.map +1 -1
  175. package/dist/hooks/useLocators.d.ts +1 -0
  176. package/dist/hooks/useLocators.js +8 -0
  177. package/dist/hooks/useLocators.js.map +1 -0
  178. package/dist/hooks/useMaterialContext.d.ts +2 -0
  179. package/dist/hooks/useMaterialContext.js +18 -0
  180. package/dist/hooks/useMaterialContext.js.map +1 -0
  181. package/dist/hooks/useMaterials.d.ts +2 -0
  182. package/dist/hooks/useMaterials.js +10 -0
  183. package/dist/hooks/useMaterials.js.map +1 -0
  184. package/dist/hooks/usePlayerName.js +12 -1
  185. package/dist/hooks/usePlayerName.js.map +1 -1
  186. package/dist/hooks/usePlayers.js +1 -1
  187. package/dist/hooks/usePlayers.js.map +1 -1
  188. package/dist/hooks/useRulesStep.d.ts +2 -0
  189. package/dist/hooks/useRulesStep.js +10 -0
  190. package/dist/hooks/useRulesStep.js.map +1 -0
  191. package/dist/hooks/useTutorialStep.d.ts +2 -0
  192. package/dist/hooks/useTutorialStep.js +15 -0
  193. package/dist/hooks/useTutorialStep.js.map +1 -0
  194. package/dist/hooks/useZoomToElements.d.ts +5 -0
  195. package/dist/hooks/useZoomToElements.js +65 -0
  196. package/dist/hooks/useZoomToElements.js.map +1 -0
  197. package/dist/index.d.ts +1 -0
  198. package/dist/locators/DeckLocator.d.ts +4 -4
  199. package/dist/locators/DeckLocator.js +3 -2
  200. package/dist/locators/DeckLocator.js.map +1 -1
  201. package/dist/locators/HandLocator.d.ts +11 -11
  202. package/dist/locators/HandLocator.js.map +1 -1
  203. package/dist/locators/ItemLocator.d.ts +31 -41
  204. package/dist/locators/ItemLocator.js +33 -90
  205. package/dist/locators/ItemLocator.js.map +1 -1
  206. package/dist/locators/LineLocator.d.ts +7 -5
  207. package/dist/locators/LineLocator.js +10 -1
  208. package/dist/locators/LineLocator.js.map +1 -1
  209. package/dist/locators/PileLocator.d.ts +8 -6
  210. package/dist/locators/PileLocator.js +13 -1
  211. package/dist/locators/PileLocator.js.map +1 -1
  212. package/dist/utilities/animations.constants.d.ts +16 -0
  213. package/dist/utilities/animations.constants.js +82 -0
  214. package/dist/utilities/animations.constants.js.map +1 -0
  215. package/dist/utilities/animations.util.d.ts +4 -0
  216. package/dist/utilities/animations.util.js +78 -0
  217. package/dist/utilities/animations.util.js.map +1 -0
  218. package/dist/utilities/bounds.util.d.ts +18 -0
  219. package/dist/utilities/bounds.util.js +85 -0
  220. package/dist/utilities/bounds.util.js.map +1 -0
  221. package/dist/utilities/calculation.util.d.ts +14 -0
  222. package/dist/utilities/calculation.util.js +24 -0
  223. package/dist/utilities/calculation.util.js.map +1 -0
  224. package/dist/utilities/zoom.util.d.ts +4 -0
  225. package/dist/utilities/zoom.util.js +17 -0
  226. package/dist/utilities/zoom.util.js.map +1 -0
  227. package/package.json +7 -5
  228. package/dist/components/material/Board/Board.d.ts +0 -17
  229. package/dist/components/material/Board/Board.js +0 -34
  230. package/dist/components/material/Board/Board.js.map +0 -1
  231. package/dist/components/material/Board/index.d.ts +0 -1
  232. package/dist/components/material/Board/index.js.map +0 -1
  233. package/dist/components/material/Card/Card.d.ts +0 -23
  234. package/dist/components/material/Card/Card.js +0 -49
  235. package/dist/components/material/Card/Card.js.map +0 -1
  236. package/dist/components/material/Card/index.d.ts +0 -1
  237. package/dist/components/material/Card/index.js.map +0 -1
  238. package/dist/components/material/DropAreas/SimpleDropArea.d.ts +0 -12
  239. package/dist/components/material/DropAreas/SimpleDropArea.js.map +0 -1
  240. package/dist/components/material/DropAreas/index.d.ts +0 -1
  241. package/dist/components/material/DropAreas/index.js.map +0 -1
  242. package/dist/components/material/Items.d.ts +0 -4
  243. package/dist/components/material/Items.js +0 -3
  244. package/dist/components/material/Items.js.map +0 -1
  245. package/dist/components/material/Token/Token.d.ts +0 -18
  246. package/dist/components/material/Token/Token.js +0 -34
  247. package/dist/components/material/Token/Token.js.map +0 -1
  248. package/dist/components/material/Token/index.d.ts +0 -1
  249. package/dist/components/material/Token/index.js.map +0 -1
  250. package/dist/components/material/utils/IsMoveThisItem.d.ts +0 -2
  251. package/dist/components/material/utils/IsMoveThisItem.js +0 -12
  252. package/dist/components/material/utils/IsMoveThisItem.js.map +0 -1
  253. package/dist/components/material/utils/IsMoveThisItemToLocation.d.ts +0 -3
  254. package/dist/components/material/utils/IsMoveThisItemToLocation.js +0 -11
  255. package/dist/components/material/utils/IsMoveThisItemToLocation.js.map +0 -1
  256. package/dist/components/material/utils/IsMoveToLocation.d.ts +0 -2
  257. package/dist/components/material/utils/IsMoveToLocation.js +0 -13
  258. package/dist/components/material/utils/IsMoveToLocation.js.map +0 -1
  259. package/dist/components/material/utils/IsMoveToStock.d.ts +0 -4
  260. package/dist/components/material/utils/IsMoveToStock.js +0 -18
  261. package/dist/components/material/utils/IsMoveToStock.js.map +0 -1
  262. package/dist/hooks/useStocks.d.ts +0 -2
  263. package/dist/hooks/useStocks.js +0 -12
  264. package/dist/hooks/useStocks.js.map +0 -1
@@ -1,14 +1,17 @@
1
- /** @jsxImportSource @emotion/react */
2
- import { FC } from 'react';
3
- import { DisplayedItem, MaterialItem } from '@gamepark/rules-api';
1
+ /// <reference types="react" />
2
+ import { DisplayedItem } from '@gamepark/rules-api';
4
3
  import { MaterialComponentProps } from './MaterialComponent';
5
- export type DraggableMaterialProps<P extends number = number, M extends number = number, L extends number = number> = {
6
- item: MaterialItem<P, L>;
4
+ export type DraggableMaterialProps<M extends number = number> = {
7
5
  index: number;
8
6
  displayIndex: number;
9
- disabled?: boolean;
10
- preTransform?: string;
11
- postTransform?: string;
12
- } & MaterialComponentProps<number, P, M, L>;
13
- export declare const DraggableMaterial: FC<DraggableMaterialProps>;
14
- export declare function isDraggedItem<M extends number = number>(data?: Record<string, any>): data is DisplayedItem<M>;
7
+ } & MaterialComponentProps<M>;
8
+ export declare const DraggableMaterial: import("react").ForwardRefExoticComponent<{
9
+ index: number;
10
+ displayIndex: number;
11
+ } & {
12
+ type: number;
13
+ itemId?: any;
14
+ onShortClick?: () => void;
15
+ onLongClick?: () => void;
16
+ } & import("./MaterialDescription").ComponentCommonProps & import("react").HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>;
17
+ export declare function dataIsDisplayedItem<M extends number = number>(data?: Record<string, any>): data is DisplayedItem<M>;
@@ -25,11 +25,20 @@ var __rest = (this && this.__rest) || function (s, e) {
25
25
  }
26
26
  return t;
27
27
  };
28
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
28
37
  var __importDefault = (this && this.__importDefault) || function (mod) {
29
38
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
39
  };
31
40
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.isDraggedItem = exports.DraggableMaterial = void 0;
41
+ exports.dataIsDisplayedItem = exports.DraggableMaterial = void 0;
33
42
  var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
34
43
  /** @jsxImportSource @emotion/react */
35
44
  var react_1 = require("react");
@@ -40,73 +49,118 @@ var core_1 = require("@dnd-kit/core");
40
49
  var react_2 = require("@emotion/react");
41
50
  var utilities_1 = require("../../utilities");
42
51
  var hooks_1 = require("../../hooks");
43
- var useScale_1 = require("../../hooks/useScale");
44
- var GameProvider_1 = require("../GameProvider");
45
52
  var merge_1 = __importDefault(require("lodash/merge"));
46
- var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
47
- var DraggableMaterial = function (_a) {
48
- var item = _a.item, type = _a.type, index = _a.index, displayIndex = _a.displayIndex, disabled = _a.disabled, preTransform = _a.preTransform, postTransform = _a.postTransform, props = __rest(_a, ["item", "type", "index", "displayIndex", "disabled", "preTransform", "postTransform"]);
49
- var displayedItem = { type: type, index: index, displayIndex: displayIndex };
53
+ var react_merge_refs_1 = require("react-merge-refs");
54
+ var react_zoom_pan_pinch_1 = require("react-zoom-pan-pinch");
55
+ var isPlacedOnItem_1 = require("./utils/isPlacedOnItem");
56
+ var isDroppedItem_1 = require("./utils/isDroppedItem");
57
+ var useIsAnimatingPlayerAction_1 = require("./utils/useIsAnimatingPlayerAction");
58
+ exports.DraggableMaterial = (0, react_1.forwardRef)(function (_a, ref) {
59
+ var highlight = _a.highlight, type = _a.type, index = _a.index, displayIndex = _a.displayIndex, props = __rest(_a, ["highlight", "type", "index", "displayIndex"]);
60
+ var context = (0, hooks_1.useMaterialContext)();
61
+ var material = context.material;
62
+ var item = useRevealedItem(type, index);
63
+ var itemContext = (0, react_1.useMemo)(function () { return (__assign(__assign({}, context), { type: type, index: index, displayIndex: displayIndex })); }, [context]);
64
+ var locator = context.locators[item.location.type];
65
+ var displayedItem = (0, react_1.useMemo)(function () { return ({ type: type, index: index, displayIndex: displayIndex }); }, [type, index, displayIndex]);
66
+ var play = (0, hooks_1.usePlay)();
67
+ var legalMoves = (0, hooks_1.useLegalMoves)();
68
+ var itemMoves = (0, react_1.useMemo)(function () {
69
+ return legalMoves.filter(function (move) { return material[type].canDrag(move, itemContext); });
70
+ }, [legalMoves, itemContext]);
71
+ var isAnimatingPlayerAction = (0, useIsAnimatingPlayerAction_1.useIsAnimatingPlayerAction)();
72
+ var disabled = !itemMoves.length || isAnimatingPlayerAction;
50
73
  var _b = (0, core_1.useDraggable)({
51
74
  id: "".concat(type, "_").concat(index, "_").concat(displayIndex),
52
75
  data: displayedItem,
53
76
  disabled: disabled
54
- }), attributes = _b.attributes, listeners = _b.listeners, transform = _b.transform, setNodeRef = _b.setNodeRef;
77
+ }), attributes = _b.attributes, listeners = _b.listeners, selfTransform = _b.transform, setNodeRef = _b.setNodeRef;
78
+ var _c = (0, react_1.useState)(), draggedItem = _c[0], setDraggedItem = _c[1];
79
+ var isDraggingParent = (0, react_1.useMemo)(function () { return !!item && !!draggedItem && (0, isPlacedOnItem_1.isPlacedOnItem)(item, draggedItem, context); }, [item, draggedItem, context]);
80
+ var canDropToSameLocation = (0, react_1.useMemo)(function () {
81
+ if (!draggedItem)
82
+ return false;
83
+ var location = locator.locationDescription;
84
+ var description = material[draggedItem.type];
85
+ return legalMoves.some(function (move) { return description.canDrag(move, __assign(__assign({}, context), draggedItem)) && (location === null || location === void 0 ? void 0 : location.canDrop(move, item.location, context)); });
86
+ }, [item, draggedItem, legalMoves]);
87
+ var _d = (0, react_1.useState)(), parentTransform = _d[0], setParentTransform = _d[1];
88
+ var transform = selfTransform !== null && selfTransform !== void 0 ? selfTransform : parentTransform;
55
89
  // We need to delay a little the default transition removal when dragging starts, otherwise dnd-kit suffers from transform side effect
56
90
  // because we opted out from ignoring transform in the configuration (using: "draggable: { measure: getClientRect }")
57
- var _c = (0, react_1.useState)(true), ignoreTransform = _c[0], setIgnoreTransform = _c[1];
91
+ var _e = (0, react_1.useState)(true), ignoreTransform = _e[0], setIgnoreTransform = _e[1];
58
92
  (0, react_1.useEffect)(function () {
59
- if (transform !== null) {
93
+ if (transform) {
60
94
  var timeout_1 = setTimeout(function () { return setIgnoreTransform(false); });
61
95
  return function () { return clearTimeout(timeout_1); };
62
96
  }
63
97
  else {
64
98
  setIgnoreTransform(true);
65
99
  }
66
- }, [transform !== null]);
67
- var scale = (0, useScale_1.useScale)();
100
+ }, [!transform]);
101
+ var transformContext = (0, react_zoom_pan_pinch_1.useTransformContext)();
68
102
  var transformRef = (0, react_1.useRef)();
69
103
  if (transform && !ignoreTransform) {
70
104
  var x = transform.x, y = transform.y;
105
+ var scale = transformContext.transformState.scale;
71
106
  transformRef.current = "translate3d(".concat(Math.round(x / scale), "px, ").concat(y ? Math.round(y / scale) : 0, "px, 20em)");
72
107
  }
108
+ var animation = useItemAnimation(displayedItem);
109
+ var isDropped = (0, react_1.useMemo)(function () { return (0, isDroppedItem_1.isDroppedItem)(itemContext); }, [itemContext]);
110
+ var applyTransform = isDropped || !ignoreTransform || !!animation;
111
+ if (!applyTransform)
112
+ transformRef.current = undefined;
113
+ // Firefox bugs when the animation is immediately followed by the transition: we need to delay by 1 rerender putting back the transition
114
+ var _f = (0, react_1.useState)(!!animation), animating = _f[0], setAnimating = _f[1];
115
+ (0, react_1.useEffect)(function () { return setAnimating(!!animation); }, [!animation]);
116
+ var onDragStart = (0, react_1.useCallback)(function (event) { return dataIsDisplayedItem(event.active.data.current) && setDraggedItem(event.active.data.current); }, []);
117
+ var onDragMove = (0, react_1.useCallback)(function (event) { return isDraggingParent && setParentTransform(event.delta); }, [isDraggingParent]);
118
+ var onDragEnd = (0, react_1.useCallback)(function () {
119
+ setDraggedItem(undefined);
120
+ setParentTransform(undefined);
121
+ }, []);
122
+ (0, core_1.useDndMonitor)({ onDragStart: onDragStart, onDragEnd: onDragEnd, onDragMove: onDragMove });
123
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ css: [animationWrapperCss, animation] }, { children: (0, jsx_runtime_1.jsx)(MaterialComponent_1.MaterialComponent, __assign({ ref: (0, react_merge_refs_1.mergeRefs)([ref, setNodeRef]), type: type, itemId: item === null || item === void 0 ? void 0 : item.id, css: [
124
+ !applyTransform && !animating && transformTransition,
125
+ !disabled && noTouchAction,
126
+ disabled ? css_1.pointerCursorCss : transform ? css_1.grabbingCursor : css_1.grabCursor,
127
+ css_1.transformCss.apply(void 0, __spreadArray([applyTransform && transformRef.current], locator.transformItem(item, itemContext), false)),
128
+ canDropToSameLocation && noPointerEvents
129
+ ], highlight: highlight !== null && highlight !== void 0 ? highlight : (!disabled && !draggedItem) }, props, attributes, (0, utilities_1.combineEventListeners)(listeners !== null && listeners !== void 0 ? listeners : {}, props), { onLongClick: itemMoves.length === 1 ? function () { return play(itemMoves[0]); } : undefined })) })));
130
+ });
131
+ var animationWrapperCss = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transform-style: preserve-3d;\n\n > * {\n position: absolute;\n }\n"], ["\n transform-style: preserve-3d;\n\n > * {\n position: absolute;\n }\n"])));
132
+ var noTouchAction = (0, react_2.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n touch-action: none;\n"], ["\n touch-action: none;\n"])));
133
+ var noPointerEvents = (0, react_2.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n pointer-events: none;\n"], ["\n pointer-events: none;\n"])));
134
+ var transformTransition = (0, react_2.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n transition: transform 0.2s ease-in-out\n"], ["\n transition: transform 0.2s ease-in-out\n"])));
135
+ function dataIsDisplayedItem(data) {
136
+ return typeof (data === null || data === void 0 ? void 0 : data.type) === 'number' && typeof (data === null || data === void 0 ? void 0 : data.index) === 'number' && typeof (data === null || data === void 0 ? void 0 : data.displayIndex) === 'number';
137
+ }
138
+ exports.dataIsDisplayedItem = dataIsDisplayedItem;
139
+ var useRevealedItem = function (type, index) {
140
+ var _a;
141
+ var animation = (0, hooks_1.useAnimation)(function (animation) { return (0, rules_api_1.isMoveItemType)(type, index)(animation.move); });
142
+ var game = (0, hooks_1.useGame)();
143
+ var item = (_a = game === null || game === void 0 ? void 0 : game.items[type]) === null || _a === void 0 ? void 0 : _a[index];
144
+ return (0, react_1.useMemo)(function () {
145
+ return item && typeof (animation === null || animation === void 0 ? void 0 : animation.move.reveal) === 'object' ? (0, merge_1.default)(JSON.parse(JSON.stringify(item)), animation.move.reveal) : item;
146
+ }, [item, animation === null || animation === void 0 ? void 0 : animation.move.reveal]);
147
+ };
148
+ var useItemAnimation = function (displayedItem) {
149
+ var _a, _b;
150
+ var type = displayedItem.type, index = displayedItem.index;
151
+ var context = (0, hooks_1.useMaterialContext)();
73
152
  var materialAnimations = (0, hooks_1.useMaterialAnimations)(type);
74
- var context = (0, react_1.useContext)(GameProvider_1.gameContext);
75
- var rules = (0, hooks_1.useRules)();
76
- var player = (0, hooks_1.usePlayerId)();
77
- var animations = (0, hooks_1.useAnimations)(function (animation) { return animation.action.playerId === player; });
78
- var animation = (0, hooks_1.useAnimation)(function (animation) {
79
- return ((0, rules_api_1.isCreateItem)(animation.move, type) && (0, rules_api_1.itemsCanMerge)(item, animation.move.item))
80
- || ((0, rules_api_1.isMoveItem)(animation.move, type) && animation.move.itemIndex === index)
81
- || ((0, rules_api_1.isDeleteItem)(animation.move, type) && animation.move.itemIndex === index);
82
- });
83
- var locator = context.locators[item.location.type];
84
- var animationContext = __assign(__assign({}, context), { rules: rules, player: player });
85
- var isItemToAnimate = !!animation && locator.isItemToAnimate(displayedItem, animation, animationContext);
86
- var animationCss = isItemToAnimate && (materialAnimations === null || materialAnimations === void 0 ? void 0 : materialAnimations.getItemAnimation(displayedItem, animation, animationContext));
87
- var isDroppedItem = (0, fast_deep_equal_1.default)(rules.game.droppedItem, displayedItem);
88
- var applyTransform = isDroppedItem || !ignoreTransform;
89
- if (isItemToAnimate && (0, rules_api_1.isMoveItem)(animation.move) && typeof animation.move.reveal === 'object') {
90
- item = JSON.parse(JSON.stringify(item));
91
- (0, merge_1.default)(item, animation.move.reveal);
153
+ var animations = (0, hooks_1.useAnimations)();
154
+ var item = (_b = (_a = context.game) === null || _a === void 0 ? void 0 : _a.items[type]) === null || _b === void 0 ? void 0 : _b[index];
155
+ if (!item || !materialAnimations)
156
+ return;
157
+ for (var _i = 0, animations_1 = animations; _i < animations_1.length; _i++) {
158
+ var animation = animations_1[_i];
159
+ var itemAnimation = materialAnimations.getItemAnimation(__assign(__assign({}, context), displayedItem), animation);
160
+ if (itemAnimation)
161
+ return itemAnimation;
92
162
  }
93
- return ((0, jsx_runtime_1.jsx)(MaterialComponent_1.MaterialComponent, __assign({ ref: setNodeRef, type: type, itemId: item.id, css: [
94
- !applyTransform && transformTransition(animation === null || animation === void 0 ? void 0 : animation.duration),
95
- !disabled && noTouchAction,
96
- disabled || animations.length ? css_1.pointerCursorCss : transform ? css_1.grabbingCursor : [css_1.shineEffect, css_1.grabCursor],
97
- (0, css_1.transformCss)(preTransform, applyTransform && transformRef.current, postTransform),
98
- animationCss
99
- ] }, props, attributes, (0, utilities_1.combineEventListeners)(listeners !== null && listeners !== void 0 ? listeners : {}, props))));
100
- };
101
- exports.DraggableMaterial = DraggableMaterial;
102
- var noTouchAction = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n touch-action: none;\n"], ["\n touch-action: none;\n"])));
103
- var transformTransition = function (duration) {
104
- if (duration === void 0) { duration = 0.2; }
105
- return (0, react_2.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n transition: transform ", "s ease-in-out\n"], ["\n transition: transform ", "s ease-in-out\n"])), duration);
163
+ return;
106
164
  };
107
- function isDraggedItem(data) {
108
- return typeof (data === null || data === void 0 ? void 0 : data.type) === 'number' && typeof (data === null || data === void 0 ? void 0 : data.index) === 'number' && typeof (data === null || data === void 0 ? void 0 : data.displayIndex) === 'number';
109
- }
110
- exports.isDraggedItem = isDraggedItem;
111
- var templateObject_1, templateObject_2;
165
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
112
166
  //# sourceMappingURL=DraggableMaterial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableMaterial.js","sourceRoot":"","sources":["../../../src/components/material/DraggableMaterial.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DraggableMaterial.js","sourceRoot":"","sources":["../../../src/components/material/DraggableMaterial.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FlatMaterialDescription } from './FlatMaterial';
2
+ export declare abstract class BoardDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends FlatMaterialDescription<P, M, L, ItemId> {
3
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BoardDescription = void 0;
19
+ var FlatMaterial_1 = require("./FlatMaterial");
20
+ var BoardDescription = /** @class */ (function (_super) {
21
+ __extends(BoardDescription, _super);
22
+ function BoardDescription() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ return BoardDescription;
26
+ }(FlatMaterial_1.FlatMaterialDescription));
27
+ exports.BoardDescription = BoardDescription;
28
+ //# sourceMappingURL=BoardDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardDescription.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/BoardDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+CAAwD;AAExD;IACU,oCAAwC;IADlD;;IAEA,CAAC;IAAD,uBAAC;AAAD,CAAC,AAFD,CACU,sCAAuB,GAChC;AAFqB,4CAAgB"}
@@ -0,0 +1,6 @@
1
+ import { FlatMaterialDescription } from './FlatMaterial';
2
+ export declare abstract class CardDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends FlatMaterialDescription<P, M, L, ItemId> {
3
+ width: number;
4
+ ratio: number;
5
+ borderRadius: number;
6
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CardDescription = void 0;
19
+ var FlatMaterial_1 = require("./FlatMaterial");
20
+ var CardDescription = /** @class */ (function (_super) {
21
+ __extends(CardDescription, _super);
22
+ function CardDescription() {
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ _this.width = 6.35;
25
+ _this.ratio = 5 / 7;
26
+ _this.borderRadius = 0.4;
27
+ return _this;
28
+ }
29
+ return CardDescription;
30
+ }(FlatMaterial_1.FlatMaterialDescription));
31
+ exports.CardDescription = CardDescription;
32
+ //# sourceMappingURL=CardDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardDescription.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/CardDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+CAAwD;AAExD;IACU,mCAAwC;IADlD;QAAA,qEAKC;QAHC,WAAK,GAAG,IAAI,CAAA;QACZ,WAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,kBAAY,GAAG,GAAG,CAAA;;IACpB,CAAC;IAAD,sBAAC;AAAD,CAAC,AALD,CACU,sCAAuB,GAIhC;AALqB,0CAAe"}
@@ -0,0 +1,35 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { HTMLAttributes } from 'react';
3
+ import { ComponentCommonProps, ComponentSize, MaterialDescription } from '../MaterialDescription';
4
+ import { MaterialItem } from '@gamepark/rules-api';
5
+ export type FlatMaterialProps = ComponentSize & ComponentCommonProps & {
6
+ image?: string;
7
+ back?: {
8
+ image?: string;
9
+ };
10
+ borderRadius?: number;
11
+ };
12
+ export declare const FlatMaterial: import("react").ForwardRefExoticComponent<ComponentSize & ComponentCommonProps & {
13
+ image?: string;
14
+ back?: {
15
+ image?: string;
16
+ };
17
+ borderRadius?: number;
18
+ } & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
19
+ export declare abstract class FlatMaterialDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends MaterialDescription<P, M, L, ItemId> {
20
+ image?: string;
21
+ images?: Record<ItemId extends keyof any ? ItemId : never, string>;
22
+ getImage(itemId: ItemId): string | undefined;
23
+ backImage?: string;
24
+ backImages?: Record<ItemId extends keyof any ? ItemId : never, string>;
25
+ getBackImage(itemId: ItemId): string | undefined;
26
+ borderRadius?: number;
27
+ getBorderRadius(_itemId: ItemId): number | undefined;
28
+ getFlatMaterialProps(itemId: ItemId): FlatMaterialProps;
29
+ getImages(): string[];
30
+ protected getFrontId(itemId: ItemId): any;
31
+ protected getBackId(itemId: ItemId): any;
32
+ protected hasBackFace(): boolean;
33
+ isHidden(item: Partial<MaterialItem<P, L>>): boolean;
34
+ }
35
+ export declare function isFlatMaterialDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any>(description: MaterialDescription<P, M, L, ItemId>): description is FlatMaterialDescription<P, M, L, ItemId>;
@@ -0,0 +1,128 @@
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 __extends = (this && this.__extends) || (function () {
7
+ var extendStatics = function (d, b) {
8
+ extendStatics = Object.setPrototypeOf ||
9
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11
+ return extendStatics(d, b);
12
+ };
13
+ return function (d, b) {
14
+ if (typeof b !== "function" && b !== null)
15
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
16
+ extendStatics(d, b);
17
+ function __() { this.constructor = d; }
18
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
19
+ };
20
+ })();
21
+ var __assign = (this && this.__assign) || function () {
22
+ __assign = Object.assign || function(t) {
23
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
24
+ s = arguments[i];
25
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
26
+ t[p] = s[p];
27
+ }
28
+ return t;
29
+ };
30
+ return __assign.apply(this, arguments);
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.isFlatMaterialDescription = exports.FlatMaterialDescription = exports.FlatMaterial = void 0;
45
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
46
+ /** @jsxImportSource @emotion/react */
47
+ var react_1 = require("react");
48
+ var css_1 = require("../../../css");
49
+ var MaterialDescription_1 = require("../MaterialDescription");
50
+ var react_2 = require("@emotion/react");
51
+ exports.FlatMaterial = (0, react_1.forwardRef)(function (_a, ref) {
52
+ var image = _a.image, width = _a.width, height = _a.height, back = _a.back, borderRadius = _a.borderRadius, highlight = _a.highlight, playDown = _a.playDown, children = _a.children, props = __rest(_a, ["image", "width", "height", "back", "borderRadius", "highlight", "playDown", "children"]);
53
+ if (!back) {
54
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ ref: ref, css: [
55
+ (0, css_1.sizeCss)(width, height),
56
+ image && [(0, css_1.backgroundCss)(image), (0, css_1.shadowCss)(image)],
57
+ borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
58
+ highlight ? css_1.shineEffect : playDown && playDownCss(image)
59
+ ] }, props, { children: children })));
60
+ }
61
+ // TODO: we should be able to define children locations inside the back face too
62
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ ref: ref, css: [css_1.preserve3d, (0, css_1.sizeCss)(width, height), borderRadius && (0, css_1.borderRadiusCss)(borderRadius)] }, props, { children: [(0, jsx_runtime_1.jsx)(Face, __assign({ image: image, css: [highlight ? css_1.shineEffect : playDown && playDownCss(image)] }, { children: children })), (0, jsx_runtime_1.jsx)(Face, { image: back.image, css: [(0, css_1.transformCss)('rotateY(-180deg)'), highlight && css_1.shineEffect, playDown && playDownCss(back.image)] })] })));
63
+ });
64
+ var Face = function (_a) {
65
+ var image = _a.image, props = __rest(_a, ["image"]);
66
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ css: [faceCss, image && [(0, css_1.backgroundCss)(image), (0, css_1.shadowCss)(image)]] }, props)));
67
+ };
68
+ var faceCss = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n backface-visibility: hidden;\n border-radius: inherit;\n box-shadow: 0 0 0.1em black;\n"], ["\n position: absolute;\n width: 100%;\n height: 100%;\n backface-visibility: hidden;\n border-radius: inherit;\n box-shadow: 0 0 0.1em black;\n"])));
69
+ var FlatMaterialDescription = /** @class */ (function (_super) {
70
+ __extends(FlatMaterialDescription, _super);
71
+ function FlatMaterialDescription() {
72
+ return _super !== null && _super.apply(this, arguments) || this;
73
+ }
74
+ FlatMaterialDescription.prototype.getImage = function (itemId) {
75
+ var _a, _b;
76
+ return (_b = (_a = this.images) === null || _a === void 0 ? void 0 : _a[this.getFrontId(itemId)]) !== null && _b !== void 0 ? _b : this.image;
77
+ };
78
+ FlatMaterialDescription.prototype.getBackImage = function (itemId) {
79
+ var _a, _b;
80
+ return (_b = (_a = this.backImages) === null || _a === void 0 ? void 0 : _a[this.getBackId(itemId)]) !== null && _b !== void 0 ? _b : this.backImage;
81
+ };
82
+ FlatMaterialDescription.prototype.getBorderRadius = function (_itemId) {
83
+ return this.borderRadius;
84
+ };
85
+ FlatMaterialDescription.prototype.getFlatMaterialProps = function (itemId) {
86
+ return __assign(__assign({}, this.getSize(itemId)), { image: this.getImage(itemId), back: this.backImage || this.backImages ? { image: this.getBackImage(itemId) } : undefined, borderRadius: this.getBorderRadius(itemId) });
87
+ };
88
+ FlatMaterialDescription.prototype.getImages = function () {
89
+ var images = [];
90
+ if (this.image)
91
+ images.push(this.image);
92
+ if (this.images)
93
+ images.push.apply(images, Object.values(this.images));
94
+ if (this.backImage)
95
+ images.push(this.backImage);
96
+ if (this.backImages)
97
+ images.push.apply(images, Object.values(this.backImages));
98
+ return images;
99
+ };
100
+ FlatMaterialDescription.prototype.getFrontId = function (itemId) {
101
+ return typeof itemId === 'object' ? itemId.front : itemId;
102
+ };
103
+ FlatMaterialDescription.prototype.getBackId = function (itemId) {
104
+ return typeof itemId === 'object' ? itemId.back : itemId;
105
+ };
106
+ FlatMaterialDescription.prototype.hasBackFace = function () {
107
+ return !!this.backImage || !!this.backImages;
108
+ };
109
+ FlatMaterialDescription.prototype.isHidden = function (item) {
110
+ return this.hasBackFace() && this.getFrontId(item.id) === undefined;
111
+ };
112
+ return FlatMaterialDescription;
113
+ }(MaterialDescription_1.MaterialDescription));
114
+ exports.FlatMaterialDescription = FlatMaterialDescription;
115
+ function isFlatMaterialDescription(description) {
116
+ return typeof description.getFlatMaterialProps === 'function';
117
+ }
118
+ exports.isFlatMaterialDescription = isFlatMaterialDescription;
119
+ var playDownCss = function (image) {
120
+ if (image === null || image === void 0 ? void 0 : image.endsWith('.jpg')) {
121
+ return css_1.shadowEffect;
122
+ }
123
+ else {
124
+ return (0, react_2.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n filter: brightness(0.5);\n "], ["\n filter: brightness(0.5);\n "])));
125
+ }
126
+ };
127
+ var templateObject_1, templateObject_2;
128
+ //# sourceMappingURL=FlatMaterial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlatMaterial.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/FlatMaterial.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { FlatMaterialDescription } from './FlatMaterial';
2
+ import { ComponentSize } from '../MaterialDescription';
3
+ export declare abstract class TokenDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends FlatMaterialDescription<P, M, L, ItemId> {
4
+ ratio: number;
5
+ }
6
+ export declare abstract class RoundTokenDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends TokenDescription<P, M, L, ItemId> {
7
+ abstract diameter: number;
8
+ getSize(_itemId: ItemId): ComponentSize;
9
+ getBorderRadius(): number;
10
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.RoundTokenDescription = exports.TokenDescription = void 0;
19
+ var FlatMaterial_1 = require("./FlatMaterial");
20
+ var TokenDescription = /** @class */ (function (_super) {
21
+ __extends(TokenDescription, _super);
22
+ function TokenDescription() {
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ _this.ratio = 1;
25
+ return _this;
26
+ }
27
+ return TokenDescription;
28
+ }(FlatMaterial_1.FlatMaterialDescription));
29
+ exports.TokenDescription = TokenDescription;
30
+ var RoundTokenDescription = /** @class */ (function (_super) {
31
+ __extends(RoundTokenDescription, _super);
32
+ function RoundTokenDescription() {
33
+ return _super !== null && _super.apply(this, arguments) || this;
34
+ }
35
+ RoundTokenDescription.prototype.getSize = function (_itemId) {
36
+ return { width: this.diameter, height: this.diameter };
37
+ };
38
+ RoundTokenDescription.prototype.getBorderRadius = function () {
39
+ return this.diameter / 2;
40
+ };
41
+ return RoundTokenDescription;
42
+ }(TokenDescription));
43
+ exports.RoundTokenDescription = RoundTokenDescription;
44
+ //# sourceMappingURL=TokenDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenDescription.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/TokenDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+CAAwD;AAGxD;IACU,oCAAwC;IADlD;QAAA,qEAGC;QADC,WAAK,GAAG,CAAC,CAAA;;IACX,CAAC;IAAD,uBAAC;AAAD,CAAC,AAHD,CACU,sCAAuB,GAEhC;AAHqB,4CAAgB;AAKtC;IACU,yCAAiC;IAD3C;;IAYA,CAAC;IAPU,uCAAO,GAAhB,UAAiB,OAAe;QAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;IACxD,CAAC;IAEQ,+CAAe,GAAxB;QACE,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC1B,CAAC;IACH,4BAAC;AAAD,CAAC,AAZD,CACU,gBAAgB,GAWzB;AAZqB,sDAAqB"}
@@ -0,0 +1,4 @@
1
+ export * from './BoardDescription';
2
+ export * from './CardDescription';
3
+ export * from './FlatMaterial';
4
+ export * from './TokenDescription';
@@ -14,5 +14,8 @@ 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("./Card"), exports);
17
+ __exportStar(require("./BoardDescription"), exports);
18
+ __exportStar(require("./CardDescription"), exports);
19
+ __exportStar(require("./FlatMaterial"), exports);
20
+ __exportStar(require("./TokenDescription"), exports);
18
21
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,oDAAiC;AACjC,iDAA8B;AAC9B,qDAAkC"}