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
@@ -19,15 +19,15 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
19
19
  // Static highlights (View-based, no animation needed)
20
20
  // ---------------------------------------------------------------------------
21
21
 
22
- /**
23
- * Renders all board square highlights as a single layer.
24
- *
25
- * Combines multiple highlight sources (last move, check, selected piece,
26
- * premoves, custom, and imperative) into one flat list of colored rectangles.
27
- * Rendered between the background and pieces layers.
28
- *
29
- * Uses plain Views (not Animated) because highlights change discretely
30
- * on move events, not during animation frames.
22
+ /**
23
+ * Renders all board square highlights as a single layer.
24
+ *
25
+ * Combines multiple highlight sources (last move, check, selected piece,
26
+ * premoves, custom, and imperative) into one flat list of colored rectangles.
27
+ * Rendered between the background and pieces layers.
28
+ *
29
+ * Uses plain Views (not Animated) because highlights change discretely
30
+ * on move events, not during animation frames.
31
31
  */
32
32
  const BoardHighlights = exports.BoardHighlights = /*#__PURE__*/_react.default.memo(function BoardHighlights({
33
33
  boardSize,
@@ -131,9 +131,9 @@ const BoardHighlights = exports.BoardHighlights = /*#__PURE__*/_react.default.me
131
131
  // Drag target highlight (Animated, updates on UI thread during drag)
132
132
  // ---------------------------------------------------------------------------
133
133
 
134
- /**
135
- * Highlight on the square currently under the dragged piece.
136
- * Uses Reanimated shared values for zero-JS-bridge updates during drag.
134
+ /**
135
+ * Highlight on the square currently under the dragged piece.
136
+ * Uses Reanimated shared values for zero-JS-bridge updates during drag.
137
137
  */
138
138
  const DragTargetHighlight = exports.DragTargetHighlight = /*#__PURE__*/_react.default.memo(function DragTargetHighlight({
139
139
  squareSize,
@@ -183,9 +183,9 @@ const DragTargetHighlight = exports.DragTargetHighlight = /*#__PURE__*/_react.de
183
183
  // Standalone SquareHighlight (exported for advanced consumers)
184
184
  // ---------------------------------------------------------------------------
185
185
 
186
- /**
187
- * Single square highlight component.
188
- * Exported for consumers who build their own overlay layers.
186
+ /**
187
+ * Single square highlight component.
188
+ * Exported for consumers who build their own overlay layers.
189
189
  */
190
190
  const SquareHighlight = exports.SquareHighlight = /*#__PURE__*/_react.default.memo(function SquareHighlight({
191
191
  square,
@@ -9,11 +9,11 @@ var _reactNative = require("react-native");
9
9
  var _useBoardPieces = require("./use-board-pieces");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- /**
13
- * Legal move indicator dots, rendered only when a piece is selected.
14
- *
15
- * Dots are CONDITIONALLY rendered (only for actual legal move squares,
16
- * typically 5-15) instead of always mounting 64 invisible dot views.
12
+ /**
13
+ * Legal move indicator dots, rendered only when a piece is selected.
14
+ *
15
+ * Dots are CONDITIONALLY rendered (only for actual legal move squares,
16
+ * typically 5-15) instead of always mounting 64 invisible dot views.
17
17
  */
18
18
  const BoardLegalDots = exports.BoardLegalDots = /*#__PURE__*/_react.default.memo(function BoardLegalDots({
19
19
  legalMoves,
@@ -9,9 +9,9 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
9
9
  var _constants = require("./constants");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- /**
13
- * Animate a shared value using the provided AnimationConfig.
14
- * Falls back to withTiming with moveDuration for backwards compatibility.
12
+ /**
13
+ * Animate a shared value using the provided AnimationConfig.
14
+ * Falls back to withTiming with moveDuration for backwards compatibility.
15
15
  */
16
16
  function animateValue(target, config, moveDuration) {
17
17
  if (config) {
@@ -34,28 +34,28 @@ function animateValue(target, config, moveDuration) {
34
34
  });
35
35
  }
36
36
 
37
- /**
38
- * A single animated chess piece.
39
- *
40
- * Uses two nested Animated.Views to avoid the Reanimated warning
41
- * "Property opacity may be overwritten by a layout animation":
42
- *
43
- * Outer view: position (transform) + exiting layout animation (FadeOut)
44
- * Inner view: drag-hide opacity
45
- *
46
- * Only `transform` and `opacity` are animated — Reanimated's fast path
47
- * on Android. No layout properties (top/left/width/height), avoiding
48
- * costly layout recalculations on low-end devices.
49
- *
50
- * During drag:
51
- * - Inner view hides (opacity: 0) — the drag ghost shows instead
52
- *
53
- * After a move:
54
- * - Outer view snaps to new position via withTiming/withSpring
55
- *
56
- * On capture (unmount):
57
- * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
58
- * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
37
+ /**
38
+ * A single animated chess piece.
39
+ *
40
+ * Uses two nested Animated.Views to avoid the Reanimated warning
41
+ * "Property opacity may be overwritten by a layout animation":
42
+ *
43
+ * Outer view: position (transform) + exiting layout animation (FadeOut)
44
+ * Inner view: drag-hide opacity
45
+ *
46
+ * Only `transform` and `opacity` are animated — Reanimated's fast path
47
+ * on Android. No layout properties (top/left/width/height), avoiding
48
+ * costly layout recalculations on low-end devices.
49
+ *
50
+ * During drag:
51
+ * - Inner view hides (opacity: 0) — the drag ghost shows instead
52
+ *
53
+ * After a move:
54
+ * - Outer view snaps to new position via withTiming/withSpring
55
+ *
56
+ * On capture (unmount):
57
+ * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
58
+ * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
59
59
  */
60
60
  const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo(function BoardPieceView({
61
61
  targetX,
@@ -9,12 +9,12 @@ var _boardPiece = require("./board-piece");
9
9
  var _useBoardPieces = require("./use-board-pieces");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- /**
13
- * Renders all pieces on the board.
14
- *
15
- * Each piece gets a stable key (from useBoardPieces) so React doesn't
16
- * unmount/remount pieces that moved — it updates their position props
17
- * and the BoardPieceView animates the transition.
12
+ /**
13
+ * Renders all pieces on the board.
14
+ *
15
+ * Each piece gets a stable key (from useBoardPieces) so React doesn't
16
+ * unmount/remount pieces that moved — it updates their position props
17
+ * and the BoardPieceView animates the transition.
18
18
  */
19
19
  const BoardPiecesLayer = exports.BoardPiecesLayer = /*#__PURE__*/_react.default.memo(function BoardPiecesLayer({
20
20
  pieces,
@@ -29,9 +29,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
29
29
  // Check detection helper
30
30
  // ---------------------------------------------------------------------------
31
31
 
32
- /**
33
- * Find the king square for the side currently in check.
34
- * Returns null if not in check.
32
+ /**
33
+ * Find the king square for the side currently in check.
34
+ * Returns null if not in check.
35
35
  */function detectCheckSquare(fen, isInCheck, getTurn) {
36
36
  if (!isInCheck()) return null;
37
37
  const turn = getTurn();
@@ -60,27 +60,27 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
60
60
  // Board component
61
61
  // ---------------------------------------------------------------------------
62
62
 
63
- /**
64
- * High-performance custom chess board built on Reanimated + Gesture Handler.
65
- *
66
- * Architecture:
67
- * - 1 gesture handler (vs 32 in typical implementations)
68
- * - ~40 components mounted (vs ~281)
69
- * - ~75 native views (vs ~470)
70
- * - 0 React Context providers
71
- * - 0 re-renders during drag (pure worklet — only 2 shared value writes per frame)
72
- *
73
- * v0.2.0 layer stack (10 layers):
74
- * 1. BoardBackground (64 squares)
75
- * 2. BoardCoordinates (a-h, 1-8)
76
- * 3. BoardHighlights (last move, check, selected, premove, custom, imperative)
77
- * 4. DragTargetHighlight (animated, worklet-driven)
78
- * 5. BoardLegalDots (legal move indicators)
79
- * 6. BoardPiecesLayer (all pieces)
80
- * 7. BoardArrows (SVG arrows + circles)
81
- * 8. BoardAnnotations (text badges)
82
- * 9. BoardDragGhost (floating piece)
83
- * 10. PromotionPicker (modal, conditional)
63
+ /**
64
+ * High-performance custom chess board built on Reanimated + Gesture Handler.
65
+ *
66
+ * Architecture:
67
+ * - 1 gesture handler (vs 32 in typical implementations)
68
+ * - ~40 components mounted (vs ~281)
69
+ * - ~75 native views (vs ~470)
70
+ * - 0 React Context providers
71
+ * - 0 re-renders during drag (pure worklet — only 2 shared value writes per frame)
72
+ *
73
+ * v0.2.0 layer stack (10 layers):
74
+ * 1. BoardBackground (64 squares)
75
+ * 2. BoardCoordinates (a-h, 1-8)
76
+ * 3. BoardHighlights (last move, check, selected, premove, custom, imperative)
77
+ * 4. DragTargetHighlight (animated, worklet-driven)
78
+ * 5. BoardLegalDots (legal move indicators)
79
+ * 6. BoardPiecesLayer (all pieces)
80
+ * 7. BoardArrows (SVG arrows + circles)
81
+ * 8. BoardAnnotations (text badges)
82
+ * 9. BoardDragGhost (floating piece)
83
+ * 10. PromotionPicker (modal, conditional)
84
84
  */
85
85
  const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board({
86
86
  fen,
@@ -95,8 +95,9 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
95
95
  premovesEnabled = false,
96
96
  // Appearance
97
97
  colors,
98
- withLetters = true,
99
- withNumbers = true,
98
+ coordinatePosition: coordinatePositionProp,
99
+ withLetters: withLettersProp,
100
+ withNumbers: withNumbersProp,
100
101
  renderPiece,
101
102
  pieceSet,
102
103
  // Overlays
@@ -138,10 +139,19 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
138
139
  } = e.nativeEvent.layout;
139
140
  setMeasuredSize(Math.min(width, height));
140
141
  }, []);
141
- const boardSize = boardSizeProp ?? measuredSize;
142
- const squareSize = boardSize / 8;
142
+ const outerSize = boardSizeProp ?? measuredSize;
143
143
  const boardColors = colors ?? _constants.DEFAULT_BOARD_COLORS;
144
144
 
145
+ // Resolve coordinate position: new prop takes precedence over legacy booleans
146
+ const coordinatePosition = coordinatePositionProp ?? (withLettersProp === false && withNumbersProp === false ? 'none' : 'inside');
147
+ const isOutside = coordinatePosition === 'outside';
148
+ const isCoordVisible = coordinatePosition !== 'none';
149
+
150
+ // When outside: reserve gutter space; inner board = outer minus gutters
151
+ const gutterWidth = isOutside ? Math.round(outerSize / 8 * _constants.COORDINATE_GUTTER_SCALE) : 0;
152
+ const boardSize = isOutside ? outerSize - gutterWidth : outerSize;
153
+ const squareSize = boardSize / 8;
154
+
145
155
  // Resolve piece exit animation: null = disabled, undefined = default FadeOut
146
156
  const resolvedPieceExitAnimation = pieceExitAnimation === null ? undefined : pieceExitAnimation ?? _reactNativeReanimated.FadeOut.duration(_constants.CAPTURE_FADE_DURATION);
147
157
 
@@ -462,7 +472,7 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
462
472
  }));
463
473
 
464
474
  // If no size yet (auto-sizing), render invisible container for measurement
465
- if (boardSize === 0) {
475
+ if (outerSize === 0) {
466
476
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
467
477
  style: {
468
478
  flex: 1,
@@ -471,27 +481,36 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
471
481
  onLayout: handleLayout
472
482
  });
473
483
  }
474
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
484
+
485
+ // Inner board with all interactive layers
486
+ const boardContent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
475
487
  gesture: gesture,
476
488
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
477
- style: {
489
+ style: isOutside ? {
490
+ width: boardSize,
491
+ height: boardSize,
492
+ position: 'absolute',
493
+ top: 0,
494
+ right: 0
495
+ } : {
478
496
  width: boardSize,
479
497
  height: boardSize
480
498
  },
481
- onLayout: boardSizeProp ? undefined : handleLayout,
499
+ onLayout: !isOutside && !boardSizeProp ? handleLayout : undefined,
482
500
  accessibilityLabel: "Chess board",
483
501
  accessibilityRole: "adjustable",
484
502
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_boardBackground.BoardBackground, {
485
503
  boardSize: boardSize,
486
504
  lightColor: boardColors.light,
487
505
  darkColor: boardColors.dark
488
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
506
+ }), isCoordVisible && !isOutside && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
489
507
  boardSize: boardSize,
490
508
  orientation: orientation,
491
509
  lightColor: boardColors.light,
492
510
  darkColor: boardColors.dark,
493
- withLetters: withLetters,
494
- withNumbers: withNumbers
511
+ withLetters: true,
512
+ withNumbers: true,
513
+ position: "inside"
495
514
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardHighlights.BoardHighlights, {
496
515
  boardSize: boardSize,
497
516
  orientation: orientation,
@@ -557,5 +576,27 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
557
576
  })]
558
577
  })
559
578
  });
579
+
580
+ // Outside coordinates: wrap board in outer container with gutter
581
+ if (isOutside) {
582
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
583
+ style: {
584
+ width: outerSize,
585
+ height: boardSize + gutterWidth
586
+ },
587
+ onLayout: boardSizeProp ? undefined : handleLayout,
588
+ children: [boardContent, /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
589
+ boardSize: boardSize,
590
+ orientation: orientation,
591
+ lightColor: boardColors.light,
592
+ darkColor: boardColors.dark,
593
+ withLetters: true,
594
+ withNumbers: true,
595
+ position: "outside",
596
+ gutterWidth: gutterWidth
597
+ })]
598
+ });
599
+ }
600
+ return boardContent;
560
601
  });
561
602
  //# sourceMappingURL=board.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_pieces","_useBoardPieces","_useBoardState","_useBoardGesture","_usePremove","_boardBackground","_boardCoordinates","_boardHighlights","_boardLegalDots","_boardPieces","_boardDragGhost","_boardArrows","_boardAnnotations","_promotionPicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","exports","forwardRef","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkHighlightColor","DEFAULT_CHECK_COLOR","selectedSquareColor","DEFAULT_SELECTED_COLOR","premoveColor","DEFAULT_PREMOVE_COLOR","dragTargetColor","DEFAULT_DRAG_TARGET_COLOR","moveDuration","DEFAULT_MOVE_DURATION","animationConfig","animateFlip","pieceExitAnimation","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","resolvedPieceExitAnimation","undefined","FadeOut","duration","CAPTURE_FADE_DURATION","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","internalFen","setInternalFen","boardState","useBoardState","loadFen","pieces","useBoardPieces","checkSquareState","useMemo","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","usePremove","promotionState","setPromotionState","resolvedRenderer","DefaultPieceSet","code","size","renderer","jsx","View","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","useBoardGesture","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","useImperativeHandle","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","GestureDetector","children","jsxs","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkSquare","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","exitingAnimation","BoardArrows","BoardAnnotations","BoardDragGhost","dragX","dragY","dragPieceCode","PromotionPicker","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_pieces","_useBoardPieces","_useBoardState","_useBoardGesture","_usePremove","_boardBackground","_boardCoordinates","_boardHighlights","_boardLegalDots","_boardPieces","_boardDragGhost","_boardArrows","_boardAnnotations","_promotionPicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","exports","forwardRef","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","coordinatePosition","coordinatePositionProp","withLetters","withLettersProp","withNumbers","withNumbersProp","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkHighlightColor","DEFAULT_CHECK_COLOR","selectedSquareColor","DEFAULT_SELECTED_COLOR","premoveColor","DEFAULT_PREMOVE_COLOR","dragTargetColor","DEFAULT_DRAG_TARGET_COLOR","moveDuration","DEFAULT_MOVE_DURATION","animationConfig","animateFlip","pieceExitAnimation","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","outerSize","boardColors","DEFAULT_BOARD_COLORS","isOutside","isCoordVisible","gutterWidth","round","COORDINATE_GUTTER_SCALE","squareSize","resolvedPieceExitAnimation","undefined","FadeOut","duration","CAPTURE_FADE_DURATION","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","internalFen","setInternalFen","boardState","useBoardState","loadFen","pieces","useBoardPieces","checkSquareState","useMemo","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","usePremove","promotionState","setPromotionState","resolvedRenderer","DefaultPieceSet","code","size","renderer","jsx","View","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","useBoardGesture","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","useImperativeHandle","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","boardContent","GestureDetector","children","jsxs","position","top","right","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkSquare","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","exitingAnimation","BoardArrows","BoardAnnotations","BoardDragGhost","dragX","dragY","dragPieceCode","PromotionPicker","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SQUARE_INDICES = exports.RING_SCALE = exports.RING_BORDER_RATIO = exports.RANKS_WHITE = exports.RANKS_BLACK = exports.PROMOTION_PIECE_PADDING = exports.PIECE_CODES = exports.FILES_WHITE = exports.FILES_BLACK = exports.DRAG_GHOST_SCALE = exports.DOT_SCALE = exports.DEFAULT_SHAPE_COLOR = exports.DEFAULT_SELECTED_COLOR = exports.DEFAULT_PREMOVE_COLOR = exports.DEFAULT_MOVE_DURATION = exports.DEFAULT_LAST_MOVE_COLOR = exports.DEFAULT_DRAG_TARGET_COLOR = exports.DEFAULT_CHECK_COLOR = exports.DEFAULT_BOARD_COLORS = exports.DEFAULT_ARROW_COLOR = exports.DEFAULT_ANNOTATION_TEXT = exports.DEFAULT_ANNOTATION_BG = exports.COORDINATE_FONT_SCALE = exports.CAPTURE_FADE_DURATION = exports.ARROW_STROKE_WIDTH = exports.ARROW_SHORTEN_BY = exports.ARROW_HEAD_SIZE = exports.ANNOTATION_SCALE = void 0;
6
+ exports.SQUARE_INDICES = exports.RING_SCALE = exports.RING_BORDER_RATIO = exports.RANKS_WHITE = exports.RANKS_BLACK = exports.PROMOTION_PIECE_PADDING = exports.PIECE_CODES = exports.FILES_WHITE = exports.FILES_BLACK = exports.DRAG_GHOST_SCALE = exports.DOT_SCALE = exports.DEFAULT_SHAPE_COLOR = exports.DEFAULT_SELECTED_COLOR = exports.DEFAULT_PREMOVE_COLOR = exports.DEFAULT_MOVE_DURATION = exports.DEFAULT_LAST_MOVE_COLOR = exports.DEFAULT_DRAG_TARGET_COLOR = exports.DEFAULT_CHECK_COLOR = exports.DEFAULT_BOARD_COLORS = exports.DEFAULT_ARROW_COLOR = exports.DEFAULT_ANNOTATION_TEXT = exports.DEFAULT_ANNOTATION_BG = exports.COORDINATE_GUTTER_SCALE = exports.COORDINATE_FONT_SCALE = exports.CAPTURE_FADE_DURATION = exports.ARROW_STROKE_WIDTH = exports.ARROW_SHORTEN_BY = exports.ARROW_HEAD_SIZE = exports.ANNOTATION_SCALE = void 0;
7
7
  // ---------------------------------------------------------------------------
8
8
  // Default colors
9
9
  // ---------------------------------------------------------------------------
@@ -79,6 +79,9 @@ const ANNOTATION_SCALE = exports.ANNOTATION_SCALE = 0.35;
79
79
  /** Coordinate font size as fraction of square size */
80
80
  const COORDINATE_FONT_SCALE = exports.COORDINATE_FONT_SCALE = 0.22;
81
81
 
82
+ /** Outside-coordinate gutter width as fraction of square size */
83
+ const COORDINATE_GUTTER_SCALE = exports.COORDINATE_GUTTER_SCALE = 0.45;
84
+
82
85
  /** Drag ghost scale factor (1.1x larger than normal piece) */
83
86
  const DRAG_GHOST_SCALE = exports.DRAG_GHOST_SCALE = 1.1;
84
87
 
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_BOARD_COLORS","exports","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":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_BOARD_COLORS","exports","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":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_board","require","_staticBoard","_boardHighlights","_boardArrows","_boardAnnotations","_promotionPicker","_pieces","_themes","_constants","_useBoardPieces"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAMA,IAAAM,OAAA,GAAAN,OAAA;AAMA,IAAAO,OAAA,GAAAP,OAAA;AAMA,IAAAQ,UAAA,GAAAR,OAAA;AAgEA,IAAAS,eAAA,GAAAT,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_board","require","_staticBoard","_boardHighlights","_boardArrows","_boardAnnotations","_promotionPicker","_pieces","_themes","_constants","_useBoardPieces"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAMA,IAAAM,OAAA,GAAAN,OAAA;AAMA,IAAAO,OAAA,GAAAP,OAAA;AAMA,IAAAQ,UAAA,GAAAR,OAAA;AAiEA,IAAAS,eAAA,GAAAT,OAAA","ignoreList":[]}
@@ -27,14 +27,14 @@ function promotionPieceCode(color, piece) {
27
27
  // Component
28
28
  // ---------------------------------------------------------------------------
29
29
 
30
- /**
31
- * Promotion piece picker overlay.
32
- *
33
- * Appears as a vertical column of 4 pieces (Q, R, B, N) anchored to the
34
- * promotion square. Expands downward when promoting on the top edge,
35
- * upward when promoting on the bottom edge.
36
- *
37
- * A semi-transparent backdrop covers the board. Tapping outside cancels.
30
+ /**
31
+ * Promotion piece picker overlay.
32
+ *
33
+ * Appears as a vertical column of 4 pieces (Q, R, B, N) anchored to the
34
+ * promotion square. Expands downward when promoting on the top edge,
35
+ * upward when promoting on the bottom edge.
36
+ *
37
+ * A semi-transparent backdrop covers the board. Tapping outside cancels.
38
38
  */
39
39
  const PromotionPicker = exports.PromotionPicker = /*#__PURE__*/_react.default.memo(function PromotionPicker({
40
40
  square,
@@ -16,20 +16,21 @@ var _boardArrows = require("./board-arrows");
16
16
  var _boardAnnotations = require("./board-annotations");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
- /**
20
- * Non-interactive chess board — optimized for lists, thumbnails, and analysis previews.
21
- *
22
- * No gesture handler, no drag ghost, no legal move dots.
23
- * Just: background + coordinates + highlights + pieces + arrows + annotations.
24
- *
25
- * Significantly lighter than the full Board component.
19
+ /**
20
+ * Non-interactive chess board — optimized for lists, thumbnails, and analysis previews.
21
+ *
22
+ * No gesture handler, no drag ghost, no legal move dots.
23
+ * Just: background + coordinates + highlights + pieces + arrows + annotations.
24
+ *
25
+ * Significantly lighter than the full Board component.
26
26
  */
27
27
  const StaticBoard = exports.StaticBoard = /*#__PURE__*/_react.default.memo(function StaticBoard({
28
28
  fen,
29
29
  orientation = 'white',
30
30
  boardSize: boardSizeProp,
31
31
  colors,
32
- withCoordinates = false,
32
+ coordinatePosition: coordinatePositionProp,
33
+ withCoordinates,
33
34
  renderPiece,
34
35
  pieceSet,
35
36
  lastMove,
@@ -46,10 +47,17 @@ const StaticBoard = exports.StaticBoard = /*#__PURE__*/_react.default.memo(funct
46
47
  } = e.nativeEvent.layout;
47
48
  setMeasuredSize(Math.min(width, height));
48
49
  }, []);
49
- const boardSize = boardSizeProp ?? measuredSize;
50
- const squareSize = boardSize / 8;
50
+ const outerSize = boardSizeProp ?? measuredSize;
51
51
  const boardColors = colors ?? _constants.DEFAULT_BOARD_COLORS;
52
52
 
53
+ // Resolve coordinate position: new prop > legacy boolean > 'none'
54
+ const coordinatePosition = coordinatePositionProp ?? (withCoordinates ? 'inside' : 'none');
55
+ const isOutside = coordinatePosition === 'outside';
56
+ const isCoordVisible = coordinatePosition !== 'none';
57
+ const gutterWidth = isOutside ? Math.round(outerSize / 8 * _constants.COORDINATE_GUTTER_SCALE) : 0;
58
+ const boardSize = isOutside ? outerSize - gutterWidth : outerSize;
59
+ const squareSize = boardSize / 8;
60
+
53
61
  // --- Piece data from FEN ---
54
62
  const pieces = (0, _useBoardPieces.useBoardPieces)(fen);
55
63
 
@@ -71,7 +79,7 @@ const StaticBoard = exports.StaticBoard = /*#__PURE__*/_react.default.memo(funct
71
79
  }, [renderPiece, pieceSet]);
72
80
 
73
81
  // If no size yet (auto-sizing), render invisible container for measurement
74
- if (boardSize === 0) {
82
+ if (outerSize === 0) {
75
83
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
76
84
  style: {
77
85
  flex: 1,
@@ -80,25 +88,32 @@ const StaticBoard = exports.StaticBoard = /*#__PURE__*/_react.default.memo(funct
80
88
  onLayout: handleLayout
81
89
  });
82
90
  }
83
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
- style: {
91
+ const boardContent = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
92
+ style: isOutside ? {
93
+ width: boardSize,
94
+ height: boardSize,
95
+ position: 'absolute',
96
+ top: 0,
97
+ right: 0
98
+ } : {
85
99
  width: boardSize,
86
100
  height: boardSize
87
101
  },
88
- onLayout: boardSizeProp ? undefined : handleLayout,
102
+ onLayout: !isOutside && !boardSizeProp ? handleLayout : undefined,
89
103
  accessibilityLabel: "Chess board",
90
104
  accessibilityRole: "image",
91
105
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_boardBackground.BoardBackground, {
92
106
  boardSize: boardSize,
93
107
  lightColor: boardColors.light,
94
108
  darkColor: boardColors.dark
95
- }), withCoordinates && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
109
+ }), isCoordVisible && !isOutside && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
96
110
  boardSize: boardSize,
97
111
  orientation: orientation,
98
112
  lightColor: boardColors.light,
99
113
  darkColor: boardColors.dark,
100
114
  withLetters: true,
101
- withNumbers: true
115
+ withNumbers: true,
116
+ position: "inside"
102
117
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardHighlights.BoardHighlights, {
103
118
  boardSize: boardSize,
104
119
  orientation: orientation,
@@ -146,5 +161,25 @@ const StaticBoard = exports.StaticBoard = /*#__PURE__*/_react.default.memo(funct
146
161
  annotations: annotations
147
162
  })]
148
163
  });
164
+ if (isOutside) {
165
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
166
+ style: {
167
+ width: outerSize,
168
+ height: boardSize + gutterWidth
169
+ },
170
+ onLayout: boardSizeProp ? undefined : handleLayout,
171
+ children: [boardContent, /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
172
+ boardSize: boardSize,
173
+ orientation: orientation,
174
+ lightColor: boardColors.light,
175
+ darkColor: boardColors.dark,
176
+ withLetters: true,
177
+ withNumbers: true,
178
+ position: "outside",
179
+ gutterWidth: gutterWidth
180
+ })]
181
+ });
182
+ }
183
+ return boardContent;
149
184
  });
150
185
  //# sourceMappingURL=static-board.js.map