@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
@@ -14,9 +14,7 @@ const query = new URLSearchParams(window.location.search);
14
14
  const gameId = query.get('game');
15
15
  const locale = query.get('locale') || 'en';
16
16
  export const GameProvider = ({ materialI18n, theme = {}, children, ...props }) => {
17
- useEffect(() => {
18
- setupTranslation(props.game);
19
- }, [props.game]);
17
+ setupTranslation(props.game);
20
18
  useEffect(() => {
21
19
  if (isMaterialTutorial(props.tutorial)) {
22
20
  wrapRulesWithTutorial(props.tutorial, props.Rules);
@@ -1 +1 @@
1
- {"version":3,"file":"GameProvider.js","sourceRoot":"","sources":["../../../src/components/GameProvider/GameProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameProvider.js","sourceRoot":"","sources":["../../../src/components/GameProvider/GameProvider.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ type Props = {
5
5
  values?: Record<string, any>;
6
6
  components?: Record<string, ReactElement>;
7
7
  moves?: Record<string, (move: MaterialMove) => boolean>;
8
+ defaults?: {
9
+ you?: string;
10
+ player?: string;
11
+ players?: string;
12
+ };
8
13
  };
9
- export declare const HeaderText: ({ code, values, components, moves }: Props) => import("@emotion/react/jsx-runtime").JSX.Element;
14
+ export declare const HeaderText: ({ code, values, components, moves, defaults }: Props) => import("@emotion/react/jsx-runtime").JSX.Element | null;
10
15
  export {};
@@ -1,24 +1,33 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import { useRef } from 'react';
2
3
  import { Trans } from 'react-i18next';
3
4
  import { useLegalMoves, usePlayerId, usePlayerName, useRules } from '../../hooks';
4
5
  import { PlayMoveButton } from '../buttons';
5
- export const HeaderText = ({ code, values = {}, components = {}, moves = {} }) => {
6
+ export const HeaderText = ({ code, values = {}, components = {}, moves = {}, defaults }) => {
6
7
  const rules = useRules();
7
8
  const me = usePlayerId();
8
- const activePlayers = rules.activePlayers;
9
+ const currentActivePlayers = rules.activePlayers;
10
+ const lastActivePlayersRef = useRef([]);
11
+ if (currentActivePlayers.length > 0) {
12
+ lastActivePlayersRef.current = currentActivePlayers;
13
+ }
14
+ const activePlayers = currentActivePlayers.length > 0 ? currentActivePlayers : lastActivePlayersRef.current;
9
15
  const player = usePlayerName(activePlayers[0]);
10
16
  const legalMoves = useLegalMoves();
17
+ if (activePlayers.length === 0) {
18
+ return null;
19
+ }
11
20
  if (me !== undefined && activePlayers.includes(me)) {
12
21
  for (const key in moves) {
13
22
  components[key] = _jsx(PlayMoveButton, { move: legalMoves.find(moves[key]) });
14
23
  }
15
- return _jsx(Trans, { i18nKey: `header.${code}.you`, values: values, components: components });
24
+ return _jsx(Trans, { i18nKey: `header.${code}.you`, defaults: defaults?.you, values: values, components: components });
16
25
  }
17
26
  else if (activePlayers.length === 1) {
18
- return _jsx(Trans, { i18nKey: `header.${code}.player`, values: { ...values, player }, components: components });
27
+ return _jsx(Trans, { i18nKey: `header.${code}.player`, defaults: defaults?.player, values: { ...values, player }, components: components });
19
28
  }
20
29
  else {
21
- return _jsx(Trans, { i18nKey: `header.${code}.players`, values: values, components: components });
30
+ return _jsx(Trans, { i18nKey: `header.${code}.players`, defaults: defaults?.players, values: values, components: components });
22
31
  }
23
32
  };
24
33
  //# sourceMappingURL=HeaderText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderText.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderText.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAS3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAS,EAAE,EAAE;IACtF,MAAM,KAAK,GAAG,QAAQ,EAAkB,CAAA;IACxC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACxB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,EAAE,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,GAAG,KAAC,cAAc,IAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;QACxE,CAAC;QACD,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,CAAA;IACxF,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,CAAA;IAC1G,CAAC;SAAM,CAAC;QACN,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,CAAA;IAC5F,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"HeaderText.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderText.tsx"],"names":[],"mappings":";AACA,OAAO,EAAgB,MAAM,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAc3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAS,EAAE,EAAE;IAChG,MAAM,KAAK,GAAG,QAAQ,EAAkB,CAAA;IACxC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACxB,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAA;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAsB,EAAE,CAAC,CAAA;IAC5D,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,oBAAoB,CAAC,OAAO,GAAG,oBAAoB,CAAA;IACrD,CAAC;IACD,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAA;IAC3G,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,EAAE,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,GAAG,KAAC,cAAc,IAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;QACxE,CAAC;QACD,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,CAAA;IACjH,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,CAAA;IACtI,CAAC;SAAM,CAAC;QACN,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,IAAI,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,CAAA;IACzH,CAAC;AACH,CAAC,CAAA"}
@@ -37,7 +37,7 @@ export const JournalTabs = (props) => {
37
37
  return null;
38
38
  const isChatOpened = isOpen && tab === JournalTab.CHAT;
39
39
  const isLogOpened = isOpen && tab === JournalTab.LOG;
40
- return (_jsxs(_Fragment, { children: [_jsx("div", { css: [backdrop, isOpen && displayBackdrop], onClick: () => setOpen(false) }), _jsxs("div", { css: [menuFontSize, menuBaseCss, journalMenu, !isOpen && hide], children: [_jsx("div", { css: buttonContainer, children: chatEnabled && logEnabled && (_jsxs(_Fragment, { children: [_jsx("button", { css: [button, chatButton, isChatOpened && selected], disabled: tab === JournalTab.CHAT, onClick: () => setTab(JournalTab.CHAT), children: _jsx("div", { children: t('Chat') }) }), _jsx("button", { css: [button, logButton, isLogOpened && selected], disabled: tab === JournalTab.LOG, onClick: () => setTab(JournalTab.LOG), children: _jsx("div", { children: t('History') }) })] })) }), _jsxs("div", { css: [container, flexEnd], children: [chatEnabled && (_jsx(Chat, { css: [!isChatOpened && closed], open: isChatOpened, gameId: gameId })), logEnabled && (_jsx(History, { css: [css `justify-self: flex-start`, !isLogOpened && closed], open: isLogOpened }))] })] }), _jsx("button", { "aria-label": t('Discuss'), title: t('Discuss'), css: [journalButtonCss], onClick: () => setOpen(!isOpen), children: _jsx(FontAwesomeIcon, { icon: isOpen ? faTimes : faCommentDots, css: iconStyle }) })] }));
40
+ return (_jsxs(_Fragment, { children: [_jsx("div", { css: [backdrop, isOpen && displayBackdrop], onClick: () => setOpen(false) }), _jsxs("div", { css: [menuFontSize, menuBaseCss, journalMenu, !isOpen && hide], children: [_jsx("div", { css: buttonContainer, children: chatEnabled && logEnabled && (_jsxs(_Fragment, { children: [_jsx("button", { css: [button, chatButton, isChatOpened && selected], disabled: tab === JournalTab.CHAT, onClick: () => setTab(JournalTab.CHAT), children: _jsx("div", { children: t('Chat') }) }), _jsx("button", { css: [button, logButton, isLogOpened && selected], disabled: tab === JournalTab.LOG, onClick: () => setTab(JournalTab.LOG), children: _jsx("div", { children: t('History') }) })] })) }), _jsxs("div", { css: [container, flexEnd], children: [chatEnabled && (_jsx(Chat, { css: [!isChatOpened && closed], open: isChatOpened, gameId: gameId })), logEnabled && (_jsx(History, { css: [css `justify-self: flex-start`, !isLogOpened && closed], open: isLogOpened }))] })] }), _jsx("button", { "aria-label": t('Chat'), title: t('Chat'), css: [journalButtonCss], onClick: () => setOpen(!isOpen), children: _jsx(FontAwesomeIcon, { icon: isOpen ? faTimes : faCommentDots, css: iconStyle }) })] }));
41
41
  };
42
42
  const buttonContainer = css `
43
43
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"JournalTabs.js","sourceRoot":"","sources":["../../../src/components/JournalTabs/JournalTabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JournalTabs.js","sourceRoot":"","sources":["../../../src/components/JournalTabs/JournalTabs.tsx"],"names":[],"mappings":"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"}
@@ -29,6 +29,11 @@ export const LoadingScreen = ({ gameBox = '/box-640.png', display, ...props }) =
29
29
  return () => clearTimeout(timeout);
30
30
  }
31
31
  }, [display]);
32
+ useEffect(() => {
33
+ if (boardGameName) {
34
+ document.title = boardGameName;
35
+ }
36
+ }, [boardGameName]);
32
37
  if (!includeInLayout)
33
38
  return null;
34
39
  const authors = credits?.authors ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingScreen.js","sourceRoot":"","sources":["../../../src/components/LoadingScreen/LoadingScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadingScreen.js","sourceRoot":"","sources":["../../../src/components/LoadingScreen/LoadingScreen.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
- import { DisplayedItem, GridBoundaries } from '@gamepark/rules-api';
1
+ import { Interpolation, Theme } from '@emotion/react';
2
+ import { DisplayedItem, GridBoundaries, MaterialItem, MaterialMove } from '@gamepark/rules-api';
3
+ import React from 'react';
4
+ import { CanUndo, UndoFunction } from '../../hooks';
2
5
  import { MaterialComponentProps } from './MaterialComponent';
3
6
  export type DraggableMaterialProps<M extends number = number> = {
4
7
  index: number;
5
8
  displayIndex: number;
6
9
  boundaries: GridBoundaries;
7
10
  isFocused?: boolean;
11
+ item: MaterialItem;
12
+ disabled: boolean;
13
+ positionDeps: unknown;
14
+ legalMoves: MaterialMove[];
15
+ animation?: Interpolation<Theme>;
16
+ undo: UndoFunction<MaterialMove>;
17
+ canUndo: CanUndo<MaterialMove>;
8
18
  } & MaterialComponentProps<M>;
9
- export declare const DraggableMaterial: <M extends number = number>(props: DraggableMaterialProps<M>) => import("@emotion/react/jsx-runtime").JSX.Element;
19
+ export declare const DraggableMaterial: <M extends number = number>(props: DraggableMaterialProps<M>) => React.ReactElement | null;
10
20
  export declare function dataIsDisplayedItem<M extends number = number>(data?: Record<string, any>): data is DisplayedItem<M>;
@@ -1,40 +1,62 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
2
  import { useDndMonitor, useDraggable } from '@dnd-kit/core';
3
3
  import { css } from '@emotion/react';
4
- import { isMoveItem, isMoveItemsAtOnce, isMoveItemType, isMoveItemTypeAtOnce, isSelectItem } from '@gamepark/rules-api';
5
- import { merge } from 'es-toolkit';
6
- import { forwardRef, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
7
- import { useTransformContext } from 'react-zoom-pan-pinch';
4
+ import { isMoveItemsAtOnce, isSelectItem } from '@gamepark/rules-api';
5
+ import { isEqual } from 'es-toolkit';
6
+ import { forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
8
7
  import { grabbingCursor, grabCursor } from '../../css';
9
- import { useAnimation, useAnimations, useLegalMoves, useMaterialContext, usePlay, useRules, useUndo } from '../../hooks';
8
+ import { useMaterialContextRef, usePlay } from '../../hooks';
10
9
  import { getLocationOriginCss } from '../../locators';
11
10
  import { combineEventListeners, findIfUnique } from '../../utilities';
12
- import { gameContext } from '../GameProvider';
11
+ import { useScale } from './GameTable';
13
12
  import { ItemDisplay } from './GameTable/ItemDisplay';
14
13
  import { ItemMenuWrapper } from './ItemMenuWrapper';
15
14
  import { isDroppedItem } from './utils/isDroppedItem';
16
15
  import { isPlacedOnItem } from './utils/isPlacedOnItem';
17
- export const DraggableMaterial = (props) => {
18
- const { type, index, displayIndex } = props;
19
- const context = useMaterialContext();
20
- const itemContext = useMemo(() => ({ ...context, type, index, displayIndex }), [context]);
16
+ function arePropsEqual(prev, next) {
17
+ if (prev.type !== next.type || prev.index !== next.index || prev.displayIndex !== next.displayIndex)
18
+ return false;
19
+ // positionDeps === undefined means always recompute
20
+ if (next.positionDeps === undefined)
21
+ return false;
22
+ if (!isEqual(prev.positionDeps, next.positionDeps))
23
+ return false;
24
+ if (!isEqual(prev.item, next.item))
25
+ return false;
26
+ if (prev.disabled !== next.disabled)
27
+ return false;
28
+ if (!isEqual(prev.boundaries, next.boundaries))
29
+ return false;
30
+ if (prev.isFocused !== next.isFocused)
31
+ return false;
32
+ if (prev.legalMoves !== next.legalMoves)
33
+ return false;
34
+ if (prev.highlight !== next.highlight)
35
+ return false;
36
+ if (prev.title !== next.title)
37
+ return false;
38
+ if (prev.animation !== next.animation)
39
+ return false;
40
+ if (prev.undo !== next.undo)
41
+ return false;
42
+ if (prev.canUndo !== next.canUndo)
43
+ return false;
44
+ return true;
45
+ }
46
+ const DraggableMaterialBase = ({ type, index, displayIndex, item, disabled, legalMoves, animation, undo, canUndo, ...props }) => {
21
47
  const displayedItem = useMemo(() => ({ type, index, displayIndex }), [type, index, displayIndex]);
22
- const legalMoves = useLegalMoves();
23
- const disabled = useMemo(() => !legalMoves.some(move => itemContext.material[type].canDrag(move, itemContext)), [legalMoves, itemContext]);
24
48
  const { attributes, listeners, transform, setNodeRef } = useDraggable({ id: `${type}_${index}_${displayIndex}`, data: displayedItem, disabled });
25
- return _jsx(DraggableMaterialMemo, { ref: setNodeRef, transform: transform ?? undefined, disabled: disabled, ...props, ...attributes, ...combineEventListeners(listeners ?? {}, props) });
49
+ return _jsx(DraggableMaterialInner, { ref: setNodeRef, transform: transform ?? undefined, disabled: disabled, type: type, index: index, displayIndex: displayIndex, item: item, legalMoves: legalMoves, animation: animation, undo: undo, canUndo: canUndo, ...props, ...attributes, ...combineEventListeners(listeners ?? {}, props) });
26
50
  };
27
- const DraggableMaterialMemo = memo(forwardRef(({ highlight, type, index, displayIndex, boundaries, isFocused, transform, disabled, ...props }, ref) => {
28
- const context = useMaterialContext();
51
+ DraggableMaterialBase.displayName = 'DraggableMaterial';
52
+ export const DraggableMaterial = memo(DraggableMaterialBase, arePropsEqual);
53
+ const DraggableMaterialInnerBase = forwardRef(({ highlight, type, index, displayIndex, boundaries, isFocused, transform, disabled, item, legalMoves, positionDeps, animation: animationProp, undo, canUndo, ...props }, ref) => {
54
+ const context = useMaterialContextRef();
29
55
  const { material, rules } = context;
30
56
  const description = material[type];
31
- const item = useRevealedItem(type, index);
32
- const itemContext = useMemo(() => ({ ...context, type, index, displayIndex }), [context]);
57
+ const itemContext = useMemo(() => ({ ...context, type, index, displayIndex }), [context, type, index, displayIndex]);
33
58
  const locator = context.locators[item.location.type];
34
- const displayedItem = useMemo(() => ({ type, index, displayIndex }), [type, index, displayIndex]);
35
59
  const play = usePlay();
36
- const legalMoves = useLegalMoves();
37
- const [undo, canUndo] = useUndo();
38
60
  const menu = description.getItemMenu(item, itemContext, legalMoves);
39
61
  const menuAlwaysVisible = description.isMenuAlwaysVisible(item, itemContext);
40
62
  const unselect = useMemo(() => {
@@ -71,6 +93,9 @@ const DraggableMaterialMemo = memo(forwardRef(({ highlight, type, index, display
71
93
  const onLongClickMove = useMemo(() => {
72
94
  if (unselect || onShortClickMove)
73
95
  return;
96
+ const moves = description.getLongClickMoves(itemContext, legalMoves);
97
+ if (moves.length)
98
+ return () => moves.forEach(m => play(m));
74
99
  const move = findIfUnique(legalMoves, move => description.canLongClick(move, itemContext));
75
100
  if (move !== undefined)
76
101
  return () => play(move);
@@ -101,18 +126,17 @@ const DraggableMaterialMemo = memo(forwardRef(({ highlight, type, index, display
101
126
  setIgnoreTransform(true);
102
127
  }
103
128
  }, [!transform]);
104
- const transformContext = useTransformContext();
129
+ const scale = useScale();
105
130
  const transformRef = useRef('');
106
131
  if (transform && !ignoreTransform) {
107
132
  const { x, y } = transform;
108
- const scale = transformContext.transformState.scale;
109
133
  transformRef.current = `translate3d(${Math.round(x / scale)}px, ${y ? Math.round(y / scale) : 0}px, 20em)`;
110
134
  }
111
135
  const isDropped = useMemo(() => isDroppedItem(itemContext), [itemContext]);
112
136
  const applyTransform = isDropped || isDraggingParent || (!disabled && !ignoreTransform);
113
137
  if (!applyTransform)
114
138
  transformRef.current = '';
115
- const animation = useItemAnimation(displayedItem, transformRef.current, boundaries);
139
+ const animation = animationProp;
116
140
  // Firefox bugs when the animation is immediately followed by the transition: we need to delay by 1 rerender putting back the transition
117
141
  const [animating, setAnimating] = useState(!!animation);
118
142
  useEffect(() => setAnimating(!!animation), [!animation]);
@@ -132,7 +156,9 @@ const DraggableMaterialMemo = memo(forwardRef(({ highlight, type, index, display
132
156
  animationWrapperCss
133
157
  ], dragTransform: applyTransform ? transformRef.current : undefined, animation: animation, highlight: highlight ?? (!draggedItem && (!disabled || onShortClickMove !== undefined || onLongClickMove !== undefined)), ...props, onShortClick: unselect ?? onShortClickMove, onLongClick: onLongClickMove }), menu && (menuAlwaysVisible || item.selected) &&
134
158
  _jsx(ItemMenuWrapper, { item: item, itemContext: itemContext, description: description, ...props, css: locationOriginCss, children: menu })] });
135
- }));
159
+ });
160
+ DraggableMaterialInnerBase.displayName = 'DraggableMaterialInner';
161
+ const DraggableMaterialInner = memo(DraggableMaterialInnerBase);
136
162
  const animationWrapperCss = css `
137
163
  transform-style: preserve-3d;
138
164
 
@@ -151,37 +177,4 @@ const transformTransition = css `
151
177
  export function dataIsDisplayedItem(data) {
152
178
  return typeof data?.type === 'number' && typeof data?.index === 'number' && typeof data?.displayIndex === 'number';
153
179
  }
154
- const useRevealedItem = (type, index) => {
155
- const rules = useRules();
156
- const item = rules?.material(type).getItem(index);
157
- const animation = useAnimation(animation => (isMoveItemType(type, index)(animation.move) && animation.move.reveal !== undefined)
158
- || (isMoveItemTypeAtOnce(type)(animation.move) && animation.move.reveal?.[index] !== undefined));
159
- const reveal = animation ? (isMoveItem(animation.move) ? animation.move.reveal : animation.move.reveal?.[index]) : undefined;
160
- return useMemo(() => reveal ? merge(JSON.parse(JSON.stringify(item)), reveal) : item, [item, reveal]);
161
- };
162
- const useItemAnimation = (displayedItem, dragTransform, boundaries) => {
163
- const { type, index } = displayedItem;
164
- const context = useMaterialContext();
165
- const animationsConfig = useContext(gameContext).animations;
166
- const animations = useAnimations();
167
- const animationCache = useRef(undefined);
168
- if (!animations.length)
169
- return;
170
- const item = context.rules.material(type).getItem(index);
171
- if (!item || !animationsConfig)
172
- return;
173
- const itemContext = { ...context, ...displayedItem, dragTransform };
174
- for (const animation of animations) {
175
- const config = animationsConfig.getAnimationConfig(animation.move, { ...context, action: animation.action });
176
- const itemAnimation = config.getItemAnimation(itemContext, animation, boundaries);
177
- if (itemAnimation) {
178
- if (animationCache.current?.move !== animation.move) {
179
- // Remember current item animation for each move so that it does not restart if the item's origin changes in between
180
- animationCache.current = { move: animation.move, itemAnimation };
181
- }
182
- return animationCache.current.itemAnimation;
183
- }
184
- }
185
- animationCache.current = undefined;
186
- };
187
180
  //# sourceMappingURL=DraggableMaterial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableMaterial.js","sourceRoot":"","sources":["../../../src/components/material/DraggableMaterial.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DraggableMaterial.js","sourceRoot":"","sources":["../../../src/components/material/DraggableMaterial.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
2
- import { useContext } from 'react';
2
+ import { isMoveItem, isMoveItemsAtOnce, isMoveItemType, isMoveItemTypeAtOnce } from '@gamepark/rules-api';
3
+ import { merge } from 'es-toolkit';
4
+ import { useContext, useRef } from 'react';
3
5
  import { useTranslation } from 'react-i18next';
4
- import { useMaterialContext } from '../../../hooks';
6
+ import { MaterialContextRefContext, useAnimations, useLegalMoves, useMaterialContext, useUndo } from '../../../hooks';
5
7
  import { gameContext } from '../../GameProvider';
6
8
  import { DraggableMaterial } from '../DraggableMaterial';
7
9
  import { useFocusContext } from './focus';
@@ -10,23 +12,65 @@ export const DynamicItemsDisplay = ({ boundaries }) => {
10
12
  const items = context.rules.game.items;
11
13
  return _jsx(_Fragment, { children: Object.entries(items).map(([stringType, items]) => items && _jsx(DynamicItemsTypeDisplay, { type: parseInt(stringType), items: items, boundaries: boundaries }, stringType)) });
12
14
  };
13
- const DynamicItemsTypeDisplay = ({ type, items, ...props }) => {
15
+ const DynamicItemsTypeDisplay = ({ type, items, boundaries, ...props }) => {
14
16
  const game = useContext(gameContext).game;
15
17
  const context = useMaterialContext();
16
18
  const { focus } = useFocusContext();
17
- const locators = context.locators;
18
19
  const { t } = useTranslation([game, 'common']);
19
20
  const description = context.material[type];
21
+ const legalMoves = useLegalMoves();
22
+ const [undo, canUndo] = useUndo();
23
+ // Stable ref to the latest context — children read from this without subscribing
24
+ const contextRef = useRef(context);
25
+ contextRef.current = context;
26
+ // Collect all animations (reveal + item animations are computed here to avoid per-item subscriptions)
27
+ const animationsConfig = useContext(gameContext).animations;
28
+ const animations = useAnimations();
29
+ const revealAnimations = animations.filter(animation => (isMoveItemType(type)(animation.move) && animation.move.reveal !== undefined)
30
+ || (isMoveItemTypeAtOnce(type)(animation.move) && animation.move.reveal !== undefined));
31
+ // Pre-compute item animations: build a map of animation CSS per item key
32
+ const itemAnimations = useRef(new Map());
33
+ itemAnimations.current.clear();
34
+ if (animations.length && animationsConfig) {
35
+ for (let index = 0; index < items.length; index++) {
36
+ const item = items[index];
37
+ for (let displayIndex = 0; displayIndex < (item.quantity ?? 1); displayIndex++) {
38
+ const itemContext = { ...context, type, index, displayIndex };
39
+ for (const animation of animations) {
40
+ const itemAnimation = animationsConfig.getItemAnimation(itemContext, animation, animation.action, boundaries);
41
+ if (itemAnimation) {
42
+ itemAnimations.current.set(`${index}_${displayIndex}`, itemAnimation);
43
+ break;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
20
49
  if (!description)
21
50
  return null;
22
- return _jsx(_Fragment, { children: items.map((item, index) => {
23
- const locator = locators[item.location.type];
51
+ return _jsx(MaterialContextRefContext.Provider, { value: contextRef, children: items.map((item, index) => {
52
+ // Apply reveal data from active animation matching this specific item
53
+ let revealedItem = item;
54
+ for (const animation of revealAnimations) {
55
+ const move = animation.move;
56
+ const reveal = isMoveItem(move) && move.itemIndex === index
57
+ ? move.reveal
58
+ : isMoveItemsAtOnce(move) ? move.reveal?.[index] : undefined;
59
+ if (reveal) {
60
+ revealedItem = merge(JSON.parse(JSON.stringify(item)), reveal);
61
+ break;
62
+ }
63
+ }
24
64
  return [...Array(item.quantity ?? 1)].map((_, displayIndex) => {
25
65
  const itemContext = { ...context, type, index, displayIndex };
26
- if (locator?.hide(item, itemContext))
66
+ const locator = context.locators[revealedItem.location.type];
67
+ if (locator?.ignore(revealedItem, itemContext))
27
68
  return null;
28
69
  const isFocused = focus?.materials.some(material => material.type === type && material.getIndexes().includes(index));
29
- return _jsx(DraggableMaterial, { highlight: description.highlight(item, itemContext), type: type, index: index, displayIndex: displayIndex, isFocused: isFocused, title: description.getTooltip(item, t, itemContext) ?? undefined, ...props }, `${type}_${index}_${displayIndex}`);
70
+ const disabled = !legalMoves.some(move => description.canDrag(move, itemContext));
71
+ const positionDeps = locator?.getFullPositionDependencies(revealedItem.location, context);
72
+ const animation = itemAnimations.current.get(`${index}_${displayIndex}`);
73
+ return _jsx(DraggableMaterial, { highlight: description.highlight(revealedItem, itemContext), type: type, index: index, displayIndex: displayIndex, isFocused: isFocused, item: revealedItem, disabled: disabled, positionDeps: positionDeps, legalMoves: legalMoves, animation: animation, undo: undo, canUndo: canUndo, title: description.getTooltip(revealedItem, t, itemContext) ?? undefined, boundaries: boundaries, ...props }, `${type}_${index}_${displayIndex}`);
30
74
  });
31
75
  }) });
32
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicItemsDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/DynamicItemsDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicItemsDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/DynamicItemsDisplay.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EAMrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAErH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,UAAU,EAAkC,EAAE,EAAE;IACpF,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAA;IACtC,OAAO,4BACJ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CACjD,KAAK,IAAI,KAAC,uBAAuB,IAAkB,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,IAA5E,UAAU,CAAqE,CACvH,GACA,CAAA;AACL,CAAC,CAAA;AASD,MAAM,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,EAAgC,EAAE,EAAE;IACtG,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAA;IACzC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAA;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,aAAa,EAAgB,CAAA;IAChD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,OAAO,EAAgB,CAAA;IAE/C,iFAAiF;IACjF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;IAE5B,sGAAsG;IACtG,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,UAAgD,CAAA;IACjG,MAAM,UAAU,GAAG,aAAa,EAAY,CAAA;IAC5C,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACrD,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAK,SAAS,CAAC,IAAiB,CAAC,MAAM,KAAK,SAAS,CAAC;WACxF,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAK,SAAS,CAAC,IAAwB,CAAC,MAAM,KAAK,SAAS,CAAC,CAC5G,CAAA;IAED,yEAAyE;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,GAAG,EAAgC,CAAC,CAAA;IACtE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC9B,IAAI,UAAU,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;gBAC/E,MAAM,WAAW,GAAgB,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;gBAC1E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;oBAC7G,IAAI,aAAa,EAAE,CAAC;wBAClB,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,YAAY,EAAE,EAAE,aAAa,CAAC,CAAA;wBACrE,MAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAC7B,OAAO,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,YACzD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,sEAAsE;YACtE,IAAI,YAAY,GAAG,IAAI,CAAA;YACvB,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;gBAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;oBACzD,CAAC,CAAC,IAAI,CAAC,MAAM;oBACb,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC9D,IAAI,MAAM,EAAE,CAAC;oBACX,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;oBAC9D,MAAK;gBACP,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE;gBAC5D,MAAM,WAAW,GAAgB,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;gBAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAC5D,IAAI,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAC3D,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACjD,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAChE,CAAA;gBACD,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;gBACjF,MAAM,YAAY,GAAG,OAAO,EAAE,2BAA2B,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACzF,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,YAAY,EAAE,CAAC,CAAA;gBACxE,OAAO,KAAC,iBAAiB,IACC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,EAC3D,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAC1E,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAClE,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAC5B,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,CAAC,IAAI,SAAS,EACxE,UAAU,EAAE,UAAU,KAClB,KAAK,IATJ,GAAG,IAAI,IAAI,KAAK,IAAI,YAAY,EAAE,CAS3B,CAAA;YACxC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,GACiC,CAAA;AACvC,CAAC,CAAA"}
@@ -6,17 +6,20 @@ import { MaterialRulesDialog } from '../../dialogs';
6
6
  import { MaterialTutorialDisplay } from '../../tutorial/MaterialTutorialDisplay';
7
7
  import { DropPreview } from './DropPreview';
8
8
  import { DynamicItemsDisplay } from './DynamicItemsDisplay';
9
- import { FocusProvider } from './focus';
9
+ import { FocusProvider, NoZoomFocusProvider } from './focus';
10
+ import { useGameTableContext } from './GameTableContext';
10
11
  import { StaticItemsDisplay } from './StaticItemsDisplay';
11
12
  import { StaticLocationsDisplay } from './StaticLocationsDisplay';
12
13
  var displayHelp = MaterialMoveBuilder.displayHelp;
13
14
  export const GameMaterialDisplay = ({ boundaries, children }) => {
14
15
  const rules = useRules();
15
16
  const play = usePlay();
17
+ const { zoom } = useGameTableContext();
16
18
  if (!rules || !rules.game)
17
19
  return _jsx(_Fragment, {});
18
20
  const game = rules.game;
19
- return _jsxs(FocusProvider, { children: [_jsx(StaticLocationsDisplay, { boundaries: boundaries }), _jsx(StaticItemsDisplay, { boundaries: boundaries }), _jsx(DynamicItemsDisplay, { boundaries: boundaries }), _jsx("div", { css: dropPreviewWrapper, children: _jsx(DropPreview, { boundaries: boundaries }) }), _jsx(MaterialRulesDialog, { open: !!game?.helpDisplay, close: () => play(displayHelp(undefined), { transient: true }) }), game?.tutorial && _jsx(MaterialTutorialDisplay, {}), children] });
21
+ const Provider = zoom ? FocusProvider : NoZoomFocusProvider;
22
+ return _jsxs(Provider, { children: [_jsx(StaticLocationsDisplay, { boundaries: boundaries }), _jsx(StaticItemsDisplay, { boundaries: boundaries }), _jsx(DynamicItemsDisplay, { boundaries: boundaries }), _jsx("div", { css: dropPreviewWrapper, children: _jsx(DropPreview, { boundaries: boundaries }) }), _jsx(MaterialRulesDialog, { open: !!game?.helpDisplay, close: () => play(displayHelp(undefined), { transient: true }) }), game?.tutorial && _jsx(MaterialTutorialDisplay, {}), children] });
20
23
  };
21
24
  const dropPreviewWrapper = css `
22
25
  position: absolute;
@@ -1 +1 @@
1
- {"version":3,"file":"GameMaterialDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameMaterialDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAkB,mBAAmB,EAAiB,MAAM,qBAAqB,CAAA;AAExF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,IAAO,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAA;AAOpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAA4B,EAAE,EAAE;IACxF,MAAM,KAAK,GAAG,QAAQ,EAAiB,CAAA;IACvC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,mBAAK,CAAA;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAEvB,OAAO,MAAC,aAAa,eACnB,KAAC,sBAAsB,IAAC,UAAU,EAAE,UAAU,GAAG,EACjD,KAAC,kBAAkB,IAAC,UAAU,EAAE,UAAU,GAAG,EAC7C,KAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,GAAG,EAC9C,cAAK,GAAG,EAAE,kBAAkB,YAAE,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAG,GAAM,EAC1E,KAAC,mBAAmB,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,EAChH,IAAI,EAAE,QAAQ,IAAI,KAAC,uBAAuB,KAAE,EAC5C,QAAQ,IACK,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;CAG7B,CAAA"}
1
+ {"version":3,"file":"GameMaterialDisplay.js","sourceRoot":"","sources":["../../../../src/components/material/GameTable/GameMaterialDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAkB,mBAAmB,EAAiB,MAAM,qBAAqB,CAAA;AAExF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,IAAO,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAA;AAOpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAA4B,EAAE,EAAE;IACxF,MAAM,KAAK,GAAG,QAAQ,EAAiB,CAAA;IACvC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAEtC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,mBAAK,CAAA;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAA;IAE3D,OAAO,MAAC,QAAQ,eACd,KAAC,sBAAsB,IAAC,UAAU,EAAE,UAAU,GAAG,EACjD,KAAC,kBAAkB,IAAC,UAAU,EAAE,UAAU,GAAG,EAC7C,KAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,GAAG,EAC9C,cAAK,GAAG,EAAE,kBAAkB,YAAE,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAG,GAAM,EAC1E,KAAC,mBAAmB,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,EAChH,IAAI,EAAE,QAAQ,IAAI,KAAC,uBAAuB,KAAE,EAC5C,QAAQ,IACA,CAAA;AACb,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;CAG7B,CAAA"}
@@ -16,5 +16,6 @@ export type GameTableProps = {
16
16
  };
17
17
  tableFontSize?: number;
18
18
  verticalCenter?: boolean;
19
+ zoom?: boolean;
19
20
  } & HTMLAttributes<HTMLDivElement>;
20
21
  export declare const GameTable: FC<GameTableProps>;