react-native-chess-kit 0.4.2 → 0.5.1

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 (82) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/lib/commonjs/board-annotations.js +8 -8
  4. package/lib/commonjs/board-arrows.js +7 -7
  5. package/lib/commonjs/board-background.js +5 -5
  6. package/lib/commonjs/board-coordinates.js +78 -11
  7. package/lib/commonjs/board-coordinates.js.map +1 -1
  8. package/lib/commonjs/board-drag-ghost.js +10 -10
  9. package/lib/commonjs/board-highlights.js +15 -15
  10. package/lib/commonjs/board-legal-dots.js +5 -5
  11. package/lib/commonjs/board-piece.js +25 -25
  12. package/lib/commonjs/board-pieces.js +6 -6
  13. package/lib/commonjs/board.js +76 -35
  14. package/lib/commonjs/board.js.map +1 -1
  15. package/lib/commonjs/constants.js +4 -1
  16. package/lib/commonjs/constants.js.map +1 -1
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/promotion-picker.js +8 -8
  19. package/lib/commonjs/static-board.js +51 -16
  20. package/lib/commonjs/static-board.js.map +1 -1
  21. package/lib/commonjs/use-board-gesture.js +52 -33
  22. package/lib/commonjs/use-board-gesture.js.map +1 -1
  23. package/lib/commonjs/use-board-pieces.js +15 -15
  24. package/lib/commonjs/use-board-state.js +8 -8
  25. package/lib/commonjs/use-premove.js +12 -12
  26. package/lib/module/board-annotations.js +8 -8
  27. package/lib/module/board-arrows.js +7 -7
  28. package/lib/module/board-background.js +5 -5
  29. package/lib/module/board-coordinates.js +79 -12
  30. package/lib/module/board-coordinates.js.map +1 -1
  31. package/lib/module/board-drag-ghost.js +10 -10
  32. package/lib/module/board-highlights.js +15 -15
  33. package/lib/module/board-legal-dots.js +5 -5
  34. package/lib/module/board-piece.js +25 -25
  35. package/lib/module/board-pieces.js +6 -6
  36. package/lib/module/board.js +77 -36
  37. package/lib/module/board.js.map +1 -1
  38. package/lib/module/constants.js +3 -0
  39. package/lib/module/constants.js.map +1 -1
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/promotion-picker.js +8 -8
  42. package/lib/module/static-board.js +52 -17
  43. package/lib/module/static-board.js.map +1 -1
  44. package/lib/module/use-board-gesture.js +52 -33
  45. package/lib/module/use-board-gesture.js.map +1 -1
  46. package/lib/module/use-board-pieces.js +15 -15
  47. package/lib/module/use-board-state.js +8 -8
  48. package/lib/module/use-premove.js +12 -12
  49. package/lib/typescript/board-coordinates.d.ts +10 -4
  50. package/lib/typescript/board-coordinates.d.ts.map +1 -1
  51. package/lib/typescript/board.d.ts.map +1 -1
  52. package/lib/typescript/constants.d.ts +2 -0
  53. package/lib/typescript/constants.d.ts.map +1 -1
  54. package/lib/typescript/index.d.ts +1 -1
  55. package/lib/typescript/index.d.ts.map +1 -1
  56. package/lib/typescript/static-board.d.ts.map +1 -1
  57. package/lib/typescript/types.d.ts +23 -3
  58. package/lib/typescript/types.d.ts.map +1 -1
  59. package/lib/typescript/use-board-gesture.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/src/board-annotations.tsx +147 -147
  62. package/src/board-arrows.tsx +197 -197
  63. package/src/board-background.tsx +46 -46
  64. package/src/board-coordinates.tsx +192 -98
  65. package/src/board-drag-ghost.tsx +132 -132
  66. package/src/board-highlights.tsx +226 -226
  67. package/src/board-legal-dots.tsx +73 -73
  68. package/src/board-piece.tsx +160 -160
  69. package/src/board-pieces.tsx +63 -63
  70. package/src/board.tsx +685 -641
  71. package/src/constants.ts +103 -100
  72. package/src/index.ts +101 -100
  73. package/src/pieces/default-pieces.tsx +383 -383
  74. package/src/pieces/index.ts +1 -1
  75. package/src/promotion-picker.tsx +147 -147
  76. package/src/static-board.tsx +187 -150
  77. package/src/themes.ts +129 -129
  78. package/src/types.ts +373 -352
  79. package/src/use-board-gesture.ts +429 -412
  80. package/src/use-board-pieces.ts +158 -158
  81. package/src/use-board-state.ts +111 -111
  82. package/src/use-premove.ts +59 -59
@@ -13,15 +13,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  // Static highlights (View-based, no animation needed)
14
14
  // ---------------------------------------------------------------------------
15
15
 
