react-chessboard-ui 2.10.0 → 2.11.0
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/ChessBoard.d.ts +1 -0
- package/dist/ChessBoard/useChessBoardInteractive.d.ts +3 -0
- package/dist/JSChessEngine/FEN.utils.d.ts +1 -0
- package/dist/index.css +41 -0
- package/dist/index.js +100 -47
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +100 -47
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,12 +6,14 @@ declare type UseChessBoardInteractiveProps = {
|
|
|
6
6
|
onChange: (moveData: MoveData) => void;
|
|
7
7
|
onEndGame: (result: GameResult) => void;
|
|
8
8
|
onClickByChessBoard?: (data: ClickData) => void;
|
|
9
|
+
toggleTurn?: boolean;
|
|
9
10
|
};
|
|
10
11
|
export declare const useChessBoardInteractive: (props: UseChessBoardInteractiveProps) => {
|
|
11
12
|
fromPos: CellPos;
|
|
12
13
|
newMove: ChangeMove;
|
|
13
14
|
animated: boolean;
|
|
14
15
|
movesTrail: [CellPos, CellPos];
|
|
16
|
+
invalidFEN: boolean;
|
|
15
17
|
boardConfig: ChessBoardConfig;
|
|
16
18
|
markedCells: CellPos[];
|
|
17
19
|
grabbingPos: CellPos;
|
|
@@ -31,6 +33,7 @@ export declare const useChessBoardInteractive: (props: UseChessBoardInteractiveP
|
|
|
31
33
|
handleClick: (cellPos: CellPos, viewOnly?: boolean) => void;
|
|
32
34
|
clearFromPos: () => void;
|
|
33
35
|
handleGrabEnd: (cellPos: CellPos, withTransition?: boolean) => void;
|
|
36
|
+
setInvalidFEN: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
34
37
|
handleGrabbing: (x: number, y: number) => void;
|
|
35
38
|
endRenderArrow: ([x, y]: CellPos) => void;
|
|
36
39
|
setActualState: import("react").Dispatch<import("react").SetStateAction<Cell[][]>>;
|
|
@@ -27,6 +27,7 @@ export declare const partFENtoState: (notation: string) => Cell[][];
|
|
|
27
27
|
export declare const FENtoGameState: (FEN: string, reversed?: boolean) => {
|
|
28
28
|
boardState: Cell[][];
|
|
29
29
|
currentColor: FigureColor;
|
|
30
|
+
invalidFEN?: boolean;
|
|
30
31
|
};
|
|
31
32
|
/**
|
|
32
33
|
* Возвращает FEN битое поле из состояние доски
|
package/dist/index.css
CHANGED
|
@@ -148,6 +148,47 @@
|
|
|
148
148
|
align-items: center;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
._jyC3- {
|
|
152
|
+
z-index: 102;
|
|
153
|
+
position: absolute;
|
|
154
|
+
top: 0;
|
|
155
|
+
right: 0;
|
|
156
|
+
bottom: 0;
|
|
157
|
+
left: 0;
|
|
158
|
+
-webkit-backdrop-filter: blur(4px);
|
|
159
|
+
backdrop-filter: blur(4px);
|
|
160
|
+
display: flex;
|
|
161
|
+
justify-content: center;
|
|
162
|
+
align-items: center;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
._8urIN {
|
|
166
|
+
padding: 12px 14px;
|
|
167
|
+
border: 1px solid #f4b8b8;
|
|
168
|
+
border-radius: 6px;
|
|
169
|
+
background: #fff1f1;
|
|
170
|
+
color: #8a1f1f;
|
|
171
|
+
font-size: 14px;
|
|
172
|
+
line-height: 1.5;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
._8urIN a {
|
|
176
|
+
color: #b42318;
|
|
177
|
+
font-weight: 600;
|
|
178
|
+
text-decoration: underline;
|
|
179
|
+
text-underline-offset: 2px;
|
|
180
|
+
cursor: pointer;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
._8urIN a:hover {
|
|
184
|
+
color: #7a1712;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
._3p5AF {
|
|
188
|
+
color: #6b6b6b !important;
|
|
189
|
+
font-size: 12px;
|
|
190
|
+
}
|
|
191
|
+
|
|
151
192
|
._1RqCc {
|
|
152
193
|
width: 100%;
|
|
153
194
|
height: 100%;
|
package/dist/index.js
CHANGED
|
@@ -1491,6 +1491,8 @@ var prepareCastlingByFEN = function prepareCastlingByFEN(castlingNotation, state
|
|
|
1491
1491
|
preparedState[preparedState.length - 1][preparedState.length - 1].figure = _extends({}, preparedState[preparedState.length - 1][preparedState.length - 1].figure, {
|
|
1492
1492
|
touched: false
|
|
1493
1493
|
});
|
|
1494
|
+
}
|
|
1495
|
+
if (!!preparedState[preparedState.length - 1][4].figure) {
|
|
1494
1496
|
preparedState[preparedState.length - 1][4].figure = _extends({}, preparedState[preparedState.length - 1][4].figure, {
|
|
1495
1497
|
touched: false
|
|
1496
1498
|
});
|
|
@@ -1501,6 +1503,8 @@ var prepareCastlingByFEN = function prepareCastlingByFEN(castlingNotation, state
|
|
|
1501
1503
|
preparedState[preparedState.length - 1][0].figure = _extends({}, preparedState[preparedState.length - 1][0].figure, {
|
|
1502
1504
|
touched: false
|
|
1503
1505
|
});
|
|
1506
|
+
}
|
|
1507
|
+
if (!!preparedState[preparedState.length - 1][4].figure) {
|
|
1504
1508
|
preparedState[preparedState.length - 1][4].figure = _extends({}, preparedState[preparedState.length - 1][4].figure, {
|
|
1505
1509
|
touched: false
|
|
1506
1510
|
});
|
|
@@ -1511,6 +1515,8 @@ var prepareCastlingByFEN = function prepareCastlingByFEN(castlingNotation, state
|
|
|
1511
1515
|
preparedState[0][preparedState.length - 1].figure = _extends({}, preparedState[0][preparedState.length - 1].figure, {
|
|
1512
1516
|
touched: false
|
|
1513
1517
|
});
|
|
1518
|
+
}
|
|
1519
|
+
if (!!preparedState[0][4].figure) {
|
|
1514
1520
|
preparedState[0][4].figure = _extends({}, preparedState[0][4].figure, {
|
|
1515
1521
|
touched: false
|
|
1516
1522
|
});
|
|
@@ -1521,6 +1527,8 @@ var prepareCastlingByFEN = function prepareCastlingByFEN(castlingNotation, state
|
|
|
1521
1527
|
preparedState[0][0].figure = _extends({}, preparedState[0][0].figure, {
|
|
1522
1528
|
touched: false
|
|
1523
1529
|
});
|
|
1530
|
+
}
|
|
1531
|
+
if (!!preparedState[0][4].figure) {
|
|
1524
1532
|
preparedState[0][4].figure = _extends({}, preparedState[0][4].figure, {
|
|
1525
1533
|
touched: false
|
|
1526
1534
|
});
|
|
@@ -1555,39 +1563,47 @@ var partFENtoState = function partFENtoState(notation) {
|
|
|
1555
1563
|
});
|
|
1556
1564
|
};
|
|
1557
1565
|
var FENtoGameState = function FENtoGameState(FEN, reversed) {
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1566
|
+
try {
|
|
1567
|
+
var gameState = {
|
|
1568
|
+
boardState: [],
|
|
1569
|
+
currentColor: 'white'
|
|
1570
|
+
};
|
|
1571
|
+
var _FEN$split = FEN.split(' '),
|
|
1572
|
+
stateNotaion = _FEN$split[0],
|
|
1573
|
+
currentColor = _FEN$split[1],
|
|
1574
|
+
FENcastling = _FEN$split[2],
|
|
1575
|
+
beatedField = _FEN$split[3],
|
|
1576
|
+
_ = _FEN$split.slice(4);
|
|
1577
|
+
var preparedStateNotation = '';
|
|
1578
|
+
for (var i = 0; i < stateNotaion.length; i++) {
|
|
1579
|
+
if (!isNaN(parseInt(stateNotaion[i]))) {
|
|
1580
|
+
var dotsCount = parseInt(stateNotaion[i]);
|
|
1581
|
+
for (var dotI = 0; dotI < dotsCount; dotI++) preparedStateNotation += '.';
|
|
1582
|
+
continue;
|
|
1583
|
+
}
|
|
1584
|
+
preparedStateNotation += stateNotaion[i];
|
|
1585
|
+
}
|
|
1586
|
+
gameState.boardState = partFENtoState(preparedStateNotation);
|
|
1587
|
+
gameState.currentColor = currentColor === 'w' ? 'white' : 'black';
|
|
1588
|
+
gameState.boardState = prepareCastlingByFEN(FENcastling, gameState.boardState);
|
|
1589
|
+
if (beatedField !== '-') {
|
|
1590
|
+
var posBeatedCell = getPositionByFEN(beatedField);
|
|
1591
|
+
gameState.boardState[posBeatedCell[0]][posBeatedCell[1]] = _extends({}, gameState.boardState[posBeatedCell[0]][posBeatedCell[1]], {
|
|
1592
|
+
beated: true
|
|
1593
|
+
});
|
|
1594
|
+
}
|
|
1595
|
+
if (reversed) return {
|
|
1596
|
+
boardState: JSChessEngine.reverseChessBoard(gameState.boardState),
|
|
1597
|
+
currentColor: gameState.currentColor
|
|
1598
|
+
};
|
|
1599
|
+
return gameState;
|
|
1600
|
+
} catch (_unused) {
|
|
1601
|
+
return {
|
|
1602
|
+
boardState: INITIAL_CELLS,
|
|
1603
|
+
currentColor: 'white',
|
|
1604
|
+
invalidFEN: true
|
|
1605
|
+
};
|
|
1585
1606
|
}
|
|
1586
|
-
if (reversed) return {
|
|
1587
|
-
boardState: JSChessEngine.reverseChessBoard(gameState.boardState),
|
|
1588
|
-
currentColor: gameState.currentColor
|
|
1589
|
-
};
|
|
1590
|
-
return gameState;
|
|
1591
1607
|
};
|
|
1592
1608
|
var getBeatedCellFENfromState = function getBeatedCellFENfromState(state) {
|
|
1593
1609
|
var beatedFieldFEN = '-';
|
|
@@ -1679,7 +1695,7 @@ var stateToFEN = function stateToFEN(state, currentColor, countMoves) {
|
|
|
1679
1695
|
return positionsFEN + " " + colorFEN + " " + casttlingFEN + " " + beatedFieldFEN + " " + blackMoves + " " + countMoves;
|
|
1680
1696
|
};
|
|
1681
1697
|
|
|
1682
|
-
var styles = {"chessBoard":"_3XI6H","figuresLayout":"_2SyRK","controlLayout":"_3OVc8","controlLayoutGrabbing":"_G0IIl","interactiveLayout":"_3THn5","selectedSquare":"_1YsOr","pickedSquare":"_3MMcp","checkedSquare":"_KLkVN","interactiveCell":"_27yHq","possibleMoveMark":"_UYGA_","row":"_2XKSc","piece":"_2QHnf","holdedPiece":"_3z25q","bluredPiece":"_10meo","hiddenFigureEffect":"_2YKzU","arrow":"_12Bbd","arrowEnd":"_1BC3I","piecePicker":"_3gVhA","piecePickerItem":"_3EtmA","chessBoardPiecePicker":"_2xZM1","movesTrail":"_1RqCc","lightSquare":"_1B0qo","darkSquare":"_1NBqS"};
|
|
1698
|
+
var styles = {"chessBoard":"_3XI6H","figuresLayout":"_2SyRK","controlLayout":"_3OVc8","controlLayoutGrabbing":"_G0IIl","interactiveLayout":"_3THn5","selectedSquare":"_1YsOr","pickedSquare":"_3MMcp","checkedSquare":"_KLkVN","interactiveCell":"_27yHq","possibleMoveMark":"_UYGA_","row":"_2XKSc","piece":"_2QHnf","holdedPiece":"_3z25q","bluredPiece":"_10meo","hiddenFigureEffect":"_2YKzU","arrow":"_12Bbd","arrowEnd":"_1BC3I","piecePicker":"_3gVhA","piecePickerItem":"_3EtmA","chessBoardPiecePicker":"_2xZM1","chessBoardInvalidFenMessage":"_jyC3-","fenErrorMessage":"_8urIN","fenErrorMessageClose":"_3p5AF","movesTrail":"_1RqCc","lightSquare":"_1B0qo","darkSquare":"_1NBqS"};
|
|
1683
1699
|
|
|
1684
1700
|
var CHESS_PIECES_MAP = {
|
|
1685
1701
|
'pawn-white': function pawnWhite(size) {
|
|
@@ -2312,7 +2328,9 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2312
2328
|
var config = props.config,
|
|
2313
2329
|
onChange = props.onChange,
|
|
2314
2330
|
onEndGame = props.onEndGame,
|
|
2315
|
-
onClickByChessBoard = props.onClickByChessBoard
|
|
2331
|
+
onClickByChessBoard = props.onClickByChessBoard,
|
|
2332
|
+
_props$toggleTurn = props.toggleTurn,
|
|
2333
|
+
toggleTurn = _props$toggleTurn === void 0 ? true : _props$toggleTurn;
|
|
2316
2334
|
var _useState = React.useState(DEFAULT_CHESSBORD_CONFIG),
|
|
2317
2335
|
boardConfig = _useState[0],
|
|
2318
2336
|
setBoardConfig = _useState[1];
|
|
@@ -2382,6 +2400,9 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2382
2400
|
var _useState23 = React.useState(false),
|
|
2383
2401
|
animated = _useState23[0],
|
|
2384
2402
|
setAnimated = _useState23[1];
|
|
2403
|
+
var _useState24 = React.useState(false),
|
|
2404
|
+
invalidFEN = _useState24[0],
|
|
2405
|
+
setInvalidFEN = _useState24[1];
|
|
2385
2406
|
var clearFromPos = function clearFromPos() {
|
|
2386
2407
|
return setFromPos([-1, -1]);
|
|
2387
2408
|
};
|
|
@@ -2395,7 +2416,7 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2395
2416
|
return setClickPossibleMoves([]);
|
|
2396
2417
|
};
|
|
2397
2418
|
var toggleCurrentColor = function toggleCurrentColor() {
|
|
2398
|
-
|
|
2419
|
+
if (toggleTurn) setCurrentColor(function (prevColor) {
|
|
2399
2420
|
return prevColor === 'white' ? 'black' : 'white';
|
|
2400
2421
|
});
|
|
2401
2422
|
};
|
|
@@ -2511,8 +2532,10 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2511
2532
|
var _JSChessEngine$change = JSChessEngine.changeState(actualState, figure, to, from, boardReversed),
|
|
2512
2533
|
updatedCells = _JSChessEngine$change.updatedCells,
|
|
2513
2534
|
attackedPos = _JSChessEngine$change.attackedPos;
|
|
2514
|
-
|
|
2515
|
-
|
|
2535
|
+
if (toggleTurn) {
|
|
2536
|
+
var linesCheck = JSChessEngine.getLinesWithCheck(updatedCells, currentColor, boardReversed);
|
|
2537
|
+
setLinesWithCheck(linesCheck);
|
|
2538
|
+
}
|
|
2516
2539
|
setActualState(updatedCells);
|
|
2517
2540
|
if (figure.type === 'pawn' && (to[1] === 0 || to[1] === actualState.length - 1)) {
|
|
2518
2541
|
setTargetPos(to);
|
|
@@ -2546,8 +2569,10 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2546
2569
|
figure = _change$move.figure;
|
|
2547
2570
|
var _JSChessEngine$change2 = JSChessEngine.changeState(actualState, figure, to, from, boardReversed),
|
|
2548
2571
|
updatedCells = _JSChessEngine$change2.updatedCells;
|
|
2549
|
-
|
|
2550
|
-
|
|
2572
|
+
if (toggleTurn) {
|
|
2573
|
+
var linesCheck = JSChessEngine.getLinesWithCheck(updatedCells, currentColor, boardReversed);
|
|
2574
|
+
setLinesWithCheck(linesCheck);
|
|
2575
|
+
}
|
|
2551
2576
|
var updatedChange = _extends({}, change, {
|
|
2552
2577
|
move: boardReversed ? JSChessEngine.reverseMove(change.move) : change.move
|
|
2553
2578
|
});
|
|
@@ -2568,8 +2593,10 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2568
2593
|
var _JSChessEngine$change3 = JSChessEngine.changeState(actualState, figure, to, from, boardReversed),
|
|
2569
2594
|
updatedCells = _JSChessEngine$change3.updatedCells,
|
|
2570
2595
|
attackedPos = _JSChessEngine$change3.attackedPos;
|
|
2571
|
-
|
|
2572
|
-
|
|
2596
|
+
if (toggleTurn) {
|
|
2597
|
+
var linesCheck = JSChessEngine.getLinesWithCheck(updatedCells, currentColor, boardReversed);
|
|
2598
|
+
setLinesWithCheck(linesCheck);
|
|
2599
|
+
}
|
|
2573
2600
|
setActualState(updatedCells);
|
|
2574
2601
|
if (figure.type === 'pawn' && (to[1] === 0 || to[1] === actualState.length - 1)) {
|
|
2575
2602
|
setTargetPos(to);
|
|
@@ -2600,8 +2627,11 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2600
2627
|
var _JSChessEngine$change4 = JSChessEngine.changeState(actualState, figure, to, from, boardReversed),
|
|
2601
2628
|
updatedCells = _JSChessEngine$change4.updatedCells,
|
|
2602
2629
|
attackedPos = _JSChessEngine$change4.attackedPos;
|
|
2603
|
-
var linesCheck =
|
|
2604
|
-
|
|
2630
|
+
var linesCheck = [];
|
|
2631
|
+
if (toggleTurn) {
|
|
2632
|
+
linesCheck = JSChessEngine.getLinesWithCheck(updatedCells, currentColor, boardReversed);
|
|
2633
|
+
setLinesWithCheck(linesCheck);
|
|
2634
|
+
}
|
|
2605
2635
|
if (fromPos[0] !== -1) {
|
|
2606
2636
|
var figureFromPos = updatedCells[fromPos[1]][fromPos[0]].figure;
|
|
2607
2637
|
if (!figureFromPos || figureFromPos.type !== holdedFigure.type || figureFromPos.color !== holdedFigure.color) {
|
|
@@ -2816,7 +2846,9 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2816
2846
|
var handleUpdateFEN = function handleUpdateFEN(FEN, reversed) {
|
|
2817
2847
|
var _FENtoGameState = FENtoGameState(FEN, reversed),
|
|
2818
2848
|
boardState = _FENtoGameState.boardState,
|
|
2819
|
-
currentColor = _FENtoGameState.currentColor
|
|
2849
|
+
currentColor = _FENtoGameState.currentColor,
|
|
2850
|
+
invalidFEN = _FENtoGameState.invalidFEN;
|
|
2851
|
+
setInvalidFEN(invalidFEN);
|
|
2820
2852
|
cleanAllForFigure();
|
|
2821
2853
|
setAnimated(false);
|
|
2822
2854
|
setInitialState(boardState);
|
|
@@ -2831,6 +2863,7 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2831
2863
|
newMove: newMove,
|
|
2832
2864
|
animated: animated,
|
|
2833
2865
|
movesTrail: movesTrail,
|
|
2866
|
+
invalidFEN: invalidFEN,
|
|
2834
2867
|
boardConfig: boardConfig,
|
|
2835
2868
|
markedCells: markedCells,
|
|
2836
2869
|
grabbingPos: grabbingPos,
|
|
@@ -2850,6 +2883,7 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2850
2883
|
handleClick: handleClick,
|
|
2851
2884
|
clearFromPos: clearFromPos,
|
|
2852
2885
|
handleGrabEnd: handleGrabEnd,
|
|
2886
|
+
setInvalidFEN: setInvalidFEN,
|
|
2853
2887
|
handleGrabbing: handleGrabbing,
|
|
2854
2888
|
endRenderArrow: endRenderArrow,
|
|
2855
2889
|
setActualState: setActualState,
|
|
@@ -3043,17 +3077,21 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3043
3077
|
_props$moveArrows = props.moveArrows,
|
|
3044
3078
|
moveArrows = _props$moveArrows === void 0 ? [] : _props$moveArrows,
|
|
3045
3079
|
_props$arrows = props.arrows,
|
|
3046
|
-
arrows = _props$arrows === void 0 ? [] : _props$arrows
|
|
3080
|
+
arrows = _props$arrows === void 0 ? [] : _props$arrows,
|
|
3081
|
+
_props$toggleTurn = props.toggleTurn,
|
|
3082
|
+
toggleTurn = _props$toggleTurn === void 0 ? true : _props$toggleTurn;
|
|
3047
3083
|
var _useChessBoardInterac = useChessBoardInteractive({
|
|
3048
3084
|
onChange: onChange,
|
|
3049
3085
|
onEndGame: onEndGame,
|
|
3050
3086
|
onClickByChessBoard: onClick,
|
|
3051
|
-
config: config
|
|
3087
|
+
config: config,
|
|
3088
|
+
toggleTurn: toggleTurn
|
|
3052
3089
|
}),
|
|
3053
3090
|
fromPos = _useChessBoardInterac.fromPos,
|
|
3054
3091
|
newMove = _useChessBoardInterac.newMove,
|
|
3055
3092
|
animated = _useChessBoardInterac.animated,
|
|
3056
3093
|
movesTrail = _useChessBoardInterac.movesTrail,
|
|
3094
|
+
invalidFEN = _useChessBoardInterac.invalidFEN,
|
|
3057
3095
|
boardConfig = _useChessBoardInterac.boardConfig,
|
|
3058
3096
|
markedCells = _useChessBoardInterac.markedCells,
|
|
3059
3097
|
grabbingPos = _useChessBoardInterac.grabbingPos,
|
|
@@ -3068,6 +3106,7 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3068
3106
|
markCell = _useChessBoardInterac.markCell,
|
|
3069
3107
|
handleClick = _useChessBoardInterac.handleClick,
|
|
3070
3108
|
handleGrabEnd = _useChessBoardInterac.handleGrabEnd,
|
|
3109
|
+
setInvalidFEN = _useChessBoardInterac.setInvalidFEN,
|
|
3071
3110
|
handleGrabbing = _useChessBoardInterac.handleGrabbing,
|
|
3072
3111
|
endRenderArrow = _useChessBoardInterac.endRenderArrow,
|
|
3073
3112
|
setPlayerColor = _useChessBoardInterac.setPlayerColor,
|
|
@@ -3106,6 +3145,10 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3106
3145
|
color: arrow.color
|
|
3107
3146
|
};
|
|
3108
3147
|
});
|
|
3148
|
+
var handleHideInvalidFENmessage = function handleHideInvalidFENmessage(event) {
|
|
3149
|
+
event.preventDefault();
|
|
3150
|
+
setInvalidFEN(false);
|
|
3151
|
+
};
|
|
3109
3152
|
return React__default.createElement("div", {
|
|
3110
3153
|
className: styles.chessBoard
|
|
3111
3154
|
}, React__default.createElement(ChessBoardCellsLayout, {
|
|
@@ -3151,7 +3194,17 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3151
3194
|
color: currentColor,
|
|
3152
3195
|
forPawnTransform: true,
|
|
3153
3196
|
onSelect: handleSelectFigurePicker
|
|
3154
|
-
}))
|
|
3197
|
+
})), invalidFEN && React__default.createElement("div", {
|
|
3198
|
+
className: styles.chessBoardInvalidFenMessage
|
|
3199
|
+
}, React__default.createElement("div", {
|
|
3200
|
+
className: styles.fenErrorMessage,
|
|
3201
|
+
role: "alert"
|
|
3202
|
+
}, React__default.createElement("div", null, "Invalid FEN notation. The default board position was used instead.", " ", React__default.createElement("a", {
|
|
3203
|
+
href: "/docs/fen-errors"
|
|
3204
|
+
}, "See common FEN problems"), "."), React__default.createElement("div", null, React__default.createElement("a", {
|
|
3205
|
+
className: styles.fenErrorMessageClose,
|
|
3206
|
+
onClick: handleHideInvalidFENmessage
|
|
3207
|
+
}, "Hide this message")))));
|
|
3155
3208
|
};
|
|
3156
3209
|
|
|
3157
3210
|
exports.ALL_FIGURES = ALL_FIGURES;
|