@gamepark/react-game 6.29.6 → 6.29.8
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/buttons/PlayMoveButton/PlayMoveButton.d.ts +1 -0
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +13 -10
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -1
- package/dist/components/material/ItemMenuButton.d.ts +2 -1
- package/dist/components/material/ItemMenuButton.js +7 -2
- package/dist/components/material/ItemMenuButton.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,12 +38,12 @@ var dialogs_1 = require("../../dialogs");
|
|
|
38
38
|
var ThemeButton_1 = require("../ThemeButton");
|
|
39
39
|
var PlayMoveButton = function (props) {
|
|
40
40
|
var _a;
|
|
41
|
-
var move = props.move, confirmation = props.confirmation, delayed = props.delayed, skipAnimation = props.skipAnimation, local = props.local, transient = props.transient, onPlay = props.onPlay, auto = props.auto, rest = __rest(props, ["move", "confirmation", "delayed", "skipAnimation", "local", "transient", "onPlay", "auto"]);
|
|
41
|
+
var move = props.move, _b = props.moves, moves = _b === void 0 ? move ? [move] : [] : _b, confirmation = props.confirmation, delayed = props.delayed, skipAnimation = props.skipAnimation, local = props.local, transient = props.transient, onPlay = props.onPlay, auto = props.auto, rest = __rest(props, ["move", "moves", "confirmation", "delayed", "skipAnimation", "local", "transient", "onPlay", "auto"]);
|
|
42
42
|
var play = (0, hooks_1.usePlay)();
|
|
43
43
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var disabled =
|
|
44
|
+
var _c = (0, react_2.useState)(false), showDialog = _c[0], setShowDialog = _c[1];
|
|
45
|
+
var _d = (0, react_2.useState)(false), displayedLongEnough = _d[0], setDisplayedLongEnough = _d[1];
|
|
46
|
+
var disabled = !moves.length;
|
|
47
47
|
(0, react_2.useEffect)(function () {
|
|
48
48
|
if (disabled) {
|
|
49
49
|
setDisplayedLongEnough(false);
|
|
@@ -56,10 +56,13 @@ var PlayMoveButton = function (props) {
|
|
|
56
56
|
var doPlay = (0, react_2.useCallback)(function () {
|
|
57
57
|
setCountdown(undefined);
|
|
58
58
|
setShowDialog(false);
|
|
59
|
-
|
|
59
|
+
for (var _i = 0, moves_1 = moves; _i < moves_1.length; _i++) {
|
|
60
|
+
var move_1 = moves_1[_i];
|
|
61
|
+
play(move_1, { delayed: delayed, skipAnimation: skipAnimation, local: local, transient: transient });
|
|
62
|
+
}
|
|
60
63
|
if (onPlay)
|
|
61
64
|
onPlay();
|
|
62
|
-
}, [
|
|
65
|
+
}, [moves, delayed, skipAnimation, local, transient, onPlay]);
|
|
63
66
|
var onClick = (0, react_2.useCallback)(function () {
|
|
64
67
|
if (confirmation !== undefined) {
|
|
65
68
|
setShowDialog(true);
|
|
@@ -68,13 +71,13 @@ var PlayMoveButton = function (props) {
|
|
|
68
71
|
doPlay();
|
|
69
72
|
}
|
|
70
73
|
}, [confirmation !== undefined, doPlay, displayedLongEnough]);
|
|
71
|
-
var
|
|
74
|
+
var _e = (0, react_2.useState)(undefined), countdown = _e[0], setCountdown = _e[1];
|
|
72
75
|
(0, react_2.useEffect)(function () {
|
|
73
|
-
if (
|
|
76
|
+
if (disabled)
|
|
74
77
|
setCountdown(undefined);
|
|
75
78
|
else
|
|
76
79
|
setCountdown(auto);
|
|
77
|
-
}, [
|
|
80
|
+
}, [disabled, auto]);
|
|
78
81
|
(0, react_2.useEffect)(function () {
|
|
79
82
|
if (auto) {
|
|
80
83
|
var interval_1 = setInterval(function () { return setCountdown(function (countdown) { return countdown && countdown > 0 ? countdown - 1 : countdown; }); }, 1000);
|
|
@@ -84,7 +87,7 @@ var PlayMoveButton = function (props) {
|
|
|
84
87
|
(0, react_2.useEffect)(function () {
|
|
85
88
|
if (countdown === 0)
|
|
86
89
|
doPlay();
|
|
87
|
-
}, [countdown
|
|
90
|
+
}, [countdown]);
|
|
88
91
|
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_1.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")] }));
|
|
89
92
|
};
|
|
90
93
|
exports.PlayMoveButton = PlayMoveButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayMoveButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/PlayMoveButton/PlayMoveButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAmD;AAEnD,+BAA6F;AAC7F,+CAA8C;AAC9C,oCAAwC;AACxC,wCAAwC;AACxC,yCAAsC;AACtC,8CAA4C;
|
|
1
|
+
{"version":3,"file":"PlayMoveButton.js","sourceRoot":"","sources":["../../../../src/components/buttons/PlayMoveButton/PlayMoveButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { PlayOptions } from '@gamepark/react-client';
|
|
|
2
2
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
3
|
export type ItemButtonProps = {
|
|
4
4
|
move?: any;
|
|
5
|
+
moves?: any[];
|
|
5
6
|
options?: PlayOptions;
|
|
6
7
|
label?: ReactNode;
|
|
7
8
|
labelPosition?: 'left' | 'right';
|
|
@@ -10,4 +11,4 @@ export type ItemButtonProps = {
|
|
|
10
11
|
angle?: number;
|
|
11
12
|
radius?: number;
|
|
12
13
|
};
|
|
13
|
-
export declare const ItemMenuButton: ({ move, options, label, angle, radius, x, y, labelPosition, children, ...props }: ItemButtonProps & HTMLAttributes<HTMLButtonElement>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare const ItemMenuButton: ({ move, moves, options, label, angle, radius, x, y, labelPosition, children, ...props }: ItemButtonProps & HTMLAttributes<HTMLButtonElement>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -33,9 +33,14 @@ var react_1 = require("@emotion/react");
|
|
|
33
33
|
var css_1 = require("../../css");
|
|
34
34
|
var hooks_1 = require("../../hooks");
|
|
35
35
|
var ItemMenuButton = function (_a) {
|
|
36
|
-
var move = _a.move, options = _a.options, label = _a.label,
|
|
36
|
+
var move = _a.move, _b = _a.moves, moves = _b === void 0 ? move ? [move] : [] : _b, options = _a.options, label = _a.label, _c = _a.angle, angle = _c === void 0 ? 0 : _c, _d = _a.radius, radius = _d === void 0 ? 3 : _d, _e = _a.x, x = _e === void 0 ? radius * Math.sin(angle * Math.PI / 180) : _e, _f = _a.y, y = _f === void 0 ? radius * -Math.cos(angle * Math.PI / 180) : _f, _g = _a.labelPosition, labelPosition = _g === void 0 ? x > 0 ? 'left' : 'right' : _g, children = _a.children, props = __rest(_a, ["move", "moves", "options", "label", "angle", "radius", "x", "y", "labelPosition", "children"]);
|
|
37
37
|
var play = (0, hooks_1.usePlay)();
|
|
38
|
-
return (0, jsx_runtime_1.jsxs)("button", __assign({ css: [itemMenuButtonCss, (0, css_1.transformCss)('translate(-50%, -50%)', "translate(".concat(x, "em, ").concat(y, "em)"))], onClick: function () {
|
|
38
|
+
return (0, jsx_runtime_1.jsxs)("button", __assign({ css: [itemMenuButtonCss, (0, css_1.transformCss)('translate(-50%, -50%)', "translate(".concat(x, "em, ").concat(y, "em)"))], onClick: function () {
|
|
39
|
+
for (var _i = 0, moves_1 = moves; _i < moves_1.length; _i++) {
|
|
40
|
+
var move_1 = moves_1[_i];
|
|
41
|
+
play(move_1, options);
|
|
42
|
+
}
|
|
43
|
+
}, disabled: !moves.length }, props, { children: [children, label && (0, jsx_runtime_1.jsx)("span", __assign({ css: [buttonLabelCss, labelPosition === 'left' ? labelLeft : labelRight] }, { children: label }))] }));
|
|
39
44
|
};
|
|
40
45
|
exports.ItemMenuButton = ItemMenuButton;
|
|
41
46
|
var itemMenuButtonCss = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transform-style: preserve-3d;\n width: 2em;\n height: 2em;\n border-radius: 1em;\n background-color: white;\n color: black;\n cursor: pointer;\n"], ["\n transform-style: preserve-3d;\n width: 2em;\n height: 2em;\n border-radius: 1em;\n background-color: white;\n color: black;\n cursor: pointer;\n"])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemMenuButton.js","sourceRoot":"","sources":["../../../src/components/material/ItemMenuButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AAGpC,iCAAwC;AACxC,qCAAqC;
|
|
1
|
+
{"version":3,"file":"ItemMenuButton.js","sourceRoot":"","sources":["../../../src/components/material/ItemMenuButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAAoC;AAGpC,iCAAwC;AACxC,qCAAqC;AAc9B,IAAM,cAAc,GAAG,UAC5B,EAKsD;IAJpD,IAAA,IAAI,UAAA,EAAE,aAA0B,EAA1B,KAAK,mBAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAA,EAAE,OAAO,aAAA,EAAE,KAAK,WAAA,EAChD,aAAS,EAAT,KAAK,mBAAG,CAAC,KAAA,EAAE,cAAU,EAAV,MAAM,mBAAG,CAAC,KAAA,EAAE,SAA4C,EAA5C,CAAC,mBAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,KAAA,EAAE,SAA6C,EAA7C,CAAC,mBAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,KAAA,EAClH,qBAAwC,EAAxC,aAAa,mBAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAA,EACxC,QAAQ,cAAA,EAAK,KAAK,cAJpB,+FAKC,CADmB;IAGpB,IAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,OAAO,6CAAQ,GAAG,EAAE,CAAC,iBAAiB,EAAE,IAAA,kBAAY,EAAC,uBAAuB,EAAE,oBAAa,CAAC,iBAAO,CAAC,QAAK,CAAC,CAAC,EAC5F,OAAO,EAAE;YACP,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAnB,IAAM,MAAI,cAAA;gBAAW,IAAI,CAAC,MAAI,EAAE,OAAO,CAAC,CAAA;aAAA;QAC/C,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,IAAM,KAAK,eACjD,QAAQ,EACR,KAAK,IAAI,0CAAM,GAAG,EAAE,CAAC,cAAc,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAG,KAAK,IAAQ,KACjG,CAAA;AACX,CAAC,CAAA;AAhBY,QAAA,cAAc,kBAgB1B;AAED,IAAM,iBAAiB,OAAG,WAAG,gOAAA,4JAQ5B,IAAA,CAAA;AAED,IAAM,cAAc,OAAG,WAAG,oMAAA,gIAMzB,IAAA,CAAA;AAED,IAAM,UAAU,OAAG,WAAG,2LAAA,uHAKrB,IAAA,CAAA;AAED,IAAM,SAAS,OAAG,WAAG,2LAAA,uHAKpB,IAAA,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/react-game",
|
|
3
|
-
"version": "6.29.
|
|
3
|
+
"version": "6.29.8",
|
|
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",
|