react-chessboard-ui 1.4.3 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,7 +37,9 @@ export declare const useChessBoardInteractive: (props: UseChessBoardInteractiveP
37
37
  selectClickFrom: (cellPos: CellPos) => void;
38
38
  selectHoverFrom: (cellPos: CellPos) => void;
39
39
  setInitialState: import("react").Dispatch<import("react").SetStateAction<Cell[][]>>;
40
+ setBoardReversed: import("react").Dispatch<import("react").SetStateAction<boolean>>;
40
41
  startRenderArrow: (pos: CellPos) => void;
42
+ cleanAllForFigure: () => void;
41
43
  reverseChessBoard: () => void;
42
44
  handleGrabbingCell: (cellPos: CellPos) => void;
43
45
  moveFigureByChange: (change: ChangeMove) => void;
@@ -1,4 +1,4 @@
1
- import type { FigureColor, Cell } from './JSChessEngine';
1
+ import { FigureColor, Cell } from './JSChessEngine';
2
2
  /**
3
3
  * Вовзвращет позицию клетки по состоянию fen
4
4
  * @param positionFEN позиция из FEN вида e4
@@ -24,7 +24,7 @@ export declare const partFENtoState: (notation: string) => Cell[][];
24
24
  * rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
25
25
  * @param notation Описание текущего состояния от Stockfish https://hxim.github.io/Stockfish-Evaluation-Guide/
26
26
  */
27
- export declare const FENtoGameState: (FEN: string) => {
27
+ export declare const FENtoGameState: (FEN: string, reversed?: boolean) => {
28
28
  boardState: Cell[][];
29
29
  currentColor: FigureColor;
30
30
  };
package/dist/index.js CHANGED
@@ -1549,7 +1549,7 @@ var partFENtoState = function partFENtoState(notation) {
1549
1549
  return row.length > 0;
1550
1550
  });
1551
1551
  };
1552
- var FENtoGameState = function FENtoGameState(FEN) {
1552
+ var FENtoGameState = function FENtoGameState(FEN, reversed) {
1553
1553
  var gameState = {
1554
1554
  boardState: [],
1555
1555
  currentColor: 'white'
@@ -1578,6 +1578,10 @@ var FENtoGameState = function FENtoGameState(FEN) {
1578
1578
  beated: true
1579
1579
  });
1580
1580
  }
1581
+ if (reversed) return {
1582
+ boardState: JSChessEngine.reverseChessBoard(gameState.boardState),
1583
+ currentColor: gameState.currentColor
1584
+ };
1581
1585
  return gameState;
1582
1586
  };
1583
1587
  var getBeatedCellFENfromState = function getBeatedCellFENfromState(state) {
@@ -2730,7 +2734,9 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2730
2734
  selectClickFrom: selectClickFrom,
2731
2735
  selectHoverFrom: selectHoverFrom,
2732
2736
  setInitialState: setInitialState,
2737
+ setBoardReversed: setBoardReversed,
2733
2738
  startRenderArrow: startRenderArrow,
2739
+ cleanAllForFigure: cleanAllForFigure,
2734
2740
  reverseChessBoard: reverseChessBoard,
2735
2741
  handleGrabbingCell: handleGrabbingCell,
2736
2742
  moveFigureByChange: moveFigureByChange,
@@ -2923,30 +2929,29 @@ var ChessBoard = function ChessBoard(props) {
2923
2929
  setCurrentColor = _useChessBoardInterac.setCurrentColor,
2924
2930
  selectHoverFrom = _useChessBoardInterac.selectHoverFrom,
2925
2931
  setInitialState = _useChessBoardInterac.setInitialState,
2932
+ setBoardReversed = _useChessBoardInterac.setBoardReversed,
2926
2933
  startRenderArrow = _useChessBoardInterac.startRenderArrow,
2927
- reverseChessBoard = _useChessBoardInterac.reverseChessBoard,
2934
+ cleanAllForFigure = _useChessBoardInterac.cleanAllForFigure,
2928
2935
  handleGrabbingCell = _useChessBoardInterac.handleGrabbingCell,
2929
2936
  getHasCheckByCellPos = _useChessBoardInterac.getHasCheckByCellPos,
2930
2937
  handleSelectFigurePicker = _useChessBoardInterac.handleSelectFigurePicker,
2931
2938
  handleChangeFromExternal = _useChessBoardInterac.handleChangeFromExternal;
2932
- var handleUpdateFEN = function handleUpdateFEN(FEN) {
2933
- var _FENtoGameState = FENtoGameState(FEN),
2939
+ var handleUpdateFEN = function handleUpdateFEN(FEN, reversed) {
2940
+ var _FENtoGameState = FENtoGameState(FEN, reversed),
2934
2941
  boardState = _FENtoGameState.boardState,
2935
2942
  currentColor = _FENtoGameState.currentColor;
2943
+ cleanAllForFigure();
2936
2944
  setInitialState(boardState);
2937
2945
  setActualState(boardState);
2938
2946
  setCurrentColor(currentColor);
2947
+ setBoardReversed(reversed);
2939
2948
  };
2940
2949
  React.useEffect(function () {
2941
2950
  setPlayerColor(playerColor);
2942
2951
  }, [playerColor]);
2943
2952
  React.useEffect(function () {
2944
- handleUpdateFEN(FEN);
2945
- if (reversed) reverseChessBoard();
2953
+ handleUpdateFEN(FEN, reversed);
2946
2954
  }, [FEN, reversed]);
2947
- React.useEffect(function () {
2948
- if (reversed) reverseChessBoard();
2949
- }, [reversed]);
2950
2955
  React.useEffect(function () {
2951
2956
  if (!change) return;
2952
2957
  var reversedChange = reversed ? JSChessEngine.reverseMove(change.move) : change.move;
@@ -2959,7 +2964,6 @@ var ChessBoard = function ChessBoard(props) {
2959
2964
  }), React__default.createElement(ChessBoardFiguresLayout, {
2960
2965
  initialState: initialState,
2961
2966
  change: newMove,
2962
- reversed: reversed,
2963
2967
  boardConfig: boardConfig,
2964
2968
  animated: animated
2965
2969
  }), React__default.createElement(ChessBoardInteractiveLayout, {