react-chessboard-ui 1.4.4 → 1.4.6
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.
- package/dist/ChessBoard/utils.d.ts +15 -0
- package/dist/index.js +64 -8
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +64 -8
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -2009,6 +2009,22 @@ var correctGrabbingPosByScroll = function correctGrabbingPosByScroll(pos) {
|
|
|
2009
2009
|
var correctGrabbingPosForArrow = function correctGrabbingPosForArrow(pos, boardConfig) {
|
|
2010
2010
|
return [pos[0] * boardConfig.cellSize + (boardConfig.cellSize / 2 - 10), pos[1] * boardConfig.cellSize + boardConfig.cellSize / 2];
|
|
2011
2011
|
};
|
|
2012
|
+
var createHtmlReversedStateHolder = function createHtmlReversedStateHolder() {
|
|
2013
|
+
if (!window) return;
|
|
2014
|
+
var reversedStateHolder = document.createElement('div');
|
|
2015
|
+
reversedStateHolder.setAttribute('id', 'reversed-state-holder');
|
|
2016
|
+
reversedStateHolder.setAttribute('data-reversed-state', 'false');
|
|
2017
|
+
document.body.append(reversedStateHolder);
|
|
2018
|
+
};
|
|
2019
|
+
var setHtmlReversedStateHolderValue = function setHtmlReversedStateHolderValue(reversed) {
|
|
2020
|
+
if (!window) return;
|
|
2021
|
+
document.getElementById('reversed-state-holder').setAttribute('data-reversed-state', JSON.stringify(reversed));
|
|
2022
|
+
};
|
|
2023
|
+
var getHtmlReversedStateHolderValue = function getHtmlReversedStateHolderValue() {
|
|
2024
|
+
if (!window) return false;
|
|
2025
|
+
var chessboardReversed = document.getElementById('reversed-state-holder') && document.getElementById('reversed-state-holder').getAttribute('data-reversed-state') === 'true';
|
|
2026
|
+
return chessboardReversed;
|
|
2027
|
+
};
|
|
2012
2028
|
|
|
2013
2029
|
var BASE_BOARD_SIZE = 8;
|
|
2014
2030
|
var ChessBoardCellsLayout = function ChessBoardCellsLayout(_ref) {
|
|
@@ -2045,6 +2061,7 @@ var ChessBoardFiguresLayout = function ChessBoardFiguresLayout(props) {
|
|
|
2045
2061
|
setActualState(mapCellsToFiguresArray(initialState));
|
|
2046
2062
|
}, [initialState]);
|
|
2047
2063
|
useEffect(function () {
|
|
2064
|
+
var chessboardReversed = getHtmlReversedStateHolderValue();
|
|
2048
2065
|
if (!!change) {
|
|
2049
2066
|
setActualState(function (prevState) {
|
|
2050
2067
|
var updatedState = [].concat(prevState);
|
|
@@ -2058,11 +2075,28 @@ var ChessBoardFiguresLayout = function ChessBoardFiguresLayout(props) {
|
|
|
2058
2075
|
var kingIndex = updatedState.findIndex(function (figure) {
|
|
2059
2076
|
return figure.color === 'white' && figure.type === 'king';
|
|
2060
2077
|
});
|
|
2078
|
+
if (chessboardReversed) {
|
|
2079
|
+
if (castlingType === '0-0') {
|
|
2080
|
+
var _rookIndex = updatedState.findIndex(function (figure) {
|
|
2081
|
+
return figure.color === color && figure.type === 'rook' && figure.position[0] === 7;
|
|
2082
|
+
});
|
|
2083
|
+
updatedState[_rookIndex].position[0] = 4;
|
|
2084
|
+
updatedState[kingIndex].position[0] = 5;
|
|
2085
|
+
return updatedState;
|
|
2086
|
+
}
|
|
2087
|
+
var _rookIndex2 = updatedState.findIndex(function (figure) {
|
|
2088
|
+
return figure.color === color && figure.type === 'rook' && figure.position[0] === 0;
|
|
2089
|
+
});
|
|
2090
|
+
console.log('WHITE', _rookIndex2);
|
|
2091
|
+
updatedState[_rookIndex2].position[0] = 2;
|
|
2092
|
+
updatedState[kingIndex].position[0] = 1;
|
|
2093
|
+
return updatedState;
|
|
2094
|
+
}
|
|
2061
2095
|
if (castlingType === '0-0') {
|
|
2062
|
-
var
|
|
2096
|
+
var _rookIndex3 = updatedState.findIndex(function (figure) {
|
|
2063
2097
|
return figure.color === color && figure.type === 'rook' && figure.position[0] === 7;
|
|
2064
2098
|
});
|
|
2065
|
-
updatedState[
|
|
2099
|
+
updatedState[_rookIndex3].position[0] = 5;
|
|
2066
2100
|
updatedState[kingIndex].position[0] = 6;
|
|
2067
2101
|
return updatedState;
|
|
2068
2102
|
}
|
|
@@ -2077,18 +2111,34 @@ var ChessBoardFiguresLayout = function ChessBoardFiguresLayout(props) {
|
|
|
2077
2111
|
var _kingIndex = updatedState.findIndex(function (figure) {
|
|
2078
2112
|
return figure.color === 'black' && figure.type === 'king';
|
|
2079
2113
|
});
|
|
2114
|
+
if (chessboardReversed) {
|
|
2115
|
+
if (castlingType === '0-0') {
|
|
2116
|
+
var _rookIndex4 = updatedState.findIndex(function (figure) {
|
|
2117
|
+
return figure.color === color && figure.type === 'rook' && figure.position[0] === 7;
|
|
2118
|
+
});
|
|
2119
|
+
updatedState[_rookIndex4].position[0] = 4;
|
|
2120
|
+
updatedState[_kingIndex].position[0] = 5;
|
|
2121
|
+
return updatedState;
|
|
2122
|
+
}
|
|
2123
|
+
var _rookIndex5 = updatedState.findIndex(function (figure) {
|
|
2124
|
+
return figure.color === color && figure.type === 'rook' && figure.position[0] === 0;
|
|
2125
|
+
});
|
|
2126
|
+
updatedState[_rookIndex5].position[0] = 2;
|
|
2127
|
+
updatedState[_kingIndex].position[0] = 1;
|
|
2128
|
+
return updatedState;
|
|
2129
|
+
}
|
|
2080
2130
|
if (castlingType === '0-0') {
|
|
2081
|
-
var
|
|
2131
|
+
var _rookIndex6 = updatedState.findIndex(function (figure) {
|
|
2082
2132
|
return figure.color === color && figure.type === 'rook' && figure.position[0] === 7;
|
|
2083
2133
|
});
|
|
2084
|
-
updatedState[
|
|
2134
|
+
updatedState[_rookIndex6].position[0] = 5;
|
|
2085
2135
|
updatedState[_kingIndex].position[0] = 6;
|
|
2086
2136
|
return updatedState;
|
|
2087
2137
|
}
|
|
2088
|
-
var
|
|
2138
|
+
var _rookIndex7 = updatedState.findIndex(function (figure) {
|
|
2089
2139
|
return figure.color === color && figure.type === 'rook' && figure.position[0] === 0;
|
|
2090
2140
|
});
|
|
2091
|
-
updatedState[
|
|
2141
|
+
updatedState[_rookIndex7].position[0] = 3;
|
|
2092
2142
|
updatedState[_kingIndex].position[0] = 2;
|
|
2093
2143
|
return updatedState;
|
|
2094
2144
|
}
|
|
@@ -2428,7 +2478,8 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2428
2478
|
return {};
|
|
2429
2479
|
}
|
|
2430
2480
|
var colorFEN = currentColor === 'white' ? 'black' : 'white';
|
|
2431
|
-
var
|
|
2481
|
+
var reversedUpdatedCells = boardReversed ? JSChessEngine.reverseChessBoard(updatedCells) : updatedCells;
|
|
2482
|
+
var FEN = stateToFEN(reversedUpdatedCells, colorFEN);
|
|
2432
2483
|
var moveData = {
|
|
2433
2484
|
figure: figure,
|
|
2434
2485
|
from: from,
|
|
@@ -2483,7 +2534,8 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2483
2534
|
return {};
|
|
2484
2535
|
}
|
|
2485
2536
|
var colorFEN = currentColor === 'white' ? 'black' : 'white';
|
|
2486
|
-
var
|
|
2537
|
+
var reversedUpdatedCells = boardReversed ? JSChessEngine.reverseChessBoard(updatedCells) : updatedCells;
|
|
2538
|
+
var FEN = stateToFEN(reversedUpdatedCells, colorFEN);
|
|
2487
2539
|
var moveData = {
|
|
2488
2540
|
figure: figure,
|
|
2489
2541
|
from: from,
|
|
@@ -2943,11 +2995,15 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
2943
2995
|
setCurrentColor(currentColor);
|
|
2944
2996
|
setBoardReversed(reversed);
|
|
2945
2997
|
};
|
|
2998
|
+
useEffect(function () {
|
|
2999
|
+
createHtmlReversedStateHolder();
|
|
3000
|
+
}, []);
|
|
2946
3001
|
useEffect(function () {
|
|
2947
3002
|
setPlayerColor(playerColor);
|
|
2948
3003
|
}, [playerColor]);
|
|
2949
3004
|
useEffect(function () {
|
|
2950
3005
|
handleUpdateFEN(FEN, reversed);
|
|
3006
|
+
setHtmlReversedStateHolderValue(reversed);
|
|
2951
3007
|
}, [FEN, reversed]);
|
|
2952
3008
|
useEffect(function () {
|
|
2953
3009
|
if (!change) return;
|