16
- /**
17
- * Renders all board square highlights as a single layer.
18
- *
19
- * Combines multiple highlight sources (last move, check, selected piece,
20
- * premoves, custom, and imperative) into one flat list of colored rectangles.
21
- * Rendered between the background and pieces layers.
22
- *
23
- * Uses plain Views (not Animated) because highlights change discretely
24
- * on move events, not during animation frames.
16
+ /**
17
+ * Renders all board square highlights as a single layer.
18
+ *
19
+ * Combines multiple highlight sources (last move, check, selected piece,
20
+ * premoves, custom, and imperative) into one flat list of colored rectangles.
21
+ * Rendered between the background and pieces layers.
22
+ *
23
+ * Uses plain Views (not Animated) because highlights change discretely
24
+ * on move events, not during animation frames.
25
25
  */
26
26
  export const BoardHighlights = /*#__PURE__*/React.memo(function BoardHighlights({
27
27
  boardSize,
@@ -125,9 +125,9 @@ export const BoardHighlights = /*#__PURE__*/React.memo(function BoardHighlights(
125
125
  // Drag target highlight (Animated, updates on UI thread during drag)
126
126
  // ---------------------------------------------------------------------------
127
127
 
128
- /**
129
- * Highlight on the square currently under the dragged piece.
130
- * Uses Reanimated shared values for zero-JS-bridge updates during drag.
128
+ /**
129
+ * Highlight on the square currently under the dragged piece.
130
+ * Uses Reanimated shared values for zero-JS-bridge updates during drag.
131
131
  */
132
132
  export const DragTargetHighlight = /*#__PURE__*/React.memo(function DragTargetHighlight({
133
133
  squareSize,
@@ -177,9 +177,9 @@ export const DragTargetHighlight = /*#__PURE__*/React.memo(function DragTargetHi
177
177
  // Standalone SquareHighlight (exported for advanced consumers)
178
178
  // ---------------------------------------------------------------------------
179
179
 
180
- /**
181
- * Single square highlight component.
182
- * Exported for consumers who build their own overlay layers.
180
+ /**
181
+ * Single square highlight component.
182
+ * Exported for consumers who build their own overlay layers.
183
183
  */
184
184
  export const SquareHighlight = /*#__PURE__*/React.memo(function SquareHighlight({
185
185
  square,
@@ -4,11 +4,11 @@ import React from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { squareToXY } from './use-board-pieces';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- /**
8
- * Legal move indicator dots, rendered only when a piece is selected.
9
- *
10
- * Dots are CONDITIONALLY rendered (only for actual legal move squares,
11
- * typically 5-15) instead of always mounting 64 invisible dot views.
7
+ /**
8
+ * Legal move indicator dots, rendered only when a piece is selected.
9
+ *
10
+ * Dots are CONDITIONALLY rendered (only for actual legal move squares,
11
+ * typically 5-15) instead of always mounting 64 invisible dot views.
12
12
  */
13
13
  export const BoardLegalDots = /*#__PURE__*/React.memo(function BoardLegalDots({
14
14
  legalMoves,
@@ -4,9 +4,9 @@ import React, { useEffect } from 'react';
4
4
  import Animated, { useAnimatedStyle, useSharedValue, withTiming, withSpring } from 'react-native-reanimated';
5
5
  import { DEFAULT_MOVE_DURATION } from './constants';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- /**
8
- * Animate a shared value using the provided AnimationConfig.
9
- * Falls back to withTiming with moveDuration for backwards compatibility.
7
+ /**
8
+ * Animate a shared value using the provided AnimationConfig.
9
+ * Falls back to withTiming with moveDuration for backwards compatibility.
10
10
  */
11
11
  function animateValue(target, config, moveDuration) {
12
12
  if (config) {
@@ -29,28 +29,28 @@ function animateValue(target, config, moveDuration) {
29
29
  });
30
30
  }
31
31
 
32
- /**
33
- * A single animated chess piece.
34
- *
35
- * Uses two nested Animated.Views to avoid the Reanimated warning
36
- * "Property opacity may be overwritten by a layout animation":
37
- *
38
- * Outer view: position (transform) + exiting layout animation (FadeOut)
39
- * Inner view: drag-hide opacity
40
- *
41
- * Only `transform` and `opacity` are animated — Reanimated's fast path
42
- * on Android. No layout properties (top/left/width/height), avoiding
43
- * costly layout recalculations on low-end devices.
44
- *
45
- * During drag:
46
- * - Inner view hides (opacity: 0) — the drag ghost shows instead
47
- *
48
- * After a move:
49
- * - Outer view snaps to new position via withTiming/withSpring
50
- *
51
- * On capture (unmount):
52
- * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
53
- * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
32
+ /**
33
+ * A single animated chess piece.
34
+ *
35
+ * Uses two nested Animated.Views to avoid the Reanimated warning
36
+ * "Property opacity may be overwritten by a layout animation":
37
+ *
38
+ * Outer view: position (transform) + exiting layout animation (FadeOut)
39
+ * Inner view: drag-hide opacity
40
+ *
41
+ * Only `transform` and `opacity` are animated — Reanimated's fast path
42
+ * on Android. No layout properties (top/left/width/height), avoiding
43
+ * costly layout recalculations on low-end devices.
44
+ *
45
+ * During drag:
46
+ * - Inner view hides (opacity: 0) — the drag ghost shows instead
47
+ *
48
+ * After a move:
49
+ * - Outer view snaps to new position via withTiming/withSpring
50
+ *
51
+ * On capture (unmount):
52
+ * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
53
+ * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
54
54
  */
55
55
  export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
56
56
  targetX,
@@ -4,12 +4,12 @@ import React from 'react';
4
4
  import { BoardPieceView } from './board-piece';
5
5
  import { squareToXY } from './use-board-pieces';
6
6
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
- /**
8
- * Renders all pieces on the board.
9
- *
10
- * Each piece gets a stable key (from useBoardPieces) so React doesn't
11
- * unmount/remount pieces that moved — it updates their position props
12
- * and the BoardPieceView animates the transition.
7
+ /**
8
+ * Renders all pieces on the board.
9
+ *
10
+ * Each piece gets a stable key (from useBoardPieces) so React doesn't
11
+ * unmount/remount pieces that moved — it updates their position props
12
+ * and the BoardPieceView animates the transition.
13
13
  */
14
14
  export const BoardPiecesLayer = /*#__PURE__*/React.memo(function BoardPiecesLayer({
15
15
  pieces,
@@ -4,7 +4,7 @@ import React, { forwardRef, useState, useCallback, useImperativeHandle, useEffec
4
4
  import { View } from 'react-native';
5
5
  import { GestureDetector } from 'react-native-gesture-handler';
6
6
  import { useSharedValue, withTiming, FadeOut } from 'react-native-reanimated';
7
- import { DEFAULT_BOARD_COLORS, DEFAULT_MOVE_DURATION, DEFAULT_LAST_MOVE_COLOR, DEFAULT_CHECK_COLOR, DEFAULT_SELECTED_COLOR, DEFAULT_PREMOVE_COLOR, DEFAULT_DRAG_TARGET_COLOR, CAPTURE_FADE_DURATION } from './constants';
7
+ import { DEFAULT_BOARD_COLORS, DEFAULT_MOVE_DURATION, DEFAULT_LAST_MOVE_COLOR, DEFAULT_CHECK_COLOR, DEFAULT_SELECTED_COLOR, DEFAULT_PREMOVE_COLOR, DEFAULT_DRAG_TARGET_COLOR, CAPTURE_FADE_DURATION, COORDINATE_GUTTER_SCALE } from './constants';
8
8
  import { DefaultPieceSet } from './pieces';
9
9
  import { useBoardPieces } from './use-board-pieces';
10
10
  import { useBoardState } from './use-board-state';
@@ -24,9 +24,9 @@ import { PromotionPicker } from './promotion-picker';
24
24
  // Check detection helper
25
25
  // ---------------------------------------------------------------------------
26
26
 
27
- /**
28
- * Find the king square for the side currently in check.
29
- * Returns null if not in check.
27
+ /**
28
+ * Find the king square for the side currently in check.
29
+ * Returns null if not in check.
30
30
  */
31
31
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
32
32
  function detectCheckSquare(fen, isInCheck, getTurn) {
@@ -57,27 +57,27 @@ function detectCheckSquare(fen, isInCheck, getTurn) {
57
57
  // Board component
58
58
  // ---------------------------------------------------------------------------
59
59
 
60
- /**
61
- * High-performance custom chess board built on Reanimated + Gesture Handler.
62
- *
63
- * Architecture:
64
- * - 1 gesture handler (vs 32 in typical implementations)
65
- * - ~40 components mounted (vs ~281)
66
- * - ~75 native views (vs ~470)
67
- * - 0 React Context providers
68
- * - 0 re-renders during drag (pure worklet — only 2 shared value writes per frame)
69
- *
70
- * v0.2.0 layer stack (10 layers):
71
- * 1. BoardBackground (64 squares)
72
- * 2. BoardCoordinates (a-h, 1-8)
73
- * 3. BoardHighlights (last move, check, selected, premove, custom, imperative)
74
- * 4. DragTargetHighlight (animated, worklet-driven)
75
- * 5. BoardLegalDots (legal move indicators)
76
- * 6. BoardPiecesLayer (all pieces)
77
- * 7. BoardArrows (SVG arrows + circles)
78
- * 8. BoardAnnotations (text badges)
79
- * 9. BoardDragGhost (floating piece)
80
- * 10. PromotionPicker (modal, conditional)
60
+ /**
61
+ * High-performance custom chess board built on Reanimated + Gesture Handler.
62
+ *
63
+ * Architecture:
64
+ * - 1 gesture handler (vs 32 in typical implementations)
65
+ * - ~40 components mounted (vs ~281)
66
+ * - ~75 native views (vs ~470)
67
+ * - 0 React Context providers
68
+ * - 0 re-renders during drag (pure worklet — only 2 shared value writes per frame)
69
+ *
70
+ * v0.2.0 layer stack (10 layers):
71
+ * 1. BoardBackground (64 squares)
72
+ * 2. BoardCoordinates (a-h, 1-8)
73
+ * 3. BoardHighlights (last move, check, selected, premove, custom, imperative)
74
+ * 4. DragTargetHighlight (animated, worklet-driven)
75
+ * 5. BoardLegalDots (legal move indicators)
76
+ * 6. BoardPiecesLayer (all pieces)
77
+ * 7. BoardArrows (SVG arrows + circles)
78
+ * 8. BoardAnnotations (text badges)
79
+ * 9. BoardDragGhost (floating piece)
80
+ * 10. PromotionPicker (modal, conditional)
81
81
  */
82
82
  export const Board = /*#__PURE__*/forwardRef(function Board({
83
83
  fen,
@@ -92,8 +92,9 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
92
92
  premovesEnabled = false,
93
93
  // Appearance
94
94
  colors,
95
- withLetters = true,
96
- withNumbers = true,
95
+ coordinatePosition: coordinatePositionProp,
96
+ withLetters: withLettersProp,
97
+ withNumbers: withNumbersProp,
97
98
  renderPiece,
98
99
  pieceSet,
99
100
  // Overlays
@@ -135,10 +136,19 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
135
136
  } = e.nativeEvent.layout;
136
137
  setMeasuredSize(Math.min(width, height));
137
138
  }, []);
138
- const boardSize = boardSizeProp ?? measuredSize;
139
- const squareSize = boardSize / 8;
139
+ const outerSize = boardSizeProp ?? measuredSize;
140
140
  const boardColors = colors ?? DEFAULT_BOARD_COLORS;
141
141
 
142
+ // Resolve coordinate position: new prop takes precedence over legacy booleans
143
+ const coordinatePosition = coordinatePositionProp ?? (withLettersProp === false && withNumbersProp === false ? 'none' : 'inside');
144
+ const isOutside = coordinatePosition === 'outside';
145
+ const isCoordVisible = coordinatePosition !== 'none';
146
+
147
+ // When outside: reserve gutter space; inner board = outer minus gutters
148
+ const gutterWidth = isOutside ? Math.round(outerSize / 8 * COORDINATE_GUTTER_SCALE) : 0;
149
+ const boardSize = isOutside ? outerSize - gutterWidth : outerSize;
150
+ const squareSize = boardSize / 8;
151
+
142
152
  // Resolve piece exit animation: null = disabled, undefined = default FadeOut
143
153
  const resolvedPieceExitAnimation = pieceExitAnimation === null ? undefined : pieceExitAnimation ?? FadeOut.duration(CAPTURE_FADE_DURATION);
144
154
 
@@ -459,7 +469,7 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
459
469
  }));
460
470
 
461
471
  // If no size yet (auto-sizing), render invisible container for measurement
462
- if (boardSize === 0) {
472
+ if (outerSize === 0) {
463
473
  return /*#__PURE__*/_jsx(View, {
464
474
  style: {
465
475
  flex: 1,
@@ -468,27 +478,36 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
468
478
  onLayout: handleLayout
469
479
  });
470
480
  }
471
- return /*#__PURE__*/_jsx(GestureDetector, {
481
+
482
+ // Inner board with all interactive layers
483
+ const boardContent = /*#__PURE__*/_jsx(GestureDetector, {
472
484
  gesture: gesture,
473
485
  children: /*#__PURE__*/_jsxs(View, {
474
- style: {
486
+ style: isOutside ? {
487
+ width: boardSize,
488
+ height: boardSize,
489
+ position: 'absolute',
490
+ top: 0,
491
+ right: 0
492
+ } : {
475
493
  width: boardSize,
476
494
  height: boardSize
477
495
  },
478
- onLayout: boardSizeProp ? undefined : handleLayout,
496
+ onLayout: !isOutside && !boardSizeProp ? handleLayout : undefined,
479
497
  accessibilityLabel: "Chess board",
480
498
  accessibilityRole: "adjustable",
481
499
  children: [/*#__PURE__*/_jsx(BoardBackground, {
482
500
  boardSize: boardSize,
483
501
  lightColor: boardColors.light,
484
502
  darkColor: boardColors.dark
485
- }), /*#__PURE__*/_jsx(BoardCoordinates, {
503
+ }), isCoordVisible && !isOutside && /*#__PURE__*/_jsx(BoardCoordinates, {
486
504
  boardSize: boardSize,
487
505
  orientation: orientation,
488
506
  lightColor: boardColors.light,
489
507
  darkColor: boardColors.dark,
490
- withLetters: withLetters,
491
- withNumbers: withNumbers
508
+ withLetters: true,
509
+ withNumbers: true,
510
+ position: "inside"
492
511
  }), /*#__PURE__*/_jsx(BoardHighlights, {
493
512
  boardSize: boardSize,
494
513
  orientation: orientation,
@@ -554,5 +573,27 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
554
573
  })]
555
574
  })
556
575
  });
576
+
577
+ // Outside coordinates: wrap board in outer container with gutter
578
+ if (isOutside) {
579
+ return /*#__PURE__*/_jsxs(View, {
580
+ style: {
581
+ width: outerSize,
582
+ height: boardSize + gutterWidth
583
+ },
584
+ onLayout: boardSizeProp ? undefined : handleLayout,
585
+ children: [boardContent, /*#__PURE__*/_jsx(BoardCoordinates, {
586
+ boardSize: boardSize,
587
+ orientation: orientation,
588
+ lightColor: boardColors.light,
589
+ darkColor: boardColors.dark,
590
+ withLetters: true,
591
+ withNumbers: true,
592
+ position: "outside",
593
+ gutterWidth: gutterWidth
594
+ })]
595
+ });
596
+ }
597
+ return boardContent;
557
598
  });
558
599
  //# sourceMappingURL=board.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useState","useCallback","useImperativeHandle","useEffect","useMemo","useRef","View","GestureDetector","useSharedValue","withTiming","FadeOut","DEFAULT_BOARD_COLORS","DEFAULT_MOVE_DURATION","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","CAPTURE_FADE_DURATION","DefaultPieceSet","useBoardPieces","useBoardState","useBoardGesture","usePremove","BoardBackground","BoardCoordinates","BoardHighlights","DragTargetHighlight","BoardLegalDots","BoardPiecesLayer","BoardDragGhost","BoardArrows","BoardAnnotations","PromotionPicker","jsx","_jsx","jsxs","_jsxs","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","checkHighlightColor","selectedSquareColor","premoveColor","dragTargetColor","moveDuration","animationConfig","animateFlip","pieceExitAnimation","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","resolvedPieceExitAnimation","undefined","duration","flipRotation","prevOrientationRef","current","value","internalFen","setInternalFen","boardState","loadFen","pieces","checkSquareState","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","promotionState","setPromotionState","resolvedRenderer","set","code","size","renderer","style","isPromotionMove","from","to","piece","find","p","square","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","result","applyMove","applied","handlePromotionSelect","promo","toLowerCase","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","promotion","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","children","accessibilityLabel","accessibilityRole","lightColor","light","darkColor","dark","checkSquare","checkColor","selectedColor","premoveSquares","dragTargetSquare","activeSquare","isDragging","exitingAnimation","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useState","useCallback","useImperativeHandle","useEffect","useMemo","useRef","View","GestureDetector","useSharedValue","withTiming","FadeOut","DEFAULT_BOARD_COLORS","DEFAULT_MOVE_DURATION","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","CAPTURE_FADE_DURATION","COORDINATE_GUTTER_SCALE","DefaultPieceSet","useBoardPieces","useBoardState","useBoardGesture","usePremove","BoardBackground","BoardCoordinates","BoardHighlights","DragTargetHighlight","BoardLegalDots","BoardPiecesLayer","BoardDragGhost","BoardArrows","BoardAnnotations","PromotionPicker","jsx","_jsx","jsxs","_jsxs","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","coordinatePosition","coordinatePositionProp","withLetters","withLettersProp","withNumbers","withNumbersProp","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","checkHighlightColor","selectedSquareColor","premoveColor","dragTargetColor","moveDuration","animationConfig","animateFlip","pieceExitAnimation","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","outerSize","boardColors","isOutside","isCoordVisible","gutterWidth","round","squareSize","resolvedPieceExitAnimation","undefined","duration","flipRotation","prevOrientationRef","current","value","internalFen","setInternalFen","boardState","loadFen","pieces","checkSquareState","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","promotionState","setPromotionState","resolvedRenderer","set","code","size","renderer","style","isPromotionMove","from","to","piece","find","p","square","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","result","applyMove","applied","handlePromotionSelect","promo","toLowerCase","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","promotion","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","boardContent","children","position","top","right","accessibilityLabel","accessibilityRole","lightColor","light","darkColor","dark","checkSquare","checkColor","selectedColor","premoveSquares","dragTargetSquare","activeSquare","isDragging","exitingAnimation","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
@@ -75,6 +75,9 @@ export const ANNOTATION_SCALE = 0.35;
75
75
  /** Coordinate font size as fraction of square size */
76
76
  export const COORDINATE_FONT_SCALE = 0.22;
77
77
 
78
+ /** Outside-coordinate gutter width as fraction of square size */
79
+ export const COORDINATE_GUTTER_SCALE = 0.45;
80
+
78
81
  /** Drag ghost scale factor (1.1x larger than normal piece) */
79
82
  export const DRAG_GHOST_SCALE = 1.1;
80
83
 
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_BOARD_COLORS","light","dark","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DEFAULT_ARROW_COLOR","DEFAULT_SHAPE_COLOR","DEFAULT_ANNOTATION_BG","DEFAULT_ANNOTATION_TEXT","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","DOT_SCALE","RING_SCALE","RING_BORDER_RATIO","ARROW_STROKE_WIDTH","ARROW_HEAD_SIZE","ARROW_SHORTEN_BY","ANNOTATION_SCALE","COORDINATE_FONT_SCALE","DRAG_GHOST_SCALE","PROMOTION_PIECE_PADDING","PIECE_CODES","SQUARE_INDICES","Array","from","length","_","i","FILES_WHITE","FILES_BLACK","RANKS_WHITE","RANKS_BLACK"],"sourceRoot":"..\\..\\src","sources":["constants.ts"],"mappings":";;AAEA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,oBAAiC,GAAG;EAC/CC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE;AACR,CAAC;;AAED;AACA,OAAO,MAAMC,uBAAuB,GAAG,wBAAwB;;AAE/D;AACA,OAAO,MAAMC,mBAAmB,GAAG,wBAAwB;;AAE3D;AACA,OAAO,MAAMC,sBAAsB,GAAG,wBAAwB;;AAE9D;AACA,OAAO,MAAMC,qBAAqB,GAAG,wBAAwB;;AAE7D;AACA,OAAO,MAAMC,yBAAyB,GAAG,oBAAoB;;AAE7D;AACA,OAAO,MAAMC,mBAAmB,GAAG,0BAA0B;;AAE7D;AACA,OAAO,MAAMC,mBAAmB,GAAG,wBAAwB;;AAE3D;AACA,OAAO,MAAMC,qBAAqB,GAAG,wBAAwB;;AAE7D;AACA,OAAO,MAAMC,uBAAuB,GAAG,SAAS;;AAEhD;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,qBAAqB,GAAG,GAAG;;AAExC;AACA,OAAO,MAAMC,qBAAqB,GAAG,GAAG;;AAExC;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,SAAS,GAAG,IAAI;;AAE7B;AACA,OAAO,MAAMC,UAAU,GAAG,IAAI;;AAE9B;AACA,OAAO,MAAMC,iBAAiB,GAAG,IAAI;;AAErC;AACA,OAAO,MAAMC,kBAAkB,GAAG,GAAG;;AAErC;AACA,OAAO,MAAMC,eAAe,GAAG,GAAG;;AAElC;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAAC;;AAEjC;AACA,OAAO,MAAMC,gBAAgB,GAAG,IAAI;;AAEpC;AACA,OAAO,MAAMC,qBAAqB,GAAG,IAAI;;AAEzC;AACA,OAAO,MAAMC,gBAAgB,GAAG,GAAG;;AAEnC;AACA,OAAO,MAAMC,uBAAuB,GAAG,GAAG;;AAE1C;AACA;AACA;;AAEA,OAAO,MAAMC,WAAW,GAAG,CACzB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAC1B;;AAEV;AACA,OAAO,MAAMC,cAAc,GAAGC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;;AAErE;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AAC5E,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AAC5E,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AAC5E,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_BOARD_COLORS","light","dark","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DEFAULT_ARROW_COLOR","DEFAULT_SHAPE_COLOR","DEFAULT_ANNOTATION_BG","DEFAULT_ANNOTATION_TEXT","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","DOT_SCALE","RING_SCALE","RING_BORDER_RATIO","ARROW_STROKE_WIDTH","ARROW_HEAD_SIZE","ARROW_SHORTEN_BY","ANNOTATION_SCALE","COORDINATE_FONT_SCALE","COORDINATE_GUTTER_SCALE","DRAG_GHOST_SCALE","PROMOTION_PIECE_PADDING","PIECE_CODES","SQUARE_INDICES","Array","from","length","_","i","FILES_WHITE","FILES_BLACK","RANKS_WHITE","RANKS_BLACK"],"sourceRoot":"..\\..\\src","sources":["constants.ts"],"mappings":";;AAEA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,oBAAiC,GAAG;EAC/CC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE;AACR,CAAC;;AAED;AACA,OAAO,MAAMC,uBAAuB,GAAG,wBAAwB;;AAE/D;AACA,OAAO,MAAMC,mBAAmB,GAAG,wBAAwB;;AAE3D;AACA,OAAO,MAAMC,sBAAsB,GAAG,wBAAwB;;AAE9D;AACA,OAAO,MAAMC,qBAAqB,GAAG,wBAAwB;;AAE7D;AACA,OAAO,MAAMC,yBAAyB,GAAG,oBAAoB;;AAE7D;AACA,OAAO,MAAMC,mBAAmB,GAAG,0BAA0B;;AAE7D;AACA,OAAO,MAAMC,mBAAmB,GAAG,wBAAwB;;AAE3D;AACA,OAAO,MAAMC,qBAAqB,GAAG,wBAAwB;;AAE7D;AACA,OAAO,MAAMC,uBAAuB,GAAG,SAAS;;AAEhD;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,qBAAqB,GAAG,GAAG;;AAExC;AACA,OAAO,MAAMC,qBAAqB,GAAG,GAAG;;AAExC;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,SAAS,GAAG,IAAI;;AAE7B;AACA,OAAO,MAAMC,UAAU,GAAG,IAAI;;AAE9B;AACA,OAAO,MAAMC,iBAAiB,GAAG,IAAI;;AAErC;AACA,OAAO,MAAMC,kBAAkB,GAAG,GAAG;;AAErC;AACA,OAAO,MAAMC,eAAe,GAAG,GAAG;;AAElC;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAAC;;AAEjC;AACA,OAAO,MAAMC,gBAAgB,GAAG,IAAI;;AAEpC;AACA,OAAO,MAAMC,qBAAqB,GAAG,IAAI;;AAEzC;AACA,OAAO,MAAMC,uBAAuB,GAAG,IAAI;;AAE3C;AACA,OAAO,MAAMC,gBAAgB,GAAG,GAAG;;AAEnC;AACA,OAAO,MAAMC,uBAAuB,GAAG,GAAG;;AAE1C;AACA;AACA;;AAEA,OAAO,MAAMC,WAAW,GAAG,CACzB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAC1B;;AAEV;AACA,OAAO,MAAMC,cAAc,GAAGC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;;AAErE;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AAC5E,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AAC5E,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AAC5E,OAAO,MAAMC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Board","StaticBoard","SquareHighlight","Arrow","Annotation","PromotionPicker","DefaultPieceSet","BOARD_THEMES","BOARD_COLORS","DEFAULT_BOARD_COLORS","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DEFAULT_ARROW_COLOR","DEFAULT_SHAPE_COLOR","DEFAULT_ANNOTATION_BG","DEFAULT_ANNOTATION_TEXT","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","squareToXY","xyToSquare"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;AAAA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,WAAW,QAAQ,gBAAgB;;AAE5C;AACA;AACA;;AAEA,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,eAAe,QAAQ,oBAAoB;;AAEpD;AACA;AACA;;AAEA,SAASC,eAAe,QAAQ,UAAU;;AAE1C;AACA;AACA;;AAEA,SAASC,YAAY,EAAEC,YAAY,QAAQ,UAAU;;AAErD;AACA;AACA;;AAEA,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,mBAAmB,EACnBC,sBAAsB,EACtBC,qBAAqB,EACrBC,yBAAyB,EACzBC,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,EACrBC,uBAAuB,EACvBC,qBAAqB,EACrBC,qBAAqB,QAChB,aAAa;;AAEpB;AACA;AACA;;AA2CA;AACA;AACA;;AAEA,SAASC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["Board","StaticBoard","SquareHighlight","Arrow","Annotation","PromotionPicker","DefaultPieceSet","BOARD_THEMES","BOARD_COLORS","DEFAULT_BOARD_COLORS","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DEFAULT_ARROW_COLOR","DEFAULT_SHAPE_COLOR","DEFAULT_ANNOTATION_BG","DEFAULT_ANNOTATION_TEXT","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","squareToXY","xyToSquare"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;AAAA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,WAAW,QAAQ,gBAAgB;;AAE5C;AACA;AACA;;AAEA,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,eAAe,QAAQ,oBAAoB;;AAEpD;AACA;AACA;;AAEA,SAASC,eAAe,QAAQ,UAAU;;AAE1C;AACA;AACA;;AAEA,SAASC,YAAY,EAAEC,YAAY,QAAQ,UAAU;;AAErD;AACA;AACA;;AAEA,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,mBAAmB,EACnBC,sBAAsB,EACtBC,qBAAqB,EACrBC,yBAAyB,EACzBC,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,EACrBC,uBAAuB,EACvBC,qBAAqB,EACrBC,qBAAqB,QAChB,aAAa;;AAEpB;AACA;AACA;;AA4CA;AACA;AACA;;AAEA,SAASC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB","ignoreList":[]}
@@ -22,14 +22,14 @@ function promotionPieceCode(color, piece) {
22
22
  // Component
23
23
  // ---------------------------------------------------------------------------
24
24
 
25
- /**
26
- * Promotion piece picker overlay.
27
- *
28
- * Appears as a vertical column of 4 pieces (Q, R, B, N) anchored to the
29
- * promotion square. Expands downward when promoting on the top edge,
30
- * upward when promoting on the bottom edge.
31
- *
32
- * A semi-transparent backdrop covers the board. Tapping outside cancels.
25
+ /**
26
+ * Promotion piece picker overlay.
27
+ *
28
+ * Appears as a vertical column of 4 pieces (Q, R, B, N) anchored to the
29
+ * promotion square. Expands downward when promoting on the top edge,
30
+ * upward when promoting on the bottom edge.
31
+ *
32
+ * A semi-transparent backdrop covers the board. Tapping outside cancels.
33
33
  */
34
34
  export const PromotionPicker = /*#__PURE__*/React.memo(function PromotionPicker({
35
35
  square,
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React, { useState, useCallback, useMemo } from 'react';
4
4
  import { View } from 'react-native';
5
- import { DEFAULT_BOARD_COLORS, DEFAULT_LAST_MOVE_COLOR } from './constants';
5
+ import { DEFAULT_BOARD_COLORS, DEFAULT_LAST_MOVE_COLOR, COORDINATE_GUTTER_SCALE } from './constants';
6
6
  import { DefaultPieceSet } from './pieces';
7
7
  import { useBoardPieces, squareToXY } from './use-board-pieces';
8
8
  import { BoardBackground } from './board-background';
@@ -11,13 +11,13 @@ import { BoardHighlights } from './board-highlights';
11
11
  import { BoardArrows } from './board-arrows';
12
12
  import { BoardAnnotations } from './board-annotations';
13
13
 
14
- /**
15
- * Non-interactive chess board — optimized for lists, thumbnails, and analysis previews.
16
- *
17
- * No gesture handler, no drag ghost, no legal move dots.
18
- * Just: background + coordinates + highlights + pieces + arrows + annotations.
19
- *
20
- * Significantly lighter than the full Board component.
14
+ /**
15
+ * Non-interactive chess board — optimized for lists, thumbnails, and analysis previews.
16
+ *
17
+ * No gesture handler, no drag ghost, no legal move dots.
18
+ * Just: background + coordinates + highlights + pieces + arrows + annotations.
19
+ *
20
+ * Significantly lighter than the full Board component.
21
21
  */
22
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
23
  export const StaticBoard = /*#__PURE__*/React.memo(function StaticBoard({
@@ -25,7 +25,8 @@ export const StaticBoard = /*#__PURE__*/React.memo(function StaticBoard({
25
25
  orientation = 'white',
26
26
  boardSize: boardSizeProp,
27
27
  colors,
28
- withCoordinates = false,
28
+ coordinatePosition: coordinatePositionProp,
29
+ withCoordinates,
29
30
  renderPiece,
30
31
  pieceSet,
31
32
  lastMove,
@@ -42,10 +43,17 @@ export const StaticBoard = /*#__PURE__*/React.memo(function StaticBoard({
42
43
  } = e.nativeEvent.layout;
43
44
  setMeasuredSize(Math.min(width, height));
44
45
  }, []);
45
- const boardSize = boardSizeProp ?? measuredSize;
46
- const squareSize = boardSize / 8;
46
+ const outerSize = boardSizeProp ?? measuredSize;
47
47
  const boardColors = colors ?? DEFAULT_BOARD_COLORS;
48
48
 
49
+ // Resolve coordinate position: new prop > legacy boolean > 'none'
50
+ const coordinatePosition = coordinatePositionProp ?? (withCoordinates ? 'inside' : 'none');
51
+ const isOutside = coordinatePosition === 'outside';
52
+ const isCoordVisible = coordinatePosition !== 'none';
53
+ const gutterWidth = isOutside ? Math.round(outerSize / 8 * COORDINATE_GUTTER_SCALE) : 0;
54
+ const boardSize = isOutside ? outerSize - gutterWidth : outerSize;
55
+ const squareSize = boardSize / 8;
56
+
49
57
  // --- Piece data from FEN ---
50
58
  const pieces = useBoardPieces(fen);
51
59
 
@@ -67,7 +75,7 @@ export const StaticBoard = /*#__PURE__*/React.memo(function StaticBoard({
67
75
  }, [renderPiece, pieceSet]);
68
76
 
69
77
  // If no size yet (auto-sizing), render invisible container for measurement
70
- if (boardSize === 0) {
78
+ if (outerSize === 0) {
71
79
  return /*#__PURE__*/_jsx(View, {
72
80
  style: {
73
81
  flex: 1,
@@ -76,25 +84,32 @@ export const StaticBoard = /*#__PURE__*/React.memo(function StaticBoard({
76
84
  onLayout: handleLayout
77
85
  });
78
86
  }
79
- return /*#__PURE__*/_jsxs(View, {
80
- style: {
87
+ const boardContent = /*#__PURE__*/_jsxs(View, {
88
+ style: isOutside ? {
89
+ width: boardSize,
90
+ height: boardSize,
91
+ position: 'absolute',
92
+ top: 0,
93
+ right: 0
94
+ } : {
81
95
  width: boardSize,
82
96
  height: boardSize
83
97
  },
84
- onLayout: boardSizeProp ? undefined : handleLayout,
98
+ onLayout: !isOutside && !boardSizeProp ? handleLayout : undefined,
85
99
  accessibilityLabel: "Chess board",
86
100
  accessibilityRole: "image",
87
101
  children: [/*#__PURE__*/_jsx(BoardBackground, {
88
102
  boardSize: boardSize,
89
103
  lightColor: boardColors.light,
90
104
  darkColor: boardColors.dark
91
- }), withCoordinates && /*#__PURE__*/_jsx(BoardCoordinates, {
105
+ }), isCoordVisible && !isOutside && /*#__PURE__*/_jsx(BoardCoordinates, {
92
106
  boardSize: boardSize,
93
107
  orientation: orientation,
94
108
  lightColor: boardColors.light,
95
109
  darkColor: boardColors.dark,
96
110
  withLetters: true,
97
- withNumbers: true
111
+ withNumbers: true,
112
+ position: "inside"
98
113
  }), /*#__PURE__*/_jsx(BoardHighlights, {
99
114
  boardSize: boardSize,
100
115
  orientation: orientation,
@@ -142,5 +157,25 @@ export const StaticBoard = /*#__PURE__*/React.memo(function StaticBoard({
142
157
  annotations: annotations
143
158
  })]
144
159
  });
160
+ if (isOutside) {
161
+ return /*#__PURE__*/_jsxs(View, {
162
+ style: {
163
+ width: outerSize,
164
+ height: boardSize + gutterWidth
165
+ },
166
+ onLayout: boardSizeProp ? undefined : handleLayout,
167
+ children: [boardContent, /*#__PURE__*/_jsx(BoardCoordinates, {
168
+ boardSize: boardSize,
169
+ orientation: orientation,
170
+ lightColor: boardColors.light,
171
+ darkColor: boardColors.dark,
172
+ withLetters: true,
173
+ withNumbers: true,
174
+ position: "outside",
175
+ gutterWidth: gutterWidth
176
+ })]
177
+ });
178
+ }
179
+ return boardContent;
145
180
  });
146
181
  //# sourceMappingURL=static-board.js.map