@gamepark/react-game 7.3.0 → 7.4.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.
Files changed (101) hide show
  1. package/dist/components/GameProvider/GameProvider.js +1 -3
  2. package/dist/components/GameProvider/GameProvider.js.map +1 -1
  3. package/dist/components/Header/HeaderText.d.ts +6 -1
  4. package/dist/components/Header/HeaderText.js +14 -5
  5. package/dist/components/Header/HeaderText.js.map +1 -1
  6. package/dist/components/JournalTabs/JournalTabs.js +1 -1
  7. package/dist/components/JournalTabs/JournalTabs.js.map +1 -1
  8. package/dist/components/LoadingScreen/LoadingScreen.js +5 -0
  9. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  10. package/dist/components/material/DraggableMaterial.d.ts +12 -2
  11. package/dist/components/material/DraggableMaterial.js +50 -57
  12. package/dist/components/material/DraggableMaterial.js.map +1 -1
  13. package/dist/components/material/GameTable/DynamicItemsDisplay.js +52 -8
  14. package/dist/components/material/GameTable/DynamicItemsDisplay.js.map +1 -1
  15. package/dist/components/material/GameTable/GameMaterialDisplay.js +5 -2
  16. package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -1
  17. package/dist/components/material/GameTable/GameTable.d.ts +1 -0
  18. package/dist/components/material/GameTable/GameTable.js +49 -18
  19. package/dist/components/material/GameTable/GameTable.js.map +1 -1
  20. package/dist/components/material/GameTable/GameTableNavigation.js +7 -0
  21. package/dist/components/material/GameTable/GameTableNavigation.js.map +1 -1
  22. package/dist/components/material/GameTable/ItemDisplay.js +4 -4
  23. package/dist/components/material/GameTable/ItemDisplay.js.map +1 -1
  24. package/dist/components/material/GameTable/StaticItemsDisplay.js +21 -6
  25. package/dist/components/material/GameTable/StaticItemsDisplay.js.map +1 -1
  26. package/dist/components/material/GameTable/focus/FocusProvider.js +11 -5
  27. package/dist/components/material/GameTable/focus/FocusProvider.js.map +1 -1
  28. package/dist/components/material/GameTable/focus/NoZoomFocusProvider.js +2 -2
  29. package/dist/components/material/GameTable/focus/NoZoomFocusProvider.js.map +1 -1
  30. package/dist/components/material/GameTable/focus/index.d.ts +1 -0
  31. package/dist/components/material/GameTable/focus/index.js +1 -0
  32. package/dist/components/material/GameTable/focus/index.js.map +1 -1
  33. package/dist/components/material/GameTable/index.d.ts +2 -0
  34. package/dist/components/material/GameTable/index.js +2 -0
  35. package/dist/components/material/GameTable/index.js.map +1 -1
  36. package/dist/components/material/MaterialDescription.d.ts +9 -1
  37. package/dist/components/material/MaterialDescription.js +20 -13
  38. package/dist/components/material/MaterialDescription.js.map +1 -1
  39. package/dist/components/material/animations/AnimationBuilder.d.ts +160 -0
  40. package/dist/components/material/animations/AnimationBuilder.js +287 -0
  41. package/dist/components/material/animations/AnimationBuilder.js.map +1 -0
  42. package/dist/components/material/animations/CreateItemAnimations.d.ts +4 -2
  43. package/dist/components/material/animations/CreateItemAnimations.js +80 -10
  44. package/dist/components/material/animations/CreateItemAnimations.js.map +1 -1
  45. package/dist/components/material/animations/DeleteItemAnimations.d.ts +3 -1
  46. package/dist/components/material/animations/DeleteItemAnimations.js +16 -4
  47. package/dist/components/material/animations/DeleteItemAnimations.js.map +1 -1
  48. package/dist/components/material/animations/DeleteItemAtOnceAnimations.d.ts +3 -1
  49. package/dist/components/material/animations/DeleteItemAtOnceAnimations.js +16 -4
  50. package/dist/components/material/animations/DeleteItemAtOnceAnimations.js.map +1 -1
  51. package/dist/components/material/animations/ItemAnimations.d.ts +35 -1
  52. package/dist/components/material/animations/ItemAnimations.js +143 -1
  53. package/dist/components/material/animations/ItemAnimations.js.map +1 -1
  54. package/dist/components/material/animations/MaterialAnimations.d.ts +2 -1
  55. package/dist/components/material/animations/MaterialAnimations.js +6 -6
  56. package/dist/components/material/animations/MaterialAnimations.js.map +1 -1
  57. package/dist/components/material/animations/MaterialGameAnimations.d.ts +94 -1
  58. package/dist/components/material/animations/MaterialGameAnimations.js +150 -2
  59. package/dist/components/material/animations/MaterialGameAnimations.js.map +1 -1
  60. package/dist/components/material/animations/MoveItemAnimations.d.ts +3 -1
  61. package/dist/components/material/animations/MoveItemAnimations.js +29 -5
  62. package/dist/components/material/animations/MoveItemAnimations.js.map +1 -1
  63. package/dist/components/material/animations/MoveItemAtOnceAnimations.d.ts +5 -2
  64. package/dist/components/material/animations/MoveItemAtOnceAnimations.js +45 -3
  65. package/dist/components/material/animations/MoveItemAtOnceAnimations.js.map +1 -1
  66. package/dist/components/material/animations/Trajectory.d.ts +132 -0
  67. package/dist/components/material/animations/Trajectory.js +87 -0
  68. package/dist/components/material/animations/Trajectory.js.map +1 -0
  69. package/dist/components/material/animations/index.d.ts +3 -0
  70. package/dist/components/material/animations/index.js +3 -0
  71. package/dist/components/material/animations/index.js.map +1 -1
  72. package/dist/hooks/index.d.ts +1 -0
  73. package/dist/hooks/index.js +1 -0
  74. package/dist/hooks/index.js.map +1 -1
  75. package/dist/hooks/useLegalMoves.js +2 -1
  76. package/dist/hooks/useLegalMoves.js.map +1 -1
  77. package/dist/hooks/useMaterialContextRef.d.ts +10 -0
  78. package/dist/hooks/useMaterialContextRef.js +12 -0
  79. package/dist/hooks/useMaterialContextRef.js.map +1 -0
  80. package/dist/hooks/usePlayerName.js +1 -1
  81. package/dist/hooks/usePlayerName.js.map +1 -1
  82. package/dist/hooks/useUndo.js +12 -3
  83. package/dist/hooks/useUndo.js.map +1 -1
  84. package/dist/locators/DeckLocator.d.ts +3 -1
  85. package/dist/locators/DeckLocator.js +6 -0
  86. package/dist/locators/DeckLocator.js.map +1 -1
  87. package/dist/locators/HandLocator.d.ts +1 -0
  88. package/dist/locators/HandLocator.js +3 -0
  89. package/dist/locators/HandLocator.js.map +1 -1
  90. package/dist/locators/ListLocator.d.ts +1 -0
  91. package/dist/locators/ListLocator.js +3 -0
  92. package/dist/locators/ListLocator.js.map +1 -1
  93. package/dist/locators/Locator.d.ts +39 -0
  94. package/dist/locators/Locator.js +74 -1
  95. package/dist/locators/Locator.js.map +1 -1
  96. package/dist/locators/PileLocator.d.ts +1 -0
  97. package/dist/locators/PileLocator.js +3 -0
  98. package/dist/locators/PileLocator.js.map +1 -1
  99. package/dist/utilities/translation.util.js +1 -1
  100. package/dist/utilities/translation.util.js.map +1 -1
  101. package/package.json +79 -77
