@gamepark/react-game 6.8.3 → 6.9.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.
@@ -30,14 +30,15 @@ var hooks_1 = require("../../../hooks");
30
30
  var MaterialRulesDialogContent = function (_a) {
31
31
  var rulesDisplay = _a.rulesDisplay;
32
32
  var play = (0, hooks_1.usePlay)();
33
+ var context = (0, hooks_1.useMaterialContext)();
33
34
  var description = (0, hooks_1.useMaterialDescription)(rulesDisplay.itemType);
34
35
  if (!description)
35
36
  return null;
36
37
  var item = rulesDisplay.item;
37
- var _b = description.getSize(item.id), width = _b.width, height = _b.height;
38
+ var _b = description.getSize(item.id, context), width = _b.width, height = _b.height;
38
39
  return (0, jsx_runtime_1.jsxs)("div", __assign({ css: flex }, { children: [(0, jsx_runtime_1.jsx)(material_1.MaterialComponent, { type: rulesDisplay.itemType, itemId: item.id, css: [
39
40
  noShrink, (0, css_1.fontSizeCss)(Math.min(75 / height, 75 / width, 10)),
40
- (0, material_1.isFlatMaterialDescription)(description) && description.isHidden(item) && (0, css_1.transformCss)('rotateY(180deg)')
41
+ (0, material_1.isFlatMaterialDescription)(description) && description.isHidden(item, context) && (0, css_1.transformCss)('rotateY(180deg)')
41
42
  ] }), (0, jsx_runtime_1.jsx)(react_custom_scrollbars_2_1.default, __assign({ autoHeight: true, css: scrollableContainer }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ css: rulesStyle }, { children: (0, jsx_runtime_1.jsx)(description.rules, __assign({}, rulesDisplay, { closeDialog: function () { return play(rules_api_1.closeRulesDisplay, { local: true }); } })) })) }))] }));
42
43
  };
