react-native-chess-kit 0.4.0 → 0.4.2

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.
@@ -54,7 +54,8 @@ function animateValue(target, config, moveDuration) {
54
54
  * - Outer view snaps to new position via withTiming/withSpring
55
55
  *
56
56
  * On capture (unmount):
57
- * - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
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)
58
59
  */
59
60
  const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo(function BoardPieceView({
60
61
  targetX,
@@ -65,7 +66,8 @@ const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo
65
66
  children,
66
67
  activeSquare,
67
68
  isDragging,
68
- square
69
+ square,
70
+ exitingAnimation
69
71
  }) {
70
72
  // Shared values for smooth animated position — written from JS, read on UI thread
71
73
  const currentX = (0, _reactNativeReanimated.useSharedValue)(targetX);
@@ -102,11 +104,12 @@ const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo
102
104
  width: squareSize,
103
105
  height: squareSize
104
106
  }, positionStyle]
105
- // Fade out when this piece is captured (removed from the piece list).
107
+ // Exiting animation when this piece is captured (removed from the piece list).
106
108
  // Lives on the outer view so it doesn't conflict with the
107
109
  // drag-hide opacity on the inner view.
110
+ // Pass undefined to disable (e.g. during full board remount via key change).
108
111
  ,
109
- exiting: _reactNativeReanimated.FadeOut.duration(_constants.CAPTURE_FADE_DURATION),
112
+ exiting: exitingAnimation,
110
113
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
111
114
  style: [{
112
115
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","animateValue","target","config","moveDuration","type","withSpring","damping","stiffness","mass","withTiming","duration","DEFAULT_MOVE_DURATION","BoardPieceView","exports","React","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","useSharedValue","currentY","useEffect","value","positionStyle","useAnimatedStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","jsx","View","style","position","width","height","exiting","FadeOut","CAPTURE_FADE_DURATION","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","animateValue","target","config","moveDuration","type","withSpring","damping","stiffness","mass","withTiming","duration","DEFAULT_MOVE_DURATION","BoardPieceView","exports","React","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","exitingAnimation","currentX","useSharedValue","currentY","useEffect","value","positionStyle","useAnimatedStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","jsx","View","style","position","width","height","exiting","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,8 @@ const BoardPiecesLayer = exports.BoardPiecesLayer = /*#__PURE__*/_react.default.
24
24
  animationConfig,
25
25
  renderPiece,
26
26
  activeSquare,
27
- isDragging
27
+ isDragging,
28
+ exitingAnimation
28
29
  }) {
29
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
30
31
  children: pieces.map(piece => {
@@ -41,6 +42,7 @@ const BoardPiecesLayer = exports.BoardPiecesLayer = /*#__PURE__*/_react.default.
41
42
  activeSquare: activeSquare,
42
43
  isDragging: isDragging,
43
44
  square: piece.square,
45
+ exitingAnimation: exitingAnimation,
44
46
  children: renderPiece(piece.code, squareSize)
45
47
  }, piece.id);
46
48
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_boardPiece","_useBoardPieces","_jsxRuntime","e","__esModule","default","BoardPiecesLayer","exports","React","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","jsx","Fragment","children","map","piece","x","y","squareToXY","square","BoardPieceView","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAAgD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAahD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,SAASH,gBAAgBA,CAAC;EACnEI,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC;AACgB,CAAC,EAAE;EACnB,oBACE,IAAAf,WAAA,CAAAgB,GAAA,EAAAhB,WAAA,CAAAiB,QAAA;IAAAC,QAAA,EACGV,MAAM,CAACW,GAAG,CAAEC,KAAK,IAAK;MACrB,MAAM;QAAEC,CAAC;QAAEC;MAAE,CAAC,GAAG,IAAAC,0BAAU,EAACH,KAAK,CAACI,MAAM,EAAEf,UAAU,EAAEC,WAAW,CAAC;MAElE,oBACE,IAAAV,WAAA,CAAAgB,GAAA,EAAClB,WAAA,CAAA2B,cAAc;QAEbC,OAAO,EAAEL,CAAE;QACXM,OAAO,EAAEL,CAAE;QACXb,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCE,YAAY,EAAEA,YAAa;QAC3BC,UAAU,EAAEA,UAAW;QACvBS,MAAM,EAAEJ,KAAK,CAACI,MAAO;QAAAN,QAAA,EAEpBL,WAAW,CAACO,KAAK,CAACQ,IAAI,EAAEnB,UAAU;MAAC,GAV/BW,KAAK,CAACS,EAWG,CAAC;IAErB,CAAC;EAAC,CACF,CAAC;AAEP,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_boardPiece","_useBoardPieces","_jsxRuntime","e","__esModule","default","BoardPiecesLayer","exports","React","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","exitingAnimation","jsx","Fragment","children","map","piece","x","y","squareToXY","square","BoardPieceView","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAAgD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAehD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,SAASH,gBAAgBA,CAAC;EACnEI,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,UAAU;EACVC;AACgB,CAAC,EAAE;EACnB,oBACE,IAAAhB,WAAA,CAAAiB,GAAA,EAAAjB,WAAA,CAAAkB,QAAA;IAAAC,QAAA,EACGX,MAAM,CAACY,GAAG,CAAEC,KAAK,IAAK;MACrB,MAAM;QAAEC,CAAC;QAAEC;MAAE,CAAC,GAAG,IAAAC,0BAAU,EAACH,KAAK,CAACI,MAAM,EAAEhB,UAAU,EAAEC,WAAW,CAAC;MAElE,oBACE,IAAAV,WAAA,CAAAiB,GAAA,EAACnB,WAAA,CAAA4B,cAAc;QAEbC,OAAO,EAAEL,CAAE;QACXM,OAAO,EAAEL,CAAE;QACXd,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCE,YAAY,EAAEA,YAAa;QAC3BC,UAAU,EAAEA,UAAW;QACvBU,MAAM,EAAEJ,KAAK,CAACI,MAAO;QACrBT,gBAAgB,EAAEA,gBAAiB;QAAAG,QAAA,EAElCN,WAAW,CAACQ,KAAK,CAACQ,IAAI,EAAEpB,UAAU;MAAC,GAX/BY,KAAK,CAACS,EAYG,CAAC;IAErB,CAAC;EAAC,CACF,CAAC;AAEP,CAAC,CAAC","ignoreList":[]}
@@ -116,6 +116,7 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
116
116
  moveDuration = _constants.DEFAULT_MOVE_DURATION,
117
117
  animationConfig,
118
118
  animateFlip = true,
119
+ pieceExitAnimation,
119
120
  // Promotion
120
121
  onPromotion,
121
122
  // Callbacks
@@ -141,6 +142,9 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
141
142
  const squareSize = boardSize / 8;
142
143
  const boardColors = colors ?? _constants.DEFAULT_BOARD_COLORS;
143
144
 
145
+ // Resolve piece exit animation: null = disabled, undefined = default FadeOut
146
+ const resolvedPieceExitAnimation = pieceExitAnimation === null ? undefined : pieceExitAnimation ?? _reactNativeReanimated.FadeOut.duration(_constants.CAPTURE_FADE_DURATION);
147
+
144
148
  // --- Board flip animation ---
145
149
  const flipRotation = (0, _reactNativeReanimated.useSharedValue)(orientation === 'black' ? 180 : 0);
146
150
  const prevOrientationRef = (0, _react.useRef)(orientation);
@@ -522,7 +526,8 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
522
526
  animationConfig: animationConfig,
523
527
  renderPiece: resolvedRenderer,
524
528
  activeSquare: gestureState.activeSquare,
525
- isDragging: gestureState.isDragging
529
+ isDragging: gestureState.isDragging,
530
+ exitingAnimation: resolvedPieceExitAnimation
526
531
  }), (arrows && arrows.length > 0 || shapes && shapes.length > 0) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardArrows.BoardArrows, {
527
532
  boardSize: boardSize,
528
533
  orientation: orientation,
@@ -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","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","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","duration","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","undefined","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkSquare","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","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","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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAeA,IAAAI,UAAA,GAAAJ,OAAA;AAUA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,eAAA,GAAAf,OAAA;AACA,IAAAgB,YAAA,GAAAhB,OAAA;AACA,IAAAiB,iBAAA,GAAAjB,OAAA;AACA,IAAAkB,gBAAA,GAAAlB,OAAA;AAAqD,IAAAmB,WAAA,GAAAnB,OAAA;AAAA,SAAAD,wBAAAqB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAvB,uBAAA,YAAAA,CAAAqB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA,GACA,SAASkB,iBAAiBA,CACxBC,GAAW,EACXC,SAAwB,EACxBC,OAAwB,EACT;EACf,IAAI,CAACD,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI;EAE7B,MAAME,IAAI,GAAGD,OAAO,CAAC,CAAC;EACtB,MAAME,QAAQ,GAAGD,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;EACzC,MAAME,SAAS,GAAGL,GAAG,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACnC,MAAMC,KAAK,GAAGF,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC;EAElC,KAAK,IAAIE,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAGD,KAAK,CAACE,MAAM,EAAED,OAAO,EAAE,EAAE;IACvD,MAAME,IAAI,GAAGH,KAAK,CAACC,OAAO,CAAE;IAC5B,IAAIG,OAAO,GAAG,CAAC;IACf,KAAK,MAAMC,IAAI,IAAIF,IAAI,EAAE;MACvB,IAAIE,IAAI,IAAI,GAAG,IAAIA,IAAI,IAAI,GAAG,EAAE;QAC9BD,OAAO,IAAIE,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC;QAC7B;MACF;MACA,IAAIA,IAAI,KAAKR,QAAQ,EAAE;QACrB,MAAMU,KAAK,GAAG,UAAU;QACxB,OAAO,GAAGA,KAAK,CAACH,OAAO,CAAC,GAAG,CAAC,GAAGH,OAAO,EAAE;MAC1C;MACAG,OAAO,EAAE;IACX;EACF;EAEA,OAAO,IAAI;AACb;;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;AACO,MAAMI,KAAK,GAAAC,OAAA,CAAAD,KAAA,gBAAG,IAAAE,iBAAU,EAAuB,SAASF,KAAKA,CAClE;EACEf,GAAG;EACHkB,WAAW;EAEX;EACAC,SAAS,EAAEC,aAAa;EAExB;EACAC,cAAc,GAAG,IAAI;EACrBC,MAAM,GAAG,MAAM;EACfC,UAAU,GAAG,MAAM;EACnBC,cAAc,GAAG,IAAI;EACrBC,eAAe,GAAG,KAAK;EAEvB;EACAC,MAAM;EACNC,WAAW,GAAG,IAAI;EAClBC,WAAW,GAAG,IAAI;EAClBC,WAAW;EACXC,QAAQ;EAER;EACAC,QAAQ;EACRC,UAAU;EACVC,MAAM;EACNC,MAAM;EACNC,WAAW;EACXC,cAAc,GAAG,IAAI;EAErB;EACAC,aAAa,GAAGC,kCAAuB;EACvCC,mBAAmB,GAAGC,8BAAmB;EACzCC,mBAAmB,GAAGC,iCAAsB;EAC5CC,YAAY,GAAGC,gCAAqB;EACpCC,eAAe,GAAGC,oCAAyB;EAE3C;EACAC,YAAY,GAAGC,gCAAqB;EACpCC,eAAe;EACfC,WAAW,GAAG,IAAI;EAClBC,kBAAkB;EAElB;EACAC,WAAW;EAEX;EACAC,MAAM;EACNC,YAAY;EACZC,aAAa;EACbC,gBAAgB;EAChBC,cAAc;EACdC,iBAAiB;EACjBC,SAAS;EACTC;AACF,CAAC,EACDC,GAAG,EACH;EACA;EACA,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC;EACnD,MAAMC,YAAY,GAAG,IAAAC,kBAAW,EAAEtF,CAAoB,IAAK;IACzD,MAAM;MAAEuF,KAAK;MAAEC;IAAO,CAAC,GAAGxF,CAAC,CAACyF,WAAW,CAACC,MAAM;IAC9CP,eAAe,CAACQ,IAAI,CAACC,GAAG,CAACL,KAAK,EAAEC,MAAM,CAAC,CAAC;EAC1C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMjD,SAAS,GAAGC,aAAa,IAAI0C,YAAY;EAC/C,MAAMW,UAAU,GAAGtD,SAAS,GAAG,CAAC;EAChC,MAAMuD,WAAW,GAAGhD,MAAM,IAAIiD,+BAAoB;;EAElD;EACA,MAAMC,0BAA0B,GAC9BzB,kBAAkB,KAAK,IAAI,GACvB0B,SAAS,GACR1B,kBAAkB,IAAI2B,8BAAO,CAACC,QAAQ,CAACC,gCAAqB,CAAE;;EAErE;EACA,MAAMC,YAAY,GAAG,IAAAC,qCAAc,EAAChE,WAAW,KAAK,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC;EACtE,MAAMiE,kBAAkB,GAAG,IAAAC,aAAM,EAAClE,WAAW,CAAC;EAE9C,IAAAmE,gBAAS,EAAC,MAAM;IACd,IAAIF,kBAAkB,CAACG,OAAO,KAAKpE,WAAW,EAAE;MAC9CiE,kBAAkB,CAACG,OAAO,GAAGpE,WAAW;MACxC,IAAIgC,WAAW,EAAE;QACf+B,YAAY,CAACM,KAAK,GAAG,IAAAC,iCAAU,EAC7BtE,WAAW,KAAK,OAAO,GAAG,GAAG,GAAG,CAAC,EACjC;UAAE6D,QAAQ,EAAE;QAAI,CAClB,CAAC;MACH,CAAC,MAAM;QACLE,YAAY,CAACM,KAAK,GAAGrE,WAAW,KAAK,OAAO,GAAG,GAAG,GAAG,CAAC;MACxD;IACF;EACF,CAAC,EAAE,CAACA,WAAW,EAAEgC,WAAW,EAAE+B,YAAY,CAAC,CAAC;;EAE5C;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,CAACQ,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAA1B,eAAQ,EAAChE,GAAG,CAAC;;EAEnD;EACA,MAAM2F,UAAU,GAAG,IAAAC,4BAAa,EAAC5F,GAAG,CAAC;;EAErC;EACA;EACA;EACA,IAAAqF,gBAAS,EAAC,MAAM;IACdK,cAAc,CAAC1F,GAAG,CAAC;IACnB2F,UAAU,CAACE,OAAO,CAAC7F,GAAG,CAAC;EACzB,CAAC,EAAE,CAACA,GAAG,EAAE2F,UAAU,CAAC,CAAC;;EAErB;EACA,MAAMG,MAAM,GAAG,IAAAC,8BAAc,EAACN,WAAW,CAAC;;EAE1C;EACA;EACA;EACA;EACA;EACA,MAAMO,gBAAgB,GAAG,IAAAC,cAAO,EAAC,MAAM;IACrC,IAAI;MACF,OAAOlG,iBAAiB,CACtB0F,WAAW,EACX,MAAME,UAAU,CAAC1F,SAAS,CAAC,CAAC,EAC5B0F,UAAU,CAACzF,OACb,CAAC;IACH,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF,CAAC,EAAE,CAACuF,WAAW,EAAEE,UAAU,CAAC,CAAC;;EAE7B;EACA,MAAM,CAACO,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAnC,eAAQ,EAAgB,IAAI,CAAC;EACzE,MAAM,CAACoC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAArC,eAAQ,EAAoB,EAAE,CAAC;;EAEnE;EACA,MAAM,CAACsC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAG,IAAAvC,eAAQ,EAAkB,EAAE,CAAC;;EAErF;EACA,MAAM;IAAEwC,OAAO;IAAEC,UAAU;IAAEC,YAAY;IAAEC;EAAe,CAAC,GAAG,IAAAC,sBAAU,EAAC,CAAC;;EAE1E;EACA,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAA9C,eAAQ,EAI1C,IAAI,CAAC;;EAEf;EACA,MAAM+C,gBAAgB,GAAG,IAAAd,cAAO,EAAC,MAAM;IACrC,IAAIpE,WAAW,EAAE,OAAOA,WAAW;IACnC,MAAMpC,GAAG,GAAGqC,QAAQ,IAAIkF,uBAAe;IACvC,OAAO,CAACC,IAAY,EAAEC,IAAY,KAAK;MACrC,MAAMC,QAAQ,GAAG1H,GAAG,CAACwH,IAAI,CAAc;MACvC,IAAIE,QAAQ,EAAE,OAAOA,QAAQ,CAACD,IAAI,CAAC;MACnC,oBAAO,IAAAvI,WAAA,CAAAyI,GAAA,EAAC3J,YAAA,CAAA4J,IAAI;QAACC,KAAK,EAAE;UAAEnD,KAAK,EAAE+C,IAAI;UAAE9C,MAAM,EAAE8C;QAAK;MAAE,CAAE,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,CAACrF,WAAW,EAAEC,QAAQ,CAAC,CAAC;;EAE3B;EACA,MAAMyF,eAAe,GAAG,IAAArD,kBAAW,EACjC,CAACsD,IAAY,EAAEC,EAAU,KAAc;IACrC,MAAMC,KAAK,GAAG5B,MAAM,CAAC6B,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAKL,IAAI,CAAC;IACnD,IAAI,CAACE,KAAK,EAAE,OAAO,KAAK;IACxB;IACA,IAAIA,KAAK,CAACT,IAAI,KAAK,IAAI,IAAIS,KAAK,CAACT,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK;IAC5D;IACA,MAAMa,MAAM,GAAGL,EAAE,CAAC,CAAC,CAAC;IACpB,IAAIC,KAAK,CAACK,KAAK,KAAK,GAAG,IAAID,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI;IACtD,IAAIJ,KAAK,CAACK,KAAK,KAAK,GAAG,IAAID,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI;IACtD,OAAO,KAAK;EACd,CAAC,EACD,CAAChC,MAAM,CACT,CAAC;;EAED;EACA,MAAMkC,mBAAmB,GAAG,IAAA9D,kBAAW,EACpC2D,MAAc,IAAK;IAClB1B,iBAAiB,CAAC0B,MAAM,CAAC;IACzB,IAAIrG,cAAc,EAAE;MAClB6E,aAAa,CAACV,UAAU,CAACsC,aAAa,CAACJ,MAAM,CAAC,CAAC;IACjD;EACF,CAAC,EACD,CAACrG,cAAc,EAAEmE,UAAU,CAC7B,CAAC;EAED,MAAMuC,sBAAsB,GAAG,IAAAhE,kBAAW,EAAC,MAAM;IAC/CiC,iBAAiB,CAAC,IAAI,CAAC;IACvBE,aAAa,CAAC,EAAE,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM8B,gBAAgB,GAAG,IAAAjE,kBAAW,EAClC,OAAOsD,IAAY,EAAEC,EAAU,KAAK;IAClC;IACAtB,iBAAiB,CAAC,IAAI,CAAC;IACvBE,aAAa,CAAC,EAAE,CAAC;;IAEjB;IACA,IAAIkB,eAAe,CAACC,IAAI,EAAEC,EAAE,CAAC,EAAE;MAC7B,IAAIrE,WAAW,EAAE;QACf,MAAMsE,KAAK,GAAG5B,MAAM,CAAC6B,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAKL,IAAI,CAAC;QACnD,MAAMO,KAAK,GAAGL,KAAK,EAAEK,KAAK,IAAI,GAAG;QACjCjB,iBAAiB,CAAC;UAAEU,IAAI;UAAEC,EAAE;UAAEM;QAAM,CAAC,CAAC;QACtC;MACF;MACA;MACA,MAAMK,MAAM,GAAGzC,UAAU,CAAC0C,SAAS,CAACb,IAAI,EAAEC,EAAE,EAAE,GAAG,CAAC;MAClD,IAAIW,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACpI,GAAG,EAAE;QAChC0F,cAAc,CAAC0C,MAAM,CAACpI,GAAG,CAAC;MAC5B;MACAqD,MAAM,GAAG;QAAEmE,IAAI;QAAEC;MAAG,CAAC,CAAC;MACtB;IACF;;IAEA;IACA;IACA;IACA,MAAMW,MAAM,GAAGzC,UAAU,CAAC0C,SAAS,CAACb,IAAI,EAAEC,EAAE,CAAC;IAC7C,IAAIW,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACpI,GAAG,EAAE;MAChC0F,cAAc,CAAC0C,MAAM,CAACpI,GAAG,CAAC;MAC1BqD,MAAM,GAAG;QAAEmE,IAAI;QAAEC;MAAG,CAAC,CAAC;IACxB;IACA;IACA;EACF,CAAC,EACD,CAACpE,MAAM,EAAED,WAAW,EAAEmE,eAAe,EAAEzB,MAAM,EAAEH,UAAU,CAC3D,CAAC;;EAED;EACA,MAAM4C,qBAAqB,GAAG,IAAArE,kBAAW,EACvC,MAAOwD,KAAqB,IAAK;IAC/B,IAAI,CAACb,cAAc,EAAE;IACrB,MAAM;MAAEW,IAAI;MAAEC;IAAG,CAAC,GAAGZ,cAAc;IACnCC,iBAAiB,CAAC,IAAI,CAAC;IAEvB,MAAM0B,KAAK,GAAGd,KAAK,CAACe,WAAW,CAAC,CAAC;IAEjC,IAAIrF,WAAW,EAAE;MACf,IAAI;QACF,MAAMsF,MAAM,GAAG,MAAMtF,WAAW,CAACoE,IAAI,EAAEC,EAAE,CAAC;QAC1C,MAAMW,MAAM,GAAGzC,UAAU,CAAC0C,SAAS,CAACb,IAAI,EAAEC,EAAE,EAAEiB,MAAM,CAAC;QACrD,IAAIN,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACpI,GAAG,EAAE;UAChC0F,cAAc,CAAC0C,MAAM,CAACpI,GAAG,CAAC;QAC5B;QACAqD,MAAM,GAAG;UAAEmE,IAAI;UAAEC;QAAG,CAAC,CAAC;MACxB,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC,MAAM;MACL,MAAMW,MAAM,GAAGzC,UAAU,CAAC0C,SAAS,CAACb,IAAI,EAAEC,EAAE,EAAEe,KAAK,CAAC;MACpD,IAAIJ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACpI,GAAG,EAAE;QAChC0F,cAAc,CAAC0C,MAAM,CAACpI,GAAG,CAAC;MAC5B;MACAqD,MAAM,GAAG;QAAEmE,IAAI;QAAEC;MAAG,CAAC,CAAC;IACxB;EACF,CAAC,EACD,CAACZ,cAAc,EAAEzD,WAAW,EAAEC,MAAM,EAAEsC,UAAU,CAClD,CAAC;EAED,MAAMgD,qBAAqB,GAAG,IAAAzE,kBAAW,EAAC,MAAM;IAC9C4C,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAM8B,gBAAgB,GAAG,IAAA1E,kBAAW,EACjC2E,EAAgC,IAAK;IACpCpC,UAAU,CAACoC,EAAE,CAAC;IACdlF,SAAS,GAAGkF,EAAE,CAAC;IACfjF,QAAQ,GAAG,QAAQ,CAAC;EACtB,CAAC,EACD,CAAC6C,UAAU,EAAE9C,SAAS,EAAEC,QAAQ,CAClC,CAAC;;EAED;EACA,IAAAyB,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC5D,eAAe,IAAI,CAAC+E,OAAO,EAAE;IAElC,MAAMrG,IAAI,GAAGwF,UAAU,CAACzF,OAAO,CAAC,CAAC;IACjC;IACA,MAAM4I,YAAY,GAAGhD,MAAM,CAAC6B,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAKrB,OAAO,CAACgB,IAAI,CAAC;IAClE,IAAI,CAACsB,YAAY,EAAE;MACjBpC,YAAY,CAAC,CAAC;MACd;IACF;IAEA,IAAIoC,YAAY,CAACf,KAAK,KAAK5H,IAAI,EAAE;MAC/B,MAAM4I,QAAQ,GAAGpC,cAAc,CAAC,CAAC;MACjC,IAAIoC,QAAQ,EAAE;QACZ;QACA,MAAMX,MAAM,GAAGzC,UAAU,CAAC0C,SAAS,CAACU,QAAQ,CAACvB,IAAI,EAAEuB,QAAQ,CAACtB,EAAE,EAAEsB,QAAQ,CAACC,SAAS,CAAC;QACnF,IAAIZ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACpI,GAAG,EAAE;UAChC0F,cAAc,CAAC0C,MAAM,CAACpI,GAAG,CAAC;UAC1BqD,MAAM,GAAG;YAAEmE,IAAI,EAAEuB,QAAQ,CAACvB,IAAI;YAAEC,EAAE,EAAEsB,QAAQ,CAACtB;UAAG,CAAC,CAAC;UAClD7D,QAAQ,GAAG,MAAM,CAAC;QACpB,CAAC,MAAM;UACL;UACAA,QAAQ,GAAG,OAAO,CAAC;QACrB;MACF;IACF;EACF,CAAC,EAAE,CAAC5D,GAAG,EAAEyB,eAAe,EAAE+E,OAAO,EAAEV,MAAM,EAAEH,UAAU,EAAEgB,cAAc,EAAED,YAAY,EAAErD,MAAM,EAAEO,QAAQ,CAAC,CAAC;;EAEvG;EACA,MAAMqF,aAAa,GAAG,IAAAhD,cAAO,EAC3B,OAAO;IACL3C,YAAY;IACZC,aAAa;IACbC,gBAAgB;IAChBC,cAAc;IACdC,iBAAiB;IACjBE;EACF,CAAC,CAAC,EACF,CAACN,YAAY,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,iBAAiB,EAAEE,QAAQ,CAC7F,CAAC;EAED,MAAMsF,gBAAgB,GAAG,IAAAjD,cAAO,EAC9B,OAAO;IACLkD,YAAY,EAAEP;EAChB,CAAC,CAAC,EACF,CAACA,gBAAgB,CACnB,CAAC;;EAED;EACA,MAAM;IAAEQ,OAAO;IAAEC;EAAa,CAAC,GAAG,IAAAC,gCAAe,EAAC;IAChD7E,UAAU;IACVvD,WAAW;IACXG,cAAc;IACdC,MAAM;IACNC,UAAU;IACVuE,MAAM;IACNyD,SAAS,EAAE;MACTC,eAAe,EAAExB,mBAAmB;MACpCyB,YAAY,EAAEtB,gBAAgB;MAC9BuB,kBAAkB,EAAExB;IACtB,CAAC;IACDe,aAAa;IACbC,gBAAgB;IAChBzH,eAAe;IACfyE,cAAc;IACdE,UAAU;IACVuD,WAAW,EAAEhE,UAAU,CAACzF,OAAO,CAAC;EAClC,CAAC,CAAC;;EAEF;EACA,IAAA0J,0BAAmB,EAAC/F,GAAG,EAAE,OAAO;IAC9BgG,IAAI,EAAGC,OAAO,IAAK;MACjB,MAAM1B,MAAM,GAAGzC,UAAU,CAAC0C,SAAS,CAACyB,OAAO,CAACtC,IAAI,EAAEsC,OAAO,CAACrC,EAAE,EAAEqC,OAAO,CAACd,SAAS,CAAC;MAChF,IAAIZ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACpI,GAAG,EAAE;QAChC0F,cAAc,CAAC0C,MAAM,CAACpI,GAAG,CAAC;MAC5B;MACA;MACA;MACA,MAAM+E,QAAQ,GAAGhC,YAAY,IAAIC,gCAAqB;MACtD,OAAO,IAAI+G,OAAO,CAAQC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEjF,QAAQ,CAAC,CAAC;IACtE,CAAC;IAEDmF,SAAS,EAAEA,CAACrC,MAAM,EAAEE,KAAK,KAAK;MAC5BxB,uBAAuB,CAAE4D,IAAI,IAAK;QAChC,MAAMC,QAAQ,GAAGD,IAAI,CAACE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACzC,MAAM,KAAKA,MAAM,CAAC;QACxD,OAAO,CAAC,GAAGuC,QAAQ,EAAE;UAAEvC,MAAM;UAAEE;QAAM,CAAC,CAAC;MACzC,CAAC,CAAC;IACJ,CAAC;IAEDwC,eAAe,EAAEA,CAAA,KAAM;MACrBhE,uBAAuB,CAAC,EAAE,CAAC;IAC7B,CAAC;IAEDiE,UAAU,EAAGC,MAAM,IAAK;MACtB9E,UAAU,CAACE,OAAO,CAAC4E,MAAM,CAAC;MAC1B/E,cAAc,CAAC+E,MAAM,CAAC;MACtBtE,iBAAiB,CAAC,IAAI,CAAC;MACvBE,aAAa,CAAC,EAAE,CAAC;MACjBE,uBAAuB,CAAC,EAAE,CAAC;MAC3BG,YAAY,CAAC,CAAC;MACdI,iBAAiB,CAAC,IAAI,CAAC;IACzB,CAAC;IAED4D,IAAI,EAAEA,CAAA,KAAM;MACV,MAAMC,OAAO,GAAGhF,UAAU,CAACiF,QAAQ,CAAC,CAAC;MACrC,IAAID,OAAO,EAAE;QACXjF,cAAc,CAACiF,OAAO,CAAC;MACzB;MACAxE,iBAAiB,CAAC,IAAI,CAAC;MACvBE,aAAa,CAAC,EAAE,CAAC;IACnB,CAAC;IAEDwE,aAAa,EAAEA,CAAA,KAAM;MACnBnE,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,CAAC,CAAC;;EAEH;EACA,IAAIvF,SAAS,KAAK,CAAC,EAAE;IACnB,oBACE,IAAAxC,WAAA,CAAAyI,GAAA,EAAC3J,YAAA,CAAA4J,IAAI;MAACC,KAAK,EAAE;QAAEwD,IAAI,EAAE,CAAC;QAAEC,WAAW,EAAE;MAAE,CAAE;MAACC,QAAQ,EAAE/G;IAAa,CAAE,CAAC;EAExE;EAEA,oBACE,IAAAtF,WAAA,CAAAyI,GAAA,EAAC1J,0BAAA,CAAAuN,eAAe;IAAC7B,OAAO,EAAEA,OAAQ;IAAA8B,QAAA,eAChC,IAAAvM,WAAA,CAAAwM,IAAA,EAAC1N,YAAA,CAAA4J,IAAI;MACHC,KAAK,EAAE;QAAEnD,KAAK,EAAEhD,SAAS;QAAEiD,MAAM,EAAEjD;MAAU,CAAE;MAC/C6J,QAAQ,EAAE5J,aAAa,GAAGyD,SAAS,GAAGZ,YAAa;MACnDmH,kBAAkB,EAAC,aAAa;MAChCC,iBAAiB,EAAC,YAAY;MAAAH,QAAA,gBAG9B,IAAAvM,WAAA,CAAAyI,GAAA,EAAClJ,gBAAA,CAAAoN,eAAe;QACdnK,SAAS,EAAEA,SAAU;QACrBoK,UAAU,EAAE7G,WAAW,CAAC8G,KAAM;QAC9BC,SAAS,EAAE/G,WAAW,CAACgH;MAAK,CAC7B,CAAC,eAGF,IAAA/M,WAAA,CAAAyI,GAAA,EAACjJ,iBAAA,CAAAwN,gBAAgB;QACfxK,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzBqK,UAAU,EAAE7G,WAAW,CAAC8G,KAAM;QAC9BC,SAAS,EAAE/G,WAAW,CAACgH,IAAK;QAC5B/J,WAAW,EAAEA,WAAY;QACzBC,WAAW,EAAEA;MAAY,CAC1B,CAAC,eAGF,IAAAjD,WAAA,CAAAyI,GAAA,EAAChJ,gBAAA,CAAAwN,eAAe;QACdzK,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzBuD,UAAU,EAAEA,UAAW;QACvB1C,QAAQ,EAAEA,QAAS;QACnBM,aAAa,EAAEA,aAAc;QAC7BwJ,WAAW,EAAE7F,gBAAiB;QAC9B8F,UAAU,EAAEvJ,mBAAoB;QAChC2D,cAAc,EAAEA,cAAe;QAC/B6F,aAAa,EAAEtJ,mBAAoB;QACnCuJ,cAAc,EAAExF,OAAO,GAAG;UAAEgB,IAAI,EAAEhB,OAAO,CAACgB,IAAI;UAAEC,EAAE,EAAEjB,OAAO,CAACiB;QAAG,CAAC,GAAG,IAAK;QACxE9E,YAAY,EAAEA,YAAa;QAC3BX,UAAU,EAAEA,UAAW;QACvBsE,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC,EAGDlE,cAAc,iBACb,IAAAzD,WAAA,CAAAyI,GAAA,EAAChJ,gBAAA,CAAA6N,mBAAmB;QAClBxH,UAAU,EAAEA,UAAW;QACvBvD,WAAW,EAAEA,WAAY;QACzBgL,gBAAgB,EAAE7C,YAAY,CAAC6C,gBAAiB;QAChDnE,KAAK,EAAElF;MAAgB,CACxB,CACF,EAGArB,cAAc,iBACb,IAAA7C,WAAA,CAAAyI,GAAA,EAAC/I,eAAA,CAAA8N,cAAc;QACb/F,UAAU,EAAEA,UAAW;QACvB3B,UAAU,EAAEA,UAAW;QACvBvD,WAAW,EAAEA;MAAY,CAC1B,CACF,eAGD,IAAAvC,WAAA,CAAAyI,GAAA,EAAC9I,YAAA,CAAA8N,gBAAgB;QACftG,MAAM,EAAEA,MAAO;QACfrB,UAAU,EAAEA,UAAW;QACvBvD,WAAW,EAAEA,WAAY;QACzB6B,YAAY,EAAEA,YAAa;QAC3BE,eAAe,EAAEA,eAAgB;QACjCpB,WAAW,EAAEkF,gBAAiB;QAC9BsF,YAAY,EAAEhD,YAAY,CAACgD,YAAa;QACxCC,UAAU,EAAEjD,YAAY,CAACiD,UAAW;QACpCC,gBAAgB,EAAE3H;MAA2B,CAC9C,CAAC,EAGD,CAAE3C,MAAM,IAAIA,MAAM,CAACxB,MAAM,GAAG,CAAC,IAAMyB,MAAM,IAAIA,MAAM,CAACzB,MAAM,GAAG,CAAE,kBAC9D,IAAA9B,WAAA,CAAAyI,GAAA,EAAC5I,YAAA,CAAAgO,WAAW;QACVrL,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzBe,MAAM,EAAEA,MAAO;QACfC,MAAM,EAAEA;MAAO,CAChB,CACF,EAGAC,WAAW,IAAIA,WAAW,CAAC1B,MAAM,GAAG,CAAC,iBACpC,IAAA9B,WAAA,CAAAyI,GAAA,EAAC3I,iBAAA,CAAAgO,gBAAgB;QACftL,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzBuD,UAAU,EAAEA,UAAW;QACvBtC,WAAW,EAAEA;MAAY,CAC1B,CACF,eAGD,IAAAxD,WAAA,CAAAyI,GAAA,EAAC7I,eAAA,CAAAmO,cAAc;QACbjI,UAAU,EAAEA,UAAW;QACvB6H,UAAU,EAAEjD,YAAY,CAACiD,UAAW;QACpCK,KAAK,EAAEtD,YAAY,CAACsD,KAAM;QAC1BC,KAAK,EAAEvD,YAAY,CAACuD,KAAM;QAC1BC,aAAa,EAAExD,YAAY,CAACwD,aAAc;QAC1ChL,WAAW,EAAEkF;MAAiB,CAC/B,CAAC,EAGDF,cAAc,iBACb,IAAAlI,WAAA,CAAAyI,GAAA,EAAC1I,gBAAA,CAAAoO,eAAe;QACdjF,MAAM,EAAEhB,cAAc,CAACY,EAAG;QAC1BsF,UAAU,EAAElG,cAAc,CAACkB,KAAM;QACjC5G,SAAS,EAAEA,SAAU;QACrBsD,UAAU,EAAEA,UAAW;QACvBvD,WAAW,EAAEA,WAAY;QACzBW,WAAW,EAAEkF,gBAAiB;QAC9BiG,QAAQ,EAAEzE,qBAAsB;QAChC0E,QAAQ,EAAEtE;MAAsB,CACjC,CACF;IAAA,CACG;EAAC,CACQ,CAAC;AAEtB,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useEffect } from 'react';
4
- import Animated, { useAnimatedStyle, useSharedValue, withTiming, withSpring, FadeOut } from 'react-native-reanimated';
5
- import { DEFAULT_MOVE_DURATION, CAPTURE_FADE_DURATION } from './constants';
4
+ import Animated, { useAnimatedStyle, useSharedValue, withTiming, withSpring } from 'react-native-reanimated';
5
+ import { DEFAULT_MOVE_DURATION } from './constants';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  /**
8
8
  * Animate a shared value using the provided AnimationConfig.
@@ -49,7 +49,8 @@ function animateValue(target, config, moveDuration) {
49
49
  * - Outer view snaps to new position via withTiming/withSpring
50
50
  *
51
51
  * On capture (unmount):
52
- * - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
52
+ * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
53
+ * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
53
54
  */
