@gamepark/react-game 6.5.0 → 6.6.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.
- package/dist/components/Avatar/Avatar.js +1 -8
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.d.ts +1 -0
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +15 -3
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
- package/dist/components/buttons/UndoMovesButton/UndoMovesButton.d.ts +7 -0
- package/dist/components/buttons/UndoMovesButton/UndoMovesButton.js +58 -0
- package/dist/components/buttons/UndoMovesButton/UndoMovesButton.js.map +1 -0
- package/dist/components/buttons/UndoMovesButton/index.d.ts +1 -0
- package/dist/components/buttons/UndoMovesButton/index.js +18 -0
- package/dist/components/buttons/UndoMovesButton/index.js.map +1 -0
- package/dist/components/buttons/index.d.ts +1 -0
- package/dist/components/buttons/index.js +1 -0
- package/dist/components/buttons/index.js.map +1 -1
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +2 -2
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -1
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +1 -1
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -1
- package/dist/components/material/GameTable/GameMaterialDisplay.js +29 -11
- package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
- package/dist/components/material/GameTable/GameTable.js +5 -5
- package/dist/components/material/GameTable/GameTable.js.map +1 -1
- package/dist/components/material/locations/LocationDescription.d.ts +2 -0
- package/dist/components/material/locations/LocationDescription.js +4 -0
- package/dist/components/material/locations/LocationDescription.js.map +1 -1
- package/dist/components/material/locations/SimpleDropArea.d.ts +2 -0
- package/dist/components/material/locations/SimpleDropArea.js +2 -2
- package/dist/components/material/locations/SimpleDropArea.js.map +1 -1
- package/dist/components/menus/menuCss.js +2 -2
- package/dist/components/menus/menuCss.js.map +1 -1
- package/dist/components/tutorial/MaterialTutorial.d.ts +5 -6
- package/dist/components/tutorial/MaterialTutorial.js +10 -4
- package/dist/components/tutorial/MaterialTutorial.js.map +1 -1
- package/dist/components/tutorial/TutorialRulesWrapper.js +10 -0
- package/dist/components/tutorial/TutorialRulesWrapper.js.map +1 -1
- package/dist/hooks/useUndo.d.ts +1 -1
- package/dist/hooks/useUndo.js +23 -6
- package/dist/hooks/useUndo.js.map +1 -1
- package/dist/locators/PileLocator.d.ts +3 -2
- package/dist/locators/PileLocator.js +9 -5
- package/dist/locators/PileLocator.js.map +1 -1
- package/package.json +3 -3
|
@@ -35,23 +35,16 @@ var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
35
35
|
var react_1 = require("@emotion/react");
|
|
36
36
|
var avataaars_1 = __importDefault(require("@gamepark/avataaars"));
|
|
37
37
|
var react_client_1 = require("@gamepark/react-client");
|
|
38
|
-
var GameProvider_1 = require("../GameProvider");
|
|
39
|
-
var react_2 = require("react");
|
|
40
38
|
var ChatSpeechBubble_1 = require("./ChatSpeechBubble");
|
|
41
39
|
var SpeechBubble_1 = require("./SpeechBubble");
|
|
42
40
|
var hooks_1 = require("../../hooks");
|
|
43
|
-
var react_redux_1 = require("react-redux");
|
|
44
|
-
var tutorial_1 = require("../tutorial");
|
|
45
41
|
var Avatar = function (_a) {
|
|
46
42
|
var _b;
|
|
47
43
|
var playerId = _a.playerId, speechBubbleProps = _a.speechBubbleProps, props = __rest(_a, ["playerId", "speechBubbleProps"]);
|
|
48
44
|
var player = (0, hooks_1.usePlayer)(playerId);
|
|
49
|
-
var isTutorial = (0, react_redux_1.useSelector)(function (state) { return state.gameMode === react_client_1.GameMode.TUTORIAL; });
|
|
50
|
-
var tutorial = (0, react_2.useContext)(GameProvider_1.gameContext).tutorial;
|
|
51
|
-
var tutorialAvatar = isTutorial && (0, tutorial_1.isMaterialTutorial)(tutorial) && tutorial.avatars[playerId];
|
|
52
45
|
var me = (0, react_client_1.useMe)();
|
|
53
46
|
var myPlayerId = (0, hooks_1.usePlayerId)();
|
|
54
|
-
var avatar = myPlayerId === playerId ? (_b = me === null || me === void 0 ? void 0 : me.user) === null || _b === void 0 ? void 0 : _b.avatar :
|
|
47
|
+
var avatar = myPlayerId === playerId ? (_b = me === null || me === void 0 ? void 0 : me.user) === null || _b === void 0 ? void 0 : _b.avatar : player === null || player === void 0 ? void 0 : player.avatar;
|
|
55
48
|
var query = new URLSearchParams(window.location.search);
|
|
56
49
|
var gameId = query.get('game');
|
|
57
50
|
return ((0, jsx_runtime_1.jsxs)("div", __assign({ css: style }, props, { children: [(0, jsx_runtime_1.jsx)(avataaars_1.default, __assign({ circle: true }, avatar, { css: avatarCss })), (speechBubbleProps === null || speechBubbleProps === void 0 ? void 0 : speechBubbleProps.children) ?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,kEAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,kEAA0C;AAC1C,uDAA8C;AAE9C,uDAAqD;AACrD,+CAAgE;AAChE,qCAAoD;AAO7C,IAAM,MAAM,GAAG,UAAC,EAAgD;;IAA9C,IAAA,QAAQ,cAAA,EAAE,iBAAiB,uBAAA,EAAK,KAAK,cAAvC,iCAAyC,CAAF;IAC5D,IAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;IAClC,IAAM,EAAE,GAAG,IAAA,oBAAK,GAAE,CAAA;IAClB,IAAM,UAAU,GAAG,IAAA,mBAAW,GAAE,CAAA;IAChC,IAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,MAAM,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;IAC1E,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,CACL,0CAAK,GAAG,EAAE,KAAK,IAAM,KAAK,eACxB,uBAAC,mBAAQ,aAAC,MAAM,UAAK,MAAM,IAAE,GAAG,EAAE,SAAS,IAAG,EAC7C,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAAC,CAAC;gBAC5B,uBAAC,2BAAY,eAAK,iBAAiB,cAAG,iBAAiB,CAAC,QAAQ,IAAgB,CAAC,CAAC;gBAClF,MAAM,IAAI,MAAM,IAAI,uBAAC,mCAAgB,aAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAM,iBAAiB,EAAG,KAE5F,CACP,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,MAAM,UAgBlB;AAED,IAAM,KAAK,OAAG,WAAG,+HAAA,2DAGhB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,4JAAA,wFAMpB,IAAA,CAAA"}
|
|
@@ -39,7 +39,7 @@ var react_i18next_1 = require("react-i18next");
|
|
|
39
39
|
var useIsAnimatingPlayerAction_1 = require("../../material/utils/useIsAnimatingPlayerAction");
|
|
40
40
|
var PlayMoveButton = function (props) {
|
|
41
41
|
var _a;
|
|
42
|
-
var move = props.move, confirmation = props.confirmation, delayed = props.delayed, skipAnimation = props.skipAnimation, local = props.local, onPlay = props.onPlay, rest = __rest(props, ["move", "confirmation", "delayed", "skipAnimation", "local", "onPlay"]);
|
|
42
|
+
var move = props.move, confirmation = props.confirmation, delayed = props.delayed, skipAnimation = props.skipAnimation, local = props.local, onPlay = props.onPlay, auto = props.auto, rest = __rest(props, ["move", "confirmation", "delayed", "skipAnimation", "local", "onPlay", "auto"]);
|
|
43
43
|
var play = (0, hooks_1.usePlay)();
|
|
44
44
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
45
45
|
var _b = (0, react_1.useState)(false), showDialog = _b[0], setShowDialog = _b[1];
|
|
@@ -69,7 +69,18 @@ var PlayMoveButton = function (props) {
|
|
|
69
69
|
doPlay();
|
|
70
70
|
}
|
|
71
71
|
}, [confirmation !== undefined, doPlay, displayedLongEnough]);
|
|
72
|
-
|
|
72
|
+
var _d = (0, react_1.useState)(auto), countdown = _d[0], setCountdown = _d[1];
|
|
73
|
+
(0, react_1.useEffect)(function () {
|
|
74
|
+
if (auto) {
|
|
75
|
+
var interval_1 = setInterval(function () { return setCountdown(function (countdown) { return countdown && countdown > 0 ? countdown - 1 : countdown; }); }, 1000);
|
|
76
|
+
return function () { return clearInterval(interval_1); };
|
|
77
|
+
}
|
|
78
|
+
}, [auto]);
|
|
79
|
+
(0, react_1.useEffect)(function () {
|
|
80
|
+
if (countdown === 0)
|
|
81
|
+
play(move);
|
|
82
|
+
}, [countdown, move]);
|
|
83
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!!confirmation && ((0, jsx_runtime_1.jsx)(dialogs_1.Dialog, __assign({ open: showDialog, onBackdropClick: function () { return setShowDialog(false); }, css: [flex, confirmationDialogCss] }, { children: (0, jsx_runtime_1.jsx)(react_2.ThemeProvider, __assign({ theme: function (theme) { return (__assign(__assign({}, theme), { buttons: (0, css_1.buttonCss)('#002448', '#c2ebf1', '#ade4ec') })); } }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ css: content }, { children: [(0, jsx_runtime_1.jsx)("p", { children: confirmation.text }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: buttons }, { children: [(0, jsx_runtime_1.jsx)(ThemeButton_1.ThemeButton, __assign({ onClick: function () { return setShowDialog(false); } }, rest, { children: (_a = confirmation.cancelText) !== null && _a !== void 0 ? _a : t('Cancel') })), (0, jsx_runtime_1.jsx)(ThemeButton_1.ThemeButton, __assign({ css: moveButton, onClick: doPlay }, rest))] }))] })) })) }), "dialog")), (0, jsx_runtime_1.jsx)(ThemeButton_1.ThemeButton, __assign({ onClick: onClick, disabled: disabled, css: countdown && countdownCss(countdown) }, rest), "button")] }));
|
|
73
84
|
};
|
|
74
85
|
exports.PlayMoveButton = PlayMoveButton;
|
|
75
86
|
var buttons = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-bottom: 0.3em;\n"], ["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-bottom: 0.3em;\n"])));
|
|
@@ -77,5 +88,6 @@ var moveButton = (0, react_2.css)(templateObject_2 || (templateObject_2 = __make
|
|
|
77
88
|
var flex = (0, react_2.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n padding: 3em 1em 3em 3em;\n max-width: 90vw;\n max-height: 90vh;\n"], ["\n display: flex;\n padding: 3em 1em 3em 3em;\n max-width: 90vw;\n max-height: 90vh;\n"])));
|
|
78
89
|
var content = (0, react_2.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin: 0 1em;\n font-size: 3em;\n display: flex;\n flex-direction: column;\n"], ["\n margin: 0 1em;\n font-size: 3em;\n display: flex;\n flex-direction: column;\n"])));
|
|
79
90
|
var confirmationDialogCss = (0, react_2.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: relative;\n background-color: #f0fbfc;\n color: #002448;\n padding: 1em;\n border-radius: 1em;\n box-shadow: 0 0 0.2em black;\n font-family: \"Mulish\", sans-serif;\n"], ["\n position: relative;\n background-color: #f0fbfc;\n color: #002448;\n padding: 1em;\n border-radius: 1em;\n box-shadow: 0 0 0.2em black;\n font-family: \"Mulish\", sans-serif;\n"])));
|
|
80
|
-
var
|
|
91
|
+
var countdownCss = function (countdown) { return (0, react_2.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n padding-right: 2em;\n position: relative;\n\n &:after {\n content: '", "';\n position: absolute;\n right: 0.5em;\n font-style: italic;\n }\n"], ["\n padding-right: 2em;\n position: relative;\n\n &:after {\n content: '", "';\n position: absolute;\n right: 0.5em;\n font-style: italic;\n }\n"])), countdown); };
|
|
92
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
81
93
|
//# sourceMappingURL=PlayMoveButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayMoveButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/PlayMoveButton/PlayMoveButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAkF;AAClF,wCAAqD;AACrD,8CAA4C;AAC5C,yCAAsC;AACtC,wCAAmD;AACnD,oCAAwC;AACxC,+CAA8C;AAC9C,8FAA4F;
|
|
1
|
+
{"version":3,"file":"PlayMoveButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/PlayMoveButton/PlayMoveButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** @jsxImportSource @emotion/react */
|
|
2
|
+
import { ButtonHTMLAttributes, FC } from 'react';
|
|
3
|
+
import { PlayOptions } from '../../../hooks';
|
|
4
|
+
export type UndoMovesButtonProps = {
|
|
5
|
+
moves?: number;
|
|
6
|
+
} & PlayOptions & ButtonHTMLAttributes<HTMLButtonElement>;
|
|
7
|
+
export declare const UndoMovesButton: FC<UndoMovesButtonProps>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.UndoMovesButton = void 0;
|
|
26
|
+
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
27
|
+
/** @jsxImportSource @emotion/react */
|
|
28
|
+
var react_1 = require("react");
|
|
29
|
+
var hooks_1 = require("../../../hooks");
|
|
30
|
+
var ThemeButton_1 = require("../ThemeButton");
|
|
31
|
+
var useIsAnimatingPlayerAction_1 = require("../../material/utils/useIsAnimatingPlayerAction");
|
|
32
|
+
var UndoMovesButton = function (props) {
|
|
33
|
+
var _a = props.moves, moves = _a === void 0 ? 1 : _a, rest = __rest(props, ["moves"]);
|
|
34
|
+
var _b = (0, hooks_1.useUndo)(), undo = _b[0], canUndo = _b[1];
|
|
35
|
+
var _c = (0, react_1.useState)(false), displayedLongEnough = _c[0], setDisplayedLongEnough = _c[1];
|
|
36
|
+
var isAnimatingPlayerAction = (0, useIsAnimatingPlayerAction_1.useIsAnimatingPlayerAction)();
|
|
37
|
+
var disabled = (0, react_1.useMemo)(function () { return isAnimatingPlayerAction || !canUndo(); }, [isAnimatingPlayerAction, canUndo]);
|
|
38
|
+
(0, react_1.useEffect)(function () {
|
|
39
|
+
if (disabled) {
|
|
40
|
+
setDisplayedLongEnough(false);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
var timeout_1 = setTimeout(function () { return setDisplayedLongEnough(true); }, 200);
|
|
44
|
+
return function () { return clearTimeout(timeout_1); };
|
|
45
|
+
}
|
|
46
|
+
}, [disabled]);
|
|
47
|
+
var doUndo = (0, react_1.useCallback)(function () {
|
|
48
|
+
undo(moves);
|
|
49
|
+
}, [undo, moves]);
|
|
50
|
+
var onClick = (0, react_1.useCallback)(function () {
|
|
51
|
+
if (displayedLongEnough) {
|
|
52
|
+
doUndo();
|
|
53
|
+
}
|
|
54
|
+
}, [doUndo, displayedLongEnough]);
|
|
55
|
+
return (0, jsx_runtime_1.jsx)(ThemeButton_1.ThemeButton, __assign({ onClick: onClick, disabled: disabled }, rest), "button");
|
|
56
|
+
};
|
|
57
|
+
exports.UndoMovesButton = UndoMovesButton;
|
|
58
|
+
//# sourceMappingURL=UndoMovesButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UndoMovesButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/UndoMovesButton/UndoMovesButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAA2F;AAC3F,wCAAqD;AACrD,8CAA4C;AAC5C,8FAA4F;AAMrF,IAAM,eAAe,GAA6B,UAAC,KAAK;IACrD,IAAA,KAAuB,KAAK,MAAnB,EAAT,KAAK,mBAAG,CAAC,KAAA,EAAK,IAAI,UAAK,KAAK,EAA9B,SAAsB,CAAF,CAAU;IAC9B,IAAA,KAAkB,IAAA,eAAO,GAAE,EAA1B,IAAI,QAAA,EAAE,OAAO,QAAa,CAAA;IAC3B,IAAA,KAAgD,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA9D,mBAAmB,QAAA,EAAE,sBAAsB,QAAmB,CAAA;IACrE,IAAM,uBAAuB,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAC5D,IAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,uBAAuB,IAAI,CAAC,OAAO,EAAE,EAArC,CAAqC,EAAE,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAA;IACzG,IAAA,iBAAS,EAAC;QACR,IAAI,QAAQ,EAAE;YACZ,sBAAsB,CAAC,KAAK,CAAC,CAAA;SAC9B;aAAM;YACL,IAAM,SAAO,GAAG,UAAU,CAAC,cAAM,OAAA,sBAAsB,CAAC,IAAI,CAAC,EAA5B,CAA4B,EAAE,GAAG,CAAC,CAAA;YACnE,OAAO,cAAM,OAAA,YAAY,CAAC,SAAO,CAAC,EAArB,CAAqB,CAAA;SACnC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,IAAM,MAAM,GAAG,IAAA,mBAAW,EAAC;QACzB,IAAI,CAAC,KAAK,CAAC,CAAA;IACb,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAEjB,IAAM,OAAO,GAAG,IAAA,mBAAW,EAAC;QAC1B,IAAI,mBAAmB,EAAE;YACvB,MAAM,EAAE,CAAA;SACT;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAEjC,OAAO,uBAAC,yBAAW,aAAc,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAM,IAAI,GAAvD,QAAQ,CAAkD,CAAA;AACpF,CAAC,CAAA;AA1BY,QAAA,eAAe,mBA0B3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './UndoMovesButton';
|
|
@@ -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("./UndoMovesButton"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/buttons/UndoMovesButton/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC"}
|
|
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./PlayMoveButton"), exports);
|
|
18
|
+
__exportStar(require("./UndoMovesButton"), exports);
|
|
18
19
|
__exportStar(require("./ThemeButton"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/buttons/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,gDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/buttons/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,oDAAiC;AACjC,gDAA6B"}
|
|
@@ -34,7 +34,7 @@ var LocationRulesDialogContent = function (_a) {
|
|
|
34
34
|
var description = locator === null || locator === void 0 ? void 0 : locator.locationDescription;
|
|
35
35
|
if (!(description === null || description === void 0 ? void 0 : description.rules))
|
|
36
36
|
return null;
|
|
37
|
-
var image = description.
|
|
37
|
+
var image = description.getRulesImage(rulesDisplay.location, context);
|
|
38
38
|
var _b = description.getSize(rulesDisplay.location, context), width = _b.width, height = _b.height;
|
|
39
39
|
return (0, jsx_runtime_1.jsxs)("div", __assign({ css: flex }, { children: [!!image &&
|
|
40
40
|
(0, jsx_runtime_1.jsx)("div", { css: [noShrink, (0, css_1.fontSizeCss)(Math.min(75 / height, 75 / width, 10)), backgroundImage(image, height, width)] }), (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: rulesCss }, { children: (0, jsx_runtime_1.jsx)(description.rules, { location: rulesDisplay.location, closeDialog: function () { return play(rules_api_1.closeRulesDisplay, { local: true }); } }) })) }))] }));
|
|
@@ -44,6 +44,6 @@ var flex = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTempla
|
|
|
44
44
|
var noShrink = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex-shrink: 0;\n"], ["\n flex-shrink: 0;\n"])));
|
|
45
45
|
var rulesCss = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin: 0 1em;\n font-size: 3em;\n\n > h2 {\n margin: 0 1em;\n text-align: center;\n }\n\n > p {\n white-space: break-spaces;\n }\n"], ["\n margin: 0 1em;\n font-size: 3em;\n\n > h2 {\n margin: 0 1em;\n text-align: center;\n }\n\n > p {\n white-space: break-spaces;\n }\n"])));
|
|
46
46
|
var backgroundImage = function (image, height, width) { return (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-image: url(", ");\n background-size: cover;\n height: ", "em;\n width: ", "em;\n"], ["\n background-image: url(", ");\n background-size: cover;\n height: ", "em;\n width: ", "em;\n"])), image, height, width); };
|
|
47
|
-
var scrollableContainer = (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n max-height: calc(90vh - 6em) !important;\n\n > div {\n max-height: calc(90vh - 6em
|
|
47
|
+
var scrollableContainer = (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n max-height: calc(90vh - 6em) !important;\n\n > div {\n max-height: calc(90vh - 6em) !important;\n\n // trick to avoid very thin bar on some resolutions with react-custom-scrollbars-2\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n ::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n }\n"], ["\n max-height: calc(90vh - 6em) !important;\n\n > div {\n max-height: calc(90vh - 6em) !important;\n\n // trick to avoid very thin bar on some resolutions with react-custom-scrollbars-2\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n ::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n }\n"])));
|
|
48
48
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
49
49
|
//# sourceMappingURL=LocationRulesDialogContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationRulesDialogContent.js","sourceRoot":"","sources":["../../../../src/components/dialogs/RulesDialog/LocationRulesDialogContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"LocationRulesDialogContent.js","sourceRoot":"","sources":["../../../../src/components/dialogs/RulesDialog/LocationRulesDialogContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,iDAA6E;AAC7E,wCAAoC;AACpC,wFAAkD;AAClD,wCAA4E;AAC5E,oCAA0C;AAMnC,IAAM,0BAA0B,GAAG,UACxC,EAAuD;QAArD,YAAY,kBAAA;IAEd,IAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAA;IACpC,IAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1D,IAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAA;IAChD,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAA;QAAE,OAAO,IAAI,CAAA;IACpC,IAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACjE,IAAA,KAAoB,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAArE,KAAK,WAAA,EAAE,MAAM,YAAwD,CAAA;IAC7E,OAAO,0CAAK,GAAG,EAAE,IAAI,iBAClB,CAAC,CAAC,KAAK;gBACN,gCAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAA,iBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,EAEpH,uBAAC,mCAAU,aAAC,UAAU,QAAC,GAAG,EAAE,mBAAmB,gBAC7C,yCAAK,GAAG,EAAE,QAAQ,gBAChB,uBAAC,WAAW,CAAC,KAAK,IAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAM,OAAA,IAAI,CAAC,6BAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAxC,CAAwC,GAAG,IAC9G,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,QAAQ,OAAG,WAAG,2NAAA,uJAYnB,IAAA,CAAA;AAED,IAAM,eAAe,GAAG,UAAC,KAAa,EAAE,MAAc,EAAE,KAAa,IAAK,WAAA,WAAG,wKAAA,4BACnD,EAAK,2CAEnB,EAAM,gBACP,EAAK,OACf,KAJyB,KAAK,EAEnB,MAAM,EACP,KAAK,GAJ0D,CAKzE,CAAA;AAED,IAAM,mBAAmB,OAAG,WAAG,gZAAA,4UAe9B,IAAA,CAAA"}
|
|
@@ -44,6 +44,6 @@ exports.MaterialRulesDialogContent = MaterialRulesDialogContent;
|
|
|
44
44
|
var flex = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n padding: 3em 1em 3em 3em;\n max-width: 90vw;\n max-height: 90vh;\n"], ["\n display: flex;\n padding: 3em 1em 3em 3em;\n max-width: 90vw;\n max-height: 90vh;\n"])));
|
|
45
45
|
var noShrink = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex-shrink: 0;\n"], ["\n flex-shrink: 0;\n"])));
|
|
46
46
|
var rulesStyle = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin: 0 1em;\n font-size: 3em;\n\n > h2 {\n margin: 0 1em;\n text-align: center;\n }\n\n > p {\n white-space: break-spaces;\n }\n"], ["\n margin: 0 1em;\n font-size: 3em;\n\n > h2 {\n margin: 0 1em;\n text-align: center;\n }\n\n > p {\n white-space: break-spaces;\n }\n"])));
|
|
47
|
-
var scrollableContainer = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n max-height: calc(90vh - 6em) !important;\n\n > div {\n max-height: calc(90vh - 6em
|
|
47
|
+
var scrollableContainer = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n max-height: calc(90vh - 6em) !important;\n\n > div {\n max-height: calc(90vh - 6em) !important;\n\n // trick to avoid very thin bar on some resolutions with react-custom-scrollbars-2\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n ::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n }\n"], ["\n max-height: calc(90vh - 6em) !important;\n\n > div {\n max-height: calc(90vh - 6em) !important;\n\n // trick to avoid very thin bar on some resolutions with react-custom-scrollbars-2\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n ::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n }\n"])));
|
|
48
48
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
49
49
|
//# sourceMappingURL=MaterialRulesDialogContent.js.map
|
|
@@ -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,
|
|
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"}
|
|
@@ -78,11 +78,11 @@ var GameMaterialDisplay = function () {
|
|
|
78
78
|
var locator = locators[item.location.type];
|
|
79
79
|
return __spreadArray([], Array((_a = item.quantity) !== null && _a !== void 0 ? _a : 1), true).map(function (_, displayIndex) {
|
|
80
80
|
var itemContext = __assign(__assign({}, context), { type: type, index: index, displayIndex: displayIndex });
|
|
81
|
-
var innerLocations =
|
|
81
|
+
var innerLocations = getInnerLocations(item, itemContext, tutorialPopup, tutorialFocus);
|
|
82
82
|
var focus = (0, tutorial_1.isStaticItemFocus)(type, item, tutorialFocus);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return (0, jsx_runtime_1.jsx)(locations_1.SimpleDropArea, { location: location,
|
|
83
|
+
return (0, jsx_runtime_1.jsxs)(MaterialComponent_1.MaterialComponent, __assign({ type: type, itemId: item.id, playDown: tutorialPopup && !focus && !innerLocations.some(function (location) { return location.focus; }), ref: focus ? addFocusRef : undefined, css: [css_1.pointerCursorCss, css_1.transformCss.apply(void 0, locator.transformItem(item, itemContext))], onShortClick: function () { return play((0, rules_api_1.displayMaterialRules)(type, item), { local: true }); } }, { children: [(0, jsx_runtime_1.jsx)(locations_1.LocationsMask, { locations: innerLocations.filter(function (l) { return l.focus; }).map(function (l) { return l.location; }) }), innerLocations.map(function (_a) {
|
|
84
|
+
var focus = _a.focus, location = _a.location;
|
|
85
|
+
return (0, jsx_runtime_1.jsx)(locations_1.SimpleDropArea, { location: location, alwaysVisible: focus, ref: focus ? addFocusRef : undefined }, JSON.stringify(location));
|
|
86
86
|
})] }), "".concat(type, "_").concat(index, "_").concat(displayIndex));
|
|
87
87
|
});
|
|
88
88
|
});
|
|
@@ -94,27 +94,45 @@ var GameMaterialDisplay = function () {
|
|
|
94
94
|
return items.map(function (item, index) {
|
|
95
95
|
var _a;
|
|
96
96
|
var locator = locators[item.location.type];
|
|
97
|
-
var description = material[type];
|
|
98
|
-
var focus = (0, tutorial_1.isItemFocus)(type, index, tutorialFocus);
|
|
99
97
|
return __spreadArray([], Array((_a = item.quantity) !== null && _a !== void 0 ? _a : 1), true).map(function (_, displayIndex) {
|
|
100
98
|
var itemContext = __assign(__assign({}, context), { type: type, index: index, displayIndex: displayIndex });
|
|
101
99
|
if (locator.hide(item, itemContext))
|
|
102
100
|
return null;
|
|
103
|
-
var innerLocations =
|
|
104
|
-
var
|
|
105
|
-
return (0, jsx_runtime_1.jsxs)(DraggableMaterial_1.DraggableMaterial, __assign({ type: type, index: index, displayIndex: displayIndex, playDown: tutorialPopup && !focus && !
|
|
106
|
-
|
|
101
|
+
var innerLocations = getInnerLocations(item, itemContext, tutorialPopup, tutorialFocus);
|
|
102
|
+
var focus = (0, tutorial_1.isItemFocus)(type, index, tutorialFocus);
|
|
103
|
+
return (0, jsx_runtime_1.jsxs)(DraggableMaterial_1.DraggableMaterial, __assign({ type: type, index: index, displayIndex: displayIndex, playDown: tutorialPopup && !focus && !innerLocations.some(function (location) { return location.focus; }), ref: focus ? addFocusRef : undefined, onShortClick: function () { return play((0, rules_api_1.displayMaterialRules)(type, item, index), { local: true }); } }, { children: [(0, jsx_runtime_1.jsx)(locations_1.LocationsMask, { locations: innerLocations.filter(function (l) { return l.focus; }).map(function (l) { return l.location; }) }), innerLocations.map(function (_a) {
|
|
104
|
+
var focus = _a.focus, location = _a.location;
|
|
105
|
+
return (0, jsx_runtime_1.jsx)(locations_1.SimpleDropArea, { location: location, alwaysVisible: focus, ref: focus ? addFocusRef : undefined }, JSON.stringify(location));
|
|
107
106
|
})] }), "".concat(type, "_").concat(index, "_").concat(displayIndex));
|
|
108
107
|
});
|
|
109
108
|
});
|
|
110
109
|
}), Object.values(locators).map(function (locator) {
|
|
111
110
|
var _a;
|
|
112
111
|
return (_a = locator.locationDescription) === null || _a === void 0 ? void 0 : _a.getLocations(context).map(function (location) {
|
|
113
|
-
|
|
112
|
+
var isFocus = (0, tutorial_1.isLocationFocus)(location, tutorialFocus);
|
|
113
|
+
return (0, jsx_runtime_1.jsx)(locations_1.SimpleDropArea, { location: location, alwaysVisible: isFocus, ref: isFocus ? addFocusRef : undefined }, JSON.stringify(location));
|
|
114
114
|
});
|
|
115
115
|
}), (0, jsx_runtime_1.jsx)(dialogs_1.MaterialRulesDialog, { open: !!(game === null || game === void 0 ? void 0 : game.rulesDisplay), close: function () { return play(rules_api_1.closeRulesDisplay, { local: true }); } }), (game === null || game === void 0 ? void 0 : game.tutorialStep) !== undefined && (0, jsx_runtime_1.jsx)(MaterialTutorialDisplay_1.MaterialTutorialDisplay, {})] });
|
|
116
116
|
};
|
|
117
117
|
exports.GameMaterialDisplay = GameMaterialDisplay;
|
|
118
|
+
var getInnerLocations = function (item, context, tutorialPopup, tutorialFocus) {
|
|
119
|
+
var locationsFocus = tutorialPopup ? getLocationsFocus(tutorialFocus).filter(function (location) { var _a; return context.locators[location.type].parentItemType === context.type && ((_a = location.parent) !== null && _a !== void 0 ? _a : 0) === context.index; }) : [];
|
|
120
|
+
var result = context.material[context.type].getLocations(item, context).map(function (location) { return ({ location: location }); });
|
|
121
|
+
var _loop_1 = function (locationFocus) {
|
|
122
|
+
var focusableLocation = result.find(function (focusableLocation) { return (0, fast_deep_equal_1.default)(focusableLocation.location, locationFocus); });
|
|
123
|
+
if (focusableLocation) {
|
|
124
|
+
focusableLocation.focus = true;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
result.push({ location: locationFocus, focus: true });
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
for (var _i = 0, locationsFocus_1 = locationsFocus; _i < locationsFocus_1.length; _i++) {
|
|
131
|
+
var locationFocus = locationsFocus_1[_i];
|
|
132
|
+
_loop_1(locationFocus);
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
};
|
|
118
136
|
var getLocationsFocus = function (focus) {
|
|
119
137
|
if (!focus)
|
|
120
138
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameMaterialDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameMaterialDisplay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAAoD;AACpD,wCAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"GameMaterialDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameMaterialDisplay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAAoD;AACpD,wCAAyF;AACzF,iDAAoH;AACpH,0DAAwD;AACxD,oCAA6D;AAC7D,0DAAwD;AACxD,yCAAmD;AACnD,kFAAgF;AAChF,kEAAgE;AAChE,2CAAyJ;AACzJ,0CAA4D;AAC5D,oEAAmC;AACnC,6DAAkD;AAE3C,IAAM,mBAAmB,GAAG;IACjC,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAA;IACpC,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,IAAM,KAAK,GAAG,IAAA,gBAAQ,GAAiB,CAAA;IACvC,IAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IAEtB,IAAM,cAAc,GAAG,IAAA,yBAAiB,GAAE,CAAA;IAClC,IAAA,cAAc,GAAK,IAAA,kCAAW,GAAE,eAAlB,CAAkB;IACxC,IAAM,SAAS,GAAG,IAAA,cAAM,EAAmB,IAAI,GAAG,EAAE,CAAC,CAAA;IACrD,IAAM,YAAY,GAAG,IAAA,iCAAe,GAAE,CAAA;IACtC,IAAM,aAAa,GAAG,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,mBAAmB,CAAA,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAA,CAAA;IAE7E,IAAM,aAAa,GAAG,IAAA,eAAO,EAAC;;QAC5B,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;QAC7B,IAAM,aAAa,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAC,CAAC,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,6DAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACjF,IAAI,CAAC,aAAa,EAAE;YAClB,cAAc,CAAC,IAAI,CAAC,CAAA;SACrB;QACD,OAAO,aAAa,CAAA;IACtB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,IAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,UAAC,GAAuB;QACtD,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QAC9C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAA,iCAAsB,EAAC,aAAa,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;YACpE,IAAM,UAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC9C,UAAU,CAAC,cAAM,OAAA,cAAc,CAAC,UAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,EAAzC,CAAyC,CAAC,CAAA;SAC5D;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,IAAI,CAAC,KAAK;QAAE,OAAO,kDAAK,CAAA;IACxB,IAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA;IAExB,OAAO,6DACJ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,EAAyB;oBAAxB,UAAU,QAAA,EAAE,WAAW,QAAA;gBACrD,IAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACjC,OAAO,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;;oBACzD,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAC5C,OAAO,kBAAI,KAAK,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,YAAY;wBACxD,IAAM,WAAW,yBAAqB,OAAO,KAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,YAAY,cAAA,GAAE,CAAA;wBAC1E,IAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;wBACzF,IAAM,KAAK,GAAG,IAAA,4BAAiB,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;wBAC1D,OAAO,wBAAC,qCAAiB,aAA0C,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EACpE,QAAQ,EAAE,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,KAAK,EAAd,CAAc,CAAC,EACrF,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACpC,GAAG,EAAE,CAAC,sBAAgB,EAAE,kBAAY,eAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAClF,YAAY,EAAE,cAAM,OAAA,IAAI,CAAC,IAAA,gCAAoB,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAvD,CAAuD,iBACnG,uBAAC,yBAAa,IAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,EAAV,CAAU,CAAC,GAAG,EACpF,cAAc,CAAC,GAAG,CAAC,UAAC,EAAmB;wCAAjB,KAAK,WAAA,EAAE,QAAQ,cAAA;oCACpC,OAAA,uBAAC,0BAAc,IAAgC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EACvE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAD/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACU;gCADvD,CACuD,CAAC,MAR7B,UAAG,IAAI,cAAI,KAAK,cAAI,YAAY,CAAE,CAS7C,CAAA;oBACtB,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,EACD,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,EAAmB;oBAAlB,UAAU,QAAA,EAAE,KAAK,QAAA;gBAClE,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAA;gBACvB,IAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACjC,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;;oBAC3B,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAC5C,OAAO,kBAAI,KAAK,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,YAAY;wBACxD,IAAM,WAAW,yBAAqB,OAAO,KAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,YAAY,cAAA,GAAE,CAAA;wBAC1E,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;4BAAE,OAAO,IAAI,CAAA;wBAChD,IAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;wBACzF,IAAM,KAAK,GAAG,IAAA,sBAAW,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;wBACrD,OAAO,wBAAC,qCAAiB,aACC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EACpD,QAAQ,EAAE,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,KAAK,EAAd,CAAc,CAAC,EACrF,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACpC,YAAY,EAAE,cAAM,OAAA,IAAI,CAAC,IAAA,gCAAoB,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAA9D,CAA8D,iBAC1G,uBAAC,yBAAa,IAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,EAAV,CAAU,CAAC,GAAG,EACpF,cAAc,CAAC,GAAG,CAAC,UAAC,EAAmB;wCAAjB,KAAK,WAAA,EAAE,QAAQ,cAAA;oCACpC,OAAA,uBAAC,0BAAc,IAAgC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAAxG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAmF;gCAAhI,CAAgI,CAAC,MAPtG,UAAG,IAAI,cAAI,KAAK,cAAI,YAAY,CAAE,CAQ7C,CAAA;oBACtB,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,EACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,OAAO;;gBAChC,OAAO,MAAA,OAAO,CAAC,mBAAmB,0CAAE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,UAAA,QAAQ;oBACpE,IAAM,OAAO,GAAG,IAAA,0BAAe,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;oBACxD,OAAO,uBAAC,0BAAc,IAAgC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAA5G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAuF,CAAA;gBAC7I,CAAC,CAAC,CAAA;YACJ,CAAC,CACF,EACD,uBAAC,6BAAmB,IAAC,IAAI,EAAE,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAA,EAAE,KAAK,EAAE,cAAM,OAAA,IAAI,CAAC,6BAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAxC,CAAwC,GAAG,EACxG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,MAAK,SAAS,IAAI,uBAAC,iDAAuB,KAAE,IAC9D,CAAA;AACL,CAAC,CAAA;AAxFY,QAAA,mBAAmB,uBAwF/B;AAOD,IAAM,iBAAiB,GAAG,UACxB,IAAkB,EAAE,OAAoB,EAAE,aAAqC,EAAE,aAA+C;IAEhI,IAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAA,QAAQ,YACrF,OAAA,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAA,EAAA,CAC5G,CAAC,CAAC,CAAC,EAAE,CAAA;IACN,IAAM,MAAM,GAAwB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAd,CAAc,CAAC,CAAA;4BACnH,aAAa;QACtB,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAA,iBAAiB,IAAI,OAAA,IAAA,yBAAK,EAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAhD,CAAgD,CAAC,CAAA;QAC5G,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAA;SAC/B;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;SACtD;;IANH,KAA4B,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc;QAArC,IAAM,aAAa,uBAAA;gBAAb,aAAa;KAOvB;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,IAAM,iBAAiB,GAAG,UAAC,KAAuC;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,4BAAiB,CAAC,CAAC,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,QAAQ,EAAhB,CAAgB,CAAC,CAAA;KACxE;IACD,OAAO,IAAA,4BAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -88,7 +88,7 @@ var GameTable = function (_a) {
|
|
|
88
88
|
}, []);
|
|
89
89
|
var hm = margin.left + margin.right;
|
|
90
90
|
var vm = margin.top + margin.bottom;
|
|
91
|
-
var tableFontSize =
|
|
91
|
+
var tableFontSize = 4;
|
|
92
92
|
var minScale = (100 - vm) / tableFontSize / (yMax - yMin);
|
|
93
93
|
var ratio = (xMax - xMin) / (yMax - yMin);
|
|
94
94
|
var ratioWithMargins = ((100 - vm) * ratio + hm) / 100;
|
|
@@ -96,8 +96,8 @@ var GameTable = function (_a) {
|
|
|
96
96
|
position: 'absolute',
|
|
97
97
|
margin: "".concat(margin.top, "em ").concat(margin.right, "em ").concat(margin.bottom, "em ").concat(margin.left, "em"),
|
|
98
98
|
transformStyle: 'preserve-3d',
|
|
99
|
-
height: "min(100% - ".concat(vm, "em, (
|
|
100
|
-
width: "calc(
|
|
99
|
+
height: "min(100% - ".concat(vm, "em, (100dvw - ").concat(hm, "em) / ").concat(ratio, ")"),
|
|
100
|
+
width: "calc(100dvw - ".concat(hm, "em)"),
|
|
101
101
|
overflow: 'visible'
|
|
102
102
|
} }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ css: [tableCss(xMin, xMax, yMin, yMax), (0, css_1.fontSizeCss)(tableFontSize), perspective && (0, css_1.perspectiveCss)(perspective)] }, props, { children: [(0, jsx_runtime_1.jsx)(GameMaterialDisplay_1.GameMaterialDisplay, {}), children] })) })) }))] })));
|
|
103
103
|
};
|
|
@@ -105,7 +105,7 @@ exports.GameTable = GameTable;
|
|
|
105
105
|
function dataIsLocation(data) {
|
|
106
106
|
return typeof (data === null || data === void 0 ? void 0 : data.type) === 'number';
|
|
107
107
|
}
|
|
108
|
-
var globalStyle = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n html {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n\n *, *::before, *::after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit;\n }\n\n body {\n margin: 0;\n font-family: \"Mulish\", sans-serif;\n }\n\n #root {\n position: absolute;\n height:
|
|
108
|
+
var globalStyle = (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n html {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n\n *, *::before, *::after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit;\n }\n\n body {\n margin: 0;\n font-family: \"Mulish\", sans-serif;\n }\n\n #root {\n position: absolute;\n height: 100dvh;\n width: 100dvw;\n -webkit-touch-callout: none;\n user-select: none;\n overflow: hidden;\n background-color: white;\n background-size: cover;\n background-position: center;\n color: #eee;\n }\n"], ["\n html {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n\n *, *::before, *::after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit;\n }\n\n body {\n margin: 0;\n font-family: \"Mulish\", sans-serif;\n }\n\n #root {\n position: absolute;\n height: 100dvh;\n width: 100dvw;\n -webkit-touch-callout: none;\n user-select: none;\n overflow: hidden;\n background-color: white;\n background-size: cover;\n background-position: center;\n color: #eee;\n }\n"])));
|
|
109
109
|
var backgroundImage = function (background, player, backgroundOverlay) {
|
|
110
110
|
if (background === void 0) { background = process.env.PUBLIC_URL + '/cover-1920.jpg'; }
|
|
111
111
|
return [
|
|
@@ -113,7 +113,7 @@ var backgroundImage = function (background, player, backgroundOverlay) {
|
|
|
113
113
|
backgroundOverlay && (0, react_2.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n #root {\n &:before {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: ", ";\n }\n }\n "], ["\n #root {\n &:before {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: ", ";\n }\n }\n "])), backgroundOverlay)
|
|
114
114
|
];
|
|
115
115
|
};
|
|
116
|
-
var globalFontSize = function (ratio) { return (0, react_2.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n body {\n font-size:
|
|
116
|
+
var globalFontSize = function (ratio) { return (0, react_2.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n body {\n font-size: 1dvh;\n @media (max-aspect-ratio: ", "/1) {\n font-size: calc(1dvw / ", ");\n }\n }\n"], ["\n body {\n font-size: 1dvh;\n @media (max-aspect-ratio: ", "/1) {\n font-size: calc(1dvw / ", ");\n }\n }\n"])), ratio, ratio); };
|
|
117
117
|
var tableCss = function (xMin, xMax, yMin, yMax) { return (0, react_2.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n transform-style: preserve-3d;\n width: ", "em;\n height: ", "em;\n\n > * {\n position: absolute;\n top: ", "em;\n left: ", "em;\n transform-style: preserve-3d;\n }\n"], ["\n transform-style: preserve-3d;\n width: ", "em;\n height: ", "em;\n\n > * {\n position: absolute;\n top: ", "em;\n left: ", "em;\n transform-style: preserve-3d;\n }\n"])), xMax - xMin, yMax - yMin, -yMin, -xMin); };
|
|
118
118
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
119
119
|
//# sourceMappingURL=GameTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameTable.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GameTable.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export declare abstract class LocationDescription<P extends number = number, M e
|
|
|
16
16
|
image?: string;
|
|
17
17
|
images?: Record<Id extends keyof any ? Id : never, string>;
|
|
18
18
|
getImage(location: Location<P, L>, _context: MaterialContext<P, M, L>): string | undefined;
|
|
19
|
+
rulesImage?: string;
|
|
20
|
+
getRulesImage(location: Location<P, L>, context: MaterialContext<P, M, L>): string | undefined;
|
|
19
21
|
borderRadius?: number;
|
|
20
22
|
getBorderRadius(_location: Location<P, L>, _context: MaterialContext<P, M, L>): number | undefined;
|
|
21
23
|
extraCss?: Interpolation<Theme>;
|
|
@@ -28,6 +28,10 @@ var LocationDescription = /** @class */ (function () {
|
|
|
28
28
|
var _a, _b;
|
|
29
29
|
return (_b = (_a = this.images) === null || _a === void 0 ? void 0 : _a[location.id]) !== null && _b !== void 0 ? _b : this.image;
|
|
30
30
|
};
|
|
31
|
+
LocationDescription.prototype.getRulesImage = function (location, context) {
|
|
32
|
+
var _a;
|
|
33
|
+
return (_a = this.rulesImage) !== null && _a !== void 0 ? _a : this.getImage(location, context);
|
|
34
|
+
};
|
|
31
35
|
LocationDescription.prototype.getBorderRadius = function (_location, _context) {
|
|
32
36
|
return this.borderRadius;
|
|
33
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/LocationDescription.ts"],"names":[],"mappings":";;;;;;AAGA,iDAAmG;AAEnG,kCAA2C;AAC3C,oEAAmC;AAEnC;IAAA;QAKE,iBAAY,GAAG,KAAK,CAAA;QAGpB,cAAS,GAAqB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"LocationDescription.js","sourceRoot":"","sources":["../../../../src/components/material/locations/LocationDescription.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,11 @@ export type SimpleDropAreaProps<P extends number = number, L extends number = nu
|
|
|
5
5
|
location: Location<P, L>;
|
|
6
6
|
onShortClick?: () => void;
|
|
7
7
|
onLongClick?: () => void;
|
|
8
|
+
alwaysVisible?: boolean;
|
|
8
9
|
} & HTMLAttributes<HTMLDivElement>;
|
|
9
10
|
export declare const SimpleDropArea: import("react").ForwardRefExoticComponent<{
|
|
10
11
|
location: Location<number, number, any>;
|
|
11
12
|
onShortClick?: () => void;
|
|
12
13
|
onLongClick?: () => void;
|
|
14
|
+
alwaysVisible?: boolean;
|
|
13
15
|
} & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -41,7 +41,7 @@ var utilities_1 = require("../../../utilities");
|
|
|
41
41
|
var react_merge_refs_1 = require("react-merge-refs");
|
|
42
42
|
exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
43
43
|
var _b;
|
|
44
|
-
var location = _a.location, onShortClick = _a.onShortClick, onLongClick = _a.onLongClick, props = __rest(_a, ["location", "onShortClick", "onLongClick"]);
|
|
44
|
+
var location = _a.location, onShortClick = _a.onShortClick, onLongClick = _a.onLongClick, alwaysVisible = _a.alwaysVisible, props = __rest(_a, ["location", "onShortClick", "onLongClick", "alwaysVisible"]);
|
|
45
45
|
var context = (0, hooks_1.useMaterialContext)();
|
|
46
46
|
var material = context.material;
|
|
47
47
|
var locator = context.locators[location.type];
|
|
@@ -96,7 +96,7 @@ exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
96
96
|
console.warn('You must provide a LocationDescription to create drop locations with an ItemLocator');
|
|
97
97
|
return null;
|
|
98
98
|
}
|
|
99
|
-
if (!description.isAlwaysVisible(location, context) && !canDrop)
|
|
99
|
+
if (!alwaysVisible && !description.isAlwaysVisible(location, context) && !canDrop)
|
|
100
100
|
return null;
|
|
101
101
|
var _e = description.getSize(location, context), width = _e.width, height = _e.height;
|
|
102
102
|
var image = description.getImage(location, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAiF;AACjF,iDAAgH;AAChH,wCAA+C;AAC/C,iDAA0F;AAC1F,wCAAiH;AACjH,oCAAiG;AACjG,sCAA4C;AAC5C,0DAA0D;AAC1D,gDAA0D;AAC1D,qDAA4C;
|
|
1
|
+
{"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAiF;AACjF,iDAAgH;AAChH,wCAA+C;AAC/C,iDAA0F;AAC1F,wCAAiH;AACjH,oCAAiG;AACjG,sCAA4C;AAC5C,0DAA0D;AAC1D,gDAA0D;AAC1D,qDAA4C;AAS/B,QAAA,cAAc,GAAG,IAAA,kBAAU,EAAsC,UAC5E,EAAgE,EAAE,GAAG;;IAAnE,IAAA,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,WAAW,iBAAA,EAAE,aAAa,mBAAA,EAAK,KAAK,cAA9D,4DAAgE,CAAF;IAE9D,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAA;IACpC,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,IAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,IAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAA;IAChD,IAAM,KAAK,GAAG,IAAA,gBAAQ,GAAiB,CAAA;IACvC,IAAM,IAAI,GAAG,IAAA,eAAO,GAAgB,CAAA;IACpC,IAAM,MAAM,GAAG,IAAA,mBAAW,GAAE,CAAA;IAC5B,IAAM,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAA;IAClC,IAAM,SAAS,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,UAAU,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAA7C,CAA6C,CAAC,EAAxE,CAAwE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1I,IAAM,cAAc,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,UAAU,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAlD,CAAkD,CAAC,EAA7E,CAA6E,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IAEpJ,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/C,WAAW,GAAG,cAAM,OAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAA3F,CAA2F,CAAA;KAChH;IAED,IAAI,CAAC,YAAY,KAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,0CAAE,KAAK,CAAA,EAAE;QACxD,YAAY,GAAG,cAAM,OAAA,IAAI,CAAC,IAAA,gCAAoB,EAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAArD,CAAqD,CAAA;QAC1E,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,cAAM,OAAA,IAAI,CAAC,IAAA,gCAAoB,EAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAArD,CAAqD,CAAA;SAC1E;KACF;IAEK,IAAA,KAAiC,IAAA,mBAAY,EAAC;QAClD,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM;QAC3B,IAAI,EAAE,QAAQ;KACf,CAAC,EAJM,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAIhC,CAAA;IAEF,IAAM,WAAW,GAAG,IAAA,uCAAmB,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhG,IAAM,OAAO,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,UAAA,IAAI;QAC/F,OAAA,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAO,OAAO,GAAK,WAAW,EAAG,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;IAAxH,CAAwH,CACzH,CAAC,MAAM,KAAK,CAAC,EAFc,CAEd,EACZ,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;IAEpC,IAAM,UAAU,GAAG,IAAA,qBAAa,EAAe,UAAA,SAAS,IAAI,OAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,EAApC,CAAoC,CAAC,CAAA;IAE3F,IAAA,KAA0B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAxC,QAAQ,QAAA,EAAE,WAAW,QAAmB,CAAA;IAE/C,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,OAAO,EAAE,UAAA,KAAK;YACZ,WAAW,CAAC,IAAI,CAAC,CAAA;YACjB,IAAI,YAAY,IAAI,WAAW,EAAE;gBAC/B,KAAK,CAAC,eAAe,EAAE,CAAA;aACxB;QACH,CAAC;QACD,QAAQ,EAAE,cAAM,OAAA,WAAW,CAAC,KAAK,CAAC,EAAlB,CAAkB;QAClC,QAAQ,EAAE,UAAC,CAAC,EAAE,EAAU;gBAAR,MAAM,YAAA;YACpB,WAAW,CAAC,KAAK,CAAC,CAAA;YAClB,IAAI,YAAY,IAAI,MAAM,KAAK,wCAAuB,CAAC,kBAAkB,EAAE;gBACzE,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,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAA;QACnG,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAExF,IAAA,KAAoB,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAxD,KAAK,WAAA,EAAE,MAAM,YAA2C,CAAA;IAChE,IAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrD,IAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnE,IAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEjE,OAAO,yCAAK,GAAG,EAAE,IAAA,4BAAS,EAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EACjC,GAAG,EAAE;YACH,QAAQ;YACR,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3G,IAAA,kBAAY,EACV,uBAAuB,EACvB,WAAW,IAAI,sBAAe,WAAW,CAAC,CAAC,iBAAO,WAAW,CAAC,CAAC,iBAAO,WAAW,CAAC,CAAC,QAAK,EACxF,WAAW,CAAC,WAAW,IAAI,iBAAU,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAG,WAAW,CAAC,YAAY,MAAG,CAC9G;YACD,IAAA,aAAO,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,IAAI,IAAA,mBAAa,EAAC,KAAK,CAAC,EAAE,YAAY,IAAI,IAAA,qBAAe,EAAC,YAAY,CAAC;YACpG,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC1C,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,cAAc,EAAE,QAAQ,IAAI,iBAAiB;YAC9F,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,iBAAW;YAC5H,OAAO,IAAI,MAAM,IAAI,aAAa;SACnC,IACG,KAAK,EAAM,IAAA,iCAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,EAAG,CAAA;AACvE,CAAC,CAAC,CAAA;AAEF,IAAM,QAAQ,OAAG,WAAG,+FAAA,2BAEnB,IAAA,CAAA;AAED,IAAM,mBAAmB,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,WAAA,WAAG,uGAAA,YAClD,EAAC,aACF,EAAC,MACT,KAFS,CAAC,EACF,CAAC;AAF+C,CAGxD,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,2IAAA,uEAIzB,IAAA,CAAA;AAED,IAAM,iBAAiB,OAAG,iBAAS,kMAAA,8HAOlC,IAAA,CAAA;AAED,IAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B,IAAM,iBAAiB,OAAG,WAAG,+GAAA,iBACd,EAAiB,GAAI,EAAkB,mBACrD,KADc,iBAAiB,EAAI,kBAAkB,CACrD,CAAA;AAED,IAAM,aAAa,OAAG,WAAG,mHAAA,+CAExB,IAAA,CAAA"}
|
|
@@ -13,7 +13,7 @@ exports.menuFontSize = (0, react_1.css)(templateObject_2 || (templateObject_2 =
|
|
|
13
13
|
exports.floatingButtonCss = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", ";\n ", ";\n position: fixed;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0.2em black;\n z-index: 990;\n"], ["\n ", ";\n ", ";\n position: fixed;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0.2em black;\n z-index: 990;\n"])), exports.menuFontSize, css_1.buttonResetCss);
|
|
14
14
|
exports.menuFloatingButtonCss = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n top: 0;\n right: 0;\n border-bottom-left-radius: 25%;\n"], ["\n ", ";\n top: 0;\n right: 0;\n border-bottom-left-radius: 25%;\n"])), exports.floatingButtonCss);
|
|
15
15
|
exports.menuButtonCss = (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", ";\n display: block;\n font-size: 1.125em;\n padding: 0.2em 0.5em;\n border-radius: 2em;\n border: 0.05em solid #002448;\n margin-bottom: 0.5em;\n color: #002448;\n background: transparent;\n\n &:focus, &:hover {\n background: #c2ebf1;\n }\n\n &:active {\n background: #ade4ec;\n }\n\n &:disabled {\n color: #555555;\n border-color: #555555;\n background: transparent;\n cursor: auto;\n }\n\n > svg {\n margin-right: 0.5em;\n }\n"], ["\n ", ";\n display: block;\n font-size: 1.125em;\n padding: 0.2em 0.5em;\n border-radius: 2em;\n border: 0.05em solid #002448;\n margin-bottom: 0.5em;\n color: #002448;\n background: transparent;\n\n &:focus, &:hover {\n background: #c2ebf1;\n }\n\n &:active {\n background: #ade4ec;\n }\n\n &:disabled {\n color: #555555;\n border-color: #555555;\n background: transparent;\n cursor: auto;\n }\n\n > svg {\n margin-right: 0.5em;\n }\n"])), css_1.buttonResetCss);
|
|
16
|
-
exports.menuBaseCss = (0, react_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n max-height:
|
|
16
|
+
exports.menuBaseCss = (0, react_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n max-height: 100dvh;\n background: #F0FBFC;\n overflow: hidden;\n color: #002448;\n font-family: \"Mulish\", sans-serif;\n box-shadow: 0 0 1em black;\n transition: transform 0.5s;\n will-change: transform;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n z-index: 995;\n"], ["\n position: absolute;\n top: 0;\n max-height: 100dvh;\n background: #F0FBFC;\n overflow: hidden;\n color: #002448;\n font-family: \"Mulish\", sans-serif;\n box-shadow: 0 0 1em black;\n transition: transform 0.5s;\n will-change: transform;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n z-index: 995;\n"])));
|
|
17
17
|
exports.hide = (0, react_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n transform: scale(0);\n"], ["\n transform: scale(0);\n"])));
|
|
18
18
|
var addStylesheetUrl = function (url) {
|
|
19
19
|
var link = document.createElement('link');
|
|
@@ -22,7 +22,7 @@ var addStylesheetUrl = function (url) {
|
|
|
22
22
|
document.getElementsByTagName('head')[0].appendChild(link);
|
|
23
23
|
};
|
|
24
24
|
exports.addStylesheetUrl = addStylesheetUrl;
|
|
25
|
-
exports.backdrop = (0, react_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: fixed;\n width:
|
|
25
|
+
exports.backdrop = (0, react_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: fixed;\n width: 100dvw;\n height: 100dvw;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.5s;\n pointer-events: none;\n z-index: 950;\n"], ["\n position: fixed;\n width: 100dvw;\n height: 100dvw;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.5s;\n pointer-events: none;\n z-index: 950;\n"])));
|
|
26
26
|
exports.displayBackdrop = (0, react_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n opacity: 1;\n pointer-events: auto;\n"], ["\n opacity: 1;\n pointer-events: auto;\n"])));
|
|
27
27
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
|
|
28
28
|
//# sourceMappingURL=menuCss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuCss.js","sourceRoot":"","sources":["../../../src/components/menus/menuCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AACpC,sCAA6C;AAC7C,iCAA0C;AAE7B,QAAA,aAAa,OAAG,WAAG,4JAAA,MAC5B,EAAgB,gFASnB,KATG,0BAAgB,EASnB;AAEY,QAAA,YAAY,OAAG,WAAG,sKAAA,kGAK9B,KAAA;AAEY,QAAA,iBAAiB,OAAG,WAAG,oPAAA,MAChC,EAAY,OACZ,EAAc,+JAQjB,KATG,oBAAY,EACZ,oBAAc,EAQjB;AAEY,QAAA,qBAAqB,OAAG,WAAG,4IAAA,MACpC,EAAiB,gEAIpB,KAJG,yBAAiB,EAIpB;AAEY,QAAA,aAAa,OAAG,WAAG,+hBAAA,MAC5B,EAAc,mdA4BjB,KA5BG,oBAAc,EA4BjB;AAEY,QAAA,WAAW,OAAG,WAAG,
|
|
1
|
+
{"version":3,"file":"menuCss.js","sourceRoot":"","sources":["../../../src/components/menus/menuCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AACpC,sCAA6C;AAC7C,iCAA0C;AAE7B,QAAA,aAAa,OAAG,WAAG,4JAAA,MAC5B,EAAgB,gFASnB,KATG,0BAAgB,EASnB;AAEY,QAAA,YAAY,OAAG,WAAG,sKAAA,kGAK9B,KAAA;AAEY,QAAA,iBAAiB,OAAG,WAAG,oPAAA,MAChC,EAAY,OACZ,EAAc,+JAQjB,KATG,oBAAY,EACZ,oBAAc,EAQjB;AAEY,QAAA,qBAAqB,OAAG,WAAG,4IAAA,MACpC,EAAiB,gEAIpB,KAJG,yBAAiB,EAIpB;AAEY,QAAA,aAAa,OAAG,WAAG,+hBAAA,MAC5B,EAAc,mdA4BjB,KA5BG,oBAAc,EA4BjB;AAEY,QAAA,WAAW,OAAG,WAAG,yZAAA,qVAe7B,KAAA;AAEY,QAAA,IAAI,OAAG,WAAG,gGAAA,4BAEtB,KAAA;AAEM,IAAM,gBAAgB,GAAG,UAAC,GAAW;IAC1C,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAA;IACvB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACf,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC,CAAA;AALY,QAAA,gBAAgB,oBAK5B;AAEY,QAAA,QAAQ,OAAG,WAAG,0PAAA,sLAS1B,KAAA;AAEY,QAAA,eAAe,OAAG,WAAG,gHAAA,4CAGjC,KAAA"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { TutorialDescription } from '@gamepark/react-client';
|
|
2
|
-
import { Location, LocationBuilder, Material, MaterialGame, MaterialGameSetup, MaterialItem, MaterialMove, XYCoordinates } from '@gamepark/rules-api';
|
|
1
|
+
import { Player, TutorialDescription } from '@gamepark/react-client';
|
|
2
|
+
import { Location, LocationBuilder, Material, MaterialGame, MaterialGameSetup, MaterialItem, MaterialMove, MaterialRules, XYCoordinates } from '@gamepark/rules-api';
|
|
3
3
|
import { TFunction } from 'i18next';
|
|
4
4
|
import { ReactNode } from 'react';
|
|
5
|
-
import { AvatarProps } from '@gamepark/avataaars';
|
|
6
5
|
export declare abstract class MaterialTutorial<P extends number = number, M extends number = number, L extends number = number> implements TutorialDescription<MaterialGame<P, M, L>, MaterialMove<P, M, L>> {
|
|
7
6
|
abstract options: any;
|
|
8
7
|
abstract setup: MaterialGameSetup<P, M, L>;
|
|
9
8
|
abstract steps: TutorialStep<P, M, L>[];
|
|
10
|
-
|
|
9
|
+
abstract players: Player<P>[];
|
|
11
10
|
material(game: MaterialGame<P, M, L>, type: M): Material<P, M, L>;
|
|
12
11
|
location(type: L): LocationBuilder<P, L>;
|
|
13
|
-
setupTutorial(): [MaterialGame<P, M, L>, P[]];
|
|
14
|
-
|
|
12
|
+
setupTutorial(): [MaterialGame<P, M, L>, Player<P>[]];
|
|
13
|
+
getNextMove(rules: MaterialRules<P, M, L>): MaterialMove<P, M, L>;
|
|
15
14
|
}
|
|
16
15
|
export declare enum TutorialStepType {
|
|
17
16
|
Popup = 1,
|
|
@@ -9,7 +9,6 @@ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
|
9
9
|
var sumBy_1 = __importDefault(require("lodash/sumBy"));
|
|
10
10
|
var MaterialTutorial = /** @class */ (function () {
|
|
11
11
|
function MaterialTutorial() {
|
|
12
|
-
this.avatars = {};
|
|
13
12
|
}
|
|
14
13
|
MaterialTutorial.prototype.material = function (game, type) {
|
|
15
14
|
var _a;
|
|
@@ -21,10 +20,17 @@ var MaterialTutorial = /** @class */ (function () {
|
|
|
21
20
|
MaterialTutorial.prototype.setupTutorial = function () {
|
|
22
21
|
var game = this.setup.setup(this.options);
|
|
23
22
|
game.tutorialStep = 0;
|
|
24
|
-
return [game,
|
|
23
|
+
return [game, this.players];
|
|
25
24
|
};
|
|
26
|
-
MaterialTutorial.prototype.
|
|
27
|
-
|
|
25
|
+
MaterialTutorial.prototype.getNextMove = function (rules) {
|
|
26
|
+
if (rules.game.tutorialStep !== undefined && rules.game.tutorialStep < this.steps.length) {
|
|
27
|
+
var step = this.steps[rules.game.tutorialStep];
|
|
28
|
+
if (!step.move || step.move.player === undefined || step.move.player === rules.game.players[0])
|
|
29
|
+
return;
|
|
30
|
+
var moves = rules.getLegalMoves(step.move.player);
|
|
31
|
+
return moves[Math.floor(Math.random() * moves.length)];
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
28
34
|
};
|
|
29
35
|
return MaterialTutorial;
|
|
30
36
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTutorial.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorial.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"MaterialTutorial.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorial.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,19 @@ exports.wrapRulesWithTutorial = void 0;
|
|
|
4
4
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
5
5
|
function wrapRulesWithTutorial(tutorial, Rules) {
|
|
6
6
|
var getLegalMoves = Rules.prototype.getLegalMoves;
|
|
7
|
+
var isTurnToPlay = Rules.prototype.isTurnToPlay;
|
|
7
8
|
Rules.prototype.getTutorialStep = function () {
|
|
8
9
|
return this.game.tutorialStep !== undefined ? tutorial.steps[this.game.tutorialStep] : undefined;
|
|
9
10
|
};
|
|
11
|
+
Rules.prototype.isTurnToPlay = function (playerId) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
var game = this.game;
|
|
14
|
+
if (game.tutorialStep === undefined || game.tutorialStep >= tutorial.steps.length) {
|
|
15
|
+
return isTurnToPlay.bind(this)(playerId);
|
|
16
|
+
}
|
|
17
|
+
var tutorialStep = tutorial.steps[game.tutorialStep];
|
|
18
|
+
return playerId === ((_b = (_a = tutorialStep.move) === null || _a === void 0 ? void 0 : _a.player) !== null && _b !== void 0 ? _b : this.game.players[0]);
|
|
19
|
+
};
|
|
10
20
|
Rules.prototype.getLegalMoves = function (playerId) {
|
|
11
21
|
var _a;
|
|
12
22
|
var game = this.game;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":";;;AAAA,iDAAwH;AAGxH,SAAgB,qBAAqB,CAAC,QAA0B,EAAE,KAAkC;IAElG,IAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"TutorialRulesWrapper.js","sourceRoot":"","sources":["../../../src/components/tutorial/TutorialRulesWrapper.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/useUndo.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export type UndoOptions = {
|
|
|
3
3
|
};
|
|
4
4
|
export type MovePredicate<Move> = (move: Move) => boolean;
|
|
5
5
|
export type CanUndo<Move> = (movePredicate?: MovePredicate<Move>) => boolean;
|
|
6
|
-
export type UndoFunction<Move> = ((arg?: string | MovePredicate<Move> | UndoOptions, options?: UndoOptions) => void);
|
|
6
|
+
export type UndoFunction<Move> = ((arg?: string | number | MovePredicate<Move> | UndoOptions, options?: UndoOptions) => void);
|
|
7
7
|
export declare const useUndo: <Move = any, PlayerId extends number = number, Game = any>() => [UndoFunction<Move>, CanUndo<Move>];
|
package/dist/hooks/useUndo.js
CHANGED
|
@@ -8,7 +8,6 @@ var react_client_1 = require("@gamepark/react-client");
|
|
|
8
8
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
9
9
|
var react_1 = require("react");
|
|
10
10
|
var react_redux_1 = require("react-redux");
|
|
11
|
-
var findLast_1 = __importDefault(require("lodash/findLast"));
|
|
12
11
|
var findLastIndex_1 = __importDefault(require("lodash/findLastIndex"));
|
|
13
12
|
var components_1 = require("../components");
|
|
14
13
|
var useUndo = function () {
|
|
@@ -27,12 +26,17 @@ var useUndo = function () {
|
|
|
27
26
|
else {
|
|
28
27
|
if (!actions)
|
|
29
28
|
return console.error('Cannot undo before actions history is loaded');
|
|
30
|
-
var
|
|
31
|
-
|
|
29
|
+
var actionToUndo = findLastN(actions, function (action) {
|
|
30
|
+
return action.playerId === playerId && !action.cancelled && (typeof arg !== 'function' || arg(action.move));
|
|
31
|
+
}, typeof arg === 'number' ? arg : 1);
|
|
32
|
+
if (!actionToUndo.length)
|
|
32
33
|
return console.error('This action does not exist, it cannot be undone');
|
|
33
|
-
var delayed = typeof arg
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
var delayed = typeof arg === 'object' ? arg === null || arg === void 0 ? void 0 : arg.delayed : options === null || options === void 0 ? void 0 : options.delayed;
|
|
35
|
+
for (var _i = 0, actionToUndo_1 = actionToUndo; _i < actionToUndo_1.length; _i++) {
|
|
36
|
+
var action = actionToUndo_1[_i];
|
|
37
|
+
if (action.id) {
|
|
38
|
+
dispatch((0, react_client_1.moveUndone)(action.id, delayed));
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
}, [actions, playerId, dispatch]);
|
|
@@ -55,4 +59,17 @@ var useUndo = function () {
|
|
|
55
59
|
return [undo, canUndo];
|
|
56
60
|
};
|
|
57
61
|
exports.useUndo = useUndo;
|
|
62
|
+
function findLastN(array, predicate, n) {
|
|
63
|
+
if (n === void 0) { n = 1; }
|
|
64
|
+
var result = [];
|
|
65
|
+
for (var i = array.length - 1; i >= 0; i--) {
|
|
66
|
+
var item = array[i];
|
|
67
|
+
if (predicate(item)) {
|
|
68
|
+
result.push(item);
|
|
69
|
+
if (result.length >= n)
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
58
75
|
//# sourceMappingURL=useUndo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUndo.js","sourceRoot":"","sources":["../../src/hooks/useUndo.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAmF;AACnF,iDAA4D;AAC5D,+BAA+C;AAC/C,2CAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"useUndo.js","sourceRoot":"","sources":["../../src/hooks/useUndo.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { ItemContext, ItemLocator } from './ItemLocator';
|
|
|
2
2
|
import { Coordinates, MaterialItem } from '@gamepark/rules-api';
|
|
3
3
|
export declare abstract class PileLocator<P extends number = number, M extends number = number, L extends number = number> extends ItemLocator<P, M, L> {
|
|
4
4
|
limit: number;
|
|
5
|
-
rotate: boolean;
|
|
6
5
|
private positions;
|
|
7
6
|
private rotations;
|
|
8
7
|
getPosition(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): Coordinates;
|
|
@@ -11,5 +10,7 @@ export declare abstract class PileLocator<P extends number = number, M extends n
|
|
|
11
10
|
getCoordinates(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): Coordinates;
|
|
12
11
|
radius: number;
|
|
13
12
|
getRadius(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
|
|
14
|
-
|
|
13
|
+
maxAngle: number;
|
|
14
|
+
getMaxAngle(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): number;
|
|
15
|
+
getPileId(item: MaterialItem<P, L>, context: ItemContext<P, M, L>): number;
|
|
15
16
|
}
|
|
@@ -22,11 +22,11 @@ var PileLocator = /** @class */ (function (_super) {
|
|
|
22
22
|
function PileLocator() {
|
|
23
23
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
24
24
|
_this.limit = 20;
|
|
25
|
-
_this.rotate = false;
|
|
26
25
|
_this.positions = new Map();
|
|
27
26
|
_this.rotations = new Map();
|
|
28
27
|
_this.coordinates = { x: 0, y: 0, z: 0 };
|
|
29
28
|
_this.radius = 0;
|
|
29
|
+
_this.maxAngle = 180;
|
|
30
30
|
return _this;
|
|
31
31
|
}
|
|
32
32
|
PileLocator.prototype.getPosition = function (item, context) {
|
|
@@ -50,7 +50,7 @@ var PileLocator = /** @class */ (function (_super) {
|
|
|
50
50
|
};
|
|
51
51
|
PileLocator.prototype.getRotation = function (item, context) {
|
|
52
52
|
var _a;
|
|
53
|
-
if (!this.
|
|
53
|
+
if (!this.maxAngle)
|
|
54
54
|
return 0;
|
|
55
55
|
var pileId = this.getPileId(item, context);
|
|
56
56
|
if (!this.rotations.has(pileId))
|
|
@@ -58,7 +58,8 @@ var PileLocator = /** @class */ (function (_super) {
|
|
|
58
58
|
var pileRotations = this.rotations.get(pileId);
|
|
59
59
|
var index = this.getItemIndex(item, context);
|
|
60
60
|
if (!pileRotations.has(index)) {
|
|
61
|
-
|
|
61
|
+
var maxAngle = this.getMaxAngle(item, context);
|
|
62
|
+
pileRotations.set(index, (Math.random() - 0.5) * maxAngle);
|
|
62
63
|
}
|
|
63
64
|
return (_a = pileRotations.get(index)) !== null && _a !== void 0 ? _a : 0;
|
|
64
65
|
};
|
|
@@ -68,12 +69,15 @@ var PileLocator = /** @class */ (function (_super) {
|
|
|
68
69
|
PileLocator.prototype.getRadius = function (_item, _context) {
|
|
69
70
|
return this.radius;
|
|
70
71
|
};
|
|
71
|
-
PileLocator.prototype.
|
|
72
|
+
PileLocator.prototype.getMaxAngle = function (_item, _context) {
|
|
73
|
+
return this.maxAngle;
|
|
74
|
+
};
|
|
75
|
+
PileLocator.prototype.getPileId = function (item, context) {
|
|
72
76
|
if (typeof item.location.id === 'number')
|
|
73
77
|
return item.location.id;
|
|
74
78
|
if (item.location.player !== undefined)
|
|
75
79
|
return item.location.player;
|
|
76
|
-
return
|
|
80
|
+
return context.type;
|
|
77
81
|
};
|
|
78
82
|
return PileLocator;
|
|
79
83
|
}(ItemLocator_1.ItemLocator));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAAwD;AAGxD;IAA2H,+BAAoB;IAA/I;QAAA,
|
|
1
|
+
{"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/react-game",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.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",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@fortawesome/free-solid-svg-icons": "^6.4.0",
|
|
28
28
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
29
29
|
"@gamepark/avataaars": "^2.2.0",
|
|
30
|
-
"@gamepark/react-client": "^6.
|
|
31
|
-
"@gamepark/rules-api": "^6.
|
|
30
|
+
"@gamepark/react-client": "^6.6.0",
|
|
31
|
+
"@gamepark/rules-api": "^6.6.0",
|
|
32
32
|
"dayjs": "^1.11.7",
|
|
33
33
|
"emotion-normalize": "^11.0.1",
|
|
34
34
|
"fscreen": "^1.2.0",
|