@@ -11,16 +11,34 @@ import { calculateBounds, getMouseBoundedPosition } from '../../../utilities/zoo
11
11
  import { dataIsDisplayedItem } from '../DraggableMaterial';
12
12
  import { getBestDropMove } from '../utils/getBestDropMove';
13
13
  import { GameMaterialDisplay } from './GameMaterialDisplay';
14
+ import { GameTableContext } from './GameTableContext';
15
+ import { NoZoomScaleProvider, ZoomScaleProvider } from './ScaleContext';
14
16
  var dropItemMove = MaterialMoveBuilder.dropItemMove;
17
+ const defaultMargin = { left: 0, right: 0, top: 7, bottom: 0 };
15
18
  const wheel = { step: 0.05 };
16
19
  const doubleClick = { disabled: true };
17
20
  const pointerSensorOptions = { activationConstraint: { distance: 2 } };
18
- export const GameTable = ({ collisionAlgorithm, snapToCenter = true, perspective, xMin, xMax, yMin, yMax, margin = { left: 0, right: 0, top: 7, bottom: 0 }, tableFontSize = 5, verticalCenter, children, ...props }) => {
21
+ const measuring = { draggable: { measure: getClientRect }, droppable: { measure: getClientRect } };
22
+ export const GameTable = ({ collisionAlgorithm, snapToCenter = true, perspective, xMin, xMax, yMin, yMax, margin = defaultMargin, tableFontSize = 5, verticalCenter, zoom, children, ...props }) => {
23
+ // Dimensions calculations
24
+ const tableWidth = xMax - xMin;
25
+ const tableHeight = yMax - yMin;
26
+ const hm = margin.left + margin.right;
27
+ const vm = margin.top + margin.bottom;
28
+ const ratio = tableWidth / tableHeight;
29
+ const ratioWithMargins = ((100 - vm) * ratio + hm) / 100;
30
+ // Scale calculations
31
+ const minScale = (100 - vm) / tableFontSize / tableHeight;
32
+ const maxScale = minScale > 0.9 ? minScale : 1;
33
+ const enableZoom = zoom ?? minScale < 0.9;
34
+ // Drag & drop
19
35
  const [dragging, setDragging] = useState(false);
20
36
  const sensors = useSensors(useSensor(PointerSensor, pointerSensorOptions));
21
37
  const context = useMaterialContext();
22
38
  const play = usePlay();
23
39
  const legalMoves = useLegalMoves();
40
+ const onDragStart = useCallback(() => setDragging(true), []);
41
+ const onDragCancel = useCallback(() => setDragging(false), []);
24
42
  const onDragEnd = useCallback((event) => {
25
43
  setDragging(false);
26
44
  const move = getBestDropMove(event, context, legalMoves);
@@ -38,10 +56,13 @@ export const GameTable = ({ collisionAlgorithm, snapToCenter = true, perspective
38
56
  play(move);
39
57
  }
40
58
  }, [context, play, legalMoves]);
41
- const ref = useRef(null);
59
+ // Zoom resize handler
60
+ const zoomRef = useRef(null);
42
61
  useEffect(() => {
62
+ if (!enableZoom)
63
+ return;
43
64
  const handler = () => {
44
- const zoomPanPinch = ref.current?.instance;
65
+ const zoomPanPinch = zoomRef.current?.instance;
45
66
  if (!zoomPanPinch?.bounds)
46
67
  return;
47
68
  const { positionX, positionY, scale } = zoomPanPinch.transformState;
@@ -50,21 +71,20 @@ export const GameTable = ({ collisionAlgorithm, snapToCenter = true, perspective
50
71
  zoomPanPinch.setTransformState(scale, x, y);
51
72
  };
52
73
  window.addEventListener('resize', handler);
53
- return () => {
54
- window.removeEventListener('resize', handler);
55
- };
56
- }, []);
57
- const hm = margin.left + margin.right;
58
- const vm = margin.top + margin.bottom;
59
- const minScale = (100 - vm) / tableFontSize / (yMax - yMin);
60
- const maxScale = minScale > 0.9 ? minScale : 1;
61
- const ratio = (xMax - xMin) / (yMax - yMin);
62
- const ratioWithMargins = ((100 - vm) * ratio + hm) / 100;
74
+ return () => window.removeEventListener('resize', handler);
75
+ }, [enableZoom]);
76
+ // Memoized values
63
77
  const panning = useMemo(() => ({ disabled: dragging }), [dragging]);
64
- const wrapperStyle = useMemo(() => computedWrapperClass(margin, vm, hm, ratio, verticalCenter), [margin, vm, hm, ratio]);
78
+ const wrapperStyle = useMemo(() => computedWrapperClass(margin, vm, hm, ratio, verticalCenter), [margin, vm, hm, ratio, verticalCenter]);
65
79
  const modifiers = useMemo(() => snapToCenter ? [snapCenterToCursor] : undefined, [snapToCenter]);
66
80
  const boundaries = useMemo(() => ({ xMin, xMax, yMin, yMax }), [xMin, xMax, yMin, yMax]);
67
- return (_jsxs(DndContext, { collisionDetection: collisionAlgorithm, measuring: { draggable: { measure: getClientRect }, droppable: { measure: getClientRect } }, modifiers: modifiers, sensors: sensors, onDragStart: () => setDragging(true), onDragEnd: onDragEnd, onDragCancel: () => setDragging(false), children: [_jsx(Global, { styles: [ratioFontSize(ratioWithMargins), wrapperStyle] }), _jsx(TransformWrapper, { ref: ref, minScale: minScale, maxScale: maxScale, initialScale: minScale, centerOnInit: true, wheel: wheel, smooth: false, panning: panning, disablePadding: true, doubleClick: doubleClick, children: _jsx(TransformComponent, { wrapperClass: "wrapperClass", children: _jsx("div", { css: [tableCss(xMin, xMax, yMin, yMax), fontSizeCss(tableFontSize), perspective && perspectiveCss(perspective)], ...props, children: _jsx(GameMaterialDisplay, { boundaries: boundaries, children: children }) }) }) })] }));
81
+ const contextValue = useMemo(() => ({ zoom: enableZoom }), [enableZoom]);
82
+ const tableContent = (_jsx("div", { css: [
83
+ tableCss(tableWidth, tableHeight),
84
+ enableZoom ? fontSizeCss(tableFontSize) : noZoomTableCss(tableWidth, tableHeight, vm, hm),
85
+ perspective && perspectiveCss(perspective)
86
+ ], ...props, children: _jsx(GameMaterialDisplay, { boundaries: boundaries, children: children }) }));
87
+ return (_jsx(GameTableContext.Provider, { value: contextValue, children: _jsxs(DndContext, { collisionDetection: collisionAlgorithm, measuring: measuring, modifiers: modifiers, sensors: sensors, onDragStart: onDragStart, onDragEnd: onDragEnd, onDragCancel: onDragCancel, children: [_jsx(Global, { styles: [ratioFontSize(ratioWithMargins), wrapperStyle] }), enableZoom ? (_jsx(TransformWrapper, { ref: zoomRef, minScale: minScale, maxScale: maxScale, initialScale: minScale, centerOnInit: true, wheel: wheel, smooth: false, panning: panning, disablePadding: true, doubleClick: doubleClick, children: _jsx(TransformComponent, { wrapperClass: "wrapperClass", children: _jsx(ZoomScaleProvider, { children: tableContent }) }) })) : (_jsx("div", { className: "wrapperClass", css: noZoomContainerCss, children: _jsx(NoZoomScaleProvider, { children: tableContent }) }))] }) }));
68
88
  };
69
89
  const computedWrapperClass = (margin, vm, hm, ratio, verticalCenter) => css `
70
90
  .wrapperClass {
@@ -88,9 +108,20 @@ const ratioFontSize = (ratio) => css `
88
108
  }
89
109
  }
