@gamepark/react-game 6.24.3 → 6.26.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 (106) hide show
  1. package/dist/components/dialogs/ResultDialog/ResultDialog.js +19 -18
  2. package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
  3. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +1 -1
  4. package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
  5. package/dist/components/material/Dices/CubicDiceDescription.d.ts +1 -1
  6. package/dist/components/material/Dices/CubicDiceDescription.js +1 -1
  7. package/dist/components/material/Dices/CubicDiceDescription.js.map +1 -1
  8. package/dist/components/material/DraggableMaterial.js +10 -3
  9. package/dist/components/material/DraggableMaterial.js.map +1 -1
  10. package/dist/components/material/FlatMaterial/FlatMaterial.d.ts +1 -1
  11. package/dist/components/material/FlatMaterial/FlatMaterial.js +7 -4
  12. package/dist/components/material/FlatMaterial/FlatMaterial.js.map +1 -1
  13. package/dist/components/material/FlatMaterial/PolyhexDescription.d.ts +9 -0
  14. package/dist/components/material/FlatMaterial/PolyhexDescription.js +35 -0
  15. package/dist/components/material/FlatMaterial/PolyhexDescription.js.map +1 -0
  16. package/dist/components/material/FlatMaterial/index.d.ts +1 -0
  17. package/dist/components/material/FlatMaterial/index.js +1 -0
  18. package/dist/components/material/FlatMaterial/index.js.map +1 -1
  19. package/dist/components/material/GameTable/DropPreview.d.ts +2 -0
  20. package/dist/components/material/GameTable/DropPreview.js +60 -0
  21. package/dist/components/material/GameTable/DropPreview.js.map +1 -0
  22. package/dist/components/material/GameTable/GameMaterialDisplay.js +2 -1
  23. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  24. package/dist/components/material/GameTable/GameTable.js +7 -15
  25. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  26. package/dist/components/material/GameTable/ItemDisplay.d.ts +2 -0
  27. package/dist/components/material/GameTable/ItemDisplay.js +1 -1
  28. package/dist/components/material/GameTable/ItemDisplay.js.map +1 -1
  29. package/dist/components/material/MaterialComponent.d.ts +4 -0
  30. package/dist/components/material/MaterialComponent.js +2 -2
  31. package/dist/components/material/MaterialComponent.js.map +1 -1
  32. package/dist/components/material/MaterialDescription.d.ts +14 -4
  33. package/dist/components/material/MaterialDescription.js +35 -9
  34. package/dist/components/material/MaterialDescription.js.map +1 -1
  35. package/dist/components/material/MobileMaterialDescription.d.ts +1 -1
  36. package/dist/components/material/MobileMaterialDescription.js +4 -5
  37. package/dist/components/material/MobileMaterialDescription.js.map +1 -1
  38. package/dist/components/material/Wheel/WheelContent.d.ts +14 -0
  39. package/dist/components/material/Wheel/WheelContent.js +52 -0
  40. package/dist/components/material/Wheel/WheelContent.js.map +1 -0
  41. package/dist/components/material/Wheel/WheelDescription.d.ts +19 -0
  42. package/dist/components/material/Wheel/WheelDescription.js +91 -0
  43. package/dist/components/material/Wheel/WheelDescription.js.map +1 -0
  44. package/dist/components/material/Wheel/WheelItem.d.ts +15 -0
  45. package/dist/components/material/Wheel/WheelItem.js +54 -0
  46. package/dist/components/material/Wheel/WheelItem.js.map +1 -0
  47. package/dist/components/material/Wheel/index.d.ts +1 -0
  48. package/dist/components/material/Wheel/index.js +18 -0
  49. package/dist/components/material/Wheel/index.js.map +1 -0
  50. package/dist/components/material/animations/CreateItemAnimations.d.ts +1 -1
  51. package/dist/components/material/animations/CreateItemAnimations.js +6 -6
  52. package/dist/components/material/animations/CreateItemAnimations.js.map +1 -1
  53. package/dist/components/material/animations/DeleteItemAnimations.js +3 -3
  54. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -1
  55. package/dist/components/material/animations/MoveItemAnimations.js +3 -3
  56. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -1
  57. package/dist/components/material/animations/getFirstStockItemTransforms.util.js +3 -3
  58. package/dist/components/material/animations/getFirstStockItemTransforms.util.js.map +1 -1
  59. package/dist/components/material/animations/transformItem.util.js +6 -5
  60. package/dist/components/material/animations/transformItem.util.js.map +1 -1
  61. package/dist/components/material/index.d.ts +1 -0
  62. package/dist/components/material/index.js +1 -0
  63. package/dist/components/material/index.js.map +1 -1
  64. package/dist/components/material/locations/DropAreaDescription.d.ts +2 -1
  65. package/dist/components/material/locations/DropAreaDescription.js +1 -1
  66. package/dist/components/material/locations/DropAreaDescription.js.map +1 -1
  67. package/dist/components/material/locations/HexGridDropArea.d.ts +11 -0
  68. package/dist/components/material/locations/HexGridDropArea.js +74 -0
  69. package/dist/components/material/locations/HexGridDropArea.js.map +1 -0
  70. package/dist/components/material/locations/HexGridDropAreaDescription.d.ts +10 -0
  71. package/dist/components/material/locations/HexGridDropAreaDescription.js +87 -0
  72. package/dist/components/material/locations/HexGridDropAreaDescription.js.map +1 -0
  73. package/dist/components/material/locations/LocationDescription.d.ts +1 -0
  74. package/dist/components/material/locations/LocationDescription.js +3 -2
  75. package/dist/components/material/locations/LocationDescription.js.map +1 -1
  76. package/dist/components/material/locations/index.d.ts +1 -0
  77. package/dist/components/material/locations/index.js +1 -0
  78. package/dist/components/material/locations/index.js.map +1 -1
  79. package/dist/components/material/utils/getBestDropMove.d.ts +4 -0
  80. package/dist/components/material/utils/getBestDropMove.js +34 -0
  81. package/dist/components/material/utils/getBestDropMove.js.map +1 -0
  82. package/dist/components/material/utils/isDroppedItem.js +2 -1
  83. package/dist/components/material/utils/isDroppedItem.js.map +1 -1
  84. package/dist/components/tutorial/MaterialTutorial.js +1 -2
  85. package/dist/components/tutorial/MaterialTutorial.js.map +1 -1
  86. package/dist/hooks/useItemLocations.js +5 -19
  87. package/dist/hooks/useItemLocations.js.map +1 -1
  88. package/dist/locators/HandLocator.js +1 -1
  89. package/dist/locators/HandLocator.js.map +1 -1
  90. package/dist/locators/HexagonalGridLocator.d.ts +81 -0
  91. package/dist/locators/HexagonalGridLocator.js +221 -0
  92. package/dist/locators/HexagonalGridLocator.js.map +1 -0
  93. package/dist/locators/ListLocator.js +4 -4
  94. package/dist/locators/ListLocator.js.map +1 -1
  95. package/dist/locators/Locator.d.ts +25 -0
  96. package/dist/locators/Locator.js +33 -1
  97. package/dist/locators/Locator.js.map +1 -1
  98. package/dist/locators/PileLocator.js +2 -3
  99. package/dist/locators/PileLocator.js.map +1 -1
  100. package/dist/locators/index.d.ts +1 -0
  101. package/dist/locators/index.js +1 -0
  102. package/dist/locators/index.js.map +1 -1
  103. package/dist/locators/utils/grid.hex.util.d.ts +43 -0
  104. package/dist/locators/utils/grid.hex.util.js +92 -0
  105. package/dist/locators/utils/grid.hex.util.js.map +1 -0
  106. package/package.json +3 -3
