react-native-chess-kit 0.5.2 → 0.5.4

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 (42) hide show
  1. package/README.md +19 -0
  2. package/lib/commonjs/board-arrows.js +7 -7
  3. package/lib/commonjs/board-coordinates.js +8 -8
  4. package/lib/commonjs/board.js +48 -39
  5. package/lib/commonjs/board.js.map +1 -1
  6. package/lib/commonjs/promotion-picker.js +9 -9
  7. package/lib/commonjs/promotion-picker.js.map +1 -1
  8. package/lib/commonjs/static-board.js +7 -7
  9. package/lib/commonjs/static-board.js.map +1 -1
  10. package/lib/commonjs/use-board-gesture.js +26 -26
  11. package/lib/commonjs/use-board-gesture.js.map +1 -1
  12. package/lib/commonjs/use-board-state.js +13 -4
  13. package/lib/commonjs/use-board-state.js.map +1 -1
  14. package/lib/module/board-arrows.js +7 -7
  15. package/lib/module/board-coordinates.js +8 -8
  16. package/lib/module/board.js +48 -39
  17. package/lib/module/board.js.map +1 -1
  18. package/lib/module/promotion-picker.js +9 -9
  19. package/lib/module/promotion-picker.js.map +1 -1
  20. package/lib/module/static-board.js +7 -7
  21. package/lib/module/static-board.js.map +1 -1
  22. package/lib/module/use-board-gesture.js +26 -26
  23. package/lib/module/use-board-gesture.js.map +1 -1
  24. package/lib/module/use-board-state.js +13 -4
  25. package/lib/module/use-board-state.js.map +1 -1
  26. package/lib/typescript/board-coordinates.d.ts.map +1 -1
  27. package/lib/typescript/board.d.ts.map +1 -1
  28. package/lib/typescript/promotion-picker.d.ts.map +1 -1
  29. package/lib/typescript/static-board.d.ts.map +1 -1
  30. package/lib/typescript/types.d.ts +14 -3
  31. package/lib/typescript/types.d.ts.map +1 -1
  32. package/lib/typescript/use-board-gesture.d.ts.map +1 -1
  33. package/lib/typescript/use-board-state.d.ts.map +1 -1
  34. package/package.json +95 -75
  35. package/src/board-arrows.tsx +197 -197
  36. package/src/board-coordinates.tsx +192 -192
  37. package/src/board.tsx +59 -56
  38. package/src/promotion-picker.tsx +147 -147
  39. package/src/static-board.tsx +186 -187
  40. package/src/types.ts +27 -6
  41. package/src/use-board-gesture.ts +459 -429
  42. package/src/use-board-state.ts +23 -14
@@ -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,
@@ -8,14 +8,14 @@ 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 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.
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.
19
19
  */