90
110
  `;
91
- const tableCss = (xMin, xMax, yMin, yMax) => css `
111
+ const tableCss = (width, height) => css `
92
112
  transform-style: preserve-3d;
93
- width: ${xMax - xMin}em;
94
- height: ${yMax - yMin}em;
113
+ width: ${width}em;
114
+ height: ${height}em;
95
115
  `;
116
+ const noZoomContainerCss = css `
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: center;
120
+ `;
121
+ const noZoomTableCss = (tableWidth, tableHeight, vm, hm) => {
122
+ const heightBasedFontSize = (100 - vm) / tableHeight;
123
+ return css `
124
+ font-size: min(${heightBasedFontSize}dvh, calc((100dvw - ${hm}dvh) / ${tableWidth}));
125
+ `;
126
+ };
96
127
  //# 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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"}
@@ -7,7 +7,14 @@ import { useState } from 'react';
7
7
  import { createPortal } from 'react-dom';
8
8
  import { useControls, useTransformEffect } from 'react-zoom-pan-pinch';
9
9
  import { buttonResetCss } from '../../../css';
10
+ import { useGameTableContext } from './GameTableContext';
10
11
  export const GameTableNavigation = (props) => {
12
+ const { zoom } = useGameTableContext();
13
+ if (!zoom)
14
+ return null;
15
+ return _jsx(GameTableNavigationInner, { ...props });
16
+ };
17
+ const GameTableNavigationInner = (props) => {
11
18
  const { scaleStep = 0.1, ...rest } = props;
12
19
  const { zoomIn, zoomOut } = useControls();
13
20
  const [isMin, setIsMin] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"GameTableNavigation.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTableNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAsB,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAM7C,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,KAAK,EAAE,EAAE;IACzE,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC1C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjD,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CACjB,eAAK,GAAG,EAAE,mBAAmB,KAAM,IAAI,aACrC,iBAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,YACpE,KAAC,eAAe,IAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,GAC7C,EACT,iBAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,YACrE,KAAC,eAAe,IAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,GAAG,GAC9C,IACL,EACN,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CACjC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;CAS9B,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BlC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAA;;CAElB,CAAA"}