@@ -3,8 +3,10 @@ import { MaterialItem } from '@gamepark/rules-api';
3
3
  export declare const ItemDisplay: import("react").ForwardRefExoticComponent<{
4
4
  type: number;
5
5
  itemId?: any;
6
+ itemIndex?: number | undefined;
6
7
  highlight?: boolean | undefined;
7
8
  playDown?: boolean | undefined;
9
+ preview?: boolean | undefined;
8
10
  } & import("react").HTMLAttributes<HTMLElement> & {
9
11
  index: number;
10
12
  displayIndex: number;
@@ -89,7 +89,7 @@ exports.ItemDisplay = (0, react_2.forwardRef)(function (_a, ref) {
89
89
  return (0, jsx_runtime_1.jsx)("div", __assign({ css: [
90
90
  itemCss,
91
91
  hoverTransform && hoverCss(itemTransform.join(' '), description.getSize(item.id), hoverTransform, animating || !!dragTransform)
92
- ] }, props, (0, utilities_1.combineEventListeners)(listeners, props), { children: (0, jsx_runtime_1.jsxs)(MaterialComponent_1.MaterialComponent, __assign({ ref: isFocused ? (0, react_merge_refs_1.mergeRefs)([ref, focusRef]) : ref, type: type, itemId: item.id, highlight: highlight, playDown: playDown !== null && playDown !== void 0 ? playDown : ((focus === null || focus === void 0 ? void 0 : focus.highlight) && !isFocused && !focusedLocations.length), style: { transform: transformStyle }, css: description.getItemExtraCss(item, itemContext) }, { children: [canHaveChildren ? (0, jsx_runtime_1.jsx)(ItemDropLocations, { locations: otherLocations, item: item, type: type }) : (0, jsx_runtime_1.jsx)(ItemLocations, { locations: otherLocations }), focusedLocations.length > 0 && (0, jsx_runtime_1.jsx)(locations_1.LocationsMask, { locations: focusedLocations.map(function (l) { return l.location; }), borderRadius: description.getBorderRadius(item.id) }), (0, jsx_runtime_1.jsx)(ItemLocations, { locations: focusedLocations })] })) }));
92
+ ] }, props, (0, utilities_1.combineEventListeners)(listeners, props), { children: (0, jsx_runtime_1.jsxs)(MaterialComponent_1.MaterialComponent, __assign({ ref: isFocused ? (0, react_merge_refs_1.mergeRefs)([ref, focusRef]) : ref, itemIndex: index, type: type, itemId: item.id, highlight: highlight, playDown: playDown !== null && playDown !== void 0 ? playDown : ((focus === null || focus === void 0 ? void 0 : focus.highlight) && !isFocused && !focusedLocations.length), style: { transform: transformStyle }, css: description.getItemExtraCss(item, itemContext) }, { children: [canHaveChildren ? (0, jsx_runtime_1.jsx)(ItemDropLocations, { locations: otherLocations, item: item, type: type }) : (0, jsx_runtime_1.jsx)(ItemLocations, { locations: otherLocations }), focusedLocations.length > 0 && (0, jsx_runtime_1.jsx)(locations_1.LocationsMask, { locations: focusedLocations.map(function (l) { return l.location; }), borderRadius: description.getBorderRadius(item.id) }), (0, jsx_runtime_1.jsx)(ItemLocations, { locations: focusedLocations })] })) }));
93
93
  });
94
94
  var itemCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n > * {\n position: absolute;\n }\n"], ["\n > * {\n position: absolute;\n }\n"])));
95
95
  var hoverCss = function (itemTransform, itemSize, hoverTransform, disable) { return (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n @media (hover) {\n &:hover > * > * {\n transition: transform 50ms ease-in-out;\n transform: ", ";\n } \n }\n \n > * {\n pointer-events: ", ";\n }\n\n &:before {\n content: \" \";\n position: absolute;\n width: ", "em;\n height: ", "em;\n transform: ", ";\n }\n"], ["\n @media (hover) {\n &:hover > * > * {\n transition: transform 50ms ease-in-out;\n transform: ", ";\n } \n }\n \n > * {\n pointer-events: ", ";\n }\n\n &:before {\n content: \" \";\n position: absolute;\n width: ", "em;\n height: ", "em;\n transform: ", ";\n }\n"])), disable ? '' : hoverTransform, disable ? 'auto' : 'none', itemSize.width, itemSize.height, itemTransform); };
@@ -1 +1 @@
1
- {"version":3,"file":"ItemDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/ItemDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/ItemDisplay.tsx"],"names":[],"mappings":"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"}
@@ -2,12 +2,16 @@ import { HTMLAttributes } from 'react';
2
2
  export type MaterialComponentProps<M extends number = number, ItemId = any> = {
3
3
  type: M;
4
4
  itemId?: ItemId;
5
+ itemIndex?: number;
5
6
  highlight?: boolean;
6
7
  playDown?: boolean;
8
+ preview?: boolean;
7
9
  } & HTMLAttributes<HTMLElement>;
8
10
  export declare const MaterialComponent: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
9
11
  type: number;
10
12
  itemId?: any;
13
+ itemIndex?: number | undefined;
11
14
  highlight?: boolean | undefined;
12
15
  playDown?: boolean | undefined;
