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
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_pieces","_useBoardPieces","_boardBackground","_boardCoordinates","_boardHighlights","_boardArrows","_boardAnnotations","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StaticBoard","exports","React","memo","fen","orientation","boardSize","boardSizeProp","colors","withCoordinates","renderPiece","pieceSet","lastMove","highlights","arrows","annotations","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","pieces","useBoardPieces","resolvedRenderer","useMemo","DefaultPieceSet","code","size","renderer","jsx","View","style","flex","aspectRatio","onLayout","jsxs","undefined","accessibilityLabel","accessibilityRole","children","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","withLetters","withNumbers","BoardHighlights","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkColor","selectedColor","premoveColor","position","pointerEvents","map","piece","x","y","squareToXY","square","transform","translateX","translateY","id","length","BoardArrows","BoardAnnotations"],"sourceRoot":"..\\..\\src","sources":["static-board.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_pieces","_useBoardPieces","_boardBackground","_boardCoordinates","_boardHighlights","_boardArrows","_boardAnnotations","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StaticBoard","exports","React","memo","fen","orientation","boardSize","boardSizeProp","colors","coordinatePosition","coordinatePositionProp","withCoordinates","renderPiece","pieceSet","lastMove","highlights","arrows","annotations","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","outerSize","boardColors","DEFAULT_BOARD_COLORS","isOutside","isCoordVisible","gutterWidth","round","COORDINATE_GUTTER_SCALE","squareSize","pieces","useBoardPieces","resolvedRenderer","useMemo","DefaultPieceSet","code","size","renderer","jsx","View","style","flex","aspectRatio","onLayout","boardContent","jsxs","position","top","right","undefined","accessibilityLabel","accessibilityRole","children","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","withLetters","withNumbers","BoardHighlights","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkColor","selectedColor","premoveColor","pointerEvents","map","piece","x","y","squareToXY","square","transform","translateX","translateY","id","length","BoardArrows","BoardAnnotations"],"sourceRoot":"..\\..\\src","sources":["static-board.tsx"],"mappings":"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","ignoreList":[]}
@@ -38,31 +38,31 @@ function pieceColorToPlayer(color) {
38
38
  // Hook
39
39
  // ---------------------------------------------------------------------------
40
40
 
41
- /**
42
- * Single centralized gesture handler for the entire board.
43
- *
44
- * Instead of 32 separate Gesture.Pan() handlers (one per piece), we use ONE
45
- * handler on the board container. Touch -> coordinate math -> which piece.
46
- *
47
- * Supports three modes:
48
- * - 'drag': drag piece to target square
49
- * - 'click': tap source piece, then tap target square
50
- * - 'both': drag or click (default)
51
- *
52
- * All drag position tracking uses shared values — zero JS bridge calls,
53
- * zero re-renders during drag. Only the final move triggers JS via runOnJS.
54
- *
55
- * The gesture object is STABLE (only recreated when squareSize, orientation,
56
- * gestureEnabled, player, or moveMethod change). Frequently-changing data
57
- * (pieces, selectedSquare, legalMoves) is read from refs via runOnJS bridge
58
- * functions, avoiding costly gesture teardown/rebuild on every move.
59
- *
60
- * v0.2.0 additions:
61
- * - Rich callbacks (onPieceClick, onSquareClick, onPieceDragBegin, onPieceDragEnd)
62
- * - Drag target square tracking (shared value for DragTargetHighlight)
63
- * - Premove support (queue move when not your turn)
64
- * - Haptic feedback via callback
65
- * - Long press detection for onSquareLongPress
41
+ /**
42
+ * Single centralized gesture handler for the entire board.
43
+ *
44
+ * Instead of 32 separate Gesture.Pan() handlers (one per piece), we use ONE
45
+ * handler on the board container. Touch -> coordinate math -> which piece.
46
+ *
47
+ * Supports three modes:
48
+ * - 'drag': drag piece to target square
49
+ * - 'click': tap source piece, then tap target square
50
+ * - 'both': drag or click (default)
51
+ *
52
+ * All drag position tracking uses shared values — zero JS bridge calls,
53
+ * zero re-renders during drag. Only the final move triggers JS via runOnJS.
54
+ *
55
+ * The gesture object is STABLE (only recreated when squareSize, orientation,
56
+ * gestureEnabled, player, or moveMethod change). Frequently-changing data
57
+ * (pieces, selectedSquare, legalMoves) is read from refs via runOnJS bridge
58
+ * functions, avoiding costly gesture teardown/rebuild on every move.
59
+ *
60
+ * v0.2.0 additions:
61
+ * - Rich callbacks (onPieceClick, onSquareClick, onPieceDragBegin, onPieceDragEnd)
62
+ * - Drag target square tracking (shared value for DragTargetHighlight)
63
+ * - Premove support (queue move when not your turn)
64
+ * - Haptic feedback via callback
65
+ * - Long press detection for onSquareLongPress
66
66
  */
67
67
  function useBoardGesture({
68
68
  squareSize,
@@ -139,6 +139,7 @@ function useBoardGesture({
139
139
  const legalSquares = new Set(currentLegalMoves.map(m => m.square));
140
140
  if (canClick && currentSelected && legalSquares.has(square)) {
141
141
  cbs.onPieceMoved(currentSelected, square);
142
+ // Clear optimistic worklet value — move is complete
142
143
  activeSquare.value = null;
143
144
  isDragging.value = false;
144
145
  dragPieceCode.value = null;
@@ -146,6 +147,15 @@ function useBoardGesture({
146
147
  rich?.onHaptic?.('move');
147
148
  return;
148
149
  }
150
+
151
+ // Chess.com-style deselect: tapping the already-selected piece toggles it off
152
+ if (canClick && currentSelected === square) {
153
+ cbs.onSelectionCleared();
154
+ activeSquare.value = null;
155
+ dragPieceCode.value = null;
156
+ dragTargetSquare.value = null;
157
+ return;
158
+ }
149
159
  if (isPlayerPiece && piece) {
150
160
  // Premove: player piece but not their turn
151
161
  if (premovesEnabled && !isOwnTurn) {
@@ -162,9 +172,7 @@ function useBoardGesture({
162
172
  return;
163
173
  }
164
174
  // First tap: select the piece for premove
165
- activeSquare.value = square;
166
- dragX.value = touchX;
167
- dragY.value = touchY;
175
+ // activeSquare.value / dragX.value / dragY.value already set by onBegin worklet
168
176
  dragPieceCode.value = piece.code;
169
177
  cbs.onPieceSelected(square);
170
178
  rich?.onPieceClick?.(square, piece.code);
@@ -173,9 +181,7 @@ function useBoardGesture({
173
181
  }
174
182
 
175
183
  // Normal case: tapped/started dragging a player piece on their turn
176
- activeSquare.value = square;
177
- dragX.value = touchX;
178
- dragY.value = touchY;
184
+ // activeSquare.value / dragX.value / dragY.value already set by onBegin worklet
179
185
  dragPieceCode.value = piece.code;
180
186
  draggedPieceRef.current = {
181
187
  square,
@@ -201,6 +207,8 @@ function useBoardGesture({
201
207
  dragTargetSquare.value = null;
202
208
  return;
203
209
  }
210
+
211
+ // Clear the optimistic worklet value — no valid piece here
204
212
  activeSquare.value = null;
205
213
  dragPieceCode.value = null;
206
214
  dragTargetSquare.value = null;
@@ -255,9 +263,13 @@ function useBoardGesture({
255
263
  } else {
256
264
  callbacksRef.current.onPieceMoved(fromSquare, toSquare);
257
265
  }
266
+
267
+ // Move completed — clear selection
268
+ activeSquare.value = null;
269
+ dragPieceCode.value = null;
258
270
  }
259
- activeSquare.value = null;
260
- dragPieceCode.value = null;
271
+ // When fromSquare === toSquare (tap with no movement), keep selection alive
272
+ // so the user can complete a click-to-move on the next tap.
261
273
  }, [squareSize, orientation, activeSquare, isDragging, dragPieceCode, dragTargetSquare, premovesEnabled]);
262
274
 
263
275
  // Long press handler (separate gesture, composed with pan)
@@ -277,6 +289,13 @@ function useBoardGesture({
277
289
  .onBegin(e => {
278
290
  'worklet';
279
291
 
292
+ // Set shared values IMMEDIATELY on the UI thread so onStart can read them
293
+ // synchronously. xyToSquare is tagged 'worklet' — safe to call here.
294
+ // handleBegin (JS thread) will CLEAR activeSquare if the square is invalid.
295
+ const sq = (0, _useBoardPieces.xyToSquare)(e.x, e.y, squareSize, orientation);
296
+ activeSquare.value = sq;
297
+ dragX.value = e.x;
298
+ dragY.value = e.y;
280
299
  // Bridge to JS for piece lookup + selection logic
281
300
  (0, _reactNativeReanimated.runOnJS)(handleBegin)(e.x, e.y);
282
301
  }).onStart(e => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_useBoardPieces","isPieceTurn","pieceColor","currentTurn","pieceColorToPlayer","color","useBoardGesture","squareSize","orientation","gestureEnabled","player","moveMethod","pieces","callbacks","richCallbacks","premoveCallbacks","premovesEnabled","selectedSquare","legalMoves","activeSquare","useSharedValue","dragX","dragY","isDragging","dragPieceCode","dragTargetSquare","gestureState","piecesRef","useRef","current","selectedSquareRef","legalMovesRef","callbacksRef","richCallbacksRef","premoveCallbacksRef","currentTurnRef","draggedPieceRef","handleBegin","useCallback","touchX","touchY","square","xyToSquare","currentPieces","currentSelected","currentLegalMoves","cbs","rich","canClick","piece","find","p","isPlayerPiece","turn","isOwnTurn","legalSquares","Set","map","m","has","onPieceMoved","value","onHaptic","onPremoveSet","from","to","onSelectionCleared","code","onPieceSelected","onPieceClick","onSquareClick","handleDragStart","dragged","onPieceDragBegin","handleDragUpdate","handleEnd","fromSquare","toSquare","onPieceDragEnd","handleLongPress","onSquareLongPress","canDrag","lastDragTargetCol","lastDragTargetRow","gesture","useMemo","Gesture","Pan","enabled","minDistance","onBegin","e","runOnJS","x","y","onStart","onUpdate","col","Math","max","min","floor","row","onEnd","onFinalize"],"sourceRoot":"..\\..\\src","sources":["use-board-gesture.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_useBoardPieces","isPieceTurn","pieceColor","currentTurn","pieceColorToPlayer","color","useBoardGesture","squareSize","orientation","gestureEnabled","player","moveMethod","pieces","callbacks","richCallbacks","premoveCallbacks","premovesEnabled","selectedSquare","legalMoves","activeSquare","useSharedValue","dragX","dragY","isDragging","dragPieceCode","dragTargetSquare","gestureState","piecesRef","useRef","current","selectedSquareRef","legalMovesRef","callbacksRef","richCallbacksRef","premoveCallbacksRef","currentTurnRef","draggedPieceRef","handleBegin","useCallback","touchX","touchY","square","xyToSquare","currentPieces","currentSelected","currentLegalMoves","cbs","rich","canClick","piece","find","p","isPlayerPiece","turn","isOwnTurn","legalSquares","Set","map","m","has","onPieceMoved","value","onHaptic","onSelectionCleared","onPremoveSet","from","to","code","onPieceSelected","onPieceClick","onSquareClick","handleDragStart","dragged","onPieceDragBegin","handleDragUpdate","handleEnd","fromSquare","toSquare","onPieceDragEnd","handleLongPress","onSquareLongPress","canDrag","lastDragTargetCol","lastDragTargetRow","gesture","useMemo","Gesture","Pan","enabled","minDistance","onBegin","e","sq","x","y","runOnJS","onStart","onUpdate","col","Math","max","min","floor","row","onEnd","onFinalize"],"sourceRoot":"..\\..\\src","sources":["use-board-gesture.ts"],"mappings":"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","ignoreList":[]}
@@ -59,9 +59,9 @@ const FEN_PIECE_MAP = {
59
59
  };
60
60
  const FILES = 'abcdefgh';
61
61
 
62
- /**
63
- * Parse the piece-placement part of a FEN string into an array of pieces.
64
- * Pure function — no React dependencies, suitable for worklets if needed.
62
+ /**
63
+ * Parse the piece-placement part of a FEN string into an array of pieces.
64
+ * Pure function — no React dependencies, suitable for worklets if needed.
65
65
  */
66
66
  function parseFenPieces(fen) {
67
67
  const placement = fen.split(' ')[0];
@@ -91,9 +91,9 @@ function parseFenPieces(fen) {
91
91
  return pieces;
92
92
  }
93
93
 
94
- /**
95
- * Convert square notation to pixel coordinates (top-left corner).
96
- * Orientation-aware: flips the board when playing as black.
94
+ /**
95
+ * Convert square notation to pixel coordinates (top-left corner).
96
+ * Orientation-aware: flips the board when playing as black.
97
97
  */
98
98
  function squareToXY(square, squareSize, orientation) {
99
99
  'worklet';
@@ -109,9 +109,9 @@ function squareToXY(square, squareSize, orientation) {
109
109
  };
110
110
  }
111
111
 
112
- /**
113
- * Convert pixel coordinates to a square notation string.
114
- * Clamps to board bounds. Orientation-aware.
112
+ /**
113
+ * Convert pixel coordinates to a square notation string.
114
+ * Clamps to board bounds. Orientation-aware.
115
115
  */
116
116
  function xyToSquare(x, y, squareSize, orientation) {
117
117
  'worklet';
@@ -126,12 +126,12 @@ function xyToSquare(x, y, squareSize, orientation) {
126
126
  return `${files[fileIdx]}${rankIdx + 1}`;
127
127
  }
128
128
 
129
- /**
130
- * Manages the piece list derived from FEN, with stable IDs for React keys.
131
- *
132
- * Stable IDs prevent unmount/remount cycles when pieces change position.
133
- * A piece keeps its ID as long as it exists on the board — only capture
134
- * (removal) or promotion (code change) creates a new ID.
129
+ /**
130
+ * Manages the piece list derived from FEN, with stable IDs for React keys.
131
+ *
132
+ * Stable IDs prevent unmount/remount cycles when pieces change position.
133
+ * A piece keeps its ID as long as it exists on the board — only capture
134
+ * (removal) or promotion (code change) creates a new ID.
135
135
  */
136
136
  function useBoardPieces(fen) {
137
137
  // Track piece-code counters across renders for stable ID assignment
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useBoardState = useBoardState;
7
7
  var _react = require("react");
8
8
  var _chess = require("chess.js");
9
- /**
10
- * Manages the internal chess.js instance for legal move validation.
11
- *
12
- * This mirrors the visual board state. When the parent passes a new FEN,
13
- * the internal chess.js is synced. Legal move queries and move application
14
- * happen against this instance.
15
- *
16
- * The chess.js instance lives in a ref — no React state, no re-renders.
9
+ /**
10
+ * Manages the internal chess.js instance for legal move validation.
11
+ *
12
+ * This mirrors the visual board state. When the parent passes a new FEN,
13
+ * the internal chess.js is synced. Legal move queries and move application
14
+ * happen against this instance.
15
+ *
16
+ * The chess.js instance lives in a ref — no React state, no re-renders.
17
17
  */
18
18
  function useBoardState(initialFen) {
19
19
  const chessRef = (0, _react.useRef)(null);
@@ -5,18 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.usePremove = usePremove;
7
7
  var _react = require("react");
8
- /**
9
- * Manages a single premove queue (one premove at a time).
10
- *
11
- * Premoves work like lichess:
12
- * 1. When it's not your turn, you can drag/click a move — it queues as a premove
13
- * 2. The premove squares are highlighted with a distinct color
14
- * 3. When your turn begins (FEN changes and it's now your turn), the premove
15
- * is automatically attempted via the board's internal chess.js
16
- * 4. If the premove is legal, it's applied; if not, it's silently discarded
17
- *
18
- * The board.tsx orchestrates this: it calls consumePremove() in a useEffect
19
- * that watches the FEN (turn change), then attempts the move.
8
+ /**
9
+ * Manages a single premove queue (one premove at a time).
10
+ *
11
+ * Premoves work like lichess:
12
+ * 1. When it's not your turn, you can drag/click a move — it queues as a premove
13
+ * 2. The premove squares are highlighted with a distinct color
14
+ * 3. When your turn begins (FEN changes and it's now your turn), the premove
15
+ * is automatically attempted via the board's internal chess.js
16
+ * 4. If the premove is legal, it's applied; if not, it's silently discarded
17
+ *
18
+ * The board.tsx orchestrates this: it calls consumePremove() in a useEffect
19
+ * that watches the FEN (turn change), then attempts the move.
20
20
  */
21
21
  function usePremove() {
22
22
  const [premove, setPremoveState] = (0, _react.useState)(null);
@@ -13,11 +13,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  // Annotations layer
14
14
  // ---------------------------------------------------------------------------
15
15
 
16
- /**
17
- * Text annotation badges on chess squares (!, ?, !!, ??, etc.).
18
- *
19
- * Each annotation appears as a small colored badge at the top-right
20
- * corner of the target square. Positioned absolutely, pointer-events none.
16
+ /**
17
+ * Text annotation badges on chess squares (!, ?, !!, ??, etc.).
18
+ *
19
+ * Each annotation appears as a small colored badge at the top-right
20
+ * corner of the target square. Positioned absolutely, pointer-events none.
21
21
  */
22
22
  export const BoardAnnotations = /*#__PURE__*/React.memo(function BoardAnnotations({
23
23
  boardSize,
@@ -76,9 +76,9 @@ export const BoardAnnotations = /*#__PURE__*/React.memo(function BoardAnnotation
76
76
  // Standalone export for advanced consumers
77
77
  // ---------------------------------------------------------------------------
78
78
 
79
- /**
80
- * Single annotation badge component.
81
- * Exported for consumers who build their own overlay layers.
79
+ /**
80
+ * Single annotation badge component.
81
+ * Exported for consumers who build their own overlay layers.
82
82
  */
83
83
  export const Annotation = /*#__PURE__*/React.memo(function Annotation({
84
84
  square,
@@ -47,13 +47,13 @@ function calculateArrowPath(from, to, shortenBy) {
47
47
  // Combined arrows + shapes SVG layer
48
48
  // ---------------------------------------------------------------------------
49
49
 
50
- /**
51
- * SVG overlay for arrows and shapes drawn on the board.
52
- *
53
- * Uses a percentage-based 100x100 viewBox so coordinates map cleanly
54
- * to the 8x8 grid (each square = 12.5 x 12.5 units).
55
- *
56
- * Renders above the pieces layer so arrows are always visible.
50
+ /**
51
+ * SVG overlay for arrows and shapes drawn on the board.
52
+ *
53
+ * Uses a percentage-based 100x100 viewBox so coordinates map cleanly
54
+ * to the 8x8 grid (each square = 12.5 x 12.5 units).
55
+ *
56
+ * Renders above the pieces layer so arrows are always visible.
57
57
  */
58
58
  export const BoardArrows = /*#__PURE__*/React.memo(function BoardArrows({
59
59
  boardSize,
@@ -3,11 +3,11 @@
3
3
  import React from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
- /**
7
- * 64 static colored squares forming the chess board grid.
8
- *
9
- * These are plain Views with backgroundColor — no animations, no gesture
10
- * handlers. They never re-render after mount unless the board theme changes.
6
+ /**
7
+ * 64 static colored squares forming the chess board grid.
8
+ *
9
+ * These are plain Views with backgroundColor — no animations, no gesture
10
+ * handlers. They never re-render after mount unless the board theme changes.
11
11
  */
12
12
  export const BoardBackground = /*#__PURE__*/React.memo(function BoardBackground({
13
13
  boardSize,
@@ -2,18 +2,20 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { View, Text } from 'react-native';
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  const FILES_WHITE = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
7
7
  const FILES_BLACK = ['h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'];
8
8
  const RANKS_WHITE = ['8', '7', '6', '5', '4', '3', '2', '1'];
9
9
  const RANKS_BLACK = ['1', '2', '3', '4', '5', '6', '7', '8'];
10
10
 
11
- /**
12
- * File letters (a-h) and rank numbers (1-8) drawn on the board edges.
13
- *
14
- * Rendered as absolute-positioned Text components inside each corner square.
15
- * File letters appear on the bottom rank, rank numbers on the left file.
16
- * Colors alternate to contrast with the square behind them.
11
+ /**
12
+ * File letters (a-h) and rank numbers (1-8) drawn on or around the board.
13
+ *
14
+ * Two modes:
15
+ * - **inside** (default): absolute-positioned inside each edge square, colors
16
+ * alternate to contrast with the square behind them.
17
+ * - **outside**: rendered in a gutter area around the board. Rank numbers to
18
+ * the left, file letters along the bottom. Uses the dark square color.
17
19
  */
18
20
  export const BoardCoordinates = /*#__PURE__*/React.memo(function BoardCoordinates({
19
21
  boardSize,
@@ -21,14 +23,81 @@ export const BoardCoordinates = /*#__PURE__*/React.memo(function BoardCoordinate
21
23
  lightColor,
22
24
  darkColor,
23
25
  withLetters,
24
- withNumbers
26
+ withNumbers,
27
+ position = 'inside',
28
+ gutterWidth = 0
25
29
  }) {
26
30
  if (!withLetters && !withNumbers) return null;
27
31
  const squareSize = boardSize / 8;
28
- const fontSize = squareSize * 0.22;
29
- const padding = squareSize * 0.06;
30
32
  const files = orientation === 'white' ? FILES_WHITE : FILES_BLACK;
31
33
  const ranks = orientation === 'white' ? RANKS_WHITE : RANKS_BLACK;
34
+
35
+ // ── Outside mode: labels in gutter area around the board ──
36
+ if (position === 'outside') {
37
+ const fontSize = gutterWidth * 0.65;
38
+ const textColor = darkColor;
39
+ return /*#__PURE__*/_jsxs(_Fragment, {
40
+ children: [withNumbers && /*#__PURE__*/_jsx(View, {
41
+ style: {
42
+ position: 'absolute',
43
+ left: 0,
44
+ top: 0,
45
+ width: gutterWidth,
46
+ height: boardSize
47
+ },
48
+ pointerEvents: "none",
49
+ children: ranks.map((rank, row) => /*#__PURE__*/_jsx(View, {
50
+ style: {
51
+ position: 'absolute',
52
+ top: row * squareSize,
53
+ width: gutterWidth,
54
+ height: squareSize,
55
+ alignItems: 'center',
56
+ justifyContent: 'center'
57
+ },
58
+ children: /*#__PURE__*/_jsx(Text, {
59
+ style: {
60
+ fontSize,
61
+ fontWeight: '600',
62
+ color: textColor
63
+ },
64
+ children: rank
65
+ })
66
+ }, `r-${rank}`))
67
+ }), withLetters && /*#__PURE__*/_jsx(View, {
68
+ style: {
69
+ position: 'absolute',
70
+ left: withNumbers ? gutterWidth : 0,
71
+ bottom: 0,
72
+ width: boardSize,
73
+ height: gutterWidth
74
+ },
75
+ pointerEvents: "none",
76
+ children: files.map((file, col) => /*#__PURE__*/_jsx(View, {
77
+ style: {
78
+ position: 'absolute',
79
+ left: col * squareSize,
80
+ width: squareSize,
81
+ height: gutterWidth,
82
+ alignItems: 'center',
83
+ justifyContent: 'center'
84
+ },
85
+ children: /*#__PURE__*/_jsx(Text, {
86
+ style: {
87
+ fontSize,
88
+ fontWeight: '600',
89
+ color: textColor
90
+ },
91
+ children: file
92
+ })
93
+ }, `f-${file}`))
94
+ })]
95
+ });
96
+ }
97
+
98
+ // ── Inside mode (default): absolute-positioned inside edge squares ──
99
+ const fontSize = squareSize * 0.22;
100
+ const padding = squareSize * 0.06;
32
101
  return /*#__PURE__*/_jsxs(View, {
33
102
  style: {
34
103
  position: 'absolute',
@@ -37,7 +106,6 @@ export const BoardCoordinates = /*#__PURE__*/React.memo(function BoardCoordinate
37
106
  },
38
107
  pointerEvents: "none",
39
108
  children: [withNumbers && ranks.map((rank, row) => {
40
- // First column square: row 0 col 0 = light if (0+0)%2===0
41
109
  const isLight = row % 2 === 0;
42
110
  const textColor = isLight ? darkColor : lightColor;
43
111
  return /*#__PURE__*/_jsx(Text, {
@@ -52,7 +120,6 @@ export const BoardCoordinates = /*#__PURE__*/React.memo(function BoardCoordinate
52
120
  children: rank
53
121
  }, `r-${rank}`);
54
122
  }), withLetters && files.map((file, col) => {
55
- // Last row (7), column col: light if (7+col)%2===0
56
123
  const isLight = (7 + col) % 2 === 0;
57
124
  const textColor = isLight ? darkColor : lightColor;
58
125
  return /*#__PURE__*/_jsx(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","jsx","_jsx","jsxs","_jsxs","FILES_WHITE","FILES_BLACK","RANKS_WHITE","RANKS_BLACK","BoardCoordinates","memo","boardSize","orientation","lightColor","darkColor","withLetters","withNumbers","squareSize","fontSize","padding","files","ranks","style","position","width","height","pointerEvents","children","map","rank","row","isLight","textColor","left","top","fontWeight","color","file","col","right","bottom","textAlign"],"sourceRoot":"..\\..\\src","sources":["board-coordinates.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FILES_WHITE","FILES_BLACK","RANKS_WHITE","RANKS_BLACK","BoardCoordinates","memo","boardSize","orientation","lightColor","darkColor","withLetters","withNumbers","position","gutterWidth","squareSize","files","ranks","fontSize","textColor","children","style","left","top","width","height","pointerEvents","map","rank","row","alignItems","justifyContent","fontWeight","color","bottom","file","col","padding","isLight","right","textAlign"],"sourceRoot":"..\\..\\src","sources":["board-coordinates.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,12 +3,12 @@
3
3
  import React from 'react';
4
4
  import Animated, { useAnimatedStyle } from 'react-native-reanimated';
5
5
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
6
- /**
7
- * Floating piece that follows the user's finger during drag.
8
- *
9
- * Only ONE instance exists — not one per piece. It reads drag position
10
- * from shared values on the UI thread, so zero JS bridge calls and
11
- * zero re-renders while dragging.
6
+ /**
7
+ * Floating piece that follows the user's finger during drag.
8
+ *
9
+ * Only ONE instance exists — not one per piece. It reads drag position
10
+ * from shared values on the UI thread, so zero JS bridge calls and
11
+ * zero re-renders while dragging.
12
12
  */
13
13
  export const BoardDragGhost = /*#__PURE__*/React.memo(function BoardDragGhost({
14
14
  squareSize,
@@ -57,10 +57,10 @@ export const BoardDragGhost = /*#__PURE__*/React.memo(function BoardDragGhost({
57
57
  });
58
58
  });
59
59
 
60
- /**
61
- * Inner content that renders the actual piece image.
62
- * Separate component so the Animated.View wrapper doesn't need
63
- * to re-render when the piece code changes — it uses shared value.
60
+ /**
61
+ * Inner content that renders the actual piece image.
62
+ * Separate component so the Animated.View wrapper doesn't need
63
+ * to re-render when the piece code changes — it uses shared value.
64
64
  */
65
65
  const DragGhostContent = /*#__PURE__*/React.memo(function DragGhostContent({
66
66
  renderPiece,