1
+ {"version":3,"file":"GameTableNavigation.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameTableNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAsB,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAMxD,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,KAAK,EAAE,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,EAAE,CAAA;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,OAAO,KAAC,wBAAwB,OAAK,KAAK,GAAI,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAiC,CAAC,KAAK,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC1C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjD,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CACjB,eAAK,GAAG,EAAE,mBAAmB,KAAM,IAAI,aACrC,iBAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,YACpE,KAAC,eAAe,IAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,GAC7C,EACT,iBAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,YACrE,KAAC,eAAe,IAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,GAAG,GAC9C,IACL,EACN,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CACjC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;CAS9B,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BlC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAA;;CAElB,CAAA"}
@@ -6,7 +6,7 @@ import { forwardRef, useMemo, useRef } from 'react';
6
6
  import { mergeRefs } from 'react-merge-refs';
7
7
  import { LongPressCallbackReason, LongPressEventType, useLongPress } from 'use-long-press';
8
8
  import { pointerCursorCss } from '../../../css';
9
- import { useDraggedItem, useMaterialContext, usePlay } from '../../../hooks';
9
+ import { useDraggedItem, useMaterialContextRef, usePlay } from '../../../hooks';
10
10
  import { useExpectedDropLocations, useItemLocations } from '../../../hooks/useItemLocations';
11
11
  import { combineEventListeners } from '../../../utilities';
12
12
  import { LocationsMask } from '../locations';
@@ -14,7 +14,7 @@ import { MaterialComponent } from '../MaterialComponent';
14
14
  import { isLocationSubset } from '../utils';
15
15
  import { useFocusContext } from './focus';