43
44
  exports.MaterialRulesDialogContent = MaterialRulesDialogContent;
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialRulesDialogContent.js","sourceRoot":"","sources":["../../../../src/components/dialogs/RulesDialog/MaterialRulesDialogContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAA6E;AAC7E,wCAAoC;AACpC,wFAAkD;AAClD,2CAA6E;AAC7E,oCAAwD;AACxD,wCAAgE;AAMzD,IAAM,0BAA0B,GAAG,UACxC,EAA0D;QAAxD,YAAY,kBAAA;IAEd,IAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,IAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IACjE,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;IACxB,IAAA,KAAoB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAA9C,KAAK,WAAA,EAAE,MAAM,YAAiC,CAAA;IACtD,OAAO,0CAAK,GAAG,EAAE,IAAI,iBACnB,uBAAC,4BAAiB,IAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;oBACpE,QAAQ,EAAE,IAAA,iBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC5D,IAAA,oCAAyB,EAAC,WAAW,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAY,EAAC,iBAAiB,CAAC;iBACxG,GAAG,EACJ,uBAAC,mCAAU,aAAC,UAAU,QAAC,GAAG,EAAE,mBAAmB,gBAC7C,yCAAK,GAAG,EAAE,UAAU,gBAClB,uBAAC,WAAW,CAAC,KAAK,eAAK,YAAY,IAAE,WAAW,EAAE,cAAM,OAAA,IAAI,CAAC,6BAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAxC,CAAwC,IAAG,IAC/F,IACK,KACT,CAAA;AACR,CAAC,CAAA;AAnBY,QAAA,0BAA0B,8BAmBtC;AAED,IAAM,IAAI,OAAG,WAAG,gKAAA,4FAKf,IAAA,CAAA;AAED,IAAM,QAAQ,OAAG,WAAG,2FAAA,uBAEnB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,2NAAA,uJAYrB,IAAA,CAAA;AAED,IAAM,mBAAmB,OAAG,WAAG,gZAAA,4UAe9B,IAAA,CAAA"}
1
+ {"version":3,"file":"MaterialRulesDialogContent.js","sourceRoot":"","sources":["../../../../src/components/dialogs/RulesDialog/MaterialRulesDialogContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAA6E;AAC7E,wCAAoC;AACpC,wFAAkD;AAClD,2CAA6E;AAC7E,oCAAwD;AACxD,wCAAoF;AAM7E,IAAM,0BAA0B,GAAG,UACxC,EAA0D;QAAxD,YAAY,kBAAA;IAEd,IAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAW,CAAA;IAC7C,IAAM,WAAW,GAAG,IAAA,8BAAsB,EAAU,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC1E,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;IACxB,IAAA,KAAoB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAvD,KAAK,WAAA,EAAE,MAAM,YAA0C,CAAA;IAC/D,OAAO,0CAAK,GAAG,EAAE,IAAI,iBACnB,uBAAC,4BAAiB,IAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;oBACpE,QAAQ,EAAE,IAAA,iBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC5D,IAAA,oCAAyB,EAAC,WAAW,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAA,kBAAY,EAAC,iBAAiB,CAAC;iBACjH,GAAG,EACJ,uBAAC,mCAAU,aAAC,UAAU,QAAC,GAAG,EAAE,mBAAmB,gBAC7C,yCAAK,GAAG,EAAE,UAAU,gBAClB,uBAAC,WAAW,CAAC,KAAK,eAAK,YAAY,IAAE,WAAW,EAAE,cAAM,OAAA,IAAI,CAAC,6BAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAxC,CAAwC,IAAG,IAC/F,IACK,KACT,CAAA;AACR,CAAC,CAAA;AApBY,QAAA,0BAA0B,8BAoBtC;AAED,IAAM,IAAI,OAAG,WAAG,gKAAA,4FAKf,IAAA,CAAA;AAED,IAAM,QAAQ,OAAG,WAAG,2FAAA,uBAEnB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,2NAAA,uJAYrB,IAAA,CAAA;AAED,IAAM,mBAAmB,OAAG,WAAG,gZAAA,4UAe9B,IAAA,CAAA"}
@@ -2,6 +2,7 @@
2
2
  import { HTMLAttributes } from 'react';
3
3
  import { ComponentCommonProps, ComponentSize, MaterialDescription } from '../MaterialDescription';
4
4
  import { MaterialItem } from '@gamepark/rules-api';
5
+ import { MaterialContext } from '../../../locators';
5
6
  export type FlatMaterialProps = ComponentSize & ComponentCommonProps & {
6
7
  image?: string;
7
8
  back?: {
@@ -19,17 +20,17 @@ export declare const FlatMaterial: import("react").ForwardRefExoticComponent<Com
19
20
  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
21
  image?: string;
21
22
  images?: Record<ItemId extends keyof any ? ItemId : never, string>;
22
- getImage(itemId: ItemId): string | undefined;
23
+ getImage(itemId: ItemId, context: MaterialContext<P, M, L>): string | undefined;
23
24
  backImage?: string;
24
25
  backImages?: Record<ItemId extends keyof any ? ItemId : never, string>;
25
- getBackImage(itemId: ItemId): string | undefined;
26
+ getBackImage(itemId: ItemId, context: MaterialContext<P, M, L>): string | undefined;
26
27
  borderRadius?: number;
27
- getBorderRadius(_itemId: ItemId): number | undefined;
28
- getFlatMaterialProps(itemId: ItemId): FlatMaterialProps;
28
+ getBorderRadius(_itemId: ItemId, _context: MaterialContext<P, M, L>): number | undefined;
29
+ getFlatMaterialProps(itemId: ItemId, context: MaterialContext<P, M, L>): FlatMaterialProps;
29
30
  getImages(): string[];
30
- protected getFrontId(itemId: ItemId): any;
31
- protected getBackId(itemId: ItemId): any;
31
+ protected getFrontId(itemId: ItemId, _context: MaterialContext<P, M, L>): any;
32
+ protected getBackId(itemId: ItemId, _context: MaterialContext<P, M, L>): any;
32
33
  protected hasBackFace(): boolean;
33
- isHidden(item: Partial<MaterialItem<P, L>>): boolean;
34
+ isHidden(item: Partial<MaterialItem<P, L>>, context: MaterialContext<P, M, L>): boolean;
34
35
  }
35
36
  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>;
@@ -72,19 +72,19 @@ var FlatMaterialDescription = /** @class */ (function (_super) {
72
72
  function FlatMaterialDescription() {
73
73
  return _super !== null && _super.apply(this, arguments) || this;
74
74
  }
75
- FlatMaterialDescription.prototype.getImage = function (itemId) {
75
+ FlatMaterialDescription.prototype.getImage = function (itemId, context) {
76
76
  var _a, _b;
77
- return (_b = (_a = this.images) === null || _a === void 0 ? void 0 : _a[this.getFrontId(itemId)]) !== null && _b !== void 0 ? _b : this.image;
77
+ return (_b = (_a = this.images) === null || _a === void 0 ? void 0 : _a[this.getFrontId(itemId, context)]) !== null && _b !== void 0 ? _b : this.image;
78
78
  };
79
- FlatMaterialDescription.prototype.getBackImage = function (itemId) {
79
+ FlatMaterialDescription.prototype.getBackImage = function (itemId, context) {
80
80
  var _a, _b;
81
- return (_b = (_a = this.backImages) === null || _a === void 0 ? void 0 : _a[this.getBackId(itemId)]) !== null && _b !== void 0 ? _b : this.backImage;
81
+ return (_b = (_a = this.backImages) === null || _a === void 0 ? void 0 : _a[this.getBackId(itemId, context)]) !== null && _b !== void 0 ? _b : this.backImage;
82
82
  };
83
- FlatMaterialDescription.prototype.getBorderRadius = function (_itemId) {
83
+ FlatMaterialDescription.prototype.getBorderRadius = function (_itemId, _context) {
84
84
  return this.borderRadius;
85
85
  };
86
- FlatMaterialDescription.prototype.getFlatMaterialProps = function (itemId) {
87
- return __assign(__assign({}, this.getSize(itemId)), { image: this.getImage(itemId), back: this.backImage || this.backImages ? { image: this.getBackImage(itemId) } : undefined, borderRadius: this.getBorderRadius(itemId) });
86
+ FlatMaterialDescription.prototype.getFlatMaterialProps = function (itemId, context) {
87
+ return __assign(__assign({}, this.getSize(itemId, context)), { image: this.getImage(itemId, context), back: this.backImage || this.backImages ? { image: this.getBackImage(itemId, context) } : undefined, borderRadius: this.getBorderRadius(itemId, context) });
88
88
  };
89
89
  FlatMaterialDescription.prototype.getImages = function () {
90
90
  var images = [];
@@ -98,17 +98,17 @@ var FlatMaterialDescription = /** @class */ (function (_super) {
98
98
  images.push.apply(images, Object.values(this.backImages));
99
99
  return images;
100
100
  };
101
- FlatMaterialDescription.prototype.getFrontId = function (itemId) {
101
+ FlatMaterialDescription.prototype.getFrontId = function (itemId, _context) {
102
102
  return typeof itemId === 'object' ? itemId.front : itemId;
103
103
  };
104
- FlatMaterialDescription.prototype.getBackId = function (itemId) {
104
+ FlatMaterialDescription.prototype.getBackId = function (itemId, _context) {
105
105
  return typeof itemId === 'object' ? itemId.back : itemId;
106
106
  };
107
107
  FlatMaterialDescription.prototype.hasBackFace = function () {
108
108
  return !!this.backImage || !!this.backImages;
109
109
  };
110
- FlatMaterialDescription.prototype.isHidden = function (item) {
111
- return this.hasBackFace() && this.getFrontId(item.id) === undefined;
110
+ FlatMaterialDescription.prototype.isHidden = function (item, context) {
111
+ return this.hasBackFace() && this.getFrontId(item.id, context) === undefined;
112
112
  };
113
113
  return FlatMaterialDescription;
114
114
  }(MaterialDescription_1.MaterialDescription));
@@ -1 +1 @@
1
- {"version":3,"file":"FlatMaterial.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/FlatMaterial.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlatMaterial.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/FlatMaterial.tsx"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ exports.MaterialComponent = (0, react_1.forwardRef)(function (_a, ref) {
34
34
  var type = _a.type, itemId = _a.itemId, onShortClick = _a.onShortClick, _b = _a.onLongClick, onLongClick = _b === void 0 ? onShortClick : _b, props = __rest(_a, ["type", "itemId", "onShortClick", "onLongClick"]);
35
35
  var game = (0, hooks_1.useGame)();
36
36
  var description = (0, hooks_1.useMaterialDescription)(type);
37
+ var context = (0, hooks_1.useMaterialContext)();
37
38
  var listeners = (0, use_long_press_1.useLongPress)(function () { return onLongClick && onLongClick(); }, {
38
39
  detect: use_long_press_1.LongPressEventType.Pointer,
39
40
  cancelOnMovement: 5,
@@ -49,7 +50,7 @@ exports.MaterialComponent = (0, react_1.forwardRef)(function (_a, ref) {
49
50
  if (!description || !game)
50
51
  return null;
51
52
  if ((0, FlatMaterial_1.isFlatMaterialDescription)(description)) {
52
- return ((0, jsx_runtime_1.jsx)(FlatMaterial_1.FlatMaterial, __assign({ ref: ref }, description.getFlatMaterialProps(itemId), props, (0, utilities_1.combineEventListeners)(listeners, props))));
53
+ return ((0, jsx_runtime_1.jsx)(FlatMaterial_1.FlatMaterial, __assign({ ref: ref }, description.getFlatMaterialProps(itemId, context), props, (0, utilities_1.combineEventListeners)(listeners, props))));
53
54
  }
54
55
  return null;
55
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialComponent.js","sourceRoot":"","sources":["../../../src/components/material/MaterialComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAA8D;AAE9D,iDAA0F;AAC1F,6CAAuD;AACvD,qCAA6D;AAC7D,+CAAwE;AAU3D,QAAA,iBAAiB,GAAG,IAAA,kBAAU,EAAyC,UAClF,EAAoE,EAAE,GAAG;IAAvE,IAAA,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,mBAA0B,EAA1B,WAAW,mBAAG,YAAY,KAAA,EAAK,KAAK,cAAlE,iDAAoE,CAAF;IAElE,IAAM,IAAI,GAAG,IAAA,eAAO,GAAgB,CAAA;IACpC,IAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAA;IAEhD,IAAM,SAAS,GAAG,IAAA,6BAAY,EAAC,cAAM,OAAA,WAAW,IAAI,WAAW,EAAE,EAA5B,CAA4B,EAAE;QACjE,MAAM,EAAE,mCAAkB,CAAC,OAAO;QAClC,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,UAAC,CAAC,EAAE,EAAU;gBAAR,MAAM,YAAA;YACpB,IAAI,MAAM,KAAK,wCAAuB,CAAC,kBAAkB,EAAE;gBACzD,UAAU,CAAC,cAAM,OAAA,YAAY,IAAI,YAAY,EAAE,EAA9B,CAA8B,CAAC,CAAA;aACjD;QACH,CAAC;QACD,YAAY,EAAE,UAAA,KAAK,IAAI,OAAA,CAAE,KAAoB,CAAC,MAAM,EAA7B,CAA6B,CAAC,qCAAqC;KAC3F,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtC,IAAI,IAAA,wCAAyB,EAAC,WAAW,CAAC,EAAE;QAC1C,OAAO,CACL,uBAAC,2BAAY,aAAC,GAAG,EAAE,GAAG,IAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAM,KAAK,EAAM,IAAA,iCAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,EAAG,CAChI,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"MaterialComponent.js","sourceRoot":"","sources":["../../../src/components/material/MaterialComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAA8D;AAE9D,iDAA0F;AAC1F,6CAAuD;AACvD,qCAAiF;AACjF,+CAAwE;AAU3D,QAAA,iBAAiB,GAAG,IAAA,kBAAU,EAAyC,UAClF,EAAoE,EAAE,GAAG;IAAvE,IAAA,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,mBAA0B,EAA1B,WAAW,mBAAG,YAAY,KAAA,EAAK,KAAK,cAAlE,iDAAoE,CAAF;IAElE,IAAM,IAAI,GAAG,IAAA,eAAO,GAAgB,CAAA;IACpC,IAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAA;IAChD,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAA;IAEpC,IAAM,SAAS,GAAG,IAAA,6BAAY,EAAC,cAAM,OAAA,WAAW,IAAI,WAAW,EAAE,EAA5B,CAA4B,EAAE;QACjE,MAAM,EAAE,mCAAkB,CAAC,OAAO;QAClC,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,UAAC,CAAC,EAAE,EAAU;gBAAR,MAAM,YAAA;YACpB,IAAI,MAAM,KAAK,wCAAuB,CAAC,kBAAkB,EAAE;gBACzD,UAAU,CAAC,cAAM,OAAA,YAAY,IAAI,YAAY,EAAE,EAA9B,CAA8B,CAAC,CAAA;aACjD;QACH,CAAC;QACD,YAAY,EAAE,UAAA,KAAK,IAAI,OAAA,CAAE,KAAoB,CAAC,MAAM,EAA7B,CAA6B,CAAC,qCAAqC;KAC3F,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtC,IAAI,IAAA,wCAAyB,EAAC,WAAW,CAAC,EAAE;QAC1C,OAAO,CACL,uBAAC,2BAAY,aAAC,GAAG,EAAE,GAAG,IAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAM,KAAK,EAAM,IAAA,iCAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,EAAG,CACzI,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA"}
@@ -27,7 +27,7 @@ export declare abstract class MaterialDescription<P extends number = number, M e
27
27
  height?: number;
28
28
  width?: number;
29
29
  ratio?: number;
30
- getSize(_itemId: ItemId): ComponentSize;
30
+ getSize(_itemId: ItemId, _context: MaterialContext<P, M, L>): ComponentSize;
31
31
  abstract getImages(): string[];
32
32
  thickness: number;
33
33
  getThickness(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
@@ -26,7 +26,7 @@ var MaterialDescription = /** @class */ (function () {
26
26
  var type = _a.type, index = _a.index;
27
27
  return ((0, rules_api_1.isMoveItem)(move) || (0, rules_api_1.isDeleteItem)(move)) && move.itemType === type && move.itemIndex === index;
28
28
  };
29
- MaterialDescription.prototype.getSize = function (_itemId) {
29
+ MaterialDescription.prototype.getSize = function (_itemId, _context) {
30
30
  if (this.width && this.height)
31
31
  return { width: this.width, height: this.height };
32
32
  if (this.ratio && this.width)
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MaterialDescription.ts"],"names":[],"mappings":";;;AAAA,iDAA0H;AAkB1H;IAAA;QAIE,gBAAW,GAAyB,EAAE,CAAA;QAatC,cAAS,GAAqB,EAAE,CAAA;QA8BhC,cAAS,GAAG,IAAI,CAAA;IAKlB,CAAC;IA9CC,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;IAID,8CAAgB,GAAhB,UAAiB,KAAyB,EAAE,QAAkC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAKD,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,qCAAO,GAAP,UAAQ,IAA2B,EAAE,EAAqC;YAAnC,IAAI,UAAA,EAAE,KAAK,WAAA;QAChD,OAAO,CACL,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC;eACvD,CAAC,IAAA,wBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;IACzD,CAAC;IAED,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,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;IACvG,CAAC;IAMD,qCAAO,GAAP,UAAQ,OAAe;QACrB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QAChF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QAC9F,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;IACpG,CAAC;IAMD,0CAAY,GAAZ,UAAa,KAAyB,EAAE,QAA8B;QACpE,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IACH,0BAAC;AAAD,CAAC,AApDD,IAoDC;AApDqB,kDAAmB"}
1
+ {"version":3,"file":"MaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MaterialDescription.ts"],"names":[],"mappings":";;;AAAA,iDAA0H;AAkB1H;IAAA;QAIE,gBAAW,GAAyB,EAAE,CAAA;QAatC,cAAS,GAAqB,EAAE,CAAA;QA8BhC,cAAS,GAAG,IAAI,CAAA;IAKlB,CAAC;IA9CC,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;IAID,8CAAgB,GAAhB,UAAiB,KAAyB,EAAE,QAAkC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAKD,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,qCAAO,GAAP,UAAQ,IAA2B,EAAE,EAAqC;YAAnC,IAAI,UAAA,EAAE,KAAK,WAAA;QAChD,OAAO,CACL,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC;eACvD,CAAC,IAAA,wBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;IACzD,CAAC;IAED,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,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;IACvG,CAAC;IAMD,qCAAO,GAAP,UAAQ,OAAe,EAAE,QAAkC;QACzD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QAChF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QAC9F,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;IACpG,CAAC;IAMD,0CAAY,GAAZ,UAAa,KAAyB,EAAE,QAA8B;QACpE,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IACH,0BAAC;AAAD,CAAC,AApDD,IAoDC;AApDqB,kDAAmB"}
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { ItemContext, LocationRulesProps, MaterialContext } from '../../../locators';
2
+ import { ItemContext, LocationContext, LocationRulesProps, MaterialContext } from '../../../locators';
3
3
  import { ComponentSize } from '../MaterialDescription';
4
4
  import { Coordinates, Location, MaterialMove } from '@gamepark/rules-api';
5
5
  import { Interpolation, Theme } from '@emotion/react';
@@ -21,10 +21,10 @@ export declare abstract class LocationDescription<P extends number = number, M e
21
21
  borderRadius?: number;
22
22
  getBorderRadius(_location: Location<P, L>, _context: MaterialContext<P, M, L>): number | undefined;
23
23
  extraCss?: Interpolation<Theme>;
24
- getExtraCss(_location: Location<P, L>, _context: MaterialContext<P, M, L>): Interpolation<Theme>;
24
+ getExtraCss(_location: Location<P, L>, _context: LocationContext<P, M, L>): Interpolation<Theme>;
25
25
  coordinates?: Coordinates;
26
- getCoordinates(_location: Location<P, L>, _context: MaterialContext<P, M, L>): Coordinates | undefined;
27
- getRotation?(location: Location<P, L>, context: MaterialContext<P, M, L>): number;
26
+ getCoordinates(_location: Location<P, L>, _context: LocationContext<P, M, L>): Coordinates | undefined;
27
+ getRotation?(location: Location<P, L>, context: LocationContext<P, M, L>): number;
28
28
  alwaysVisible?: boolean;
29
29
  isAlwaysVisible(location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
30
30
  couldDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
@@ -66,6 +66,7 @@ exports.SimpleDropArea = (0, react_2.forwardRef)(function (_a, ref) {
66
66
  var draggedItem = (0, DraggableMaterial_1.dataIsDisplayedItem)(active === null || active === void 0 ? void 0 : active.data.current) ? active === null || active === void 0 ? void 0 : active.data.current : undefined;
67
67
  var draggedItemContext = (0, react_2.useMemo)(function () { return draggedItem ? __assign(__assign({}, context), draggedItem) : undefined; }, [draggedItem, context]);
68
68
  var canDrop = (0, react_2.useMemo)(function () { return !!draggedItemContext && !!description && !!material && legalMoves.filter(function (move) { var _a; return ((_a = material[draggedItemContext.type]) === null || _a === void 0 ? void 0 : _a.canDrag(move, draggedItemContext)) && description.canDrop(move, location, draggedItemContext); }).length === 1; }, [draggedItemContext, legalMoves, rules]);
69
+ var locationContext = (0, react_2.useMemo)(function () { return (__assign(__assign({}, context), { canDrop: canDrop })); }, [context, canDrop]);
69
70
  var animations = (0, hooks_1.useAnimations)(function (animation) { return animation.action.playerId === player; });
70
71
  var _d = (0, react_2.useState)(false), clicking = _d[0], setClicking = _d[1];
71
72
  var listeners = (0, use_long_press_1.useLongPress)(function () {
@@ -102,13 +103,13 @@ exports.SimpleDropArea = (0, react_2.forwardRef)(function (_a, ref) {
102
103
  var _e = description.getSize(location, context), width = _e.width, height = _e.height;
103
104
  var image = description.getImage(location, context);
104
105
  var borderRadius = description.getBorderRadius(location, context);
105
- var coordinates = description.getCoordinates(location, context);
106
+ var coordinates = description.getCoordinates(location, locationContext);
106
107
  return (0, jsx_runtime_1.jsx)("div", __assign({ ref: (0, react_merge_refs_1.mergeRefs)([ref, setNodeRef]), css: [
107
108
  absolute, (onShortClick || onLongClick) && css_1.pointerCursorCss,
108
109
  locator.parentItemType !== undefined && positionOnParentCss(locator.getPositionOnParent(location, context)),
109
- (0, css_1.transformCss)('translate(-50%, -50%)', coordinates && "translate3d(".concat(coordinates.x, "em, ").concat(coordinates.y, "em, ").concat(coordinates.z, "em)"), description.getRotation && "rotate(".concat(description.getRotation(location, context)).concat(description.rotationUnit, ")")),
110
+ (0, css_1.transformCss)('translate(-50%, -50%)', coordinates && "translate3d(".concat(coordinates.x, "em, ").concat(coordinates.y, "em, ").concat(coordinates.z, "em)"), description.getRotation && "rotate(".concat(description.getRotation(location, locationContext)).concat(description.rotationUnit, ")")),
110
111
  (0, css_1.sizeCss)(width, height), image && (0, css_1.backgroundCss)(image), borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
111
- description.getExtraCss(location, context),
112
+ description.getExtraCss(location, locationContext),
112
113
  !draggedItem && (onShortClick || onLongClick) && hoverHighlight, clicking && clickingAnimation,
113
114
  ((canDrop && !isOver) || (!draggedItem && longClickMoves.length && !animations.length)) && css_1.shineEffect,
114
115
  canDrop && isOver && dropHighlight
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var rules_api_1 = require("@gamepark/rules-api");
5
5
  function wrapRulesWithTutorial(tutorial, Rules) {
6
6
  var getLegalMoves = Rules.prototype.getLegalMoves;
7
7
  var isTurnToPlay = Rules.prototype.isTurnToPlay;
8
+ var canUndo = Rules.prototype.canUndo;
8
9
  Rules.prototype.getTutorialStep = function () {
9
10
  return this.game.tutorialStep !== undefined ? tutorial.steps[this.game.tutorialStep] : undefined;
10
11
  };
@@ -65,6 +66,14 @@ function wrapRulesWithTutorial(tutorial, Rules) {
65
66
  }
66
67
  return consequences;
67
68
  };
69
+ Rules.prototype.canUndo = function (action, consecutiveActions) {
70
+ var game = this.game;
71
+ if (game.tutorialStep !== undefined && game.tutorialStep < tutorial.steps.length && consecutiveActions.length) {
72
+ // It is forbidden to undo any move but the very last one during the tutorial
73
+ return false;
74
+ }
75
+ return canUndo.bind(this)(action, consecutiveActions);
76
+ };
68
77
  }
69
78
  exports.wrapRulesWithTutorial = wrapRulesWithTutorial;
70
79
  //# sourceMappingURL=TutorialRulesWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,9 @@ export type MaterialContext<P extends number = number, M extends number = number
51
51
  player?: P;
52
52
  };
53
53
  export type ItemContext<P extends number = number, M extends number = number, L extends number = number> = MaterialContext<P, M, L> & DisplayedItem<M>;
54
+ export type LocationContext<P extends number = number, M extends number = number, L extends number = number> = MaterialContext<P, M, L> & {
55
+ canDrop?: boolean;
56
+ };
54
57
  export type LocationRulesProps<P extends number = number, L extends number = number> = {
55
58
  location: Location<P, L>;
56
59
  closeDialog: () => void;
@@ -53,7 +53,7 @@ var ItemLocator = /** @class */ (function () {
53
53
  var parentMaterial = this.parentItemType ? context.material[this.parentItemType] : undefined;
54
54
  if (parentMaterial) {
55
55
  var positionOnParent = this.getPositionOnParent(item.location, context);
56
- var _b = parentMaterial.getSize(this.getParentItemId(item.location)), width = _b.width, height = _b.height;
56
+ var _b = parentMaterial.getSize(this.getParentItemId(item.location), context), width = _b.width, height = _b.height;
57
57
  x += width * (positionOnParent.x - 50) / 100;
58
58
  y += height * (positionOnParent.y - 50) / 100;
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ItemLocator.js","sourceRoot":"","sources":["../../src/locators/ItemLocator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemLocator.js","sourceRoot":"","sources":["../../src/locators/ItemLocator.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ItemContext, ItemLocator } from './ItemLocator';
2
2
  import { Coordinates, MaterialItem } from '@gamepark/rules-api';
3
3
  export declare abstract class LineLocator<P extends number = number, M extends number = number, L extends number = number> extends ItemLocator<P, M, L> {
4
4
  getPosition(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Coordinates;
5
+ getDeltaValue(delta?: number, max?: number, count?: number): number;
5
6
  coordinates: Coordinates;
6
7
  getCoordinates(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): Coordinates;
7
8
  delta?: Partial<Coordinates>;
@@ -25,21 +25,27 @@ var LineLocator = /** @class */ (function (_super) {
25
25
  return _this;
26
26
  }
27
27
  LineLocator.prototype.getPosition = function (item, context) {
28
- var _a, _b, _c, _d, _e, _f;
28
+ var _a, _b, _c;
29
29
  var coordinates = this.getCoordinates(item, context);
30
30
  var index = this.getItemIndex(item, context);
31
31
  var delta = this.getDelta(item, context);
32
32
  if (this.getDeltaMax) {
33
33
  var deltaMax = this.getDeltaMax(item, context);
34
34
  var count = this.countItems(item.location, context);
35
- if (deltaMax.x !== undefined)
36
- delta.x = Math.min((_a = delta.x) !== null && _a !== void 0 ? _a : 0, deltaMax.x / count);
37
- if (deltaMax.y !== undefined)
38
- delta.y = Math.min((_b = delta.y) !== null && _b !== void 0 ? _b : 0, deltaMax.y / count);
39
- if (deltaMax.z !== undefined)
40
- delta.z = Math.min((_c = delta.z) !== null && _c !== void 0 ? _c : 0, deltaMax.z / count);
35
+ delta.x = this.getDeltaValue(delta.x, deltaMax.x, count);
36
+ delta.y = this.getDeltaValue(delta.y, deltaMax.y, count);
37
+ delta.z = this.getDeltaValue(delta.z, deltaMax.z, count);
41
38
  }
42
- return { x: coordinates.x + index * ((_d = delta.x) !== null && _d !== void 0 ? _d : 0), y: coordinates.y + index * ((_e = delta.y) !== null && _e !== void 0 ? _e : 0), z: coordinates.z + index * ((_f = delta.z) !== null && _f !== void 0 ? _f : 0) };
39
+ return { x: coordinates.x + index * ((_a = delta.x) !== null && _a !== void 0 ? _a : 0), y: coordinates.y + index * ((_b = delta.y) !== null && _b !== void 0 ? _b : 0), z: coordinates.z + index * ((_c = delta.z) !== null && _c !== void 0 ? _c : 0) };
40
+ };
41
+ LineLocator.prototype.getDeltaValue = function (delta, max, count) {
42
+ if (delta === void 0) { delta = 0; }
43
+ if (count === void 0) { count = 1; }
44
+ if (max !== undefined && max > 0)
45
+ return Math.min(delta, max / count);
46
+ if (max !== undefined && max < 0)
47
+ return Math.max(delta, max / count);
48
+ return delta;
43
49
  };
44
50
  LineLocator.prototype.getCoordinates = function (_item, _context) {
45
51
  return this.coordinates;
@@ -1 +1 @@
1
- {"version":3,"file":"LineLocator.js","sourceRoot":"","sources":["../../src/locators/LineLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAAwD;AAGxD;IAA2H,+BAAoB;IAA/I;QAAA,qEA4BC;QAbC,iBAAW,GAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;;IAajD,CAAC;IA3BC,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAA6B;;QACjE,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtD,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAChD,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;YAClF,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;YAClF,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;SACnF;QACD,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAA;IAC5I,CAAC;IAID,oCAAc,GAAd,UAAe,KAAyB,EAAE,QAA8B;QACtE,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAID,8BAAQ,GAAR,UAAS,KAAyB,EAAE,QAA8B;;QAChE,OAAO,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAA;IACzB,CAAC;IAGH,kBAAC;AAAD,CAAC,AA5BD,CAA2H,yBAAW,GA4BrI;AA5BqB,kCAAW"}
1
+ {"version":3,"file":"LineLocator.js","sourceRoot":"","sources":["../../src/locators/LineLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAAwD;AAGxD;IAA2H,+BAAoB;IAA/I;QAAA,qEAkCC;QAbC,iBAAW,GAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;;IAajD,CAAC;IAjCC,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAA6B;;QACjE,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtD,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAChD,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACrD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;SACzD;QACD,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAA;IAC5I,CAAC;IAED,mCAAa,GAAb,UAAc,KAAiB,EAAE,GAAY,EAAE,KAAiB;QAAlD,sBAAA,EAAA,SAAiB;QAAgB,sBAAA,EAAA,SAAiB;QAC9D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAA;QACrE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAA;QACrE,OAAO,KAAK,CAAA;IACd,CAAC;IAID,oCAAc,GAAd,UAAe,KAAyB,EAAE,QAA8B;QACtE,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAID,8BAAQ,GAAR,UAAS,KAAyB,EAAE,QAA8B;;QAChE,OAAO,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAA;IACzB,CAAC;IAGH,kBAAC;AAAD,CAAC,AAlCD,CAA2H,yBAAW,GAkCrI;AAlCqB,kCAAW"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/react-game",
3
- "version": "6.8.3",
3
+ "version": "6.9.0",
4
4
  "description": "React components & tools to create a Board Game user interface for Game Park",
5
5
  "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
6
6
  "license": "ISC",