16
+ preview?: boolean | undefined;
13
17
  } & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>>;
@@ -34,13 +34,13 @@ var react_2 = require("react");
34
34
  var css_1 = require("../../css");
35
35
  var hooks_1 = require("../../hooks");
36
36
  exports.MaterialComponent = (0, react_2.memo)((0, react_2.forwardRef)(function (_a, ref) {
37
- var type = _a.type, itemId = _a.itemId, highlight = _a.highlight, playDown = _a.playDown, props = __rest(_a, ["type", "itemId", "highlight", "playDown"]);
37
+ var type = _a.type, itemId = _a.itemId, itemIndex = _a.itemIndex, highlight = _a.highlight, playDown = _a.playDown, preview = _a.preview, props = __rest(_a, ["type", "itemId", "itemIndex", "highlight", "playDown", "preview"]);
38
38
  var description = (0, hooks_1.useMaterialDescription)(type);
39
39
  if (!description)
40
40
  return null;
41
41
  var _b = description.getSize(itemId), width = _b.width, height = _b.height;
42
42
  var componentCss = (0, react_2.useMemo)(function () { return [materialCss, (0, css_1.sizeCss)(width, height)]; }, [width, height]);
43
- return ((0, jsx_runtime_1.jsx)("div", __assign({ ref: ref, css: componentCss }, props, { children: (0, jsx_runtime_1.jsx)("div", __assign({ css: hoverWrapper }, { children: description.content(__assign({ itemId: itemId, highlight: highlight, playDown: playDown }, props)) })) })));
43
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ ref: ref, css: componentCss }, props, { children: (0, jsx_runtime_1.jsx)("div", __assign({ css: hoverWrapper }, { children: description.content(__assign({ type: type, itemId: itemId, highlight: highlight, playDown: playDown, preview: preview, itemIndex: itemIndex }, props)) })) })));
44
44
  }));
45
45
  var hoverWrapper = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transform-style: preserve-3d;\n -webkit-tap-highlight-color: transparent;\n transform-origin: center;\n width: 100%;\n height: 100%;\n"], ["\n transform-style: preserve-3d;\n -webkit-tap-highlight-color: transparent;\n transform-origin: center;\n width: 100%;\n height: 100%;\n"])));