16
16
  export const ItemDisplay = forwardRef(({ type, index, displayIndex, item, dragTransform, animation, isFocused, onShortClick, onLongClick, highlight, playDown, ...props }, ref) => {
17
- const context = useMaterialContext();
17
+ const context = useMaterialContextRef();
18
18
  const { focus, focusRef } = useFocusContext();
19
19
  const itemContext = useMemo(() => ({ ...context, type, index, displayIndex, dragTransform }), [context, type, index, displayIndex, dragTransform]);
20
20
  const locations = useItemLocations(item, itemContext);
@@ -80,7 +80,7 @@ const hoverCss = (itemTransform, itemSize, hoverTransform, disable) => css `
80
80
  `;
81
81
  ItemDisplay.displayName = 'ItemDisplay';
82
82
  const ItemLocations = ({ locations }) => {
83
- const context = useMaterialContext();
83
+ const context = useMaterialContextRef();
84
84
  return _jsx(_Fragment, { children: locations.map(({ location, focusRef }) => {
85
85
  const description = context.locators[location.type]?.getLocationDescription(location, context);
86
86
  const LocationComponent = description?.Component;
@@ -90,7 +90,7 @@ const ItemLocations = ({ locations }) => {
90
90
  }) });
91
91
  };
92
92
  const ItemDropLocations = ({ locations, item, type }) => {
93
- const context = useMaterialContext();
93
+ const context = useMaterialContextRef();
94
94
  const draggedItem = useDraggedItem();
95
95
  const draggedItemContext = { ...context, ...draggedItem };
96
96
  const expectedDropLocations = useExpectedDropLocations();
@@ -1 +1 @@
1
- {"version":3,"file":"ItemDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/ItemDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAwB,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAc,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAoB,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAC9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAA0B,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAazC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAmC,CACtE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoB,EAAE,GAAG,EACzJ,EAAE;IACF,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;IAClJ,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACrD,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5G,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;IACtH,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpG,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;IAElI,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAClE,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElG,WAAW,GAAG,WAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACrE,YAAY,GAAG,YAAY,IAAI,WAAW,CAAA;IAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,WAAW,IAAI,WAAW,EAAE,EAAE;QACjE,MAAM,EAAE,kBAAkB,CAAC,OAAO;QAClC,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1B,IAAI,MAAM,KAAK,uBAAuB,CAAC,kBAAkB,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;gBACjC,IAAI,IAAI,GAAG,cAAc,CAAC,OAAO,GAAG,GAAG;oBAAE,OAAM;gBAC/C,cAAc,CAAC,OAAO,GAAG,IAAI,CAAA;gBAC7B,IAAI,YAAY,EAAE,CAAC;oBACjB,UAAU,CAAC,YAAY,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QACD,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAE,KAAoB,CAAC,MAAM,CAAC,qCAAqC;KAC3F,CAAC,EAAE,CAAA;IAEJ,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAEzI,OAAO,4BACL,cAAK,GAAG,EAAE;gBACR,OAAO,EAAE,SAAS;gBAClB,cAAc,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,CAAC;gBACjI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,gBAAgB;aAClD,KAAM,KAAK,KAAM,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,YACvD,MAAC,iBAAiB,IAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EACjD,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAC3B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAClF,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EACpC,GAAG,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,aACnE,eAAe,CAAC,CAAC,CAAC,KAAC,iBAAiB,IAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,SAAS,EAAE,cAAc,GAAG,EACvI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,aAAa,IAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EACtJ,KAAC,aAAa,IAAC,SAAS,EAAE,gBAAgB,GAAG,IAC3B,GAChB,GACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,GAAG,CAAA;;;;CAIlB,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,aAAqB,EAAE,QAAuB,EAAE,cAAsB,EAAE,OAAgB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;mBAI/F,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;;;;;sBAK1B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;;;;;aAMlC,QAAQ,CAAC,KAAK;cACb,QAAQ,CAAC,MAAM;iBACZ,aAAa;;CAE7B,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAMvC,MAAM,aAAa,GAAG,CAAC,EAAE,SAAS,EAAsB,EAAE,EAAE;IAC1D,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IACpC,OAAO,4BACJ,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC9F,MAAM,iBAAiB,GAAG,WAAW,EAAE,SAAS,CAAA;YAChD,IAAI,CAAC,iBAAiB;gBAAE,OAAO,IAAI,CAAA;YACnC,OAAO,KAAC,iBAAiB,IAAgC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,IAArF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAgE,CAAA;QACzH,CAAC,CAAC,GACD,CAAA;AACL,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAA6D,EAAE,EAAE;IACjH,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IACpC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,kBAAkB,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACzD,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAA;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;QAC7B,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,OAAO,EAAE,cAAc,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC7J,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAGtC,OAAO,4BACJ,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;YACzG,MAAM,iBAAiB,GAAG,WAAW,EAAE,SAAS,CAAA;YAChD,IAAI,CAAC,iBAAiB;gBAAE,OAAO,IAAI,CAAA;YACnC,OAAO,KAAC,iBAAiB,IAAgC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,IAArF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAgE,CAAA;QACzH,CAAC,CAAC,GACD,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"ItemDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/ItemDisplay.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
2
  import { isEqual } from 'es-toolkit';
3
- import { useLegalMoves, useMaterialContext } from '../../../hooks';
3
+ import { memo, useRef } from 'react';
4
+ import { MaterialContextRefContext, useLegalMoves, useMaterialContext, useMaterialContextRef } from '../../../hooks';
4
5
  import { getLocationOriginCss } from '../../../locators';
5
6
  import { ItemMenuWrapper } from '../ItemMenuWrapper';
6
7
  import { useFocusContext } from './focus';
@@ -11,21 +12,35 @@ export const StaticItemsDisplay = ({ boundaries }) => {
11
12
  };
12
13
  const StaticItemsTypeDisplay = ({ description, ...props }) => {
13
14
  const context = useMaterialContext();
14
- return _jsx(_Fragment, { children: description.getStaticItems(context).map((item, index) => {
15
- return [...Array(item.quantity ?? 1)].map((_, displayIndex) => _jsx(StaticItemDisplay, { description: description, index: index, displayIndex: displayIndex, item: item, ...props }, `${index}_${displayIndex}`));
15
+ const contextRef = useRef(context);
16
+ contextRef.current = context;
17
+ const legalMoves = useLegalMoves();
18
+ return _jsx(MaterialContextRefContext.Provider, { value: contextRef, children: description.getStaticItems(context).map((item, index) => {
19
+ return [...Array(item.quantity ?? 1)].map((_, displayIndex) => _jsx(StaticItemDisplay, { description: description, index: index, displayIndex: displayIndex, item: item, legalMoves: legalMoves, ...props }, `${index}_${displayIndex}`));
16
20
  }) });
17
21
  };
18
- const StaticItemDisplay = ({ type, description, index, displayIndex, item, boundaries, ...props }) => {
19
- const context = useMaterialContext();
22
+ const StaticItemDisplayBase = ({ type, description, index, displayIndex, item, boundaries, legalMoves, ...props }) => {
23
+ const context = useMaterialContextRef();
20
24
  const locator = context.locators[item.location.type];
21
25
  const { focus } = useFocusContext();
22
26
  const isFocused = focus && getStaticItemsOfType(focus.staticItems, type).some(focusedItem => isEqual(focusedItem, item));
23
- const legalMoves = useLegalMoves();
24
27
  const itemContext = { ...context, type, index, displayIndex };
25
28
  const menu = description.getItemMenu(item, itemContext, legalMoves);
26
29
  const locationOriginCss = getLocationOriginCss(boundaries, locator?.getLocationOrigin(item.location, context));
27
30
  return _jsxs(_Fragment, { children: [_jsx(ItemDisplay, { type: type, index: index, displayIndex: displayIndex, item: item, isFocused: isFocused, highlight: description.highlight(item, itemContext), css: locationOriginCss, ...props }), menu && _jsx(ItemMenuWrapper, { item: item, itemContext: itemContext, description: description, css: locationOriginCss, ...props, children: menu })] });
28
31
  };
32
+ StaticItemDisplayBase.displayName = 'StaticItemDisplay';
33
+ const StaticItemDisplay = memo(StaticItemDisplayBase, (prev, next) => {
34
+ if (prev.type !== next.type || prev.index !== next.index || prev.displayIndex !== next.displayIndex)
35
+ return false;
36
+ if (!isEqual(prev.item, next.item))
37
+ return false;
38
+ if (!isEqual(prev.boundaries, next.boundaries))
39
+ return false;
40
+ if (prev.legalMoves !== next.legalMoves)
41
+ return false;
42
+ return true;
43
+ });
29
44
  function getStaticItemsOfType(staticItems, type) {
30
45
  if (Array.isArray(staticItems)) {
31
46
  return staticItems.filter(s => s.type === type).map(s => s.item);
@@ -1 +1 @@
1
- {"version":3,"file":"StaticItemsDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/StaticItemsDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaticItemsDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/StaticItemsDisplay.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
2
  import { flatten, sumBy } from 'es-toolkit';
3
3
  import { values } from 'es-toolkit/compat';
4
- import { createContext, useCallback, useContext, useRef, useState } from 'react';
4
+ import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
5
5
  import { useControls } from 'react-zoom-pan-pinch';
6
6
  import { useZoomToElements } from '../../../../hooks';
7
7
  import { useLocators } from '../../../../hooks/useLocators';
@@ -20,6 +20,10 @@ export function FocusProvider({ children }) {
20
20
  const [focus, doSetFocus] = useState();
21
21
  const focusRefs = useRef(new Set());
22
22
  const countFocusRef = useRef(0);
23
+ const focusStateRef = useRef(focus);
24
+ focusStateRef.current = focus;
25
+ const zoomToElementsRef = useRef(zoomToElements);
26
+ zoomToElementsRef.current = zoomToElements;
23
27
  const setFocus = useCallback((focus, reset = true) => {
24
28
  if (!focus && reset) {
25
29
  setTimeout(() => resetTransform(1000), 50);
@@ -29,9 +33,10 @@ export function FocusProvider({ children }) {
29
33
  doSetFocus(focus);
30
34
  }, []);
31
35
  const doFocus = useCallback(() => {
36
+ const focus = focusStateRef.current;
32
37
  const elements = Array.from(focusRefs.current);
33
- setTimeout(() => zoomToElements(elements, { animationTime: focus?.animationTime ?? 1000, margin: focus?.margin, scale: focus?.scale }), 50);
34
- }, [zoomToElements]);
38
+ setTimeout(() => zoomToElementsRef.current(elements, { animationTime: focus?.animationTime ?? 1000, margin: focus?.margin, scale: focus?.scale }), 50);
39
+ }, []);
35
40
  const focusRef = useCallback((ref) => {
36
41
  if (!ref || focusRefs.current.has(ref))
37
42
  return;
@@ -39,8 +44,9 @@ export function FocusProvider({ children }) {
39
44
  if (countFocusRef.current === focusRefs.current.size) {
40
45
  doFocus();
41
46
  }
42
- }, [doFocus]);
43
- return (_jsx(FocusContext.Provider, { value: { focus, setFocus, focusRef }, children: children }));
47
+ }, []);
48
+ const value = useMemo(() => ({ focus, setFocus, focusRef }), [focus, setFocus, focusRef]);
49
+ return (_jsx(FocusContext.Provider, { value: value, children: children }));
44
50
  }
45
51
  function countFocusRefs(focus, locators) {
46
52
  if (!focus)
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { useCallback, useState } from 'react';
2
+ import { useCallback, useMemo, useState } from 'react';
3
3
  import { FocusContext } from './FocusProvider';
4
4
  export function NoZoomFocusProvider({ children }) {
5
5
  const [focus, setFocusState] = useState();
@@ -9,7 +9,7 @@ export function NoZoomFocusProvider({ children }) {
9
9
  const focusRef = useCallback(() => {
10
10
  // No-op when zoom is disabled
11
11
  }, []);
12
- const value = { focus, setFocus, focusRef };
12
+ const value = useMemo(() => ({ focus, setFocus, focusRef }), [focus, setFocus, focusRef]);
13
13
  return (_jsx(FocusContext.Provider, { value: value, children: children }));
14
14
  }
15
15
  //# sourceMappingURL=NoZoomFocusProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NoZoomFocusProvider.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/NoZoomFocusProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAA;AAGhE,MAAM,UAAU,mBAAmB,CAAC,EAAE,QAAQ,EAA4B;IACxE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAiB,CAAA;IAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,QAAwB,EAAE,EAAE;QACxD,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,8BAA8B;IAChC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,KAAK,GAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAE7D,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChC,QAAQ,GACa,CACzB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"NoZoomFocusProvider.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/NoZoomFocusProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAA;AAGhE,MAAM,UAAU,mBAAmB,CAAC,EAAE,QAAQ,EAA4B;IACxE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAiB,CAAA;IAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,QAAwB,EAAE,EAAE;QACxD,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,8BAA8B;IAChC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,KAAK,GAAG,OAAO,CAAmB,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE3G,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChC,QAAQ,GACa,CACzB,CAAA;AACH,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './FocusProvider';
2
2
  export * from './MaterialFocus';
3
+ export * from './NoZoomFocusProvider';
@@ -1,3 +1,4 @@
1
1
  export * from './FocusProvider';
2
2
  export * from './MaterialFocus';
3
+ export * from './NoZoomFocusProvider';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/focus/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA"}
@@ -1,3 +1,5 @@
1
1
  export * from './focus';
2
2
  export * from './GameTable';
3
+ export * from './GameTableContext';
3
4
  export * from './GameTableNavigation';
5
+ export * from './ScaleContext';
@@ -1,4 +1,6 @@
1
1
  export * from './focus';
2
2
  export * from './GameTable';
3
+ export * from './GameTableContext';
3
4
  export * from './GameTableNavigation';
5
+ export * from './ScaleContext';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA"}
@@ -109,6 +109,14 @@ export declare abstract class MaterialDescription<P extends number = number, M e
109
109
  * @param _context Context of the item
110
110
  */
111
111
  getShortClickLocalMove(_context: ItemContext<P, M, L>): MaterialMove<P, M, L> | undefined;
112
+ /**
113
+ * This function returns the moves that should be played when long-clicking on an item.
114
+ * Unlike canLongClick which filters legal moves, this allows returning arbitrary moves (e.g. placing all available resources).
115
+ *
116
+ * @param _context Context of the item
117
+ * @param _legalMoves The current legal moves
118
+ */
119
+ getLongClickMoves(_context: ItemContext<P, M, L>, _legalMoves: MaterialMove<P, M, L>[]): MaterialMove<P, M, L>[];
112
120
  /**
113
121
  * Thickness of the item
114
122
  */
@@ -169,7 +177,7 @@ export declare abstract class MaterialDescription<P extends number = number, M e
169
177
  isMenuAlwaysVisible(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>): boolean;
170
178
  getItemMenu(_item: MaterialItem<P, L>, _context: ItemContext<P, M, L>, _legalMoves: MaterialMove<P, M, L>[]): ReactNode;
171
179
  getHelpButton(item: MaterialItem<P, L>, context: ItemContext<P, M, L>, props?: Partial<ItemButtonProps>): import("@emotion/react/jsx-runtime").JSX.Element;
172
- getAnimationCss(keyframes: Keyframes, duration: number): Interpolation<Theme>;
180
+ getAnimationCss(animationKeyframes: Keyframes, duration: number): Interpolation<Theme>;
173
181
  getHelpDisplayExtraCss(_item: Partial<MaterialItem<P, L>>, _context: ItemContext<P, M, L>): Interpolation<Theme>;
174
182
  }
175
183
  export type MaterialDescriptionRecord<P extends number = number, M extends number = number, L extends number = number> = Record<M, MaterialDescription<P, M, L>>;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { css, keyframes } from '@emotion/react';
2
+ import { css } from '@emotion/react';
3
3
  import { faQuestion } from '@fortawesome/free-solid-svg-icons/faQuestion';
4
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
5
  import { isDeleteItem, isMoveItem, isMoveItemsAtOnce, isRoll, isSelectItem, MaterialMoveBuilder } from '@gamepark/rules-api';
@@ -7,6 +7,7 @@ import { groupBy } from 'es-toolkit';
7
7
  import { partition } from 'es-toolkit/compat';
8
8
  import { Trans } from 'react-i18next';
9
9
  import { getItemFromContext } from '../../locators';
10
+ import { defaultElevation, getElevationKeyframes } from './animations';
10
11
  import { ComponentDescription } from './ComponentDescription';
11
12
  import { ItemMenuButton } from './ItemMenuButton';
12
13
  var displayMaterialHelp = MaterialMoveBuilder.displayMaterialHelp;
@@ -115,6 +116,16 @@ export class MaterialDescription extends ComponentDescription {
115
116
  getShortClickLocalMove(_context) {
116
117
  return undefined;
117
118
  }
119
+ /**
120
+ * This function returns the moves that should be played when long-clicking on an item.
121
+ * Unlike canLongClick which filters legal moves, this allows returning arbitrary moves (e.g. placing all available resources).
122
+ *
123
+ * @param _context Context of the item
124
+ * @param _legalMoves The current legal moves
125
+ */
126
+ getLongClickMoves(_context, _legalMoves) {
127
+ return [];
128
+ }
118
129
  /**
119
130
  * Thickness of the item
120
131
  */
@@ -166,8 +177,11 @@ export class MaterialDescription extends ComponentDescription {
166
177
  getItemTransform(item, context) {
167
178
  const transform = ['translate(-50%, -50%)'];
168
179
  const locator = context.locators[item.location.type];
169
- if (locator)
180
+ if (locator) {
170
181
  transform.push(...locator.placeItem(item, context));
182
+ if (locator.hide(item, context))
183
+ transform.push('scale(0)');
184
+ }
171
185
  return transform;
172
186
  }
173
187
  /**
@@ -226,12 +240,13 @@ export class MaterialDescription extends ComponentDescription {
226
240
  getHelpButton(item, context, props = {}) {
227
241
  return _jsx(ItemMenuButton, { label: _jsx(Trans, { ns: "common", i18nKey: "Help" }), move: this.displayHelp(item, context), options: { transient: true }, angle: 30, ...props, children: _jsx(FontAwesomeIcon, { icon: faQuestion }) });
228
242
  }
229
- getAnimationCss(keyframes, duration) {
243
+ getAnimationCss(animationKeyframes, duration) {
244
+ const elevationArc = getElevationKeyframes(defaultElevation);
230
245
  return css `
231
- animation: ${upAndDown} ${duration}s linear infinite;
246
+ animation: ${elevationArc} ${duration}s ease-in-out forwards;
232
247
 
233
248
  > * {
234
- animation: ${keyframes} ${duration}s ease-in-out forwards;
249
+ animation: ${animationKeyframes} ${duration}s ease-in-out forwards;
235
250
  }
236
251
  `;
237
252
  }
@@ -242,12 +257,4 @@ export class MaterialDescription extends ComponentDescription {
242
257
  function isMovementOfItem(move) {
243
258
  return isMoveItem(move) || isMoveItemsAtOnce(move);
244
259
  }
245
- const upAndDown = keyframes `
246
- from, to {
247
- transform: none;
248
- }
249
- 50% {
250
- transform: translateZ(10em);
251
- }
252
- `;
253
260
  //# sourceMappingURL=MaterialDescription.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MaterialDescription.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialDescription.js","sourceRoot":"","sources":["../../../src/components/material/MaterialDescription.tsx"],"names":[],"mappings":"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"}