54
55
  export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
55
56
  targetX,
@@ -60,7 +61,8 @@ export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
60
61
  children,
61
62
  activeSquare,
62
63
  isDragging,
63
- square
64
+ square,
65
+ exitingAnimation
64
66
  }) {
65
67
  // Shared values for smooth animated position — written from JS, read on UI thread
66
68
  const currentX = useSharedValue(targetX);
@@ -97,11 +99,12 @@ export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
97
99
  width: squareSize,
98
100
  height: squareSize
99
101
  }, positionStyle]
100
- // Fade out when this piece is captured (removed from the piece list).
102
+ // Exiting animation when this piece is captured (removed from the piece list).
101
103
  // Lives on the outer view so it doesn't conflict with the
102
104
  // drag-hide opacity on the inner view.
105
+ // Pass undefined to disable (e.g. during full board remount via key change).
103
106
  ,
104
- exiting: FadeOut.duration(CAPTURE_FADE_DURATION),
107
+ exiting: exitingAnimation,
105
108
  children: /*#__PURE__*/_jsx(Animated.View, {
106
109
  style: [{
107
110
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","Animated","useAnimatedStyle","useSharedValue","withTiming","withSpring","FadeOut","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","jsx","_jsx","animateValue","target","config","moveDuration","type","damping","stiffness","mass","duration","BoardPieceView","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","currentY","value","positionStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","View","style","position","width","height","exiting","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","Animated","useAnimatedStyle","useSharedValue","withTiming","withSpring","DEFAULT_MOVE_DURATION","jsx","_jsx","animateValue","target","config","moveDuration","type","damping","stiffness","mass","duration","BoardPieceView","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","exitingAnimation","currentX","currentY","value","positionStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","View","style","position","width","height","exiting","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,UAAU,QAGL,yBAAyB;AAGhC,SAASC,qBAAqB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA0BpD;AACA;AACA;AACA;AACA,SAASC,YAAYA,CACnBC,MAAc,EACdC,MAAwB,EACxBC,YAAqB,EACb;EACR,IAAID,MAAM,EAAE;IACV,IAAIA,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAOR,UAAU,CAACK,MAAM,EAAE;QACxBI,OAAO,EAAEH,MAAM,CAACG,OAAO,IAAI,EAAE;QAC7BC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI,GAAG;QAClCC,IAAI,EAAEL,MAAM,CAACK,IAAI,IAAI;MACvB,CAAC,CAAC;IACJ;IACA;IACA,OAAOZ,UAAU,CAACM,MAAM,EAAE;MACxBO,QAAQ,EAAEN,MAAM,CAACM,QAAQ,IAAIX;IAC/B,CAAC,CAAC;EACJ;EAEA,MAAMW,QAAQ,GAAGL,YAAY,IAAIN,qBAAqB;EACtD,IAAIW,QAAQ,IAAI,CAAC,EAAE,OAAOP,MAAM;EAChC,OAAON,UAAU,CAACM,MAAM,EAAE;IAAEO;EAAS,CAAC,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,gBAAGnB,KAAK,CAACoB,IAAI,CACtC,SAASD,cAAcA,CAAC;EACtBE,OAAO;EACPC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfX,YAAY;EACZY,QAAQ;EACRC,YAAY;EACZC,UAAU;EACVC,MAAM;EACNC;AACe,CAAC,EAAE;EAClB;EACA,MAAMC,QAAQ,GAAG1B,cAAc,CAACiB,OAAO,CAAC;EACxC,MAAMU,QAAQ,GAAG3B,cAAc,CAACkB,OAAO,CAAC;;EAExC;EACA;EACA;EACArB,SAAS,CAAC,MAAM;IACd6B,QAAQ,CAACE,KAAK,GAAGtB,YAAY,CAACW,OAAO,EAAEG,eAAe,EAAEX,YAAY,CAAC;IACrEkB,QAAQ,CAACC,KAAK,GAAGtB,YAAY,CAACY,OAAO,EAAEE,eAAe,EAAEX,YAAY,CAAC;EACvE,CAAC,EAAE,CAACQ,OAAO,EAAEC,OAAO,EAAEE,eAAe,EAAEX,YAAY,EAAEiB,QAAQ,EAAEC,QAAQ,CAAC,CAAC;;EAEzE;EACA;EACA,MAAME,aAAa,GAAG9B,gBAAgB,CAAC,OAAO;IAC5C+B,SAAS,EAAE,CACT;MAAEC,UAAU,EAAEL,QAAQ,CAACE;IAAM,CAAC,EAC9B;MAAEI,UAAU,EAAEL,QAAQ,CAACC;IAAM,CAAC;EAElC,CAAC,CAAC,CAAC;;EAEH;EACA,MAAMK,YAAY,GAAGlC,gBAAgB,CAAC,MAAM;IAC1C,MAAMmC,cAAc,GAAGX,UAAU,CAACK,KAAK,IAAIN,YAAY,CAACM,KAAK,KAAKJ,MAAM;IACxE,OAAO;MAAEW,OAAO,EAAED,cAAc,GAAG,CAAC,GAAG;IAAE,CAAC;EAC5C,CAAC,CAAC;EAEF,oBACE7B,IAAA,CAACP,QAAQ,CAACsC,IAAI;IACZC,KAAK,EAAE,CACL;MACEC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAEpB,UAAU;MACjBqB,MAAM,EAAErB;IACV,CAAC,EACDU,aAAa;IAEf;IACA;IACA;IACA;IAAA;IACAY,OAAO,EAAEhB,gBAAiB;IAAAJ,QAAA,eAE1BhB,IAAA,CAACP,QAAQ,CAACsC,IAAI;MAACC,KAAK,EAAE,CAAC;QAAEK,IAAI,EAAE;MAAE,CAAC,EAAET,YAAY,CAAE;MAAAZ,QAAA,EAC/CA;IAAQ,CACI;EAAC,CACH,CAAC;AAEpB,CAAC;AACD;AACA,CAACsB,IAAI,EAAEC,IAAI,KACTD,IAAI,CAAC1B,OAAO,KAAK2B,IAAI,CAAC3B,OAAO,IAC7B0B,IAAI,CAACzB,OAAO,KAAK0B,IAAI,CAAC1B,OAAO,IAC7ByB,IAAI,CAACnB,MAAM,KAAKoB,IAAI,CAACpB,MAAM,IAC3BmB,IAAI,CAACxB,UAAU,KAAKyB,IAAI,CAACzB,UAAU,IACnCwB,IAAI,CAAClC,YAAY,KAAKmC,IAAI,CAACnC,YAAY,IACvCkC,IAAI,CAACvB,eAAe,KAAKwB,IAAI,CAACxB,eAAe,IAC7CuB,IAAI,CAACtB,QAAQ,KAAKuB,IAAI,CAACvB,QAC3B,CAAC","ignoreList":[]}
@@ -19,7 +19,8 @@ export const BoardPiecesLayer = /*#__PURE__*/React.memo(function BoardPiecesLaye
19
19
  animationConfig,
20
20
  renderPiece,
21
21
  activeSquare,
22
- isDragging
22
+ isDragging,
23
+ exitingAnimation
23
24
  }) {
24
25
  return /*#__PURE__*/_jsx(_Fragment, {
25
26
  children: pieces.map(piece => {
@@ -36,6 +37,7 @@ export const BoardPiecesLayer = /*#__PURE__*/React.memo(function BoardPiecesLaye
36
37
  activeSquare: activeSquare,
37
38
  isDragging: isDragging,
38
39
  square: piece.square,
40
+ exitingAnimation: exitingAnimation,
39
41
  children: renderPiece(piece.code, squareSize)
40
42
  }, piece.id);
41
43
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","BoardPieceView","squareToXY","jsx","_jsx","Fragment","_Fragment","BoardPiecesLayer","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","children","map","piece","x","y","square","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,UAAU,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAahD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,gBAAgBA,CAAC;EACnEE,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC;AACgB,CAAC,EAAE;EACnB,oBACEZ,IAAA,CAAAE,SAAA;IAAAW,QAAA,EACGR,MAAM,CAACS,GAAG,CAAEC,KAAK,IAAK;MACrB,MAAM;QAAEC,CAAC;QAAEC;MAAE,CAAC,GAAGnB,UAAU,CAACiB,KAAK,CAACG,MAAM,EAAEZ,UAAU,EAAEC,WAAW,CAAC;MAElE,oBACEP,IAAA,CAACH,cAAc;QAEbsB,OAAO,EAAEH,CAAE;QACXI,OAAO,EAAEH,CAAE;QACXX,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCE,YAAY,EAAEA,YAAa;QAC3BC,UAAU,EAAEA,UAAW;QACvBM,MAAM,EAAEH,KAAK,CAACG,MAAO;QAAAL,QAAA,EAEpBH,WAAW,CAACK,KAAK,CAACM,IAAI,EAAEf,UAAU;MAAC,GAV/BS,KAAK,CAACO,EAWG,CAAC;IAErB,CAAC;EAAC,CACF,CAAC;AAEP,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","BoardPieceView","squareToXY","jsx","_jsx","Fragment","_Fragment","BoardPiecesLayer","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","exitingAnimation","children","map","piece","x","y","square","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,UAAU,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAehD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,gBAAgBA,CAAC;EACnEE,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,UAAU;EACVC;AACgB,CAAC,EAAE;EACnB,oBACEb,IAAA,CAAAE,SAAA;IAAAY,QAAA,EACGT,MAAM,CAACU,GAAG,CAAEC,KAAK,IAAK;MACrB,MAAM;QAAEC,CAAC;QAAEC;MAAE,CAAC,GAAGpB,UAAU,CAACkB,KAAK,CAACG,MAAM,EAAEb,UAAU,EAAEC,WAAW,CAAC;MAElE,oBACEP,IAAA,CAACH,cAAc;QAEbuB,OAAO,EAAEH,CAAE;QACXI,OAAO,EAAEH,CAAE;QACXZ,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCE,YAAY,EAAEA,YAAa;QAC3BC,UAAU,EAAEA,UAAW;QACvBO,MAAM,EAAEH,KAAK,CAACG,MAAO;QACrBN,gBAAgB,EAAEA,gBAAiB;QAAAC,QAAA,EAElCJ,WAAW,CAACM,KAAK,CAACM,IAAI,EAAEhB,UAAU;MAAC,GAX/BU,KAAK,CAACO,EAYG,CAAC;IAErB,CAAC;EAAC,CACF,CAAC;AAEP,CAAC,CAAC","ignoreList":[]}
@@ -3,8 +3,8 @@
3
3
  import React, { forwardRef, useState, useCallback, useImperativeHandle, useEffect, useMemo, useRef } from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { GestureDetector } from 'react-native-gesture-handler';
6
- import { useSharedValue, withTiming } from 'react-native-reanimated';
7
- import { DEFAULT_BOARD_COLORS, DEFAULT_MOVE_DURATION, DEFAULT_LAST_MOVE_COLOR, DEFAULT_CHECK_COLOR, DEFAULT_SELECTED_COLOR, DEFAULT_PREMOVE_COLOR, DEFAULT_DRAG_TARGET_COLOR } from './constants';
6
+ import { useSharedValue, withTiming, FadeOut } from 'react-native-reanimated';
7
+ import { DEFAULT_BOARD_COLORS, DEFAULT_MOVE_DURATION, DEFAULT_LAST_MOVE_COLOR, DEFAULT_CHECK_COLOR, DEFAULT_SELECTED_COLOR, DEFAULT_PREMOVE_COLOR, DEFAULT_DRAG_TARGET_COLOR, CAPTURE_FADE_DURATION } from './constants';
8
8
  import { DefaultPieceSet } from './pieces';
9
9
  import { useBoardPieces } from './use-board-pieces';
10
10
  import { useBoardState } from './use-board-state';
@@ -113,6 +113,7 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
113
113
  moveDuration = DEFAULT_MOVE_DURATION,
114
114
  animationConfig,
115
115
  animateFlip = true,
116
+ pieceExitAnimation,
116
117
  // Promotion
117
118
  onPromotion,
118
119
  // Callbacks
@@ -138,6 +139,9 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
138
139
  const squareSize = boardSize / 8;
139
140
  const boardColors = colors ?? DEFAULT_BOARD_COLORS;
140
141
 
142
+ // Resolve piece exit animation: null = disabled, undefined = default FadeOut
143
+ const resolvedPieceExitAnimation = pieceExitAnimation === null ? undefined : pieceExitAnimation ?? FadeOut.duration(CAPTURE_FADE_DURATION);
144
+
141
145
  // --- Board flip animation ---
142
146
  const flipRotation = useSharedValue(orientation === 'black' ? 180 : 0);
143
147
  const prevOrientationRef = useRef(orientation);
@@ -519,7 +523,8 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
519
523
  animationConfig: animationConfig,
520
524
  renderPiece: resolvedRenderer,
521
525
  activeSquare: gestureState.activeSquare,
522
- isDragging: gestureState.isDragging
526
+ isDragging: gestureState.isDragging,
527
+ exitingAnimation: resolvedPieceExitAnimation
523
528
  }), (arrows && arrows.length > 0 || shapes && shapes.length > 0) && /*#__PURE__*/_jsx(BoardArrows, {
524
529
  boardSize: boardSize,
525
530
  orientation: orientation,
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useState","useCallback","useImperativeHandle","useEffect","useMemo","useRef","View","GestureDetector","useSharedValue","withTiming","DEFAULT_BOARD_COLORS","DEFAULT_MOVE_DURATION","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DefaultPieceSet","useBoardPieces","useBoardState","useBoardGesture","usePremove","BoardBackground","BoardCoordinates","BoardHighlights","DragTargetHighlight","BoardLegalDots","BoardPiecesLayer","BoardDragGhost","BoardArrows","BoardAnnotations","PromotionPicker","jsx","_jsx","jsxs","_jsxs","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","checkHighlightColor","selectedSquareColor","premoveColor","dragTargetColor","moveDuration","animationConfig","animateFlip","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","flipRotation","prevOrientationRef","current","value","duration","internalFen","setInternalFen","boardState","loadFen","pieces","checkSquareState","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","promotionState","setPromotionState","resolvedRenderer","set","code","size","renderer","style","isPromotionMove","from","to","piece","find","p","square","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","result","applyMove","applied","handlePromotionSelect","promo","toLowerCase","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","promotion","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","children","undefined","accessibilityLabel","accessibilityRole","lightColor","light","darkColor","dark","checkSquare","checkColor","selectedColor","premoveSquares","dragTargetSquare","activeSquare","isDragging","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,mBAAmB,EACnBC,SAAS,EACTC,OAAO,EACPC,MAAM,QACD,OAAO;AACd,SAASC,IAAI,QAAgC,cAAc;AAC3D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SACEC,cAAc,EAEdC,UAAU,QACL,yBAAyB;AAUhC,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,EACnBC,sBAAsB,EACtBC,qBAAqB,EACrBC,yBAAyB,QACpB,aAAa;AACpB,SAASC,eAAe,QAAQ,UAAU;AAC1C,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,oBAAoB;AACzE,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,eAAe,QAAQ,oBAAoB;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAIA,SAASC,iBAAiBA,CACxBC,GAAW,EACXC,SAAwB,EACxBC,OAAwB,EACT;EACf,IAAI,CAACD,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI;EAE7B,MAAME,IAAI,GAAGD,OAAO,CAAC,CAAC;EACtB,MAAME,QAAQ,GAAGD,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;EACzC,MAAME,SAAS,GAAGL,GAAG,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACnC,MAAMC,KAAK,GAAGF,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC;EAElC,KAAK,IAAIE,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAGD,KAAK,CAACE,MAAM,EAAED,OAAO,EAAE,EAAE;IACvD,MAAME,IAAI,GAAGH,KAAK,CAACC,OAAO,CAAE;IAC5B,IAAIG,OAAO,GAAG,CAAC;IACf,KAAK,MAAMC,IAAI,IAAIF,IAAI,EAAE;MACvB,IAAIE,IAAI,IAAI,GAAG,IAAIA,IAAI,IAAI,GAAG,EAAE;QAC9BD,OAAO,IAAIE,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC;QAC7B;MACF;MACA,IAAIA,IAAI,KAAKR,QAAQ,EAAE;QACrB,MAAMU,KAAK,GAAG,UAAU;QACxB,OAAO,GAAGA,KAAK,CAACH,OAAO,CAAC,GAAG,CAAC,GAAGH,OAAO,EAAE;MAC1C;MACAG,OAAO,EAAE;IACX;EACF;EAEA,OAAO,IAAI;AACb;;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,OAAO,MAAMI,KAAK,gBAAGrD,UAAU,CAAuB,SAASqD,KAAKA,CAClE;EACEf,GAAG;EACHgB,WAAW;EAEX;EACAC,SAAS,EAAEC,aAAa;EAExB;EACAC,cAAc,GAAG,IAAI;EACrBC,MAAM,GAAG,MAAM;EACfC,UAAU,GAAG,MAAM;EACnBC,cAAc,GAAG,IAAI;EACrBC,eAAe,GAAG,KAAK;EAEvB;EACAC,MAAM;EACNC,WAAW,GAAG,IAAI;EAClBC,WAAW,GAAG,IAAI;EAClBC,WAAW;EACXC,QAAQ;EAER;EACAC,QAAQ;EACRC,UAAU;EACVC,MAAM;EACNC,MAAM;EACNC,WAAW;EACXC,cAAc,GAAG,IAAI;EAErB;EACAC,aAAa,GAAG5D,uBAAuB;EACvC6D,mBAAmB,GAAG5D,mBAAmB;EACzC6D,mBAAmB,GAAG5D,sBAAsB;EAC5C6D,YAAY,GAAG5D,qBAAqB;EACpC6D,eAAe,GAAG5D,yBAAyB;EAE3C;EACA6D,YAAY,GAAGlE,qBAAqB;EACpCmE,eAAe;EACfC,WAAW,GAAG,IAAI;EAElB;EACAC,WAAW;EAEX;EACAC,MAAM;EACNC,YAAY;EACZC,aAAa;EACbC,gBAAgB;EAChBC,cAAc;EACdC,iBAAiB;EACjBC,SAAS;EACTC;AACF,CAAC,EACDC,GAAG,EACH;EACA;EACA,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG3F,QAAQ,CAAC,CAAC,CAAC;EACnD,MAAM4F,YAAY,GAAG3F,WAAW,CAAE4F,CAAoB,IAAK;IACzD,MAAM;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGF,CAAC,CAACG,WAAW,CAACC,MAAM;IAC9CN,eAAe,CAACO,IAAI,CAACC,GAAG,CAACL,KAAK,EAAEC,MAAM,CAAC,CAAC;EAC1C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMzC,SAAS,GAAGC,aAAa,IAAImC,YAAY;EAC/C,MAAMU,UAAU,GAAG9C,SAAS,GAAG,CAAC;EAChC,MAAM+C,WAAW,GAAGxC,MAAM,IAAInD,oBAAoB;;EAElD;EACA,MAAM4F,YAAY,GAAG9F,cAAc,CAAC6C,WAAW,KAAK,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC;EACtE,MAAMkD,kBAAkB,GAAGlG,MAAM,CAACgD,WAAW,CAAC;EAE9ClD,SAAS,CAAC,MAAM;IACd,IAAIoG,kBAAkB,CAACC,OAAO,KAAKnD,WAAW,EAAE;MAC9CkD,kBAAkB,CAACC,OAAO,GAAGnD,WAAW;MACxC,IAAI0B,WAAW,EAAE;QACfuB,YAAY,CAACG,KAAK,GAAGhG,UAAU,CAC7B4C,WAAW,KAAK,OAAO,GAAG,GAAG,GAAG,CAAC,EACjC;UAAEqD,QAAQ,EAAE;QAAI,CAClB,CAAC;MACH,CAAC,MAAM;QACLJ,YAAY,CAACG,KAAK,GAAGpD,WAAW,KAAK,OAAO,GAAG,GAAG,GAAG,CAAC;MACxD;IACF;EACF,CAAC,EAAE,CAACA,WAAW,EAAE0B,WAAW,EAAEuB,YAAY,CAAC,CAAC;;EAE5C;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG5G,QAAQ,CAACqC,GAAG,CAAC;;EAEnD;EACA,MAAMwE,UAAU,GAAG1F,aAAa,CAACkB,GAAG,CAAC;;EAErC;EACA;EACA;EACAlC,SAAS,CAAC,MAAM;IACdyG,cAAc,CAACvE,GAAG,CAAC;IACnBwE,UAAU,CAACC,OAAO,CAACzE,GAAG,CAAC;EACzB,CAAC,EAAE,CAACA,GAAG,EAAEwE,UAAU,CAAC,CAAC;;EAErB;EACA,MAAME,MAAM,GAAG7F,cAAc,CAACyF,WAAW,CAAC;;EAE1C;EACA;EACA;EACA;EACA;EACA,MAAMK,gBAAgB,GAAG5G,OAAO,CAAC,MAAM;IACrC,IAAI;MACF,OAAOgC,iBAAiB,CACtBuE,WAAW,EACX,MAAME,UAAU,CAACvE,SAAS,CAAC,CAAC,EAC5BuE,UAAU,CAACtE,OACb,CAAC;IACH,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF,CAAC,EAAE,CAACoE,WAAW,EAAEE,UAAU,CAAC,CAAC;;EAE7B;EACA,MAAM,CAACI,cAAc,EAAEC,iBAAiB,CAAC,GAAGlH,QAAQ,CAAgB,IAAI,CAAC;EACzE,MAAM,CAACmH,UAAU,EAAEC,aAAa,CAAC,GAAGpH,QAAQ,CAAoB,EAAE,CAAC;;EAEnE;EACA,MAAM,CAACqH,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGtH,QAAQ,CAAkB,EAAE,CAAC;;EAErF;EACA,MAAM;IAAEuH,OAAO;IAAEC,UAAU;IAAEC,YAAY;IAAEC;EAAe,CAAC,GAAGrG,UAAU,CAAC,CAAC;;EAE1E;EACA,MAAM,CAACsG,cAAc,EAAEC,iBAAiB,CAAC,GAAG5H,QAAQ,CAI1C,IAAI,CAAC;;EAEf;EACA,MAAM6H,gBAAgB,GAAGzH,OAAO,CAAC,MAAM;IACrC,IAAI4D,WAAW,EAAE,OAAOA,WAAW;IACnC,MAAM8D,GAAG,GAAG7D,QAAQ,IAAIhD,eAAe;IACvC,OAAO,CAAC8G,IAAY,EAAEC,IAAY,KAAK;MACrC,MAAMC,QAAQ,GAAGH,GAAG,CAACC,IAAI,CAAc;MACvC,IAAIE,QAAQ,EAAE,OAAOA,QAAQ,CAACD,IAAI,CAAC;MACnC,oBAAO/F,IAAA,CAAC3B,IAAI;QAAC4H,KAAK,EAAE;UAAEpC,KAAK,EAAEkC,IAAI;UAAEjC,MAAM,EAAEiC;QAAK;MAAE,CAAE,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,CAAChE,WAAW,EAAEC,QAAQ,CAAC,CAAC;;EAE3B;EACA,MAAMkE,eAAe,GAAGlI,WAAW,CACjC,CAACmI,IAAY,EAAEC,EAAU,KAAc;IACrC,MAAMC,KAAK,GAAGvB,MAAM,CAACwB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAKL,IAAI,CAAC;IACnD,IAAI,CAACE,KAAK,EAAE,OAAO,KAAK;IACxB;IACA,IAAIA,KAAK,CAACP,IAAI,KAAK,IAAI,IAAIO,KAAK,CAACP,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK;IAC5D;IACA,MAAMW,MAAM,GAAGL,EAAE,CAAC,CAAC,CAAC;IACpB,IAAIC,KAAK,CAACK,KAAK,KAAK,GAAG,IAAID,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI;IACtD,IAAIJ,KAAK,CAACK,KAAK,KAAK,GAAG,IAAID,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI;IACtD,OAAO,KAAK;EACd,CAAC,EACD,CAAC3B,MAAM,CACT,CAAC;;EAED;EACA,MAAM6B,mBAAmB,GAAG3I,WAAW,CACpCwI,MAAc,IAAK;IAClBvB,iBAAiB,CAACuB,MAAM,CAAC;IACzB,IAAI9E,cAAc,EAAE;MAClByD,aAAa,CAACP,UAAU,CAACgC,aAAa,CAACJ,MAAM,CAAC,CAAC;IACjD;EACF,CAAC,EACD,CAAC9E,cAAc,EAAEkD,UAAU,CAC7B,CAAC;EAED,MAAMiC,sBAAsB,GAAG7I,WAAW,CAAC,MAAM;IAC/CiH,iBAAiB,CAAC,IAAI,CAAC;IACvBE,aAAa,CAAC,EAAE,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM2B,gBAAgB,GAAG9I,WAAW,CAClC,OAAOmI,IAAY,EAAEC,EAAU,KAAK;IAClC;IACAnB,iBAAiB,CAAC,IAAI,CAAC;IACvBE,aAAa,CAAC,EAAE,CAAC;;IAEjB;IACA,IAAIe,eAAe,CAACC,IAAI,EAAEC,EAAE,CAAC,EAAE;MAC7B,IAAIrD,WAAW,EAAE;QACf,MAAMsD,KAAK,GAAGvB,MAAM,CAACwB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAKL,IAAI,CAAC;QACnD,MAAMO,KAAK,GAAGL,KAAK,EAAEK,KAAK,IAAI,GAAG;QACjCf,iBAAiB,CAAC;UAAEQ,IAAI;UAAEC,EAAE;UAAEM;QAAM,CAAC,CAAC;QACtC;MACF;MACA;MACA,MAAMK,MAAM,GAAGnC,UAAU,CAACoC,SAAS,CAACb,IAAI,EAAEC,EAAE,EAAE,GAAG,CAAC;MAClD,IAAIW,MAAM,CAACE,OAAO,IAAIF,MAAM,CAAC3G,GAAG,EAAE;QAChCuE,cAAc,CAACoC,MAAM,CAAC3G,GAAG,CAAC;MAC5B;MACA4C,MAAM,GAAG;QAAEmD,IAAI;QAAEC;MAAG,CAAC,CAAC;MACtB;IACF;;IAEA;IACA;IACA;IACA,MAAMW,MAAM,GAAGnC,UAAU,CAACoC,SAAS,CAACb,IAAI,EAAEC,EAAE,CAAC;IAC7C,IAAIW,MAAM,CAACE,OAAO,IAAIF,MAAM,CAAC3G,GAAG,EAAE;MAChCuE,cAAc,CAACoC,MAAM,CAAC3G,GAAG,CAAC;MAC1B4C,MAAM,GAAG;QAAEmD,IAAI;QAAEC;MAAG,CAAC,CAAC;IACxB;IACA;IACA;EACF,CAAC,EACD,CAACpD,MAAM,EAAED,WAAW,EAAEmD,eAAe,EAAEpB,MAAM,EAAEF,UAAU,CAC3D,CAAC;;EAED;EACA,MAAMsC,qBAAqB,GAAGlJ,WAAW,CACvC,MAAOqI,KAAqB,IAAK;IAC/B,IAAI,CAACX,cAAc,EAAE;IACrB,MAAM;MAAES,IAAI;MAAEC;IAAG,CAAC,GAAGV,cAAc;IACnCC,iBAAiB,CAAC,IAAI,CAAC;IAEvB,MAAMwB,KAAK,GAAGd,KAAK,CAACe,WAAW,CAAC,CAAC;IAEjC,IAAIrE,WAAW,EAAE;MACf,IAAI;QACF,MAAMsE,MAAM,GAAG,MAAMtE,WAAW,CAACoD,IAAI,EAAEC,EAAE,CAAC;QAC1C,MAAMW,MAAM,GAAGnC,UAAU,CAACoC,SAAS,CAACb,IAAI,EAAEC,EAAE,EAAEiB,MAAM,CAAC;QACrD,IAAIN,MAAM,CAACE,OAAO,IAAIF,MAAM,CAAC3G,GAAG,EAAE;UAChCuE,cAAc,CAACoC,MAAM,CAAC3G,GAAG,CAAC;QAC5B;QACA4C,MAAM,GAAG;UAAEmD,IAAI;UAAEC;QAAG,CAAC,CAAC;MACxB,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC,MAAM;MACL,MAAMW,MAAM,GAAGnC,UAAU,CAACoC,SAAS,CAACb,IAAI,EAAEC,EAAE,EAAEe,KAAK,CAAC;MACpD,IAAIJ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAAC3G,GAAG,EAAE;QAChCuE,cAAc,CAACoC,MAAM,CAAC3G,GAAG,CAAC;MAC5B;MACA4C,MAAM,GAAG;QAAEmD,IAAI;QAAEC;MAAG,CAAC,CAAC;IACxB;EACF,CAAC,EACD,CAACV,cAAc,EAAE3C,WAAW,EAAEC,MAAM,EAAE4B,UAAU,CAClD,CAAC;EAED,MAAM0C,qBAAqB,GAAGtJ,WAAW,CAAC,MAAM;IAC9C2H,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAM4B,gBAAgB,GAAGvJ,WAAW,CACjCwJ,EAAgC,IAAK;IACpCjC,UAAU,CAACiC,EAAE,CAAC;IACdlE,SAAS,GAAGkE,EAAE,CAAC;IACfjE,QAAQ,GAAG,QAAQ,CAAC;EACtB,CAAC,EACD,CAACgC,UAAU,EAAEjC,SAAS,EAAEC,QAAQ,CAClC,CAAC;;EAED;EACArF,SAAS,CAAC,MAAM;IACd,IAAI,CAACyD,eAAe,IAAI,CAAC2D,OAAO,EAAE;IAElC,MAAM/E,IAAI,GAAGqE,UAAU,CAACtE,OAAO,CAAC,CAAC;IACjC;IACA,MAAMmH,YAAY,GAAG3C,MAAM,CAACwB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAKlB,OAAO,CAACa,IAAI,CAAC;IAClE,IAAI,CAACsB,YAAY,EAAE;MACjBjC,YAAY,CAAC,CAAC;MACd;IACF;IAEA,IAAIiC,YAAY,CAACf,KAAK,KAAKnG,IAAI,EAAE;MAC/B,MAAMmH,QAAQ,GAAGjC,cAAc,CAAC,CAAC;MACjC,IAAIiC,QAAQ,EAAE;QACZ;QACA,MAAMX,MAAM,GAAGnC,UAAU,CAACoC,SAAS,CAACU,QAAQ,CAACvB,IAAI,EAAEuB,QAAQ,CAACtB,EAAE,EAAEsB,QAAQ,CAACC,SAAS,CAAC;QACnF,IAAIZ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAAC3G,GAAG,EAAE;UAChCuE,cAAc,CAACoC,MAAM,CAAC3G,GAAG,CAAC;UAC1B4C,MAAM,GAAG;YAAEmD,IAAI,EAAEuB,QAAQ,CAACvB,IAAI;YAAEC,EAAE,EAAEsB,QAAQ,CAACtB;UAAG,CAAC,CAAC;UAClD7C,QAAQ,GAAG,MAAM,CAAC;QACpB,CAAC,MAAM;UACL;UACAA,QAAQ,GAAG,OAAO,CAAC;QACrB;MACF;IACF;EACF,CAAC,EAAE,CAACnD,GAAG,EAAEuB,eAAe,EAAE2D,OAAO,EAAER,MAAM,EAAEF,UAAU,EAAEa,cAAc,EAAED,YAAY,EAAExC,MAAM,EAAEO,QAAQ,CAAC,CAAC;;EAEvG;EACA,MAAMqE,aAAa,GAAGzJ,OAAO,CAC3B,OAAO;IACL8E,YAAY;IACZC,aAAa;IACbC,gBAAgB;IAChBC,cAAc;IACdC,iBAAiB;IACjBE;EACF,CAAC,CAAC,EACF,CAACN,YAAY,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,iBAAiB,EAAEE,QAAQ,CAC7F,CAAC;EAED,MAAMsE,gBAAgB,GAAG1J,OAAO,CAC9B,OAAO;IACL2J,YAAY,EAAEP;EAChB,CAAC,CAAC,EACF,CAACA,gBAAgB,CACnB,CAAC;;EAED;EACA,MAAM;IAAEQ,OAAO;IAAEC;EAAa,CAAC,GAAG7I,eAAe,CAAC;IAChDgF,UAAU;IACV/C,WAAW;IACXG,cAAc;IACdC,MAAM;IACNC,UAAU;IACVqD,MAAM;IACNmD,SAAS,EAAE;MACTC,eAAe,EAAEvB,mBAAmB;MACpCwB,YAAY,EAAErB,gBAAgB;MAC9BsB,kBAAkB,EAAEvB;IACtB,CAAC;IACDe,aAAa;IACbC,gBAAgB;IAChBlG,eAAe;IACfqD,cAAc;IACdE,UAAU;IACVmD,WAAW,EAAEzD,UAAU,CAACtE,OAAO,CAAC;EAClC,CAAC,CAAC;;EAEF;EACArC,mBAAmB,CAACuF,GAAG,EAAE,OAAO;IAC9B8E,IAAI,EAAGC,OAAO,IAAK;MACjB,MAAMxB,MAAM,GAAGnC,UAAU,CAACoC,SAAS,CAACuB,OAAO,CAACpC,IAAI,EAAEoC,OAAO,CAACnC,EAAE,EAAEmC,OAAO,CAACZ,SAAS,CAAC;MAChF,IAAIZ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAAC3G,GAAG,EAAE;QAChCuE,cAAc,CAACoC,MAAM,CAAC3G,GAAG,CAAC;MAC5B;MACA;MACA;MACA,MAAMqE,QAAQ,GAAG7B,YAAY,IAAIlE,qBAAqB;MACtD,OAAO,IAAI8J,OAAO,CAAQC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEhE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAEDkE,SAAS,EAAEA,CAACnC,MAAM,EAAEE,KAAK,KAAK;MAC5BrB,uBAAuB,CAAEuD,IAAI,IAAK;QAChC,MAAMC,QAAQ,GAAGD,IAAI,CAACE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACvC,MAAM,KAAKA,MAAM,CAAC;QACxD,OAAO,CAAC,GAAGqC,QAAQ,EAAE;UAAErC,MAAM;UAAEE;QAAM,CAAC,CAAC;MACzC,CAAC,CAAC;IACJ,CAAC;IAEDsC,eAAe,EAAEA,CAAA,KAAM;MACrB3D,uBAAuB,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED4D,UAAU,EAAGC,MAAM,IAAK;MACtBtE,UAAU,CAACC,OAAO,CAACqE,MAAM,CAAC;MAC1BvE,cAAc,CAACuE,MAAM,CAAC;MACtBjE,iBAAiB,CAAC,IAAI,CAAC;MACvBE,aAAa,CAAC,EAAE,CAAC;MACjBE,uBAAuB,CAAC,EAAE,CAAC;MAC3BG,YAAY,CAAC,CAAC;MACdG,iBAAiB,CAAC,IAAI,CAAC;IACzB,CAAC;IAEDwD,IAAI,EAAEA,CAAA,KAAM;MACV,MAAMC,OAAO,GAAGxE,UAAU,CAACyE,QAAQ,CAAC,CAAC;MACrC,IAAID,OAAO,EAAE;QACXzE,cAAc,CAACyE,OAAO,CAAC;MACzB;MACAnE,iBAAiB,CAAC,IAAI,CAAC;MACvBE,aAAa,CAAC,EAAE,CAAC;IACnB,CAAC;IAEDmE,aAAa,EAAEA,CAAA,KAAM;MACnB9D,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,CAAC,CAAC;;EAEH;EACA,IAAInE,SAAS,KAAK,CAAC,EAAE;IACnB,oBACErB,IAAA,CAAC3B,IAAI;MAAC4H,KAAK,EAAE;QAAEsD,IAAI,EAAE,CAAC;QAAEC,WAAW,EAAE;MAAE,CAAE;MAACC,QAAQ,EAAE9F;IAAa,CAAE,CAAC;EAExE;EAEA,oBACE3D,IAAA,CAAC1B,eAAe;IAACyJ,OAAO,EAAEA,OAAQ;IAAA2B,QAAA,eAChCxJ,KAAA,CAAC7B,IAAI;MACH4H,KAAK,EAAE;QAAEpC,KAAK,EAAExC,SAAS;QAAEyC,MAAM,EAAEzC;MAAU,CAAE;MAC/CoI,QAAQ,EAAEnI,aAAa,GAAGqI,SAAS,GAAGhG,YAAa;MACnDiG,kBAAkB,EAAC,aAAa;MAChCC,iBAAiB,EAAC,YAAY;MAAAH,QAAA,gBAG9B1J,IAAA,CAACX,eAAe;QACdgC,SAAS,EAAEA,SAAU;QACrByI,UAAU,EAAE1F,WAAW,CAAC2F,KAAM;QAC9BC,SAAS,EAAE5F,WAAW,CAAC6F;MAAK,CAC7B,CAAC,eAGFjK,IAAA,CAACV,gBAAgB;QACf+B,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzB0I,UAAU,EAAE1F,WAAW,CAAC2F,KAAM;QAC9BC,SAAS,EAAE5F,WAAW,CAAC6F,IAAK;QAC5BpI,WAAW,EAAEA,WAAY;QACzBC,WAAW,EAAEA;MAAY,CAC1B,CAAC,eAGF9B,IAAA,CAACT,eAAe;QACd8B,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzB+C,UAAU,EAAEA,UAAW;QACvBlC,QAAQ,EAAEA,QAAS;QACnBM,aAAa,EAAEA,aAAc;QAC7B2H,WAAW,EAAEnF,gBAAiB;QAC9BoF,UAAU,EAAE3H,mBAAoB;QAChCwC,cAAc,EAAEA,cAAe;QAC/BoF,aAAa,EAAE3H,mBAAoB;QACnC4H,cAAc,EAAE/E,OAAO,GAAG;UAAEa,IAAI,EAAEb,OAAO,CAACa,IAAI;UAAEC,EAAE,EAAEd,OAAO,CAACc;QAAG,CAAC,GAAG,IAAK;QACxE1D,YAAY,EAAEA,YAAa;QAC3BR,UAAU,EAAEA,UAAW;QACvBkD,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC,EAGD9C,cAAc,iBACbtC,IAAA,CAACR,mBAAmB;QAClB2E,UAAU,EAAEA,UAAW;QACvB/C,WAAW,EAAEA,WAAY;QACzBkJ,gBAAgB,EAAEtC,YAAY,CAACsC,gBAAiB;QAChD5D,KAAK,EAAE/D;MAAgB,CACxB,CACF,EAGAjB,cAAc,iBACb1B,IAAA,CAACP,cAAc;QACbyF,UAAU,EAAEA,UAAW;QACvBf,UAAU,EAAEA,UAAW;QACvB/C,WAAW,EAAEA;MAAY,CAC1B,CACF,eAGDpB,IAAA,CAACN,gBAAgB;QACfoF,MAAM,EAAEA,MAAO;QACfX,UAAU,EAAEA,UAAW;QACvB/C,WAAW,EAAEA,WAAY;QACzBwB,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCd,WAAW,EAAE6D,gBAAiB;QAC9B2E,YAAY,EAAEvC,YAAY,CAACuC,YAAa;QACxCC,UAAU,EAAExC,YAAY,CAACwC;MAAW,CACrC,CAAC,EAGD,CAAErI,MAAM,IAAIA,MAAM,CAACtB,MAAM,GAAG,CAAC,IAAMuB,MAAM,IAAIA,MAAM,CAACvB,MAAM,GAAG,CAAE,kBAC9Db,IAAA,CAACJ,WAAW;QACVyB,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzBe,MAAM,EAAEA,MAAO;QACfC,MAAM,EAAEA;MAAO,CAChB,CACF,EAGAC,WAAW,IAAIA,WAAW,CAACxB,MAAM,GAAG,CAAC,iBACpCb,IAAA,CAACH,gBAAgB;QACfwB,SAAS,EAAEA,SAAU;QACrBD,WAAW,EAAEA,WAAY;QACzB+C,UAAU,EAAEA,UAAW;QACvB9B,WAAW,EAAEA;MAAY,CAC1B,CACF,eAGDrC,IAAA,CAACL,cAAc;QACbwE,UAAU,EAAEA,UAAW;QACvBqG,UAAU,EAAExC,YAAY,CAACwC,UAAW;QACpCC,KAAK,EAAEzC,YAAY,CAACyC,KAAM;QAC1BC,KAAK,EAAE1C,YAAY,CAAC0C,KAAM;QAC1BC,aAAa,EAAE3C,YAAY,CAAC2C,aAAc;QAC1C5I,WAAW,EAAE6D;MAAiB,CAC/B,CAAC,EAGDF,cAAc,iBACb1F,IAAA,CAACF,eAAe;QACd0G,MAAM,EAAEd,cAAc,CAACU,EAAG;QAC1BwE,UAAU,EAAElF,cAAc,CAACgB,KAAM;QACjCrF,SAAS,EAAEA,SAAU;QACrB8C,UAAU,EAAEA,UAAW;QACvB/C,WAAW,EAAEA,WAAY;QACzBW,WAAW,EAAE6D,gBAAiB;QAC9BiF,QAAQ,EAAE3D,qBAAsB;QAChC4D,QAAQ,EAAExD;MAAsB,CACjC,CACF;IAAA,CACG;EAAC,CACQ,CAAC;AAEtB,CAAC,CAAC","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","DefaultPieceSet","useBoardPieces","useBoardState","useBoardGesture","usePremove","BoardBackground","BoardCoordinates","BoardHighlights","DragTargetHighlight","BoardLegalDots","BoardPiecesLayer","BoardDragGhost","BoardArrows","BoardAnnotations","PromotionPicker","jsx","_jsx","jsxs","_jsxs","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","checkHighlightColor","selectedSquareColor","premoveColor","dragTargetColor","moveDuration","animationConfig","animateFlip","pieceExitAnimation","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","resolvedPieceExitAnimation","undefined","duration","flipRotation","prevOrientationRef","current","value","internalFen","setInternalFen","boardState","loadFen","pieces","checkSquareState","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","promotionState","setPromotionState","resolvedRenderer","set","code","size","renderer","style","isPromotionMove","from","to","piece","find","p","square","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","result","applyMove","applied","handlePromotionSelect","promo","toLowerCase","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","promotion","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","children","accessibilityLabel","accessibilityRole","lightColor","light","darkColor","dark","checkSquare","checkColor","selectedColor","premoveSquares","dragTargetSquare","activeSquare","isDragging","exitingAnimation","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type SharedValue } from 'react-native-reanimated';
2
+ import { type SharedValue, type BaseAnimationBuilder } from 'react-native-reanimated';
3
3
  import type { AnimationConfig } from './types';
4
4
  type BoardPieceProps = {
5
5
  /** Target pixel position (top-left of destination square) */
@@ -18,6 +18,11 @@ type BoardPieceProps = {
18
18
  isDragging: SharedValue<boolean>;
19
19
  /** This piece's current square */
20
20
  square: string;
21
+ /**
22
+ * Exiting animation played when this piece unmounts (e.g. captured).
23
+ * Pass `undefined` to disable (piece disappears instantly on unmount).
24
+ */
25
+ exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
21
26
  };
22
27
  /**
23
28
  * A single animated chess piece.
@@ -39,7 +44,8 @@ type BoardPieceProps = {
39
44
  * - Outer view snaps to new position via withTiming/withSpring
40
45
  *
41
46
  * On capture (unmount):
42
- * - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
47
+ * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
48
+ * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
43
49
  */
44
50
  export declare const BoardPieceView: React.NamedExoticComponent<BoardPieceProps>;
45
51
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"board-piece.d.ts","sourceRoot":"","sources":["../../src/board-piece.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAiB,EAMf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,eAAe,GAAG;IACrB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,4DAA4D;IAC5D,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,6CAqE1B,CAAC"}
1
+ {"version":3,"file":"board-piece.d.ts","sourceRoot":"","sources":["../../src/board-piece.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAiB,EAKf,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,eAAe,GAAG;IACrB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,4DAA4D;IAC5D,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;CACvE,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,cAAc,6CAuE1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SharedValue } from 'react-native-reanimated';
2
+ import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
3
3
  import type { ChessColor, BoardPiece, AnimationConfig } from './types';
4
4
  type BoardPiecesProps = {
5
5
  pieces: BoardPiece[];
@@ -10,6 +10,8 @@ type BoardPiecesProps = {
10
10
  renderPiece: (code: string, size: number) => React.ReactElement;
11
11
  activeSquare: SharedValue<string | null>;
12
12
  isDragging: SharedValue<boolean>;
13
+ /** Exiting animation for pieces. Passed through to each BoardPieceView. */
14
+ exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
13
15
  };
14
16
  /**
15
17
  * Renders all pieces on the board.
@@ -1 +1 @@
1
- {"version":3,"file":"board-pieces.d.ts","sourceRoot":"","sources":["../../src/board-pieces.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIvE,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,8CAiC3B,CAAC"}
1
+ {"version":3,"file":"board-pieces.d.ts","sourceRoot":"","sources":["../../src/board-pieces.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIvE,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;CACvE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,8CAmC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAKX,MAAM,SAAS,CAAC;AAoEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,6EAogBhB,CAAC"}
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;AAqEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,6EA4gBhB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { SharedValue } from 'react-native-reanimated';
1
+ import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
2
2
  /** Board orientation / side color */
3
3
  export type ChessColor = 'white' | 'black';
4
4
  /** How the user interacts with pieces */
@@ -186,6 +186,15 @@ export type BoardProps = {
186
186
  animationConfig?: AnimationConfig;
187
187
  /** Animate board rotation on orientation change. Default: true */
188
188
  animateFlip?: boolean;
189
+ /**
190
+ * Custom exiting animation for pieces (played on unmount, e.g. captures).
191
+ * - `undefined` (or omitted): uses default FadeOut.duration(150)
192
+ * - `null`: disables all piece exit animations (pieces vanish instantly).
193
+ * Useful when remounting the entire board via a React key change to
194
+ * prevent all pieces from fading out simultaneously.
195
+ * - Any `BaseAnimationBuilder`: uses the provided animation.
196
+ */
197
+ pieceExitAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder | null;
189
198
  /**
190
199
  * Called when a pawn promotion occurs. If not provided, auto-promotes to queen.
191
200
  * Return the chosen piece to complete the promotion.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-chess-kit",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "High-performance chess board for React Native. Single gesture handler, ~40 components, 0 re-renders during drag. Built on Reanimated + Gesture Handler.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -4,12 +4,12 @@ import Animated, {
4
4
  useSharedValue,
5
5
  withTiming,
6
6
  withSpring,
7
- FadeOut,
8
7
  type SharedValue,
8
+ type BaseAnimationBuilder,
9
9
  } from 'react-native-reanimated';
10
10
 
11
11
  import type { AnimationConfig } from './types';
12
- import { DEFAULT_MOVE_DURATION, CAPTURE_FADE_DURATION } from './constants';
12
+ import { DEFAULT_MOVE_DURATION } from './constants';
13
13
 
14
14
  type BoardPieceProps = {
15
15
  /** Target pixel position (top-left of destination square) */
@@ -28,6 +28,11 @@ type BoardPieceProps = {
28
28
  isDragging: SharedValue<boolean>;
29
29
  /** This piece's current square */
30
30
  square: string;
31
+ /**
32
+ * Exiting animation played when this piece unmounts (e.g. captured).
33
+ * Pass `undefined` to disable (piece disappears instantly on unmount).
34
+ */
35
+ exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
31
36
  };
32
37
 
33
38
  /**
@@ -78,7 +83,8 @@ function animateValue(
78
83
  * - Outer view snaps to new position via withTiming/withSpring
79
84
  *
80
85
  * On capture (unmount):
81
- * - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
86
+ * - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
87
+ * - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
82
88
  */
83
89
  export const BoardPieceView = React.memo(
84
90
  function BoardPieceView({
@@ -91,6 +97,7 @@ export const BoardPieceView = React.memo(
91
97
  activeSquare,
92
98
  isDragging,
93
99
  square,
100
+ exitingAnimation,
94
101
  }: BoardPieceProps) {
95
102
  // Shared values for smooth animated position — written from JS, read on UI thread
96
103
  const currentX = useSharedValue(targetX);
@@ -129,10 +136,11 @@ export const BoardPieceView = React.memo(
129
136
  },
130
137
  positionStyle,
131
138
  ]}
132
- // Fade out when this piece is captured (removed from the piece list).
139
+ // Exiting animation when this piece is captured (removed from the piece list).
133
140
  // Lives on the outer view so it doesn't conflict with the
134
141
  // drag-hide opacity on the inner view.
135
- exiting={FadeOut.duration(CAPTURE_FADE_DURATION)}
142
+ // Pass undefined to disable (e.g. during full board remount via key change).
143
+ exiting={exitingAnimation}
136
144
  >
137
145
  <Animated.View style={[{ flex: 1 }, opacityStyle]}>
138
146
  {children}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SharedValue } from 'react-native-reanimated';
2
+ import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
3
3
 
4
4
  import type { ChessColor, BoardPiece, AnimationConfig } from './types';
5
5
  import { BoardPieceView } from './board-piece';
@@ -14,6 +14,8 @@ type BoardPiecesProps = {
14
14
  renderPiece: (code: string, size: number) => React.ReactElement;
15
15
  activeSquare: SharedValue<string | null>;
16
16
  isDragging: SharedValue<boolean>;
17
+ /** Exiting animation for pieces. Passed through to each BoardPieceView. */
18
+ exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
17
19
  };
18
20
 
19
21
  /**
@@ -32,6 +34,7 @@ export const BoardPiecesLayer = React.memo(function BoardPiecesLayer({
32
34
  renderPiece,
33
35
  activeSquare,
34
36
  isDragging,
37
+ exitingAnimation,
35
38
  }: BoardPiecesProps) {
36
39
  return (
37
40
  <>
@@ -49,6 +52,7 @@ export const BoardPiecesLayer = React.memo(function BoardPiecesLayer({
49
52
  activeSquare={activeSquare}
50
53
  isDragging={isDragging}
51
54
  square={piece.square}
55
+ exitingAnimation={exitingAnimation}
52
56
  >
53
57
  {renderPiece(piece.code, squareSize)}
54
58
  </BoardPieceView>
package/src/board.tsx CHANGED
@@ -13,6 +13,7 @@ import Animated, {
13
13
  useSharedValue,
14
14
  useAnimatedStyle,
15
15
  withTiming,
16
+ FadeOut,
16
17
  } from 'react-native-reanimated';
17
18
 
18
19
  import type {
@@ -31,6 +32,7 @@ import {
31
32
  DEFAULT_SELECTED_COLOR,
32
33
  DEFAULT_PREMOVE_COLOR,
33
34
  DEFAULT_DRAG_TARGET_COLOR,
35
+ CAPTURE_FADE_DURATION,
34
36
  } from './constants';
35
37
  import { DefaultPieceSet } from './pieces';
36
38
  import { useBoardPieces } from './use-board-pieces';
@@ -153,6 +155,7 @@ export const Board = forwardRef<BoardRef, BoardProps>(function Board(
153
155
  moveDuration = DEFAULT_MOVE_DURATION,
154
156
  animationConfig,
155
157
  animateFlip = true,
158
+ pieceExitAnimation,
156
159
 
157
160
  // Promotion
158
161
  onPromotion,
@@ -180,6 +183,12 @@ export const Board = forwardRef<BoardRef, BoardProps>(function Board(
180
183
  const squareSize = boardSize / 8;
181
184
  const boardColors = colors ?? DEFAULT_BOARD_COLORS;
182
185
 
186
+ // Resolve piece exit animation: null = disabled, undefined = default FadeOut
187
+ const resolvedPieceExitAnimation =
188
+ pieceExitAnimation === null
189
+ ? undefined
190
+ : (pieceExitAnimation ?? FadeOut.duration(CAPTURE_FADE_DURATION));
191
+
183
192
  // --- Board flip animation ---
184
193
  const flipRotation = useSharedValue(orientation === 'black' ? 180 : 0);
185
194
  const prevOrientationRef = useRef(orientation);
@@ -580,6 +589,7 @@ export const Board = forwardRef<BoardRef, BoardProps>(function Board(
580
589
  renderPiece={resolvedRenderer}
581
590
  activeSquare={gestureState.activeSquare}
582
591
  isDragging={gestureState.isDragging}
592
+ exitingAnimation={resolvedPieceExitAnimation}
583
593
  />
584
594
 
585
595
  {/* Layer 7: Arrows + shapes (SVG overlay) */}
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { SharedValue } from 'react-native-reanimated';
1
+ import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
2
2
 
3
3
  // ---------------------------------------------------------------------------
4
4
  // Core chess types
@@ -253,6 +253,15 @@ export type BoardProps = {
253
253
  animationConfig?: AnimationConfig;
254
254
  /** Animate board rotation on orientation change. Default: true */
255
255
  animateFlip?: boolean;
256
+ /**
257
+ * Custom exiting animation for pieces (played on unmount, e.g. captures).
258
+ * - `undefined` (or omitted): uses default FadeOut.duration(150)
259
+ * - `null`: disables all piece exit animations (pieces vanish instantly).
260
+ * Useful when remounting the entire board via a React key change to
261
+ * prevent all pieces from fading out simultaneously.
262
+ * - Any `BaseAnimationBuilder`: uses the provided animation.
263
+ */
264
+ pieceExitAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder | null;
256
265
 
257
266
  // --- Promotion ---
258
267