@gamepark/react-game 6.6.0 → 6.7.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/GameProvider/GameProvider.d.ts +6 -2
- package/dist/components/GameProvider/GameProvider.js +16 -4
- package/dist/components/GameProvider/GameProvider.js.map +1 -1
- package/dist/components/LoadingScreen/LoadingScreen.js +6 -2
- package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
- package/dist/components/PlayerPanel/PlayerPanel.js +9 -17
- package/dist/components/PlayerPanel/PlayerPanel.js.map +1 -1
- package/dist/components/PlayerTimer/PlayerTimer.d.ts +5 -1
- package/dist/components/PlayerTimer/PlayerTimer.js +10 -6
- package/dist/components/PlayerTimer/PlayerTimer.js.map +1 -1
- package/dist/components/dialogs/Dialog.d.ts +0 -1
- package/dist/components/dialogs/Dialog.js +3 -3
- package/dist/components/dialogs/Dialog.js.map +1 -1
- package/dist/components/dialogs/ResultDialog/ResultDialog.js +13 -10
- package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -1
- package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +0 -1
- package/dist/components/dialogs/RulesDialog/RulesDialog.js +3 -4
- package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -1
- package/dist/components/material/DraggableMaterial.js +9 -7
- package/dist/components/material/DraggableMaterial.js.map +1 -1
- package/dist/components/material/GameTable/GameTable.d.ts +0 -2
- package/dist/components/material/GameTable/GameTable.js +20 -29
- package/dist/components/material/GameTable/GameTable.js.map +1 -1
- package/dist/components/material/locations/LocationDescription.d.ts +4 -4
- package/dist/components/material/locations/LocationDescription.js +9 -8
- package/dist/components/material/locations/LocationDescription.js.map +1 -1
- package/dist/components/material/locations/SimpleDropArea.js +15 -12
- package/dist/components/material/locations/SimpleDropArea.js.map +1 -1
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js +1 -5
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js.map +1 -1
- package/dist/components/menus/Menu/Menu.js +1 -5
- package/dist/components/menus/Menu/Menu.js.map +1 -1
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.js +7 -5
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.js.map +1 -1
- package/dist/components/menus/menuCss.js +1 -2
- package/dist/components/menus/menuCss.js.map +1 -1
- package/dist/components/tutorial/MaterialTutorialDisplay.js +0 -1
- package/dist/components/tutorial/MaterialTutorialDisplay.js.map +1 -1
- package/dist/css/GameTheme.d.ts +19 -0
- package/dist/css/GameTheme.js +19 -0
- package/dist/css/GameTheme.js.map +1 -0
- package/dist/css/index.d.ts +1 -0
- package/dist/css/index.js +1 -0
- package/dist/css/index.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/usePlayerName.js +7 -0
- package/dist/hooks/usePlayerName.js.map +1 -1
- package/dist/utilities/DeepPartial.d.ts +3 -0
- package/dist/utilities/DeepPartial.js +3 -0
- package/dist/utilities/DeepPartial.js.map +1 -0
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.js +1 -0
- package/dist/utilities/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,9 +25,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
25
25
|
}
|
|
26
26
|
return t;
|
|
27
27
|
};
|
|
28
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
-
};
|
|
31
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
29
|
exports.GameTable = void 0;
|
|
33
30
|
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
@@ -40,28 +37,28 @@ var core_1 = require("@dnd-kit/core");
|
|
|
40
37
|
var modifiers_1 = require("@dnd-kit/modifiers");
|
|
41
38
|
var DraggableMaterial_1 = require("../DraggableMaterial");
|
|
42
39
|
var react_2 = require("@emotion/react");
|
|
43
|
-
var emotion_normalize_1 = __importDefault(require("emotion-normalize"));
|
|
44
40
|
var css_1 = require("../../../css");
|
|
45
41
|
var GameMaterialDisplay_1 = require("./GameMaterialDisplay");
|
|
46
42
|
var bounds_util_1 = require("../../../utilities/bounds.util");
|
|
47
43
|
var wheel = { step: 0.05 };
|
|
48
44
|
var doubleClick = { disabled: true };
|
|
49
45
|
var GameTable = function (_a) {
|
|
50
|
-
var collisionAlgorithm = _a.collisionAlgorithm, perspective = _a.perspective, xMin = _a.xMin, xMax = _a.xMax, yMin = _a.yMin, yMax = _a.yMax, _b = _a.margin, margin = _b === void 0 ? { left: 0, right: 0, top: 7, bottom: 0 } : _b,
|
|
51
|
-
var
|
|
46
|
+
var collisionAlgorithm = _a.collisionAlgorithm, perspective = _a.perspective, xMin = _a.xMin, xMax = _a.xMax, yMin = _a.yMin, yMax = _a.yMax, _b = _a.margin, margin = _b === void 0 ? { left: 0, right: 0, top: 7, bottom: 0 } : _b, children = _a.children, props = __rest(_a, ["collisionAlgorithm", "perspective", "xMin", "xMax", "yMin", "yMax", "margin", "children"]);
|
|
47
|
+
var _c = (0, react_1.useState)(false), dragging = _c[0], setDragging = _c[1];
|
|
52
48
|
var context = (0, hooks_1.useMaterialContext)();
|
|
53
49
|
var play = (0, hooks_1.usePlay)();
|
|
54
50
|
var legalMoves = (0, hooks_1.useLegalMoves)();
|
|
55
51
|
var onDragEnd = (0, react_1.useCallback)(function (event) {
|
|
56
52
|
setDragging(false);
|
|
57
53
|
if (event.over && (0, DraggableMaterial_1.dataIsDisplayedItem)(event.active.data.current) && dataIsLocation(event.over.data.current)) {
|
|
58
|
-
var
|
|
59
|
-
var type =
|
|
54
|
+
var item = event.active.data.current;
|
|
55
|
+
var type = item.type, index = item.index, displayIndex = item.displayIndex;
|
|
60
56
|
var description_1 = context.material[type];
|
|
61
57
|
var location_1 = event.over.data.current;
|
|
62
58
|
var locator_1 = context.locators[location_1.type];
|
|
59
|
+
var itemContext_1 = __assign(__assign({}, context), item);
|
|
63
60
|
var moves = legalMoves.filter(function (move) {
|
|
64
|
-
return description_1.canDrag(move,
|
|
61
|
+
return description_1.canDrag(move, itemContext_1) && locator_1.locationDescription.canDrop(move, location_1, itemContext_1);
|
|
65
62
|
});
|
|
66
63
|
if (moves.length === 1) {
|
|
67
64
|
play((0, rules_api_1.dropItemMove)(type, index, displayIndex), { local: true });
|
|
@@ -88,32 +85,26 @@ var GameTable = function (_a) {
|
|
|
88
85
|
}, []);
|
|
89
86
|
var hm = margin.left + margin.right;
|
|
90
87
|
var vm = margin.top + margin.bottom;
|
|
91
|
-
var tableFontSize =
|
|
88
|
+
var tableFontSize = 5;
|
|
92
89
|
var minScale = (100 - vm) / tableFontSize / (yMax - yMin);
|
|
93
90
|
var ratio = (xMax - xMin) / (yMax - yMin);
|
|
94
91
|
var ratioWithMargins = ((100 - vm) * ratio + hm) / 100;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
92
|
+
var panning = (0, react_1.useMemo)(function () { return ({ disabled: dragging }); }, [dragging]);
|
|
93
|
+
var wrapperStyle = (0, react_1.useMemo)(function () { return ({
|
|
94
|
+
position: 'absolute',
|
|
95
|
+
margin: "".concat(margin.top, "em ").concat(margin.right, "em ").concat(margin.bottom, "em ").concat(margin.left, "em"),
|
|
96
|
+
transformStyle: 'preserve-3d',
|
|
97
|
+
height: "min(100% - ".concat(vm, "em, (100dvw - ").concat(hm, "em) / ").concat(ratio, ")"),
|
|
98
|
+
width: "calc(100dvw - ".concat(hm, "em)"),
|
|
99
|
+
overflow: 'visible'
|
|
100
|
+
}); }, [margin, vm, hm, ratio]);
|
|
101
|
+
return ((0, jsx_runtime_1.jsxs)(core_1.DndContext, __assign({ collisionDetection: collisionAlgorithm, measuring: { draggable: { measure: core_1.getClientRect }, droppable: { measure: core_1.getClientRect } }, modifiers: [modifiers_1.snapCenterToCursor], onDragStart: function () { return setDragging(true); }, onDragEnd: onDragEnd, onDragCancel: function () { return setDragging(false); } }, { children: [(0, jsx_runtime_1.jsx)(react_2.Global, { styles: ratioFontSize(ratioWithMargins) }), (0, jsx_runtime_1.jsx)(react_zoom_pan_pinch_1.TransformWrapper, __assign({ ref: ref, minScale: minScale, maxScale: Math.max(1, minScale), initialScale: minScale, centerOnInit: true, wheel: wheel, smooth: false, panning: panning, disablePadding: true, doubleClick: doubleClick }, { children: (0, jsx_runtime_1.jsx)(react_zoom_pan_pinch_1.TransformComponent, __assign({ wrapperStyle: wrapperStyle }, { 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
102
|
};
|
|
104
103
|
exports.GameTable = GameTable;
|
|
105
104
|
function dataIsLocation(data) {
|
|
106
105
|
return typeof (data === null || data === void 0 ? void 0 : data.type) === 'number';
|
|
107
106
|
}
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
|
|
111
|
-
return [
|
|
112
|
-
(0, react_2.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n #root {\n background-image: url(", ");\n }\n "], ["\n #root {\n background-image: url(", ");\n }\n "])), typeof background === 'function' ? background(player) : background),
|
|
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
|
-
];
|
|
115
|
-
};
|
|
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
|
-
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
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
107
|
+
var ratioFontSize = function (ratio) { return (0, react_2.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .react-transform-wrapper {\n font-size: 1dvh;\n @media (max-aspect-ratio: ", "/1) {\n font-size: calc(1dvw / ", ");\n }\n }\n"], ["\n .react-transform-wrapper {\n font-size: 1dvh;\n @media (max-aspect-ratio: ", "/1) {\n font-size: calc(1dvw / ", ");\n }\n }\n"])), ratio, ratio); };
|
|
108
|
+
var tableCss = function (xMin, xMax, yMin, yMax) { return (0, react_2.css)(templateObject_2 || (templateObject_2 = __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); };
|
|
109
|
+
var templateObject_1, templateObject_2;
|
|
119
110
|
//# sourceMappingURL=GameTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameTable.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GameTable.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTable.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAAoG;AACpG,iDAA4D;AAC5D,6DAAwG;AACxG,wCAA2E;AAC3E,sCAA2F;AAC3F,gDAAuD;AACvD,0DAA0D;AAC1D,wCAA4C;AAC5C,oCAA0D;AAC1D,6DAA2D;AAC3D,8DAAyF;AAYzF,IAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAC5B,IAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;AAE/B,IAAM,SAAS,GAAuB,UAC3C,EAAkI;IAAhI,IAAA,kBAAkB,wBAAA,EAAE,WAAW,iBAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,cAAiD,EAAjD,MAAM,mBAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAA,EAAE,QAAQ,cAAA,EAAK,KAAK,cAAhI,2FAAkI,CAAF;IAG1H,IAAA,KAA0B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAxC,QAAQ,QAAA,EAAE,WAAW,QAAmB,CAAA;IAE/C,IAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAA;IACpC,IAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,IAAM,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAA;IAClC,IAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,UAAC,KAAmB;QAChD,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,KAAK,CAAC,IAAI,IAAI,IAAA,uCAAmB,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3G,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;YAC9B,IAAA,IAAI,GAA0B,IAAI,KAA9B,EAAE,KAAK,GAAmB,IAAI,MAAvB,EAAE,YAAY,GAAK,IAAI,aAAT,CAAS;YAC1C,IAAM,aAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAM,UAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;YACxC,IAAM,SAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAQ,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAM,aAAW,yBAAQ,OAAO,GAAK,IAAI,CAAE,CAAA;YAC3C,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,UAAA,IAAI;gBAClC,OAAA,aAAW,CAAC,OAAO,CAAC,IAAI,EAAE,aAAW,CAAC,IAAI,SAAO,CAAC,mBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAQ,EAAE,aAAW,CAAC;YAA3G,CAA2G,CAC5G,CAAA;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAA,wBAAY,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;aACf;SACF;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/B,IAAM,GAAG,GAAG,IAAA,cAAM,EAA8B,IAAI,CAAC,CAAA;IACrD,IAAA,iBAAS,EAAC;QACR,IAAM,OAAO,GAAG;;YACd,IAAM,YAAY,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,QAAQ,CAAA;YAC1C,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA;gBAAE,OAAM;YAC3B,IAAA,KAAkC,YAAY,CAAC,cAAc,EAA3D,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAgC,CAAA;YACnE,IAAM,MAAM,GAAG,IAAA,6BAAe,EAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YAC7C,IAAA,KAAW,IAAA,qCAAuB,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAzG,CAAC,OAAA,EAAE,CAAC,OAAqG,CAAA;YACjH,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAA;IACrC,IAAM,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;IACrC,IAAM,aAAa,GAAG,CAAC,CAAA;IACvB,IAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC3D,IAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC3C,IAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAA;IACxD,IAAM,OAAO,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAxB,CAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnE,IAAM,YAAY,GAAwB,IAAA,eAAO,EAAC,cAAM,OAAA,CAAC;QACvD,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,UAAG,MAAM,CAAC,GAAG,gBAAM,MAAM,CAAC,KAAK,gBAAM,MAAM,CAAC,MAAM,gBAAM,MAAM,CAAC,IAAI,OAAI;QAC/E,cAAc,EAAE,aAAa;QAC7B,MAAM,EAAE,qBAAc,EAAE,2BAAiB,EAAE,mBAAS,KAAK,MAAG;QAC5D,KAAK,EAAE,wBAAiB,EAAE,QAAK;QAC/B,QAAQ,EAAE,SAAS;KACpB,CAAC,EAPsD,CAOtD,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5B,OAAO,CACL,wBAAC,iBAAU,aAAC,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,oBAAa,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,oBAAa,EAAE,EAAE,EACnI,SAAS,EAAE,CAAC,8BAAkB,CAAC,EAC/B,WAAW,EAAE,cAAM,OAAA,WAAW,CAAC,IAAI,CAAC,EAAjB,CAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAM,OAAA,WAAW,CAAC,KAAK,CAAC,EAAlB,CAAkB,iBAC5G,uBAAC,cAAM,IAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,EAClD,uBAAC,uCAAgB,aAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EACrF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,QAAC,WAAW,EAAE,WAAW,gBAC1H,uBAAC,yCAAkB,aAAC,YAAY,EAAE,YAAY,gBAC5C,0CAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,iBAAW,EAAC,aAAa,CAAC,EAAE,WAAW,IAAI,IAAA,oBAAc,EAAC,WAAW,CAAC,CAAC,IAAM,KAAK,eAC7H,uBAAC,yCAAmB,KAAE,EACrB,QAAQ,KACL,IACa,IACJ,KACR,CACd,CAAA;AACH,CAAC,CAAA;AA3EY,QAAA,SAAS,aA2ErB;AAED,SAAS,cAAc,CAAuD,IAA0B;IACtG,OAAO,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,CAAA;AACvC,CAAC;AAED,IAAM,aAAa,GAAG,UAAC,KAAa,IAAK,WAAA,WAAG,sNAAA,sFAGZ,EAAK,sCACN,EAAK,kBAGnC,KAJ+B,KAAK,EACN,KAAK,GAJK,CAOxC,CAAA;AAED,IAAM,QAAQ,GAAG,UAAC,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,IAAK,WAAA,WAAG,+PAAA,8CAErE,EAAW,iBACV,EAAW,oDAIZ,EAAK,iBACJ,EAAK,+CAGhB,KATU,IAAI,GAAG,IAAI,EACV,IAAI,GAAG,IAAI,EAIZ,CAAC,IAAI,EACJ,CAAC,IAAI,GAR4D,CAW5E,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { LocationRulesProps, MaterialContext } from '../../../locators';
|
|
2
|
+
import { ItemContext, 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';
|
|
@@ -27,8 +27,8 @@ export declare abstract class LocationDescription<P extends number = number, M e
|
|
|
27
27
|
getRotation?(location: Location<P, L>, context: MaterialContext<P, M, L>): number;
|
|
28
28
|
alwaysVisible?: boolean;
|
|
29
29
|
isAlwaysVisible(location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
canDropToDelete(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
30
|
+
couldDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
31
|
+
canDrop(move: MaterialMove<P, M, L>, location: Location<P, L>, context: ItemContext<P, M, L>): boolean;
|
|
33
32
|
canLongClick(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
33
|
+
protected isMoveToLocation(move: MaterialMove<P, M, L>, location: Location<P, L>, context: MaterialContext<P, M, L>): boolean;
|
|
34
34
|
}
|
|
@@ -46,17 +46,18 @@ var LocationDescription = /** @class */ (function () {
|
|
|
46
46
|
return this.alwaysVisible;
|
|
47
47
|
return context.locators[location.type].parentItemType !== undefined;
|
|
48
48
|
};
|
|
49
|
-
LocationDescription.prototype.
|
|
50
|
-
return this.
|
|
51
|
-
};
|
|
52
|
-
LocationDescription.prototype.canDropToMove = function (move, location, _context) {
|
|
53
|
-
return (0, rules_api_1.isMoveItem)(move) && move.position.location !== undefined && (0, utils_1.isLocationSubset)(move.position.location, location);
|
|
49
|
+
LocationDescription.prototype.couldDrop = function (move, location, context) {
|
|
50
|
+
return this.isMoveToLocation(move, location, context);
|
|
54
51
|
};
|
|
55
|
-
LocationDescription.prototype.
|
|
56
|
-
return
|
|
52
|
+
LocationDescription.prototype.canDrop = function (move, location, context) {
|
|
53
|
+
return this.isMoveToLocation(move, location, context);
|
|
57
54
|
};
|
|
58
55
|
LocationDescription.prototype.canLongClick = function (move, location, context) {
|
|
59
|
-
return this.
|
|
56
|
+
return this.isMoveToLocation(move, location, context);
|
|
57
|
+
};
|
|
58
|
+
LocationDescription.prototype.isMoveToLocation = function (move, location, context) {
|
|
59
|
+
return ((0, rules_api_1.isMoveItem)(move) && move.position.location !== undefined && (0, utils_1.isLocationSubset)(move.position.location, location))
|
|
60
|
+
|| ((0, rules_api_1.isDeleteItem)(move) && (0, fast_deep_equal_1.default)(location, context.material[move.itemType].getStockLocation(context.rules.material(move.itemType).getItem(move.itemIndex), context)));
|
|
60
61
|
};
|
|
61
62
|
return LocationDescription;
|
|
62
63
|
}());
|
|
@@ -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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"}
|
|
@@ -50,35 +50,38 @@ exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
50
50
|
var play = (0, hooks_1.usePlay)();
|
|
51
51
|
var player = (0, hooks_1.usePlayerId)();
|
|
52
52
|
var legalMoves = (0, hooks_1.useLegalMoves)();
|
|
53
|
-
var
|
|
53
|
+
var disabled = (0, react_1.useMemo)(function () { return !legalMoves.some(function (move) { return description === null || description === void 0 ? void 0 : description.couldDrop(move, location, context); }); }, [legalMoves, location, context]);
|
|
54
54
|
var longClickMoves = (0, react_1.useMemo)(function () { return legalMoves.filter(function (move) { return description === null || description === void 0 ? void 0 : description.canLongClick(move, location, context); }); }, [legalMoves, location, context]);
|
|
55
55
|
if (!onLongClick && longClickMoves.length === 1) {
|
|
56
56
|
onLongClick = function () { return play(longClickMoves[0], { delayed: rules === null || rules === void 0 ? void 0 : rules.isUnpredictableMove(longClickMoves[0], player) }); };
|
|
57
57
|
}
|
|
58
58
|
if (!onShortClick && ((_b = locator === null || locator === void 0 ? void 0 : locator.locationDescription) === null || _b === void 0 ? void 0 : _b.rules)) {
|
|
59
59
|
onShortClick = function () { return play((0, rules_api_1.displayLocationRules)(location), { local: true }); };
|
|
60
|
-
if (!onLongClick) {
|
|
61
|
-
onLongClick = function () { return play((0, rules_api_1.displayLocationRules)(location), { local: true }); };
|
|
62
|
-
}
|
|
63
60
|
}
|
|
64
61
|
var _c = (0, core_1.useDroppable)({
|
|
65
62
|
id: JSON.stringify(location),
|
|
66
|
-
disabled:
|
|
63
|
+
disabled: disabled,
|
|
67
64
|
data: location
|
|
68
65
|
}), isOver = _c.isOver, active = _c.active, setNodeRef = _c.setNodeRef;
|
|
69
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;
|
|
70
|
-
var
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
var draggedItemContext = (0, react_1.useMemo)(function () { return draggedItem ? __assign(__assign({}, context), draggedItem) : undefined; }, [draggedItem, context]);
|
|
68
|
+
var canDrop = (0, react_1.useMemo)(function () { return !!draggedItemContext && !!description && !!material && legalMoves.filter(function (move) {
|
|
69
|
+
return material[draggedItemContext.type].canDrag(move, draggedItemContext) && description.canDrop(move, location, draggedItemContext);
|
|
70
|
+
}).length === 1; }, [draggedItemContext, legalMoves, rules]);
|
|
73
71
|
var animations = (0, hooks_1.useAnimations)(function (animation) { return animation.action.playerId === player; });
|
|
74
72
|
var _d = (0, react_1.useState)(false), clicking = _d[0], setClicking = _d[1];
|
|
75
|
-
var listeners = (0, use_long_press_1.useLongPress)(function () {
|
|
73
|
+
var listeners = (0, use_long_press_1.useLongPress)(function () {
|
|
74
|
+
if (onLongClick)
|
|
75
|
+
onLongClick();
|
|
76
|
+
else if (onShortClick)
|
|
77
|
+
onShortClick();
|
|
78
|
+
}, {
|
|
76
79
|
detect: use_long_press_1.LongPressEventType.Pointer,
|
|
77
80
|
cancelOnMovement: 5,
|
|
78
81
|
threshold: 600,
|
|
79
82
|
onStart: function (event) {
|
|
80
|
-
setClicking(true);
|
|
81
83
|
if (onShortClick || onLongClick) {
|
|
84
|
+
setClicking(true);
|
|
82
85
|
event.stopPropagation();
|
|
83
86
|
}
|
|
84
87
|
},
|
|
@@ -103,13 +106,13 @@ exports.SimpleDropArea = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
103
106
|
var borderRadius = description.getBorderRadius(location, context);
|
|
104
107
|
var coordinates = description.getCoordinates(location, context);
|
|
105
108
|
return (0, jsx_runtime_1.jsx)("div", __assign({ ref: (0, react_merge_refs_1.mergeRefs)([ref, setNodeRef]), css: [
|
|
106
|
-
absolute,
|
|
109
|
+
absolute, (onShortClick || onLongClick) && css_1.pointerCursorCss,
|
|
107
110
|
locator.parentItemType !== undefined && positionOnParentCss(locator.getPositionOnParent(location, context)),
|
|
108
111
|
(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, ")")),
|
|
109
112
|
(0, css_1.sizeCss)(width, height), image && (0, css_1.backgroundCss)(image), borderRadius && (0, css_1.borderRadiusCss)(borderRadius),
|
|
110
113
|
description.getExtraCss(location, context),
|
|
111
114
|
!draggedItem && (onShortClick || onLongClick) && hoverHighlight, clicking && clickingAnimation,
|
|
112
|
-
((canDrop && !isOver) || (!draggedItem &&
|
|
115
|
+
((canDrop && !isOver) || (!draggedItem && longClickMoves.length && !animations.length)) && css_1.shineEffect,
|
|
113
116
|
canDrop && isOver && dropHighlight
|
|
114
117
|
] }, props, (0, utilities_1.combineEventListeners)(listeners, props)));
|
|
115
118
|
});
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"SimpleDropArea.js","sourceRoot":"","sources":["../../../../src/components/material/locations/SimpleDropArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,6 @@ var react_1 = require("@emotion/react");
|
|
|
36
36
|
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
37
37
|
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
38
38
|
var react_client_1 = require("@gamepark/react-client");
|
|
39
|
-
var rules_api_1 = require("@gamepark/rules-api");
|
|
40
39
|
var dayjs_1 = __importDefault(require("dayjs"));
|
|
41
40
|
var react_2 = require("react");
|
|
42
41
|
var react_i18next_1 = require("react-i18next");
|
|
@@ -46,18 +45,16 @@ var menuCss_1 = require("../menuCss");
|
|
|
46
45
|
var hooks_1 = require("../../../hooks");
|
|
47
46
|
var duration_1 = __importDefault(require("dayjs/plugin/duration"));
|
|
48
47
|
var relativeTime_1 = __importDefault(require("dayjs/plugin/relativeTime"));
|
|
49
|
-
var GameProvider_1 = require("../../GameProvider");
|
|
50
48
|
dayjs_1.default.extend(duration_1.default);
|
|
51
49
|
dayjs_1.default.extend(relativeTime_1.default);
|
|
52
50
|
var EjectPlayerDialog = function (_a) {
|
|
53
|
-
var _b;
|
|
54
51
|
var close = _a.close, props = __rest(_a, ["close"]);
|
|
55
52
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
56
53
|
var maxExceedTime = (0, react_redux_1.useSelector)(function (state) { var _a, _b; return (_b = (_a = state.options) === null || _a === void 0 ? void 0 : _a.maxExceedTime) !== null && _b !== void 0 ? _b : 60000; });
|
|
57
54
|
var opponentWithNegativeTime = (0, hooks_1.useOpponentWithMaxTime)(0);
|
|
58
55
|
var opponentThatCanBeEjected = (0, hooks_1.useOpponentWithMaxTime)();
|
|
59
56
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
60
|
-
var
|
|
57
|
+
var opponentName = (0, hooks_1.usePlayerName)(opponentWithNegativeTime);
|
|
61
58
|
(0, react_2.useEffect)(function () {
|
|
62
59
|
if (!opponentWithNegativeTime) {
|
|
63
60
|
close();
|
|
@@ -65,7 +62,6 @@ var EjectPlayerDialog = function (_a) {
|
|
|
65
62
|
}, [opponentWithNegativeTime]);
|
|
66
63
|
if (!opponentWithNegativeTime)
|
|
67
64
|
return null;
|
|
68
|
-
var opponentName = opponentWithNegativeTime.name || (0, rules_api_1.getFallbackPlayerName)(opponentWithNegativeTime.id, t, optionsSpec);
|
|
69
65
|
return ((0, jsx_runtime_1.jsxs)(dialogs_1.Dialog, __assign({ onBackdropClick: close, css: menuCss_1.menuDialogCss }, props, { children: [(0, jsx_runtime_1.jsx)("h2", { children: t('eject.dialog.p1', { player: opponentName }) }), !opponentThatCanBeEjected ?
|
|
70
66
|
(0, jsx_runtime_1.jsx)("p", { children: t('eject.dialog.p2', { duration: dayjs_1.default.duration(maxExceedTime).humanize() }) }) :
|
|
71
67
|
(0, jsx_runtime_1.jsx)("p", { children: t('eject.dialog.p3') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: buttonLineCss }, { children: [(0, jsx_runtime_1.jsx)("button", __assign({ css: [menuCss_1.menuButtonCss, inDialogButton], onClick: close }, { children: t('Close') })), opponentThatCanBeEjected &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EjectPlayerDialog.js","sourceRoot":"","sources":["../../../../src/components/menus/EjectPlayer/EjectPlayerDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA+D;AAC/D,oEAAgE;AAChE,uDAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"EjectPlayerDialog.js","sourceRoot":"","sources":["../../../../src/components/menus/EjectPlayer/EjectPlayerDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA+D;AAC/D,oEAAgE;AAChE,uDAAyE;AACzE,gDAAyB;AACzB,+BAAiC;AACjC,+CAA8C;AAC9C,2CAAsD;AACtD,yCAAmD;AACnD,sCAAyD;AACzD,wCAAsE;AACtE,mEAA4C;AAC5C,2EAAoD;AAEpD,eAAK,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAA;AACtB,eAAK,CAAC,MAAM,CAAC,sBAAY,CAAC,CAAA;AAEnB,IAAM,iBAAiB,GAAG,UAAC,EAAwD;IAAtD,IAAA,KAAK,WAAA,EAAK,KAAK,cAAjB,SAAmB,CAAF;IACzC,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAqB;IAC9B,IAAM,aAAa,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,gBAAK,OAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,mCAAI,KAAK,CAAA,EAAA,CAAC,CAAA;IAClG,IAAM,wBAAwB,GAAG,IAAA,8BAAsB,EAAC,CAAC,CAAC,CAAA;IAC1D,IAAM,wBAAwB,GAAG,IAAA,8BAAsB,GAAE,CAAA;IACzD,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,wBAAwB,CAAC,CAAA;IAC5D,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,wBAAwB,EAAE;YAC7B,KAAK,EAAE,CAAA;SACR;IACH,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAC9B,IAAI,CAAC,wBAAwB;QAAE,OAAO,IAAI,CAAA;IAC1C,OAAO,CACL,wBAAC,gBAAM,aAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,uBAAa,IAAM,KAAK,eAC3D,yCAAK,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAM,EACxD,CAAC,wBAAwB,CAAC,CAAC;gBAC1B,wCAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,eAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAK,CAAC,CAAC;gBACvF,wCAAI,CAAC,CAAC,iBAAiB,CAAC,GAAK,EAE/B,0CAAK,GAAG,EAAE,aAAa,iBACrB,4CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,gBAAG,CAAC,CAAC,OAAO,CAAC,IAAU,EAClF,wBAAwB;wBACvB,6CAAQ,GAAG,EAAE,CAAC,uBAAa,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,cAAM,OAAA,QAAQ,CAAC,IAAA,gCAAiB,EAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAxD,CAAwD,iBAC9H,uBAAC,mCAAe,IAAC,IAAI,EAAE,kCAAW,GAAG,EACpC,CAAC,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KACvC,KAEP,KACC,CACV,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,iBAAiB,qBA+B7B;AAED,IAAM,SAAS,OAAG,WAAG,yNAAA,qJAWpB,IAAA,CAAA;AAED,IAAM,aAAa,OAAG,WAAG,iJAAA,6EAIxB,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,sFAAA,kBAEzB,IAAA,CAAA"}
|
|
@@ -40,8 +40,6 @@ var RestartTutorialButton_1 = require("../RestartTutorialButton");
|
|
|
40
40
|
var SoundButton_1 = require("../SoundButton");
|
|
41
41
|
var UndoButton_1 = require("../UndoButton");
|
|
42
42
|
var Chat_1 = require("../../Chat");
|
|
43
|
-
var hooks_1 = require("../../../hooks");
|
|
44
|
-
var ContrastThemeButton_1 = require("../ContrastThemeButton");
|
|
45
43
|
var menuCss_1 = require("../menuCss");
|
|
46
44
|
var NavButton_1 = require("./NavButton");
|
|
47
45
|
var LogoIcon_1 = require("./LogoIcon");
|
|
@@ -83,13 +81,11 @@ var Menu = function () {
|
|
|
83
81
|
if (resultDialogOpen)
|
|
84
82
|
setResultDialogAutoOpen(false);
|
|
85
83
|
}, [resultDialogOpen]);
|
|
86
|
-
|
|
87
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), (0, hooks_1.isContrastTheme)(theme) && (0, jsx_runtime_1.jsx)(ContrastThemeButton_1.ContrastThemeButton, { theme: theme }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
|
|
84
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { css: [exports.backdrop, isOpen && exports.displayBackdrop], onClick: function () { return setOpen(false); } }), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerPopButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoPopButton, {}), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultPopButton, { onClick: function () { return setResultDialogOpen(true); } }), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenPopButton, {}), (0, jsx_runtime_1.jsxs)("div", __assign({ css: [menuCss_1.menuFontSize, menuCss_1.menuBaseCss, menuCss, !isOpen && hide] }, { children: [(0, jsx_runtime_1.jsx)("h2", __assign({ css: titleCss }, { children: t('Menu') })), fscreen_1.default.fullscreenEnabled && (0, jsx_runtime_1.jsx)(Fullscreen_1.FullscreenButton, {}), (0, jsx_runtime_1.jsx)(SoundButton_1.SoundButton, {}), couldUndo && (0, jsx_runtime_1.jsx)(UndoButton_1.UndoButton, {}), canGiveUp && (0, jsx_runtime_1.jsx)(GiveUpButton_1.GiveUpButton, {}), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerButton, { onClick: function () { return setEjectPlayerDialogOpen(true); } }), (options === null || options === void 0 ? void 0 : options.speed) === rules_api_1.GameSpeed.RealTime && (0, jsx_runtime_1.jsx)(TimeStatsButton_1.TimeStatsButton, {}), gameMode === react_client_1.GameMode.TUTORIAL && (0, jsx_runtime_1.jsx)(RestartTutorialButton_1.RestartTutorialButton, {}), (0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game) }, { children: [(0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { css: buttonLogoIcon }), t('Back to Game Park')] })), gameOver && (0, jsx_runtime_1.jsx)(Result_1.ResultButton, { onClick: function () { return setResultDialogOpen(true); } }), canPlayAgain &&
|
|
88
85
|
(0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/play") }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChessPawn }), t('Play again')] })), goToRanking &&
|
|
89
86
|
(0, jsx_runtime_1.jsxs)(NavButton_1.NavButton, __assign({ url: "".concat(react_client_1.PLATFORM_URI, "/").concat(locale, "/board-games/").concat(game, "/ranking") }, { children: [(0, jsx_runtime_1.jsx)(GamePoints_1.GamePointIcon, { css: gamePointIconStyle }), t('See overall ranking')] }))] })), (0, jsx_runtime_1.jsx)("button", __assign({ "aria-label": t('Menu'), title: t('Menu'), css: mainButtonCss, onClick: function () { return setOpen(!isOpen); } }, { children: isOpen ? (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faTimes, css: iconStyle }) : (0, jsx_runtime_1.jsx)(LogoIcon_1.LogoIcon, { fill: "white" }) })), couldEject && (0, jsx_runtime_1.jsx)(EjectPlayer_1.EjectPlayerDialog, { open: ejectPlayerDialogOpen, close: function () { return setEjectPlayerDialogOpen(false); } }), gameOver && (0, jsx_runtime_1.jsx)(dialogs_1.ResultDialog, { open: resultDialogOpen, openDialog: function () { return setResultDialogOpen(true); }, close: function () { return setResultDialogOpen(false); } }), chatEnable && gameId && (0, jsx_runtime_1.jsx)(Chat_1.Chat, { gameId: gameId })] }));
|
|
90
87
|
};
|
|
91
88
|
exports.Menu = Menu;
|
|
92
|
-
(0, menuCss_1.addStylesheetUrl)('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
|
|
93
89
|
var mainButtonCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n z-index: 1000;\n background: #28B8CE;\n height: 2.5em;\n width: 2.5em;\n\n &:focus, &:hover {\n background: #24a5b9;\n }\n\n &:active {\n background: #2092a3;\n }\n\n svg {\n position: relative;\n width: 70%;\n height: 60%;\n }\n"], ["\n ", ";\n z-index: 1000;\n background: #28B8CE;\n height: 2.5em;\n width: 2.5em;\n\n &:focus, &:hover {\n background: #24a5b9;\n }\n\n &:active {\n background: #2092a3;\n }\n\n svg {\n position: relative;\n width: 70%;\n height: 60%;\n }\n"])), menuCss_1.menuFloatingButtonCss);
|
|
94
90
|
exports.backdrop = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: fixed;\n width: 100vw;\n height: 100vw;\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: 100vw;\n height: 100vw;\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"])));
|
|
95
91
|
exports.displayBackdrop = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n opacity: 1;\n pointer-events: auto;\n"], ["\n opacity: 1;\n pointer-events: auto;\n"])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/menus/Menu/Menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,6 @@ var react_1 = require("@emotion/react");
|
|
|
25
25
|
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
26
26
|
var faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
27
27
|
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
28
|
-
var GameProvider_1 = require("../../GameProvider");
|
|
29
|
-
var rules_api_1 = require("@gamepark/rules-api");
|
|
30
28
|
var react_2 = require("react");
|
|
31
29
|
var react_i18next_1 = require("react-i18next");
|
|
32
30
|
var dialogs_1 = require("../../dialogs");
|
|
@@ -41,14 +39,18 @@ dayjs_1.default.extend(utc_1.default);
|
|
|
41
39
|
var TimeStatsButton = function () {
|
|
42
40
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
43
41
|
var _a = (0, react_2.useState)(false), displayPopup = _a[0], setDisplayPopup = _a[1];
|
|
44
|
-
var context = (0, react_2.useContext)(GameProvider_1.gameContext);
|
|
45
42
|
var players = (0, hooks_1.usePlayers)();
|
|
46
43
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("button", __assign({ css: menuCss_1.menuButtonCss, onClick: function () { return setDisplayPopup(true); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faClock }), t('time.button')] })), (0, jsx_runtime_1.jsxs)(dialogs_1.Dialog, __assign({ open: displayPopup, css: menuCss_1.menuDialogCss, onBackdropClick: function () { return setDisplayPopup(false); } }, { children: [(0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: faXmark_1.faXmark, css: closeIcon, onClick: function () { return setDisplayPopup(false); } }), (0, jsx_runtime_1.jsx)("h2", { children: t('time.title') }), (0, jsx_runtime_1.jsxs)("div", __assign({ css: gridCss(players.length) }, { children: [(0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, orangeBackground] }, { children: t('time.think.total') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, blueBackground] }, { children: t('time.wait.total') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, orangeBackground] }, { children: t('time.think.max') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, blueBackground] }, { children: t('time.wait.max') })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderTop, orangeBackground] }, { children: t('time.awaited') })), players.map(function (player, index) {
|
|
47
|
-
var _a, _b, _c, _d, _e
|
|
48
|
-
return (0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ css: [relative, borderLeft] }, { children: [(0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { playerId: player.id, css: avatarCss }), (0, jsx_runtime_1.jsx)("span", { children: (
|
|
44
|
+
var _a, _b, _c, _d, _e;
|
|
45
|
+
return (0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ css: [relative, borderLeft] }, { children: [(0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { playerId: player.id, css: avatarCss }), (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(PlayerName, { playerId: player.id }) })] }), index), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, orangeBackground] }, { children: humanize((_a = player.time) === null || _a === void 0 ? void 0 : _a.cumulatedPlayTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, blueBackground] }, { children: humanize((_b = player.time) === null || _b === void 0 ? void 0 : _b.cumulatedDownTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, orangeBackground] }, { children: humanize((_c = player.time) === null || _c === void 0 ? void 0 : _c.highestPlayTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, blueBackground] }, { children: humanize((_d = player.time) === null || _d === void 0 ? void 0 : _d.highestDownTime) })), (0, jsx_runtime_1.jsx)("div", __assign({ css: [borderLeft, borderTop, orangeBackground] }, { children: humanize((_e = player.time) === null || _e === void 0 ? void 0 : _e.weightedWaitForMeTime) }))] }, index);
|
|
49
46
|
})] }))] }))] }));
|
|
50
47
|
};
|
|
51
48
|
exports.TimeStatsButton = TimeStatsButton;
|
|
49
|
+
var PlayerName = function (_a) {
|
|
50
|
+
var playerId = _a.playerId;
|
|
51
|
+
var name = (0, hooks_1.usePlayerName)(playerId);
|
|
52
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: name });
|
|
53
|
+
};
|
|
52
54
|
var closeIcon = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n right: 0.8em;\n top: 0.6em;\n font-size: 1.3em;\n cursor: pointer;\n"], ["\n position: absolute;\n right: 0.8em;\n top: 0.6em;\n font-size: 1.3em;\n cursor: pointer;\n"])));
|
|
53
55
|
var gridCss = function (players) { return (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: auto repeat(", ", 1fr);\n grid-template-rows: repeat(6, auto);\n\n > div {\n padding: 1em;\n }\n"], ["\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: auto repeat(", ", 1fr);\n grid-template-rows: repeat(6, auto);\n\n > div {\n padding: 1em;\n }\n"])), players); };
|
|
54
56
|
var avatarCss = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n width: 3em;\n height: 3em;\n margin-bottom: 0.5em;\n"], ["\n position: relative;\n width: 3em;\n height: 3em;\n margin-bottom: 0.5em;\n"])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeStatsButton.js","sourceRoot":"","sources":["../../../../src/components/menus/TimeStatsButton/TimeStatsButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AACpC,0EAA2D;AAC3D,qEAAmE;AACnE,oEAAgE;AAChE
|
|
1
|
+
{"version":3,"file":"TimeStatsButton.js","sourceRoot":"","sources":["../../../../src/components/menus/TimeStatsButton/TimeStatsButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,8 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.displayBackdrop = exports.backdrop = exports.addStylesheetUrl = exports.hide = exports.menuBaseCss = exports.menuButtonCss = exports.menuFloatingButtonCss = exports.floatingButtonCss = exports.menuFontSize = exports.menuDialogCss = void 0;
|
|
8
8
|
var react_1 = require("@emotion/react");
|
|
9
|
-
var dialogs_1 = require("../dialogs");
|
|
10
9
|
var css_1 = require("../../css");
|
|
11
|
-
exports.menuDialogCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n
|
|
10
|
+
exports.menuDialogCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: 3.2em;\n\n h2 {\n margin: 0 0 0.5em;\n }\n\n p {\n margin: 0.5em 0;\n }\n"], ["\n font-size: 3.2em;\n\n h2 {\n margin: 0 0 0.5em;\n }\n\n p {\n margin: 0.5em 0;\n }\n"])));
|
|
12
11
|
exports.menuFontSize = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-size: 4em;\n @media only screen and (min-width: 960px) {\n font-size: 3.2em;\n }\n"], ["\n font-size: 4em;\n @media only screen and (min-width: 960px) {\n font-size: 3.2em;\n }\n"])));
|
|
13
12
|
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
13
|
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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuCss.js","sourceRoot":"","sources":["../../../src/components/menus/menuCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"menuCss.js","sourceRoot":"","sources":["../../../src/components/menus/menuCss.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAoC;AACpC,iCAA0C;AAE7B,QAAA,aAAa,OAAG,WAAG,wKAAA,oGAU/B,KAAA;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"}
|
|
@@ -54,7 +54,6 @@ var MaterialTutorialDisplay = function () {
|
|
|
54
54
|
var _a = (0, hooks_1.useUndo)(), undo = _a[0], canUndo = _a[1];
|
|
55
55
|
var canUndoLastMove = canUndo();
|
|
56
56
|
return ((0, jsx_runtime_1.jsx)(dialogs_1.Dialog, __assign({ open: popup !== undefined && !(game === null || game === void 0 ? void 0 : game.tutorialPopupClosed), css: [
|
|
57
|
-
dialogs_1.rulesDialogCss,
|
|
58
57
|
tutorialDialogCss,
|
|
59
58
|
(popup === null || popup === void 0 ? void 0 : popup.position) && (0, css_1.transformCss)("translate(".concat(popup.position.x, "em, ").concat(popup.position.y, "em)"))
|
|
60
59
|
], backdropCss: backdropCss }, { children: popup &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialTutorialDisplay.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorialDisplay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"MaterialTutorialDisplay.js","sourceRoot":"","sources":["../../../src/components/tutorial/MaterialTutorialDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Interpolation } from '@emotion/react';
|
|
2
|
+
export interface GameTheme {
|
|
3
|
+
root: RootTheme;
|
|
4
|
+
dialog: DialogTheme;
|
|
5
|
+
buttons?: Interpolation<GameTheme>;
|
|
6
|
+
}
|
|
7
|
+
export interface RootTheme {
|
|
8
|
+
fontFamily: string;
|
|
9
|
+
background: BackgroundTheme;
|
|
10
|
+
}
|
|
11
|
+
export interface BackgroundTheme {
|
|
12
|
+
image: string;
|
|
13
|
+
overlay: string;
|
|
14
|
+
}
|
|
15
|
+
export interface DialogTheme {
|
|
16
|
+
backgroundColor: string;
|
|
17
|
+
color: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const defaultTheme: GameTheme;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultTheme = void 0;
|
|
4
|
+
var menuCss_1 = require("../components/menus/menuCss");
|
|
5
|
+
(0, menuCss_1.addStylesheetUrl)('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
|
|
6
|
+
exports.defaultTheme = {
|
|
7
|
+
root: {
|
|
8
|
+
fontFamily: 'Mulish',
|
|
9
|
+
background: {
|
|
10
|
+
image: process.env.PUBLIC_URL + '/cover-1920.jpg',
|
|
11
|
+
overlay: 'rgba(0, 0, 0, 0.8)'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
dialog: {
|
|
15
|
+
backgroundColor: '#f0fbfc',
|
|
16
|
+
color: '#002448'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=GameTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameTheme.js","sourceRoot":"","sources":["../../src/css/GameTheme.ts"],"names":[],"mappings":";;;AACA,uDAA8D;AAE9D,IAAA,0BAAgB,EAAC,wHAAwH,CAAC,CAAA;AAuB7H,QAAA,YAAY,GAAc;IACrC,IAAI,EAAE;QACJ,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE;YACV,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,iBAAiB;YACjD,OAAO,EAAE,oBAAoB;SAC9B;KACF;IACD,MAAM,EAAE;QACN,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,SAAS;KACjB;CACF,CAAA"}
|
package/dist/css/index.d.ts
CHANGED