46
46
  exports.MaterialComponent.displayName = 'MaterialComponent';
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialComponent.js","sourceRoot":"","sources":["../../../src/components/material/MaterialComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,+BAAiE;AACjE,iCAAmC;AACnC,qCAAoD;AASvC,QAAA,iBAAiB,GAAG,IAAA,YAAI,EAAC,IAAA,kBAAU,EAAyC,UACvF,EAA+C,EAAE,GAAG;IAAlD,IAAA,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAK,KAAK,cAA7C,2CAA+C,CAAF;IAE7C,IAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAA;IAEhD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAEvB,IAAA,KAAoB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAA7C,KAAK,WAAA,EAAE,MAAM,YAAgC,CAAA;IAErD,IAAM,YAAY,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,WAAW,EAAE,IAAA,aAAO,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAArC,CAAqC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAE1F,OAAO,CACL,yCAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,IAAM,KAAK,cACzC,yCAAK,GAAG,EAAE,YAAY,gBACnB,WAAW,CAAC,OAAO,YAAG,MAAM,QAAA,EAAE,SAAS,WAAA,EAAE,QAAQ,UAAA,IAAK,KAAK,EAAG,IAC3D,IACF,CACP,CAAA;AACH,CAAC,CAAC,CAAC,CAAA;AAEH,IAAM,YAAY,OAAG,WAAG,oNAAA,gJAMvB,IAAA,CAAA;AAED,yBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAA;AAEnD,IAAM,WAAW,OAAG,WAAG,sJAAA,kFAGtB,IAAA,CAAA"}
1
+ {"version":3,"file":"MaterialComponent.js","sourceRoot":"","sources":["../../../src/components/material/MaterialComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,+BAAiE;AACjE,iCAAmC;AACnC,qCAAoD;AAWvC,QAAA,iBAAiB,GAAG,IAAA,YAAI,EAAC,IAAA,kBAAU,EAAyC,UACvF,EAAmE,EAAE,GAAG;IAAtE,IAAA,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAK,KAAK,cAAjE,mEAAmE,CAAF;IAEjE,IAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAA;IAEhD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAEvB,IAAA,KAAoB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAA7C,KAAK,WAAA,EAAE,MAAM,YAAgC,CAAA;IAErD,IAAM,YAAY,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,WAAW,EAAE,IAAA,aAAO,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAArC,CAAqC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAE1F,OAAO,CACL,yCAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,IAAM,KAAK,cACzC,yCAAK,GAAG,EAAE,YAAY,gBACnB,WAAW,CAAC,OAAO,YAAG,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,SAAS,WAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,SAAS,WAAA,IAAK,KAAK,EAAG,IACrF,IACF,CACP,CAAA;AACH,CAAC,CAAC,CAAC,CAAA;AAEH,IAAM,YAAY,OAAG,WAAG,oNAAA,gJAMvB,IAAA,CAAA;AAED,yBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAA;AAEnD,IAAM,WAAW,OAAG,WAAG,sJAAA,kFAGtB,IAAA,CAAA"}
@@ -8,10 +8,13 @@ import { ComponentDescription } from './ComponentDescription';
8
8
  export type MaterialHelpProps<P extends number = number, M extends number = number, L extends number = number> = {
9
9
  closeDialog: () => void;
10
10
  } & Omit<MaterialHelpDisplay<P, M, L>, 'type'>;
11
- export type MaterialContentProps<ItemId = any> = {
11
+ export type MaterialContentProps<ItemId = any, M extends number = number> = {
12
12
  itemId: ItemId;
13
+ itemIndex?: number;
14
+ type?: M;
13
15
  highlight?: boolean;
14
16
  playDown?: boolean;
17
+ preview?: boolean;
15
18
  } & HTMLAttributes<HTMLElement>;
16
19
  /**
17
20
  * Base class to describe the material in a game
@@ -86,14 +89,14 @@ export declare abstract class MaterialDescription<P extends number = number, M e
86
89
  * @param move The move to consider
87
90
  * @param context Context of the item
88
91
  */
89
- canLongClick(move: MaterialMove<P, M, L>, { type, index }: ItemContext<P, M, L>): boolean;
92
+ canLongClick(move: MaterialMove<P, M, L>, context: ItemContext<P, M, L>): boolean;
90
93
  /**
91
94
  * This function determines if a move can be played by clicking on an item
92
95
  *
93
96
  * @param move The move to consider
94
97
  * @param context Context of the item
95
98
  */
96
- canShortClick(move: MaterialMove<P, M, L>, { type, index }: ItemContext<P, M, L>): boolean;
99
+ canShortClick(move: MaterialMove<P, M, L>, context: ItemContext<P, M, L>): boolean;
97
100
  /**
98
101
  * This function returns the move that should be played when clicking on an item, if any
99
102
  *
@@ -153,7 +156,14 @@ export declare abstract class MaterialDescription<P extends number = number, M e
153
156
  * @returns {string[]} a list of CSS transformations
154
157
  */
155
158
  getHoverTransform(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): string[];
156
- getDropLocations(item: MaterialItem<P, L>, move: MaterialMove<P, M, L>, context: ItemContext<P, M, L>): Location<P, L>[];
159
+ /**
160
+ * Provide the locations that are required to drop an item given the legal moves that currently allow to drag the item.
161
+ * @param context Context of the item. Use {@link getItemFromContext} to get the item from it.
162
+ * @param dragMoves Legal moves filtered to only keep those that allows the item to be dragged
163
+ * @return All the locations where the item can be dropped
164
+ */
165
+ getDropLocations(context: ItemContext<P, M, L>, dragMoves: MaterialMove<P, M, L>[]): Location<P, L>[];
166
+ getMoveDropLocations(context: ItemContext<P, M, L>, move: MaterialMove<P, M, L>): Location<P, L>[];
157
167
  getTooltip(item: MaterialItem<P, L>, t: TFunction, _context: ItemContext<P, M, L>): string | null | undefined;
158
168
  }
159
169
  export type MaterialDescriptionRecord<P extends number = number, M extends number = number, L extends number = number> = Record<M, MaterialDescription<P, M, L>>;
@@ -14,9 +14,15 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
17
20
  Object.defineProperty(exports, "__esModule", { value: true });
18
21
  exports.MaterialDescription = void 0;
19
22
  var rules_api_1 = require("@gamepark/rules-api");
23
+ var groupBy_1 = __importDefault(require("lodash/groupBy"));
24
+ var partition_1 = __importDefault(require("lodash/partition"));
25
+ var locators_1 = require("../../locators");
20
26
  var ComponentDescription_1 = require("./ComponentDescription");
21
27
  var displayMaterialHelp = rules_api_1.MaterialMoveBuilder.displayMaterialHelp;
22
28
  /**
@@ -89,9 +95,8 @@ var MaterialDescription = /** @class */ (function (_super) {
89
95
  * @param move The move to consider
90
96
  * @param context Context of the item
91
97
  */
92
- MaterialDescription.prototype.canLongClick = function (move, _a) {
93
- var type = _a.type, index = _a.index;
94
- return ((0, rules_api_1.isMoveItem)(move) || (0, rules_api_1.isDeleteItem)(move) || (0, rules_api_1.isRoll)(move)) && move.itemType === type && move.itemIndex === index;
98
+ MaterialDescription.prototype.canLongClick = function (move, context) {
99
+ return ((0, rules_api_1.isMoveItem)(move) || (0, rules_api_1.isDeleteItem)(move) || (0, rules_api_1.isRoll)(move)) && move.itemType === context.type && move.itemIndex === context.index;
95
100
  };
96
101
  /**
97
102
  * This function determines if a move can be played by clicking on an item
@@ -99,9 +104,8 @@ var MaterialDescription = /** @class */ (function (_super) {
99
104
  * @param move The move to consider
100
105
  * @param context Context of the item
101
106
  */
102
- MaterialDescription.prototype.canShortClick = function (move, _a) {
103
- var type = _a.type, index = _a.index;
104
- return (0, rules_api_1.isSelectItem)(move) && move.itemType === type && move.itemIndex === index;
107
+ MaterialDescription.prototype.canShortClick = function (move, context) {
108
+ return (0, rules_api_1.isSelectItem)(move) && move.itemType === context.type && move.itemIndex === context.index;
105
109
  };
106
110
  /**
107
111
  * This function returns the move that should be played when clicking on an item, if any
@@ -179,13 +183,35 @@ var MaterialDescription = /** @class */ (function (_super) {
179
183
  MaterialDescription.prototype.getHoverTransform = function (_item, _context) {
180
184
  return [];
181
185
  };
182
- MaterialDescription.prototype.getDropLocations = function (item, move, context) {
183
- var _a;
186
+ /**
187
+ * Provide the locations that are required to drop an item given the legal moves that currently allow to drag the item.
188
+ * @param context Context of the item. Use {@link getItemFromContext} to get the item from it.
189
+ * @param dragMoves Legal moves filtered to only keep those that allows the item to be dragged
190
+ * @return All the locations where the item can be dropped
191
+ */
192
+ MaterialDescription.prototype.getDropLocations = function (context, dragMoves) {
193
+ var _this = this;
194
+ var locations = [];
195
+ var _a = (0, partition_1.default)(dragMoves, rules_api_1.isMoveItem), itemMoves = _a[0], otherMoves = _a[1];
196
+ var itemMovesByType = (0, groupBy_1.default)(itemMoves, 'location.type');
197
+ for (var type in itemMovesByType) {
198
+ var locator = context.locators[type];
199
+ if (locator) {
200
+ locations.push.apply(locations, locator.getDropLocations(itemMovesByType[type], context));
201
+ }
202
+ else {
203
+ locations.push.apply(locations, itemMovesByType[type].flatMap(function (move) { return _this.getMoveDropLocations(context, move); }));
204
+ }
205
+ }
206
+ locations.push.apply(locations, otherMoves.flatMap(function (move) { return _this.getMoveDropLocations(context, move); }));
207
+ return locations;
208
+ };
209
+ MaterialDescription.prototype.getMoveDropLocations = function (context, move) {
184
210
  if ((0, rules_api_1.isMoveItem)(move) && move.location.type !== undefined) {
185
211
  return [move.location];
186
212
  }
187
213
  else if ((0, rules_api_1.isDeleteItem)(move)) {
188
- var stockLocation = (_a = context.material[context.type]) === null || _a === void 0 ? void 0 : _a.getStockLocation(item, context);
214
+ var stockLocation = this.getStockLocation((0, locators_1.getItemFromContext)(context), context);
189
215
  return stockLocation ? [stockLocation] : [];
190
216
  }
191
217
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MaterialDescription.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,iDAU4B;AAI5B,+DAA6D;AAC7D,IAAO,mBAAmB,GAAG,+BAAmB,CAAC,mBAAmB,CAAA;AAYpE;;GAEG;AACH;IACU,uCAA4B;IADtC;QAAA,qEA8MC;QAlMC;;WAEG;QACH,cAAQ,GAAG,KAAK,CAAA;QAOhB;;WAEG;QACH,iBAAW,GAAyB,EAAE,CAAA;QAkCtC;;WAEG;QACH,eAAS,GAAqB,EAAE,CAAA;QA6DhC;;WAEG;QACH,eAAS,GAAG,IAAI,CAAA;;IAgFlB,CAAC;IAnLC;;;;;;OAMG;IACH,4CAAc,GAAd,UAAe,QAAkC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;IAC/D,CAAC;IAOD;;;;;;OAMG;IACH,8CAAgB,GAAhB,UAAiB,KAAyB,EAAE,QAAkC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAYD;;;;;;OAMG;IACH,0CAAY,GAAZ,UAAa,KAAyB,EAAE,QAA8B;QACpE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACH,qCAAO,GAAP,UAAQ,KAA4B,EAAE,QAA8B;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,0CAAY,GAAZ,UAAa,IAA2B,EAAE,EAAqC;YAAnC,IAAI,UAAA,EAAE,KAAK,WAAA;QACrD,OAAO,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,IAAI,IAAA,kBAAM,EAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;IACvH,CAAC;IAED;;;;;OAKG;IACH,2CAAa,GAAb,UAAc,IAA2B,EAAE,EAAqC;YAAnC,IAAI,UAAA,EAAE,KAAK,WAAA;QACtD,OAAO,IAAA,wBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;IACjF,CAAC;IAED;;;;OAIG;IACH,+CAAiB,GAAjB,UAAkB,QAA8B;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACH,oDAAsB,GAAtB,UAAuB,QAA8B;QACnD,OAAO,SAAS,CAAA;IAClB,CAAC;IAOD;;;;;OAKG;IACH,0CAAY,GAAZ,UAAa,KAAyB,EAAE,QAA8B;QACpE,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;;;OAKG;IACH,6CAAe,GAAf,UAAgB,KAAyB,EAAE,QAA8B;QACvE,OAAM;IACR,CAAC;IAED;;;;;OAKG;IACH,uCAAS,GAAT,UAAU,KAAyB,EAAE,QAA8B;QACjE,OAAM;IACR,CAAC;IAED;;;;;;OAMG;IACH,yCAAW,GAAX,UAAY,IAAwB,EAAE,EAAmD;YAAjD,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,YAAY,kBAAA;QAC/D,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;OAKG;IACH,8CAAgB,GAAhB,UAAiB,IAAwB,EAAE,OAA6B;QACtE,IAAM,SAAS,GAAG,CAAC,uBAAuB,CAAC,CAAA;QAC3C,IAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,OAAO;YAAE,SAAS,CAAC,IAAI,OAAd,SAAS,EAAS,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAC;QAChE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACH,+CAAiB,GAAjB,UAAkB,KAAyB,EAAE,QAA8B;QACzE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,8CAAgB,GAAhB,UAAiB,IAAwB,EAAE,IAA2B,EAAE,OAA6B;;QACnG,IAAI,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;YACxD,OAAO,CAAC,IAAI,CAAC,QAA0B,CAAC,CAAA;SACzC;aAAM,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,EAAE;YAC7B,IAAM,aAAa,GAAG,MAAA,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,0CAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACrF,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;SAC5C;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,wCAAU,GAAV,UAAW,IAAwB,EAAE,CAAY,EAAE,QAA8B;QAC/E,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrE,OAAM;IACR,CAAC;IACH,0BAAC;AAAD,CAAC,AA9MD,CACU,2CAAoB,GA6M7B;AA9MqB,kDAAmB"}
1
+ {"version":3,"file":"MaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MaterialDescription.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ import { MaterialDescription } from './MaterialDescription';
5
5
  export declare abstract class MobileMaterialDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends MaterialDescription<P, M, L, ItemId> {
6
6
  isMobile: boolean;
7
7
  canDrag(move: MaterialMove<P, M, L>, context: ItemContext<P, M, L>): boolean;
8
- protected canDragToMove(move: MoveItem<P, M, L>, { type, index, rules }: ItemContext<P, M, L>): boolean;
8
+ protected canDragToMove(move: MoveItem<P, M, L>, context: ItemContext<P, M, L>): boolean;
9
9
  protected canDragToDelete(_move: DeleteItem<M>, _context: ItemContext<P, M, L>): boolean;
10
10
  }
@@ -33,6 +33,7 @@ exports.MobileMaterialDescription = void 0;
33
33
  /** @jsxImportSource @emotion/react */
34
34
  var rules_api_1 = require("@gamepark/rules-api");
35
35
  var isEqual_1 = __importDefault(require("lodash/isEqual"));
36
+ var locators_1 = require("../../locators");
36
37
  var MaterialDescription_1 = require("./MaterialDescription");
37
38
  var MobileMaterialDescription = /** @class */ (function (_super) {
38
39
  __extends(MobileMaterialDescription, _super);
@@ -53,11 +54,9 @@ var MobileMaterialDescription = /** @class */ (function (_super) {
53
54
  return false;
54
55
  }
55
56
  };
56
- MobileMaterialDescription.prototype.canDragToMove = function (move, _a) {
57
- var _b;
58
- var type = _a.type, index = _a.index, rules = _a.rules;
59
- var _c = (_b = rules.material(type).getItem(index)) === null || _b === void 0 ? void 0 : _b.location, rotation = _c.rotation, actualLocation = __rest(_c, ["rotation"]);
60
- var _d = move.location, nextRotation = _d.rotation, nextLocation = __rest(_d, ["rotation"]);
57
+ MobileMaterialDescription.prototype.canDragToMove = function (move, context) {
58
+ var _a = (0, locators_1.getItemFromContext)(context).location, rotation = _a.rotation, actualLocation = __rest(_a, ["rotation"]);
59
+ var _b = move.location, nextRotation = _b.rotation, nextLocation = __rest(_b, ["rotation"]);
61
60
  return !(0, isEqual_1.default)(actualLocation, nextLocation);
62
61
  };
63
62
  MobileMaterialDescription.prototype.canDragToDelete = function (_move, _context) {
@@ -1 +1 @@
1
- {"version":3,"file":"MobileMaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MobileMaterialDescription.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAAkG;AAClG,2DAAoC;AAEpC,6DAA2D;AAE3D;IACU,6CAAoC;IAD9C;QAAA,qEAuBC;QArBC,cAAQ,GAAG,IAAI,CAAA;;IAqBjB,CAAC;IAnBC,2CAAO,GAAP,UAAQ,IAA2B,EAAE,OAA6B;;QAChE,IAAI,IAAA,sBAAU,EAAC,IAAI,CAAC,EAAE;YACpB,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACpJ;aAAM,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACjH;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAES,iDAAa,GAAvB,UAAwB,IAAuB,EAAE,EAA4C;;YAA1C,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA;QACnE,IAAM,KAAkC,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,0CAAE,QAAS,EAA9E,QAAQ,cAAA,EAAK,cAAc,cAA7B,YAA+B,CAAiD,CAAA;QACtF,IAAM,KAA8C,IAAI,CAAC,QAAQ,EAA/C,YAAY,cAAA,EAAK,YAAY,cAAzC,YAA2C,CAAgB,CAAA;QACjE,OAAO,CAAC,IAAA,iBAAO,EAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAES,mDAAe,GAAzB,UAA0B,KAAoB,EAAE,QAA8B;QAC5E,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAA;IACzC,CAAC;IACH,gCAAC;AAAD,CAAC,AAvBD,CACU,yCAAmB,GAsB5B;AAvBqB,8DAAyB"}
1
+ {"version":3,"file":"MobileMaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MobileMaterialDescription.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAAkG;AAClG,2DAAoC;AACpC,2CAAgE;AAChE,6DAA2D;AAE3D;IACU,6CAAoC;IAD9C;QAAA,qEAuBC;QArBC,cAAQ,GAAG,IAAI,CAAA;;IAqBjB,CAAC;IAnBC,2CAAO,GAAP,UAAQ,IAA2B,EAAE,OAA6B;;QAChE,IAAI,IAAA,sBAAU,EAAC,IAAI,CAAC,EAAE;YACpB,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACpJ;aAAM,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACjH;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAES,iDAAa,GAAvB,UAAwB,IAAuB,EAAE,OAA6B;QAC5E,IAAM,KAAkC,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAC,QAAQ,EAApE,QAAQ,cAAA,EAAK,cAAc,cAA7B,YAA+B,CAAuC,CAAA;QAC5E,IAAM,KAA8C,IAAI,CAAC,QAAQ,EAA/C,YAAY,cAAA,EAAK,YAAY,cAAzC,YAA2C,CAAgB,CAAA;QACjE,OAAO,CAAC,IAAA,iBAAO,EAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAES,mDAAe,GAAzB,UAA0B,KAAoB,EAAE,QAA8B;QAC5E,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAA;IACzC,CAAC;IACH,gCAAC;AAAD,CAAC,AAvBD,CACU,yCAAmB,GAsB5B;AAvBqB,8DAAyB"}
@@ -0,0 +1,14 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { Interpolation, Theme } from '@emotion/react';
3
+ import { FC } from 'react';
4
+ import { MaterialContentProps } from '../MaterialDescription';
5
+ import { ComponentSize } from '../ComponentDescription';
6
+ export type WheelContentProps = {
7
+ size: ComponentSize;
8
+ image?: string;
9
+ wheelImage?: string;
10
+ borderRadius?: number;
11
+ extraCss?: Interpolation<Theme>;
12
+ wheelExtraCss?: Interpolation<Theme>;
13
+ } & MaterialContentProps;
14
+ export declare const WheelContent: FC<WheelContentProps>;
@@ -0,0 +1,52 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.WheelContent = void 0;
19
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
20
+ /** @jsxImportSource @emotion/react */
21
+ var react_1 = require("@emotion/react");
22
+ var css_1 = require("../../../css");
23
+ var WheelContent = function (props) {
24
+ var playDown = props.playDown, highlight = props.highlight, size = props.size, image = props.image, wheelImage = props.wheelImage, borderRadius = props.borderRadius, extraCss = props.extraCss, wheelExtraCss = props.wheelExtraCss, children = props.children;
25
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ css: [
26
+ faceCss,
27
+ extraCss,
28
+ (0, css_1.sizeCss)(size.width, size.height),
29
+ wheelImage && [(0, css_1.backgroundCss)(wheelImage), (0, css_1.shadowCss)(wheelImage)],
30
+ borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
31
+ highlight ? css_1.shineEffect : (playDown && playDownCss(image))
32
+ ] }, { children: children })), image && (0, jsx_runtime_1.jsx)("div", { css: [
33
+ faceCss,
34
+ wheelExtraCss,
35
+ (0, css_1.sizeCss)(size.width, size.height),
36
+ (0, css_1.backgroundCss)(image),
37
+ borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
38
+ highlight ? css_1.shineEffect : (playDown && playDownCss(image))
39
+ ] })] });
40
+ };
41
+ exports.WheelContent = WheelContent;
42
+ var faceCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n transform-style: preserve-3d;\n backface-visibility: hidden;\n"], ["\n position: absolute;\n transform-style: preserve-3d;\n backface-visibility: hidden;\n"])));
43
+ var playDownCss = function (image) {
44
+ if (image === null || image === void 0 ? void 0 : image.endsWith('.jpg')) {
45
+ return css_1.shadowEffect;
46
+ }
47
+ else {
48
+ return (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n filter: brightness(0.5);\n "], ["\n filter: brightness(0.5);\n "])));
49
+ }
50
+ };
51
+ var templateObject_1, templateObject_2;
52
+ //# sourceMappingURL=WheelContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WheelContent.js","sourceRoot":"","sources":["../../../../src/components/material/Wheel/WheelContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAA0D;AAC1D,oCAA4G;AAcrG,IAAM,YAAY,GAA0B,UAAC,KAAK;IAC/C,IAAA,QAAQ,GAA0F,KAAK,SAA/F,EAAE,SAAS,GAA+E,KAAK,UAApF,EAAE,IAAI,GAAyE,KAAK,KAA9E,EAAE,KAAK,GAAkE,KAAK,MAAvE,EAAE,UAAU,GAAsD,KAAK,WAA3D,EAAE,YAAY,GAAwC,KAAK,aAA7C,EAAE,QAAQ,GAA8B,KAAK,SAAnC,EAAE,aAAa,GAAe,KAAK,cAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAU;IAC/G,OAAO,6DACL,yCAAK,GAAG,EAAE;oBACR,OAAO;oBACP,QAAQ;oBACR,IAAA,aAAO,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;oBAChC,UAAU,IAAI,CAAC,IAAA,mBAAa,EAAC,UAAU,CAAC,EAAE,IAAA,eAAS,EAAC,UAAU,CAAC,CAAC;oBAChE,YAAY,IAAI,IAAA,qBAAe,EAAC,YAAY,CAAC;oBAC7C,SAAS,CAAC,CAAC,CAAC,iBAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;iBAC3D,gBACE,QAAQ,IACL,EACL,KAAK,IAAI,gCAAK,GAAG,EAAE;oBAClB,OAAO;oBACP,aAAa;oBACb,IAAA,aAAO,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;oBAChC,IAAA,mBAAa,EAAC,KAAK,CAAC;oBACpB,YAAY,IAAI,IAAA,qBAAe,EAAC,YAAY,CAAC;oBAC7C,SAAS,CAAC,CAAC,CAAC,iBAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;iBAC3D,GAAG,IACH,CAAA;AACL,CAAC,CAAA;AAtBY,QAAA,YAAY,gBAsBxB;AAED,IAAM,OAAO,OAAG,WAAG,gKAAA,4FAIlB,IAAA,CAAA;AAED,IAAM,WAAW,GAAG,UAAC,KAAc;IACjC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO,kBAAY,CAAA;KACpB;SAAM;QACL,WAAO,WAAG,4GAAA,wCAET,KAAA;KACF;AACH,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { Interpolation, Theme } from '@emotion/react';
3
+ import { MaterialContentProps } from '../MaterialDescription';
4
+ import { MobileMaterialDescription } from '../MobileMaterialDescription';
5
+ export declare class WheelDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends MobileMaterialDescription<P, M, L, ItemId> {
6
+ image?: string;
7
+ images?: Record<ItemId extends keyof any ? ItemId : never, string>;
8
+ getImage(itemId: ItemId): string | undefined;
9
+ wheelImage?: string;
10
+ wheelImages?: Record<ItemId extends keyof any ? ItemId : never, string>;
11
+ getWheelImage(itemId: ItemId): string | undefined;
12
+ angle: number;
13
+ angles?: number[];
14
+ getAngles(_itemId: ItemId): number[];
15
+ getExtraCss(_itemId: ItemId): Interpolation<Theme>;
16
+ getWheelExtraCss(_itemId: ItemId): Interpolation<Theme>;
17
+ getImages(): string[];
18
+ content: (props: MaterialContentProps<ItemId>) => import("@emotion/react/jsx-runtime").JSX.Element;
19
+ }
@@ -0,0 +1,91 @@
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
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.WheelDescription = void 0;
30
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
31
+ var MobileMaterialDescription_1 = require("../MobileMaterialDescription");
32
+ var WheelItem_1 = require("./WheelItem");
33
+ var WheelDescription = /** @class */ (function (_super) {
34
+ __extends(WheelDescription, _super);
35
+ function WheelDescription() {
36
+ var _this = _super !== null && _super.apply(this, arguments) || this;
37
+ _this.angle = 20;
38
+ _this.content = function (props) {
39
+ var itemId = props.itemId;
40
+ var image = _this.getImage(itemId);
41
+ var wheelImage = _this.getWheelImage(itemId);
42
+ var size = _this.getSize(itemId);
43
+ var borderRadius = _this.getBorderRadius(itemId);
44
+ var angles = _this.getAngles(itemId);
45
+ var extraCss = _this.getExtraCss(itemId);
46
+ var wheelExtraCss = _this.getWheelExtraCss(itemId);
47
+ return ((0, jsx_runtime_1.jsx)(WheelItem_1.WheelItem, __assign({ image: image, wheelImage: wheelImage, size: size, borderRadius: borderRadius, angles: angles, extraCss: extraCss, wheelExtraCss: wheelExtraCss }, props)));
48
+ };
49
+ return _this;
50
+ }
51
+ WheelDescription.prototype.getImage = function (itemId) {
52
+ var _a, _b;
53
+ return (_b = (_a = this.images) === null || _a === void 0 ? void 0 : _a[itemId]) !== null && _b !== void 0 ? _b : this.image;
54
+ };
55
+ WheelDescription.prototype.getWheelImage = function (itemId) {
56
+ var _a, _b;
57
+ return (_b = (_a = this.wheelImages) === null || _a === void 0 ? void 0 : _a[itemId]) !== null && _b !== void 0 ? _b : this.wheelImage;
58
+ };
59
+ WheelDescription.prototype.getAngles = function (_itemId) {
60
+ if (this.angles === undefined) {
61
+ this.angles = [];
62
+ var angle = 0;
63
+ while (angle < 360) {
64
+ this.angles.push(angle);
65
+ angle += this.angle;
66
+ }
67
+ }
68
+ return this.angles;
69
+ };
70
+ WheelDescription.prototype.getExtraCss = function (_itemId) {
71
+ return;
72
+ };
73
+ WheelDescription.prototype.getWheelExtraCss = function (_itemId) {
74
+ return;
75
+ };
76
+ WheelDescription.prototype.getImages = function () {
77
+ var images = [];
78
+ if (this.image)
79
+ images.push(this.image);
80
+ if (this.images)
81
+ images.push.apply(images, Object.values(this.images));
82
+ if (this.wheelImage)
83
+ images.push(this.wheelImage);
84
+ if (this.wheelImages)
85
+ images.push.apply(images, Object.values(this.wheelImages));
86
+ return images;
87
+ };
88
+ return WheelDescription;
89
+ }(MobileMaterialDescription_1.MobileMaterialDescription));
90
+ exports.WheelDescription = WheelDescription;
91
+ //# sourceMappingURL=WheelDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WheelDescription.js","sourceRoot":"","sources":["../../../../src/components/material/Wheel/WheelDescription.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,0EAAwE;AACxE,yCAAuC;AAEvC;IACU,oCAA0C;IADpD;QAAA,qEAwEC;QAvDC,WAAK,GAAW,EAAE,CAAA;QAiClB,aAAO,GAAG,UAAC,KAAmC;YACpC,IAAA,MAAM,GAAK,KAAK,OAAV,CAAU;YACxB,IAAM,KAAK,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACnC,IAAM,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC7C,IAAM,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACjC,IAAM,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YACjD,IAAM,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACrC,IAAM,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACzC,IAAM,aAAa,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YACnD,OAAO,CACL,uBAAC,qBAAS,aACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,IACxB,KAAK,EACT,CACH,CAAA;QACH,CAAC,CAAA;;IACH,CAAC;IAlEC,mCAAQ,GAAR,UAAS,MAAc;;QACrB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAG,MAAmB,CAAC,mCAAI,IAAI,CAAC,KAAK,CAAA;IACzD,CAAC;IAKD,wCAAa,GAAb,UAAc,MAAc;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAG,MAAmB,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAA;IACnE,CAAC;IAKD,oCAAS,GAAT,UAAU,OAAe;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YAChB,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,OAAO,KAAK,GAAG,GAAG,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;aACpB;SACF;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,sCAAW,GAAX,UAAY,OAAe;QACzB,OAAM;IACR,CAAC;IAED,2CAAgB,GAAhB,UAAiB,OAAe;QAC9B,OAAM;IACR,CAAC;IAED,oCAAS,GAAT;QACE,IAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,OAAX,MAAM,EAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAa,EAAC;QACvE,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjD,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,OAAX,MAAM,EAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAa,EAAC;QACjF,OAAO,MAAM,CAAA;IACf,CAAC;IAwBH,uBAAC;AAAD,CAAC,AAxED,CACU,qDAAyB,GAuElC;AAxEY,4CAAgB"}
@@ -0,0 +1,15 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { Interpolation, Theme } from '@emotion/react';
3
+ import { FC } from 'react';
4
+ import { ComponentSize } from '../ComponentDescription';
5
+ import { MaterialContentProps } from '../MaterialDescription';
6
+ export type WheelItemProps = {
7
+ size: ComponentSize;
8
+ image?: string;
9
+ wheelImage?: string;
10
+ borderRadius?: number;
11
+ extraCss?: Interpolation<Theme>;
12
+ wheelExtraCss?: Interpolation<Theme>;
13
+ angles: number[];
14
+ } & MaterialContentProps;
15
+ export declare const WheelItem: FC<WheelItemProps>;
@@ -0,0 +1,54 @@
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.WheelItem = void 0;
8
+ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
9
+ /** @jsxImportSource @emotion/react */
10
+ var react_1 = require("@emotion/react");
11
+ var rules_api_1 = require("@gamepark/rules-api");
12
+ var css_1 = require("../../../css");
13
+ var hooks_1 = require("../../../hooks");
14
+ var WheelItem = function (props) {
15
+ var _a;
16
+ var itemIndex = props.itemIndex, type = props.type, angles = props.angles, playDown = props.playDown, highlight = props.highlight, size = props.size, image = props.image, wheelImage = props.wheelImage, borderRadius = props.borderRadius, extraCss = props.extraCss, wheelExtraCss = props.wheelExtraCss;
17
+ var context = (0, hooks_1.useMaterialContext)();
18
+ var animation = (0, hooks_1.useAnimation)(function (_a) {
19
+ var move = _a.move;
20
+ return !!type && (0, rules_api_1.isMoveItemType)(type)(move) && move.itemIndex === itemIndex;
21
+ });
22
+ var item = itemIndex !== undefined ? context.rules.material(type).getItem(itemIndex) : undefined;
23
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [
24
+ wheelExtraCss,
25
+ (0, css_1.sizeCss)(size.width, size.height),
26
+ wheelImage && [(0, css_1.backgroundCss)(wheelImage), (0, css_1.shadowCss)(wheelImage)],
27
+ borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
28
+ highlight ? css_1.shineEffect : (playDown && playDownCss(wheelImage)),
29
+ wheelRotationCss((_a = item === null || item === void 0 ? void 0 : item.location.rotation) !== null && _a !== void 0 ? _a : 0, angles),
30
+ !!animation && !!item && animateWheelCss(animation, angles)
31
+ ] }), image && (0, jsx_runtime_1.jsx)("div", { css: [
32
+ coverCss,
33
+ extraCss,
34
+ (0, css_1.sizeCss)(size.width, size.height),
35
+ (0, css_1.backgroundCss)(image),
36
+ borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
37
+ highlight ? css_1.shineEffect : (playDown && playDownCss(image))
38
+ ] })] });
39
+ };
40
+ exports.WheelItem = WheelItem;
41
+ var wheelRotationCss = function (rotation, angles) { return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transform: rotateZ(", "deg); \n"], ["\n transform: rotateZ(", "deg); \n"])), angles[rotation !== null && rotation !== void 0 ? rotation : 0]); };
42
+ var whellRotationAnimation = function (animation, angles) { return (0, react_1.keyframes)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n to {\n ", "\n }\n"], ["\n to {\n ", "\n }\n"])), wheelRotationCss(animation.move.location.rotation, angles)); };
43
+ var animateWheelCss = function (animation, angles) { return (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n animation: ", " ", "s ease-in-out forwards;\n"], ["\n animation: ", " ", "s ease-in-out forwards;\n"])), whellRotationAnimation(animation, angles), animation.duration); };
44
+ var coverCss = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n"])));
45
+ var playDownCss = function (image) {
46
+ if (image === null || image === void 0 ? void 0 : image.endsWith('.jpg')) {
47
+ return css_1.shadowEffect;
48
+ }
49
+ else {
50
+ return (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n filter: brightness(0.5);\n "], ["\n filter: brightness(0.5);\n "])));
51
+ }
52
+ };
53
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
54
+ //# sourceMappingURL=WheelItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WheelItem.js","sourceRoot":"","sources":["../../../../src/components/material/Wheel/WheelItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './WheelDescription';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./WheelDescription"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/Wheel/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC"}
@@ -10,6 +10,6 @@ export declare class CreateItemAnimations<P extends number = number, M extends n
10
10
  getPreDuration(move: CreateItem<P, M, L>, context: MaterialGameAnimationContext<P, M, L>): number;
11
11
  getPostDuration(move: CreateItem<P, M, L>, _context: MaterialGameAnimationContext<P, M, L>): number;
12
12
  getItemAnimation(context: ItemContext<P, M, L>, animation: Animation<CreateItem<P, M, L>>): Interpolation<Theme>;
13
- isItemToAnimate({ rules, type, index, displayIndex }: ItemContext<P, M, L>, animation: Animation<CreateItem<P, M, L>>): boolean;
13
+ isItemToAnimate(context: ItemContext<P, M, L>, animation: Animation<CreateItem<P, M, L>>): boolean;
14
14
  protected getKeyframesFromOrigin(origin: string, _animation: Animation<ItemMove<P, M, L>>, _context: ItemContext<P, M, L>): import("@emotion/serialize").Keyframes;
15
15
  }