@gamepark/react-game 7.7.28 → 7.7.30
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/material/GameTable/focus/FocusProvider.js +32 -2
- package/dist/components/material/GameTable/focus/FocusProvider.js.map +1 -1
- package/dist/components/material/sound/useYourTurnSound.js +4 -3
- package/dist/components/material/sound/useYourTurnSound.js.map +1 -1
- package/dist/hooks/useZoomToElements.js +7 -2
- package/dist/hooks/useZoomToElements.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useDndMonitor } from '@dnd-kit/core';
|
|
2
3
|
import { flatten, sumBy } from 'es-toolkit';
|
|
3
4
|
import { values } from 'es-toolkit/compat';
|
|
4
5
|
import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
|
|
@@ -20,19 +21,36 @@ export function FocusProvider({ children }) {
|
|
|
20
21
|
const [focus, doSetFocus] = useState();
|
|
21
22
|
const focusRefs = useRef(new Set());
|
|
22
23
|
const countFocusRef = useRef(0);
|
|
24
|
+
const focusTimeout = useRef(undefined);
|
|
23
25
|
const focusStateRef = useRef(focus);
|
|
24
26
|
focusStateRef.current = focus;
|
|
25
27
|
const zoomToElementsRef = useRef(zoomToElements);
|
|
26
28
|
zoomToElementsRef.current = zoomToElements;
|
|
29
|
+
// A focus must be applied (zoomed to) exactly once per setFocus call. Without this guard, any later
|
|
30
|
+
// ref churn re-triggers the zoom: dragging a focused item re-renders it constantly (cleanup +
|
|
31
|
+
// re-add of its ref), and the drop / snap-back re-renders it once more — each would otherwise zoom
|
|
32
|
+
// back onto the item, making the focus jump during and after the drag. Reset on every setFocus.
|
|
33
|
+
const focusAppliedRef = useRef(false);
|
|
34
|
+
// While an item is being dragged it churns its ref nonstop; never apply focus mid-drag either.
|
|
35
|
+
const draggingRef = useRef(false);
|
|
36
|
+
useDndMonitor({
|
|
37
|
+
onDragStart: () => { draggingRef.current = true; },
|
|
38
|
+
onDragEnd: () => { draggingRef.current = false; },
|
|
39
|
+
onDragCancel: () => { draggingRef.current = false; }
|
|
40
|
+
});
|
|
27
41
|
const setFocus = useCallback((focus, reset = true) => {
|
|
28
42
|
if (!focus && reset) {
|
|
29
43
|
setTimeout(() => resetTransform(1000), 50);
|
|
30
44
|
}
|
|
45
|
+
if (focusTimeout.current)
|
|
46
|
+
clearTimeout(focusTimeout.current);
|
|
31
47
|
focusRefs.current = new Set();
|
|
48
|
+
focusAppliedRef.current = false;
|
|
32
49
|
countFocusRef.current = countFocusRefs(focus, locators);
|
|
33
50
|
doSetFocus(focus);
|
|
34
51
|
}, []);
|
|
35
52
|
const doFocus = useCallback(() => {
|
|
53
|
+
focusAppliedRef.current = true;
|
|
36
54
|
const focus = focusStateRef.current;
|
|
37
55
|
const elements = Array.from(focusRefs.current);
|
|
38
56
|
setTimeout(() => zoomToElementsRef.current(elements, { animationTime: focus?.animationTime ?? 1000, margin: focus?.margin, scale: focus?.scale }), 50);
|
|
@@ -41,9 +59,21 @@ export function FocusProvider({ children }) {
|
|
|
41
59
|
if (!ref || focusRefs.current.has(ref))
|
|
42
60
|
return;
|
|
43
61
|
focusRefs.current.add(ref);
|
|
44
|
-
|
|
45
|
-
|
|
62
|
+
// Schedule the zoom only for the initial application of this focus, and never while dragging.
|
|
63
|
+
// The same item can register more refs than `countFocusRef` predicts (e.g. StrictMode's
|
|
64
|
+
// mount/unmount/remount in dev, or any re-render that replaces a node). Rather than firing the
|
|
65
|
+
// instant the count is reached — which would zoom on an incomplete/early subset — debounce so
|
|
66
|
+
// every ref committed in this render pass (and after a remount) is collected before zooming.
|
|
67
|
+
if (!focusAppliedRef.current && !draggingRef.current && focusRefs.current.size >= countFocusRef.current) {
|
|
68
|
+
if (focusTimeout.current)
|
|
69
|
+
clearTimeout(focusTimeout.current);
|
|
70
|
+
focusTimeout.current = setTimeout(doFocus);
|
|
46
71
|
}
|
|
72
|
+
// Return a cleanup so an unmounted node is removed from the set instead of lingering as a
|
|
73
|
+
// detached, un-zoomable ghost (React 19 ref cleanup; react-merge-refs v3 forwards it too).
|
|
74
|
+
return () => {
|
|
75
|
+
focusRefs.current.delete(ref);
|
|
76
|
+
};
|
|
47
77
|
}, []);
|
|
48
78
|
const value = useMemo(() => ({ focus, setFocus, focusRef }), [focus, setFocus, focusRef]);
|
|
49
79
|
return (_jsx(FocusContext.Provider, { value: value, children: children }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusProvider.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/FocusProvider.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FocusProvider.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/FocusProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { store } from '@gamepark/react-client';
|
|
1
|
+
import { GameMode, store, useGameSelector } from '@gamepark/react-client';
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { usePlayerId, useRules } from '../../../hooks';
|
|
4
4
|
import { MaterialSoundConfig } from './MaterialSoundConfig';
|
|
@@ -6,6 +6,7 @@ const bellSoundUrl = 'https://sounds.game-park.com/bell.mp3';
|
|
|
6
6
|
export const useYourTurnSound = (audioLoader) => {
|
|
7
7
|
const rules = useRules();
|
|
8
8
|
const playerId = usePlayerId();
|
|
9
|
+
const isTutorial = useGameSelector((state) => state.gameMode === GameMode.TUTORIAL);
|
|
9
10
|
const [isActive, setIsActive] = useState(false);
|
|
10
11
|
const initializedRef = useRef(false);
|
|
11
12
|
useEffect(() => {
|
|
@@ -21,7 +22,7 @@ export const useYourTurnSound = (audioLoader) => {
|
|
|
21
22
|
initializedRef.current = true;
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
|
-
if (!isActive)
|
|
25
|
+
if (!isActive || isTutorial)
|
|
25
26
|
return;
|
|
26
27
|
const { soundsMuted } = store.getState();
|
|
27
28
|
if (soundsMuted)
|
|
@@ -30,6 +31,6 @@ export const useYourTurnSound = (audioLoader) => {
|
|
|
30
31
|
if (document.hasFocus())
|
|
31
32
|
config.volume = 0.15;
|
|
32
33
|
audioLoader.play(config);
|
|
33
|
-
}, [isActive, audioLoader]);
|
|
34
|
+
}, [isActive, isTutorial, audioLoader]);
|
|
34
35
|
};
|
|
35
36
|
//# sourceMappingURL=useYourTurnSound.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useYourTurnSound.js","sourceRoot":"","sources":["../../../../src/components/material/sound/useYourTurnSound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"useYourTurnSound.js","sourceRoot":"","sources":["../../../../src/components/material/sound/useYourTurnSound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,YAAY,GAAG,uCAAuC,CAAA;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAwB,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,QAAQ,EAAiB,CAAA;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACnF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IAClC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAM;QAC5C,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,cAAc,CAAC,OAAO,GAAG,IAAI,CAAA;YAC7B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,UAAU;YAAE,OAAM;QACnC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;QACxC,IAAI,WAAW;YAAE,OAAM;QACvB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;QAC7C,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA"}
|
|
@@ -13,8 +13,13 @@ const zoomToElements = (contextInstance) => (nodes, options = {}) => {
|
|
|
13
13
|
handleCancelAnimation(contextInstance);
|
|
14
14
|
const { wrapperComponent } = contextInstance;
|
|
15
15
|
const { scale, animationTime = 600, animationType = 'easeOut', margin } = options;
|
|
16
|
-
const targets = nodes
|
|
17
|
-
|
|
16
|
+
const targets = nodes
|
|
17
|
+
.map(node => typeof node === 'string' ? document.getElementById(node) : node)
|
|
18
|
+
// A focused node may have been detached from the DOM between registration and now (e.g. a
|
|
19
|
+
// StrictMode mount/unmount/remount cycle, or an item re-rendered to a new node). Such nodes
|
|
20
|
+
// cannot be zoomed to, so ignore them instead of aborting the whole zoom because of one of them.
|
|
21
|
+
.filter(target => target && wrapperComponent?.contains(target));
|
|
22
|
+
if (wrapperComponent && targets.length) {
|
|
18
23
|
const targetState = calculateZoomToNodes(contextInstance, targets, { customZoom: scale, margin });
|
|
19
24
|
animate(contextInstance, targetState, animationTime, animationType);
|
|
20
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useZoomToElements.js","sourceRoot":"","sources":["../../src/hooks/useZoomToElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG5G,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAA;IAC5C,OAAO,cAAc,CAAC,cAAc,CAAC,CAAA;AACvC,CAAC;AAID,MAAM,cAAc,GAAG,CAAC,eAAyC,EAAE,EAAE,CAAC,CACpE,KAA+B,EAC/B,UAAiC,EAAE,EAC7B,EAAE;IACR,qBAAqB,CAAC,eAAe,CAAC,CAAA;IAEtC,MAAM,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAAA;IAC5C,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAEjF,MAAM,OAAO,GAAkB,KAAK,
|
|
1
|
+
{"version":3,"file":"useZoomToElements.js","sourceRoot":"","sources":["../../src/hooks/useZoomToElements.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": "7.7.
|
|
3
|
+
"version": "7.7.30",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React components & tools to create a Board Game user interface for Game Park",
|
|
6
6
|
"author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
|