20
20
  export const BoardCoordinates = /*#__PURE__*/React.memo(function BoardCoordinates({
21
21
  boardSize,
@@ -116,6 +116,7 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
116
116
  animateFlip = true,
117
117
  pieceExitAnimation,
118
118
  // Promotion
119
+ autoPromoteTo,
119
120
  onPromotion,
120
121
  // Callbacks
121
122
  onMove,
@@ -273,24 +274,46 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
273
274
 
274
275
  // Check for promotion
275
276
  if (isPromotionMove(from, to)) {
276
- if (onPromotion) {
277
- const piece = pieces.find(p => p.square === from);
278
- const color = piece?.color ?? 'w';
279
- setPromotionState({
277
+ // 1. Auto-promote to a specific piece (no picker, no callback)
278
+ if (autoPromoteTo) {
279
+ const result = boardState.applyMove(from, to, autoPromoteTo);
280
+ if (result.applied && result.fen) {
281
+ setInternalFen(result.fen);
282
+ }
283
+ onMove?.({
280
284
  from,
281
285
  to,
282
- color
286
+ promotion: autoPromoteTo
283
287
  });
284
288
  return;
285
289
  }
286
- // Auto-promote to queen
287
- const result = boardState.applyMove(from, to, 'q');
288
- if (result.applied && result.fen) {
289
- setInternalFen(result.fen);
290
+
291
+ // 2. Consumer handles promotion UI externally via callback
292
+ if (onPromotion) {
293
+ try {
294
+ const choice = await onPromotion(from, to);
295
+ const result = boardState.applyMove(from, to, choice);
296
+ if (result.applied && result.fen) {
297
+ setInternalFen(result.fen);
298
+ }
299
+ onMove?.({
300
+ from,
301
+ to,
302
+ promotion: choice
303
+ });
304
+ } catch {
305
+ // Promotion cancelled by consumer — piece stays at origin
306
+ }
307
+ return;
290
308
  }
291
- onMove?.({
309
+
310
+ // 3. Default: show built-in promotion picker
311
+ const piece = pieces.find(p => p.square === from);
312
+ const color = piece?.color ?? 'w';
313
+ setPromotionState({
292
314
  from,
293
- to
315
+ to,
316
+ color
294
317
  });
295
318
  return;
296
319
  }
@@ -308,42 +331,27 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
308
331
  }
309
332
  // If chess.js rejected the move (truly illegal), do nothing —
310
333
  // piece stays at its original square.
311
- }, [onMove, onPromotion, isPromotionMove, pieces, boardState]);
334
+ }, [onMove, onPromotion, autoPromoteTo, isPromotionMove, pieces, boardState]);
312
335
 
313
336
  // --- Promotion picker handlers ---
314
- const handlePromotionSelect = useCallback(async piece => {
337
+ // Only reached when neither autoPromoteTo nor onPromotion is set.
338
+ const handlePromotionSelect = useCallback(piece => {
315
339
  if (!promotionState) return;
316
340
  const {
317
341
  from,
318
342
  to
319
343
  } = promotionState;
320
344
  setPromotionState(null);
321
- const promo = piece.toLowerCase();
322
- if (onPromotion) {
323
- try {
324
- const choice = await onPromotion(from, to);
325
- const result = boardState.applyMove(from, to, choice);
326
- if (result.applied && result.fen) {
327
- setInternalFen(result.fen);
328
- }
329
- onMove?.({
330
- from,
331
- to
332
- });
333
- } catch {
334
- // Promotion cancelled — piece stays at origin
335
- }
336
- } else {
337
- const result = boardState.applyMove(from, to, promo);
338
- if (result.applied && result.fen) {
339
- setInternalFen(result.fen);
340
- }
341
- onMove?.({
342
- from,
343
- to
344
- });
345
+ const result = boardState.applyMove(from, to, piece);
346
+ if (result.applied && result.fen) {
347
+ setInternalFen(result.fen);
345
348
  }
346
- }, [promotionState, onPromotion, onMove, boardState]);
349
+ onMove?.({
350
+ from,
351
+ to,
352
+ promotion: piece
353
+ });
354
+ }, [promotionState, onMove, boardState]);
347
355
  const handlePromotionCancel = useCallback(() => {
348
356
  setPromotionState(null);
349
357
  }, []);
@@ -374,7 +382,8 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
374
382
  setInternalFen(result.fen);
375
383
  onMove?.({
376
384
  from: consumed.from,
377
- to: consumed.to
385
+ to: consumed.to,
386
+ promotion: consumed.promotion
378
387
  });
379
388
  onHaptic?.('move');
380
389
  } else {
@@ -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","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":[]}
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","autoPromoteTo","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","promotion","choice","handlePromotionSelect","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","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":[]}
@@ -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,
@@ -46,7 +46,7 @@ export const PromotionPicker = /*#__PURE__*/React.memo(function PromotionPicker(
46
46
  y
47
47
  } = squareToXY(square, squareSize, orientation);
48
48
  const pieceSize = squareSize * (1 - PROMOTION_PIECE_PADDING * 2);
49
- const padding = squareSize * PROMOTION_PIECE_PADDING;
49
+ const _padding = squareSize * PROMOTION_PIECE_PADDING;
50
50
 
51
51
  // Determine if the picker should expand downward or upward
52
52
  // If the promotion square is in the top half, expand downward
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","View","Pressable","squareToXY","PROMOTION_PIECE_PADDING","jsx","_jsx","jsxs","_jsxs","PROMOTION_PIECES","promotionPieceCode","color","piece","PromotionPicker","memo","square","pieceColor","boardSize","squareSize","orientation","renderPiece","onSelect","onCancel","x","y","pieceSize","padding","expandDown","handleSelect","style","position","width","height","zIndex","children","backgroundColor","onPress","left","top","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","overflow","map","code","pressed","alignItems","justifyContent","accessibilityLabel","PIECE_NAMES","accessibilityRole","q","r","b","n"],"sourceRoot":"..\\..\\src","sources":["promotion-picker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","View","Pressable","squareToXY","PROMOTION_PIECE_PADDING","jsx","_jsx","jsxs","_jsxs","PROMOTION_PIECES","promotionPieceCode","color","piece","PromotionPicker","memo","square","pieceColor","boardSize","squareSize","orientation","renderPiece","onSelect","onCancel","x","y","pieceSize","_padding","expandDown","handleSelect","style","position","width","height","zIndex","children","backgroundColor","onPress","left","top","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","overflow","map","code","pressed","alignItems","justifyContent","accessibilityLabel","PIECE_NAMES","accessibilityRole","q","r","b","n"],"sourceRoot":"..\\..\\src","sources":["promotion-picker.tsx"],"mappings":"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","ignoreList":[]}
@@ -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({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useCallback","useMemo","View","DEFAULT_BOARD_COLORS","DEFAULT_LAST_MOVE_COLOR","COORDINATE_GUTTER_SCALE","DefaultPieceSet","useBoardPieces","squareToXY","BoardBackground","BoardCoordinates","BoardHighlights","BoardArrows","BoardAnnotations","jsx","_jsx","jsxs","_jsxs","StaticBoard","memo","fen","orientation","boardSize","boardSizeProp","colors","coordinatePosition","coordinatePositionProp","withCoordinates","renderPiece","pieceSet","lastMove","highlights","arrows","annotations","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","outerSize","boardColors","isOutside","isCoordVisible","gutterWidth","round","squareSize","pieces","resolvedRenderer","set","code","size","renderer","style","flex","aspectRatio","onLayout","boardContent","position","top","right","undefined","accessibilityLabel","accessibilityRole","children","lightColor","light","darkColor","dark","withLetters","withNumbers","lastMoveColor","checkColor","selectedColor","premoveColor","pointerEvents","map","piece","x","y","square","transform","translateX","translateY","id","length"],"sourceRoot":"..\\..\\src","sources":["static-board.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useCallback","useMemo","View","DEFAULT_BOARD_COLORS","DEFAULT_LAST_MOVE_COLOR","COORDINATE_GUTTER_SCALE","DefaultPieceSet","useBoardPieces","squareToXY","BoardBackground","BoardCoordinates","BoardHighlights","BoardArrows","BoardAnnotations","jsx","_jsx","jsxs","_jsxs","StaticBoard","memo","fen","orientation","boardSize","boardSizeProp","colors","coordinatePosition","coordinatePositionProp","withCoordinates","renderPiece","pieceSet","lastMove","highlights","arrows","annotations","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","outerSize","boardColors","isOutside","isCoordVisible","gutterWidth","round","squareSize","pieces","resolvedRenderer","set","code","size","renderer","style","flex","aspectRatio","onLayout","boardContent","position","top","right","undefined","accessibilityLabel","accessibilityRole","children","lightColor","light","darkColor","dark","withLetters","withNumbers","lastMoveColor","checkColor","selectedColor","premoveColor","pointerEvents","map","piece","x","y","square","transform","translateX","translateY","id","length"],"sourceRoot":"..\\..\\src","sources":["static-board.tsx"],"mappings":"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","ignoreList":[]}
@@ -35,31 +35,31 @@ function pieceColorToPlayer(color) {
35
35
  // Hook
36
36
  // ---------------------------------------------------------------------------
37
37
 
38
- /**
39
- * Single centralized gesture handler for the entire board.
40
- *
41
- * Instead of 32 separate Gesture.Pan() handlers (one per piece), we use ONE
42
- * handler on the board container. Touch -> coordinate math -> which piece.
43
- *
44
- * Supports three modes:
45
- * - 'drag': drag piece to target square
46
- * - 'click': tap source piece, then tap target square
47
- * - 'both': drag or click (default)
48
- *
49
- * All drag position tracking uses shared values — zero JS bridge calls,
50
- * zero re-renders during drag. Only the final move triggers JS via runOnJS.
51
- *
52
- * The gesture object is STABLE (only recreated when squareSize, orientation,
53
- * gestureEnabled, player, or moveMethod change). Frequently-changing data
54
- * (pieces, selectedSquare, legalMoves) is read from refs via runOnJS bridge
55
- * functions, avoiding costly gesture teardown/rebuild on every move.
56
- *
57
- * v0.2.0 additions:
58
- * - Rich callbacks (onPieceClick, onSquareClick, onPieceDragBegin, onPieceDragEnd)
59
- * - Drag target square tracking (shared value for DragTargetHighlight)
60
- * - Premove support (queue move when not your turn)
61
- * - Haptic feedback via callback
62
- * - Long press detection for onSquareLongPress
38
+ /**
39
+ * Single centralized gesture handler for the entire board.
40
+ *
41
+ * Instead of 32 separate Gesture.Pan() handlers (one per piece), we use ONE
42
+ * handler on the board container. Touch -> coordinate math -> which piece.
43
+ *
44
+ * Supports three modes:
45
+ * - 'drag': drag piece to target square
46
+ * - 'click': tap source piece, then tap target square
47
+ * - 'both': drag or click (default)
48
+ *
49
+ * All drag position tracking uses shared values — zero JS bridge calls,
50
+ * zero re-renders during drag. Only the final move triggers JS via runOnJS.
51
+ *
52
+ * The gesture object is STABLE (only recreated when squareSize, orientation,
53
+ * gestureEnabled, player, or moveMethod change). Frequently-changing data
54
+ * (pieces, selectedSquare, legalMoves) is read from refs via runOnJS bridge
55
+ * functions, avoiding costly gesture teardown/rebuild on every move.
56
+ *
57
+ * v0.2.0 additions:
58
+ * - Rich callbacks (onPieceClick, onSquareClick, onPieceDragBegin, onPieceDragEnd)
59
+ * - Drag target square tracking (shared value for DragTargetHighlight)
60
+ * - Premove support (queue move when not your turn)
61
+ * - Haptic feedback via callback
62
+ * - Long press detection for onSquareLongPress
63
63
  */
64
64
  export function useBoardGesture({
65
65
  squareSize,
@@ -270,7 +270,7 @@ export function useBoardGesture({
270
270
  }, [squareSize, orientation, activeSquare, isDragging, dragPieceCode, dragTargetSquare, premovesEnabled]);
271
271
 
272
272
  // Long press handler (separate gesture, composed with pan)
273
- const handleLongPress = useCallback((touchX, touchY) => {
273
+ const _handleLongPress = useCallback((touchX, touchY) => {
274
274
  const square = xyToSquare(touchX, touchY, squareSize, orientation);
275
275
  richCallbacksRef.current?.onSquareLongPress?.(square);
276
276
  }, [squareSize, orientation]);
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useCallback","useRef","Gesture","useSharedValue","runOnJS","xyToSquare","isPieceTurn","pieceColor","currentTurn","pieceColorToPlayer","color","useBoardGesture","squareSize","orientation","gestureEnabled","player","moveMethod","pieces","callbacks","richCallbacks","premoveCallbacks","premovesEnabled","selectedSquare","legalMoves","activeSquare","dragX","dragY","isDragging","dragPieceCode","dragTargetSquare","gestureState","piecesRef","current","selectedSquareRef","legalMovesRef","callbacksRef","richCallbacksRef","premoveCallbacksRef","currentTurnRef","draggedPieceRef","handleBegin","touchX","touchY","square","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","Pan","enabled","minDistance","onBegin","e","sq","x","y","onStart","onUpdate","col","Math","max","min","floor","row","onEnd","onFinalize"],"sourceRoot":"..\\..\\src","sources":["use-board-gesture.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AACpD,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SACEC,cAAc,EACdC,OAAO,QACF,yBAAyB;AAYhC,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;;AAQA;;AAUA;;AAKA;AACA;AACA;;AA2BA;AACA;AACA;;AAEA;AACA,SAASC,WAAWA,CAACC,UAAqB,EAAEC,WAAsB,EAAW;EAC3E,OAAOD,UAAU,KAAKC,WAAW;AACnC;;AAEA;AACA,SAASC,kBAAkBA,CAACC,KAAgB,EAAc;EACxD,OAAOA,KAAK,KAAK,GAAG,GAAG,OAAO,GAAG,OAAO;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAC9BC,UAAU;EACVC,WAAW;EACXC,cAAc;EACdC,MAAM;EACNC,UAAU;EACVC,MAAM;EACNC,SAAS;EACTC,aAAa;EACbC,gBAAgB;EAChBC,eAAe,GAAG,KAAK;EACvBC,cAAc;EACdC,UAAU;EACVf;AACqB,CAAC,EAAyB;EAC/C;EACA,MAAMgB,YAAY,GAAGrB,cAAc,CAAgB,IAAI,CAAC;EACxD,MAAMsB,KAAK,GAAGtB,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMuB,KAAK,GAAGvB,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMwB,UAAU,GAAGxB,cAAc,CAAC,KAAK,CAAC;EACxC,MAAMyB,aAAa,GAAGzB,cAAc,CAAgB,IAAI,CAAC;EACzD,MAAM0B,gBAAgB,GAAG1B,cAAc,CAAgB,IAAI,CAAC;EAE5D,MAAM2B,YAA0B,GAAG;IACjCN,YAAY;IACZC,KAAK;IACLC,KAAK;IACLC,UAAU;IACVC,aAAa;IACbC;EACF,CAAC;;EAED;EACA;EACA,MAAME,SAAS,GAAG9B,MAAM,CAACgB,MAAM,CAAC;EAChCc,SAAS,CAACC,OAAO,GAAGf,MAAM;EAE1B,MAAMgB,iBAAiB,GAAGhC,MAAM,CAACqB,cAAc,CAAC;EAChDW,iBAAiB,CAACD,OAAO,GAAGV,cAAc;EAE1C,MAAMY,aAAa,GAAGjC,MAAM,CAACsB,UAAU,CAAC;EACxCW,aAAa,CAACF,OAAO,GAAGT,UAAU;EAElC,MAAMY,YAAY,GAAGlC,MAAM,CAACiB,SAAS,CAAC;EACtCiB,YAAY,CAACH,OAAO,GAAGd,SAAS;EAEhC,MAAMkB,gBAAgB,GAAGnC,MAAM,CAACkB,aAAa,CAAC;EAC9CiB,gBAAgB,CAACJ,OAAO,GAAGb,aAAa;EAExC,MAAMkB,mBAAmB,GAAGpC,MAAM,CAACmB,gBAAgB,CAAC;EACpDiB,mBAAmB,CAACL,OAAO,GAAGZ,gBAAgB;EAE9C,MAAMkB,cAAc,GAAGrC,MAAM,CAACO,WAAW,CAAC;EAC1C8B,cAAc,CAACN,OAAO,GAAGxB,WAAW;;EAEpC;EACA,MAAM+B,eAAe,GAAGtC,MAAM,CAA6C,IAAI,CAAC;;EAEhF;EACA;;EAEA,MAAMuC,WAAW,GAAGxC,WAAW,CAAC,CAACyC,MAAc,EAAEC,MAAc,KAAK;IAClE,MAAMC,MAAM,GAAGtC,UAAU,CAACoC,MAAM,EAAEC,MAAM,EAAE9B,UAAU,EAAEC,WAAW,CAAC;IAClE,MAAM+B,aAAa,GAAGb,SAAS,CAACC,OAAO;IACvC,MAAMa,eAAe,GAAGZ,iBAAiB,CAACD,OAAO;IACjD,MAAMc,iBAAiB,GAAGZ,aAAa,CAACF,OAAO;IAC/C,MAAMe,GAAG,GAAGZ,YAAY,CAACH,OAAO;IAChC,MAAMgB,IAAI,GAAGZ,gBAAgB,CAACJ,OAAO;IACrC,MAAMiB,QAAQ,GAAGjC,UAAU,KAAK,MAAM;;IAEtC;IACA,MAAMkC,KAAK,GAAGN,aAAa,CAACO,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACT,MAAM,KAAKA,MAAM,CAAC;IAC5D,MAAMU,aAAa,GAAGH,KAAK,GACvBnC,MAAM,KAAK,MAAM,IAAIN,kBAAkB,CAACyC,KAAK,CAACxC,KAAK,CAAC,KAAKK,MAAM,GAC/D,KAAK;;IAET;IACA,MAAMuC,IAAI,GAAGhB,cAAc,CAACN,OAAO;IACnC,MAAMuB,SAAS,GAAGL,KAAK,IAAII,IAAI,GAC3BhD,WAAW,CAAC4C,KAAK,CAACxC,KAAK,EAAE4C,IAAI,CAAC,GAC9B,IAAI,CAAC,CAAC;;IAEV;IACA,MAAME,YAAY,GAAG,IAAIC,GAAG,CAACX,iBAAiB,CAACY,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAAChB,MAAM,CAAC,CAAC;IACpE,IAAIM,QAAQ,IAAIJ,eAAe,IAAIW,YAAY,CAACI,GAAG,CAACjB,MAAM,CAAC,EAAE;MAC3DI,GAAG,CAACc,YAAY,CAAChB,eAAe,EAAEF,MAAM,CAAC;MACzC;MACAnB,YAAY,CAACsC,KAAK,GAAG,IAAI;MACzBnC,UAAU,CAACmC,KAAK,GAAG,KAAK;MACxBlC,aAAa,CAACkC,KAAK,GAAG,IAAI;MAC1BjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;MAC7Bd,IAAI,EAAEe,QAAQ,GAAG,MAAM,CAAC;MACxB;IACF;;IAEA;IACA,IAAId,QAAQ,IAAIJ,eAAe,KAAKF,MAAM,EAAE;MAC1CI,GAAG,CAACiB,kBAAkB,CAAC,CAAC;MACxBxC,YAAY,CAACsC,KAAK,GAAG,IAAI;MACzBlC,aAAa,CAACkC,KAAK,GAAG,IAAI;MAC1BjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;MAC7B;IACF;IAEA,IAAIT,aAAa,IAAIH,KAAK,EAAE;MAC1B;MACA,IAAI7B,eAAe,IAAI,CAACkC,SAAS,EAAE;QACjC;QACA,IAAIV,eAAe,IAAIA,eAAe,KAAKF,MAAM,EAAE;UACjDN,mBAAmB,CAACL,OAAO,EAAEiC,YAAY,GAAG;YAC1CC,IAAI,EAAErB,eAAe;YACrBsB,EAAE,EAAExB;UACN,CAAC,CAAC;UACFI,GAAG,CAACiB,kBAAkB,CAAC,CAAC;UACxBxC,YAAY,CAACsC,KAAK,GAAG,IAAI;UACzBlC,aAAa,CAACkC,KAAK,GAAG,IAAI;UAC1BjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;UAC7B;QACF;QACA;QACA;QACAlC,aAAa,CAACkC,KAAK,GAAGZ,KAAK,CAACkB,IAAI;QAChCrB,GAAG,CAACsB,eAAe,CAAC1B,MAAM,CAAC;QAC3BK,IAAI,EAAEsB,YAAY,GAAG3B,MAAM,EAAEO,KAAK,CAACkB,IAAiB,CAAC;QACrDpB,IAAI,EAAEe,QAAQ,GAAG,QAAQ,CAAC;QAC1B;MACF;;MAEA;MACA;MACAnC,aAAa,CAACkC,KAAK,GAAGZ,KAAK,CAACkB,IAAI;MAChC7B,eAAe,CAACP,OAAO,GAAG;QAAEW,MAAM;QAAEyB,IAAI,EAAElB,KAAK,CAACkB;MAAkB,CAAC;MACnErB,GAAG,CAACsB,eAAe,CAAC1B,MAAM,CAAC;;MAE3B;MACAK,IAAI,EAAEsB,YAAY,GAAG3B,MAAM,EAAEO,KAAK,CAACkB,IAAiB,CAAC;MACrDpB,IAAI,EAAEe,QAAQ,GAAG,QAAQ,CAAC;IAC5B,CAAC,MAAM;MACL;;MAEA;MACA,IAAI1C,eAAe,IAAIwB,eAAe,IAAI,CAACU,SAAS,EAAE;QACpDlB,mBAAmB,CAACL,OAAO,EAAEiC,YAAY,GAAG;UAC1CC,IAAI,EAAErB,eAAe;UACrBsB,EAAE,EAAExB;QACN,CAAC,CAAC;QACFI,GAAG,CAACiB,kBAAkB,CAAC,CAAC;QACxBxC,YAAY,CAACsC,KAAK,GAAG,IAAI;QACzBlC,aAAa,CAACkC,KAAK,GAAG,IAAI;QAC1BjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;QAC7B;MACF;;MAEA;MACAtC,YAAY,CAACsC,KAAK,GAAG,IAAI;MACzBlC,aAAa,CAACkC,KAAK,GAAG,IAAI;MAC1BjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;MAC7B,IAAIjB,eAAe,EAAE;QACnBE,GAAG,CAACiB,kBAAkB,CAAC,CAAC;MAC1B;;MAEA;MACAhB,IAAI,EAAEuB,aAAa,GAAG5B,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CAAC/B,UAAU,EAAEC,WAAW,EAAEE,MAAM,EAAEC,UAAU,EAAEK,eAAe,EAAEG,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAEC,gBAAgB,CAAC,CAAC;EAE3I,MAAM2C,eAAe,GAAGxE,WAAW,CAAC,CAACyC,MAAc,EAAEC,MAAc,KAAK;IACtE,MAAMM,IAAI,GAAGZ,gBAAgB,CAACJ,OAAO;IACrC,MAAMyC,OAAO,GAAGlC,eAAe,CAACP,OAAO;IACvC,IAAIyC,OAAO,EAAE;MACXzB,IAAI,EAAE0B,gBAAgB,GAAGD,OAAO,CAAC9B,MAAM,EAAE8B,OAAO,CAACL,IAAI,CAAC;IACxD;IACA;IACA,MAAMzB,MAAM,GAAGtC,UAAU,CAACoC,MAAM,EAAEC,MAAM,EAAE9B,UAAU,EAAEC,WAAW,CAAC;IAClEgB,gBAAgB,CAACiC,KAAK,GAAGnB,MAAM;EACjC,CAAC,EAAE,CAAC/B,UAAU,EAAEC,WAAW,EAAEgB,gBAAgB,CAAC,CAAC;EAE/C,MAAM8C,gBAAgB,GAAG3E,WAAW,CAAC,CAACyC,MAAc,EAAEC,MAAc,KAAK;IACvE;IACA;IACA,MAAMC,MAAM,GAAGtC,UAAU,CAACoC,MAAM,EAAEC,MAAM,EAAE9B,UAAU,EAAEC,WAAW,CAAC;IAClEgB,gBAAgB,CAACiC,KAAK,GAAGnB,MAAM;EACjC,CAAC,EAAE,CAAC/B,UAAU,EAAEC,WAAW,EAAEgB,gBAAgB,CAAC,CAAC;EAE/C,MAAM+C,SAAS,GAAG5E,WAAW,CAAC,CAACyC,MAAc,EAAEC,MAAc,KAAK;IAChE,MAAMmC,UAAU,GAAGrD,YAAY,CAACsC,KAAK;IACrC,IAAI,CAACe,UAAU,EAAE;IAEjB,MAAMC,QAAQ,GAAGzE,UAAU,CAACoC,MAAM,EAAEC,MAAM,EAAE9B,UAAU,EAAEC,WAAW,CAAC;IACpEc,UAAU,CAACmC,KAAK,GAAG,KAAK;IACxBjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;IAE7B,MAAMd,IAAI,GAAGZ,gBAAgB,CAACJ,OAAO;;IAErC;IACA,MAAMyC,OAAO,GAAGlC,eAAe,CAACP,OAAO;IACvC,IAAIyC,OAAO,EAAE;MACXzB,IAAI,EAAE+B,cAAc,GAAGD,QAAQ,EAAEL,OAAO,CAACL,IAAI,CAAC;MAC9C7B,eAAe,CAACP,OAAO,GAAG,IAAI;IAChC;IAEA,IAAI6C,UAAU,KAAKC,QAAQ,EAAE;MAC3B;MACA,MAAMxB,IAAI,GAAGhB,cAAc,CAACN,OAAO;MACnC,MAAMkB,KAAK,GAAGnB,SAAS,CAACC,OAAO,CAACmB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACT,MAAM,KAAKkC,UAAU,CAAC;MACpE,MAAMtB,SAAS,GAAGL,KAAK,IAAII,IAAI,GAAGhD,WAAW,CAAC4C,KAAK,CAACxC,KAAK,EAAE4C,IAAI,CAAC,GAAG,IAAI;MAEvE,IAAIjC,eAAe,IAAI,CAACkC,SAAS,EAAE;QACjClB,mBAAmB,CAACL,OAAO,EAAEiC,YAAY,GAAG;UAC1CC,IAAI,EAAEW,UAAU;UAChBV,EAAE,EAAEW;QACN,CAAC,CAAC;MACJ,CAAC,MAAM;QACL3C,YAAY,CAACH,OAAO,CAAC6B,YAAY,CAACgB,UAAU,EAAEC,QAAQ,CAAC;MACzD;;MAEA;MACAtD,YAAY,CAACsC,KAAK,GAAG,IAAI;MACzBlC,aAAa,CAACkC,KAAK,GAAG,IAAI;IAC5B;IACA;IACA;EACF,CAAC,EAAE,CAAClD,UAAU,EAAEC,WAAW,EAAEW,YAAY,EAAEG,UAAU,EAAEC,aAAa,EAAEC,gBAAgB,EAAER,eAAe,CAAC,CAAC;;EAEzG;EACA,MAAM2D,eAAe,GAAGhF,WAAW,CAAC,CAACyC,MAAc,EAAEC,MAAc,KAAK;IACtE,MAAMC,MAAM,GAAGtC,UAAU,CAACoC,MAAM,EAAEC,MAAM,EAAE9B,UAAU,EAAEC,WAAW,CAAC;IAClEuB,gBAAgB,CAACJ,OAAO,EAAEiD,iBAAiB,GAAGtC,MAAM,CAAC;EACvD,CAAC,EAAE,CAAC/B,UAAU,EAAEC,WAAW,CAAC,CAAC;;EAE7B;EACA,MAAMqE,OAAO,GAAGlE,UAAU,KAAK,OAAO;;EAEtC;EACA,MAAMmE,iBAAiB,GAAGhF,cAAc,CAAC,CAAC,CAAC,CAAC;EAC5C,MAAMiF,iBAAiB,GAAGjF,cAAc,CAAC,CAAC,CAAC,CAAC;EAE5C,MAAMkF,OAAO,GAAGtF,OAAO,CAAC,MAAM;IAC5B,OAAOG,OAAO,CAACoF,GAAG,CAAC,CAAC,CACjBC,OAAO,CAACzE,cAAc,CAAC,CACvB0E,WAAW,CAAC,CAAC,CAAC,CAAC;IAAA,CACfC,OAAO,CAAEC,CAAC,IAAK;MACd,SAAS;;MACT;MACA;MACA;MACA,MAAMC,EAAE,GAAGtF,UAAU,CAACqF,CAAC,CAACE,CAAC,EAAEF,CAAC,CAACG,CAAC,EAAEjF,UAAU,EAAEC,WAAW,CAAC;MACxDW,YAAY,CAACsC,KAAK,GAAG6B,EAAE;MACvBlE,KAAK,CAACqC,KAAK,GAAG4B,CAAC,CAACE,CAAC;MACjBlE,KAAK,CAACoC,KAAK,GAAG4B,CAAC,CAACG,CAAC;MACjB;MACAzF,OAAO,CAACoC,WAAW,CAAC,CAACkD,CAAC,CAACE,CAAC,EAAEF,CAAC,CAACG,CAAC,CAAC;IAChC,CAAC,CAAC,CACDC,OAAO,CAAEJ,CAAC,IAAK;MACd,SAAS;;MACT,IAAI,CAACR,OAAO,IAAI,CAAC1D,YAAY,CAACsC,KAAK,EAAE;MACrCnC,UAAU,CAACmC,KAAK,GAAG,IAAI;MACvB1D,OAAO,CAACoE,eAAe,CAAC,CAACkB,CAAC,CAACE,CAAC,EAAEF,CAAC,CAACG,CAAC,CAAC;IACpC,CAAC,CAAC,CACDE,QAAQ,CAAEL,CAAC,IAAK;MACf,SAAS;;MACT,IAAI,CAACR,OAAO,IAAI,CAACvD,UAAU,CAACmC,KAAK,EAAE;MACnC;MACArC,KAAK,CAACqC,KAAK,GAAG4B,CAAC,CAACE,CAAC;MACjBlE,KAAK,CAACoC,KAAK,GAAG4B,CAAC,CAACG,CAAC;;MAEjB;MACA,MAAMG,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEF,IAAI,CAACG,KAAK,CAACV,CAAC,CAACE,CAAC,GAAGhF,UAAU,CAAC,CAAC,CAAC;MAClE,MAAMyF,GAAG,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEF,IAAI,CAACG,KAAK,CAACV,CAAC,CAACG,CAAC,GAAGjF,UAAU,CAAC,CAAC,CAAC;MAClE,IAAIoF,GAAG,KAAKb,iBAAiB,CAACrB,KAAK,IAAIuC,GAAG,KAAKjB,iBAAiB,CAACtB,KAAK,EAAE;QACtEqB,iBAAiB,CAACrB,KAAK,GAAGkC,GAAG;QAC7BZ,iBAAiB,CAACtB,KAAK,GAAGuC,GAAG;QAC7BjG,OAAO,CAACuE,gBAAgB,CAAC,CAACe,CAAC,CAACE,CAAC,EAAEF,CAAC,CAACG,CAAC,CAAC;MACrC;IACF,CAAC,CAAC,CACDS,KAAK,CAAEZ,CAAC,IAAK;MACZ,SAAS;;MACT,IAAI,CAAC/D,UAAU,CAACmC,KAAK,IAAI,CAACtC,YAAY,CAACsC,KAAK,EAAE;MAC9C1D,OAAO,CAACwE,SAAS,CAAC,CAACc,CAAC,CAACE,CAAC,EAAEF,CAAC,CAACG,CAAC,CAAC;IAC9B,CAAC,CAAC,CACDU,UAAU,CAAC,MAAM;MAChB,SAAS;;MACT;MACA5E,UAAU,CAACmC,KAAK,GAAG,KAAK;MACxBjC,gBAAgB,CAACiC,KAAK,GAAG,IAAI;MAC7BqB,iBAAiB,CAACrB,KAAK,GAAG,CAAC,CAAC;MAC5BsB,iBAAiB,CAACtB,KAAK,GAAG,CAAC,CAAC;IAC9B,CAAC,CAAC;EACN,CAAC,EAAE,CACDhD,cAAc,EACdoE,OAAO,EACPtE,UAAU,EACV4B,WAAW,EACXgC,eAAe,EACfG,gBAAgB,EAChBC,SAAS;EACT;EACApD,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,UAAU,EACVE,gBAAgB,EAChBsD,iBAAiB,EACjBC,iBAAiB,CAClB,CAAC;;EAEF;EACA;EACA;;EAEA,OAAO;IAAEC,OAAO;IAAEvD;EAAa,CAAC;AAClC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useCallback","useRef","Gesture","useSharedValue","runOnJS","xyToSquare","isPieceTurn","pieceColor","currentTurn","pieceColorToPlayer","color","useBoardGesture","squareSize","orientation","gestureEnabled","player","moveMethod","pieces","callbacks","richCallbacks","premoveCallbacks","premovesEnabled","selectedSquare","legalMoves","activeSquare","dragX","dragY","isDragging","dragPieceCode","dragTargetSquare","gestureState","piecesRef","current","selectedSquareRef","legalMovesRef","callbacksRef","richCallbacksRef","premoveCallbacksRef","currentTurnRef","draggedPieceRef","handleBegin","touchX","touchY","square","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","Pan","enabled","minDistance","onBegin","e","sq","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":[]}
@@ -20,10 +20,19 @@ export function useBoardState(initialFen) {
20
20
  square: square,
21
21
  verbose: true
22
22
  });
23
- return moves.map(m => ({
24
- square: m.to,
25
- isCapture: m.captured !== undefined
26
- }));
23
+ // Deduplicate by target square — chess.js returns 4 promotion variants
24
+ // (q, r, b, n) per target square, but we only need one dot per square.
25
+ const seen = new Set();
26
+ const result = [];
27
+ for (const m of moves) {
28
+ if (seen.has(m.to)) continue;
29
+ seen.add(m.to);
30
+ result.push({
31
+ square: m.to,
32
+ isCapture: m.captured !== undefined
33
+ });
34
+ }
35
+ return result;
27
36
  } catch {
28
37
  return [];
29
38
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useCallback","useMemo","Chess","useBoardState","initialFen","chessRef","current","getLegalMoves","square","moves","verbose","map","m","to","isCapture","captured","undefined","isPlayerPiece","pieces","player","piece","find","p","pieceColor","color","applyMove","from","promotion","move","applied","fen","undoMove","result","undo","loadFen","load","getFen","getTurn","turn","isInCheck","isCheck"],"sourceRoot":"..\\..\\src","sources":["use-board-state.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useCallback","useMemo","Chess","useBoardState","initialFen","chessRef","current","getLegalMoves","square","moves","verbose","seen","Set","result","m","has","to","add","push","isCapture","captured","undefined","isPlayerPiece","pieces","player","piece","find","p","pieceColor","color","applyMove","from","promotion","move","applied","fen","undoMove","undo","loadFen","load","getFen","getTurn","turn","isInCheck","isCheck"],"sourceRoot":"..\\..\\src","sources":["use-board-state.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"board-coordinates.d.ts","sourceRoot":"","sources":["../../src/board-coordinates.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AAE9D,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAOF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,mDA+J3B,CAAC"}
1
+ {"version":3,"file":"board-coordinates.d.ts","sourceRoot":"","sources":["../../src/board-coordinates.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAOF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,mDA+J3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAKX,MAAM,SAAS,CAAC;AAsEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,6EAujBhB,CAAC"}
1
+ {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAKX,MAAM,SAAS,CAAC;AAsEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,6EA+jBhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promotion-picker.d.ts","sourceRoot":"","sources":["../../src/promotion-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAe,MAAM,SAAS,CAAC;AAQvE,KAAK,oBAAoB,GAAG;IAC1B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC;IACtB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,yDAAyD;IACzD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAgBF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,kDAwF1B,CAAC"}
1
+ {"version":3,"file":"promotion-picker.d.ts","sourceRoot":"","sources":["../../src/promotion-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQ1D,KAAK,oBAAoB,GAAG;IAC1B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC;IACtB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,yDAAyD;IACzD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAgBF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,kDAwF1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"static-board.d.ts","sourceRoot":"","sources":["../../src/static-board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,SAAS,CAAC;AAUvE;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,8CAqKtB,CAAC"}
1
+ {"version":3,"file":"static-board.d.ts","sourceRoot":"","sources":["../../src/static-board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,SAAS,CAAC;AAc3D;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,8CAgKtB,CAAC"}
@@ -207,14 +207,25 @@ export type BoardProps = {
207
207
  */
208
208
  pieceExitAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder | null;
209
209
  /**
210
- * Called when a pawn promotion occurs. If not provided, auto-promotes to queen.
211
- * Return the chosen piece to complete the promotion.
210
+ * Auto-promote pawns to this piece without showing the picker.
211
+ * When set, the promotion picker is skipped entirely.
212
+ * Example: `autoPromoteTo="q"` always promotes to queen.
213
+ */
214
+ autoPromoteTo?: PromotionPiece;
215
+ /**
216
+ * Called when a pawn promotion occurs. If not provided, the built-in
217
+ * promotion picker is shown. Return the chosen piece to complete the
218
+ * promotion, or throw/reject to cancel.
219
+ *
220
+ * When provided, the built-in picker is NOT shown — the consumer is
221
+ * expected to handle piece selection via their own UI.
212
222
  */
213
223
  onPromotion?: (from: string, to: string) => Promise<PromotionPiece> | PromotionPiece;
214
- /** Called after a visual move is applied */
224
+ /** Called after a visual move is applied. Includes `promotion` when a pawn promotes. */
215
225
  onMove?: (info: {
216
226
  from: string;
217
227
  to: string;
228
+ promotion?: PromotionPiece;
218
229
  }) => void;
219
230
  /** Called when a piece is tapped */
220
231
  onPieceClick?: (square: string, piece: PieceCode) => void;