@gamepark/react-game 7.7.28 → 7.7.29

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.
@@ -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
- if (countFocusRef.current === focusRefs.current.size) {
45
- doFocus();
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":"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"}
1
+ {"version":3,"file":"FocusProvider.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/FocusProvider.tsx"],"names":[],"mappings":"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"}
@@ -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.map(node => typeof node === 'string' ? document.getElementById(node) : node);
17
- if (wrapperComponent && targets.length && targets.every(target => wrapperComponent.contains(target))) {
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":"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"}
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.28",
3
+ "version": "7.7.29",
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/)",