react-chessboard-ui 2.8.0 → 2.9.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/ArrowLayout.d.ts +3 -0
- package/dist/ChessBoard/ChessBoard.d.ts +5 -1
- package/dist/ChessBoard/useChessBoardInteractive.d.ts +2 -1
- package/dist/index.js +34 -5
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +34 -5
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { PieceColor, GameResult, MoveData, SquarePos } from "../JSChessEngine";
|
|
2
2
|
import { FC } from "react";
|
|
3
|
-
import { ArrowCoords, ChangeMove, ChessBoardConfig } from "./models";
|
|
3
|
+
import { ArrowCoords, ChangeMove, ChessBoardConfig, ClickData } from "./models";
|
|
4
4
|
declare type ChessBoardProps = {
|
|
5
5
|
FEN: string;
|
|
6
6
|
onChange: (moveData: MoveData) => void;
|
|
7
7
|
onEndGame: (result: GameResult) => void;
|
|
8
|
+
onClick?: (data: ClickData) => void;
|
|
8
9
|
change?: ChangeMove;
|
|
9
10
|
reversed?: boolean;
|
|
10
11
|
config?: Partial<ChessBoardConfig>;
|
|
@@ -12,6 +13,9 @@ declare type ChessBoardProps = {
|
|
|
12
13
|
viewOnly?: boolean;
|
|
13
14
|
moveHighlight?: [SquarePos, SquarePos];
|
|
14
15
|
moveArrows?: ArrowCoords[];
|
|
16
|
+
arrows?: (ArrowCoords & {
|
|
17
|
+
color?: string;
|
|
18
|
+
})[];
|
|
15
19
|
};
|
|
16
20
|
export declare const ChessBoard: FC<ChessBoardProps>;
|
|
17
21
|
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Cell, CellPos, Figure, FigureColor, GameResult, MoveData } from "../JSChessEngine";
|
|
3
|
-
import { ArrowCoords, ChangeMove, ChessBoardConfig } from "./models";
|
|
3
|
+
import { ArrowCoords, ChangeMove, ChessBoardConfig, ClickData } from "./models";
|
|
4
4
|
declare type UseChessBoardInteractiveProps = {
|
|
5
5
|
config?: Partial<ChessBoardConfig>;
|
|
6
6
|
onChange: (moveData: MoveData) => void;
|
|
7
7
|
onEndGame: (result: GameResult) => void;
|
|
8
|
+
onClickByChessBoard?: (data: ClickData) => void;
|
|
8
9
|
};
|
|
9
10
|
export declare const useChessBoardInteractive: (props: UseChessBoardInteractiveProps) => {
|
|
10
11
|
fromPos: CellPos;
|
package/dist/index.js
CHANGED
|
@@ -2311,7 +2311,8 @@ var ChessBoardControlLayout = function ChessBoardControlLayout(props) {
|
|
|
2311
2311
|
var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
2312
2312
|
var config = props.config,
|
|
2313
2313
|
onChange = props.onChange,
|
|
2314
|
-
onEndGame = props.onEndGame
|
|
2314
|
+
onEndGame = props.onEndGame,
|
|
2315
|
+
onClickByChessBoard = props.onClickByChessBoard;
|
|
2315
2316
|
var _useState = React.useState(DEFAULT_CHESSBORD_CONFIG),
|
|
2316
2317
|
boardConfig = _useState[0],
|
|
2317
2318
|
setBoardConfig = _useState[1];
|
|
@@ -2439,6 +2440,13 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2439
2440
|
return !prevReversed;
|
|
2440
2441
|
});
|
|
2441
2442
|
};
|
|
2443
|
+
var handleClickByChessBoard = function handleClickByChessBoard(cellData, pos) {
|
|
2444
|
+
if (!onClickByChessBoard) return;
|
|
2445
|
+
onClickByChessBoard({
|
|
2446
|
+
cellData: cellData,
|
|
2447
|
+
pos: pos
|
|
2448
|
+
});
|
|
2449
|
+
};
|
|
2442
2450
|
var selectFigureFrom = function selectFigureFrom(cellPos, extActualState) {
|
|
2443
2451
|
var nowState = extActualState || actualState;
|
|
2444
2452
|
var cell = nowState[cellPos[1]][cellPos[0]];
|
|
@@ -2713,6 +2721,7 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
|
|
|
2713
2721
|
if (viewOnly === void 0) {
|
|
2714
2722
|
viewOnly = false;
|
|
2715
2723
|
}
|
|
2724
|
+
handleClickByChessBoard(actualState[cellPos[1]][cellPos[0]], cellPos);
|
|
2716
2725
|
clearMarkedCells();
|
|
2717
2726
|
clearArrows();
|
|
2718
2727
|
if (viewOnly) return;
|
|
@@ -2963,7 +2972,9 @@ var ArrowLayout = function ArrowLayout(props) {
|
|
|
2963
2972
|
grabbingPos = props.grabbingPos,
|
|
2964
2973
|
boardConfig = props.boardConfig,
|
|
2965
2974
|
_props$externalArrows = props.externalArrowsCoords,
|
|
2966
|
-
externalArrowsCoords = _props$externalArrows === void 0 ? [] : _props$externalArrows
|
|
2975
|
+
externalArrowsCoords = _props$externalArrows === void 0 ? [] : _props$externalArrows,
|
|
2976
|
+
_props$externalArrows2 = props.externalArrows,
|
|
2977
|
+
externalArrows = _props$externalArrows2 === void 0 ? [] : _props$externalArrows2;
|
|
2967
2978
|
return React__default.createElement("div", {
|
|
2968
2979
|
className: styles.arrowsLayer
|
|
2969
2980
|
}, startArrowCoord[0] > -1 && grabbingPos[0] > -1 && React__default.createElement(Arrow, {
|
|
@@ -2982,6 +2993,12 @@ var ArrowLayout = function ArrowLayout(props) {
|
|
|
2982
2993
|
}, coords, {
|
|
2983
2994
|
color: boardConfig.arrowColor
|
|
2984
2995
|
}));
|
|
2996
|
+
}), externalArrows.map(function (arrow, i) {
|
|
2997
|
+
return React__default.createElement(Arrow, Object.assign({
|
|
2998
|
+
key: "extArrow_" + i
|
|
2999
|
+
}, arrow, {
|
|
3000
|
+
color: arrow.color || boardConfig.arrowColor
|
|
3001
|
+
}));
|
|
2985
3002
|
}));
|
|
2986
3003
|
};
|
|
2987
3004
|
|
|
@@ -3015,6 +3032,7 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3015
3032
|
var FEN = props.FEN,
|
|
3016
3033
|
onChange = props.onChange,
|
|
3017
3034
|
onEndGame = props.onEndGame,
|
|
3035
|
+
onClick = props.onClick,
|
|
3018
3036
|
change = props.change,
|
|
3019
3037
|
reversed = props.reversed,
|
|
3020
3038
|
config = props.config,
|
|
@@ -3022,10 +3040,13 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3022
3040
|
viewOnly = props.viewOnly,
|
|
3023
3041
|
moveHighlight = props.moveHighlight,
|
|
3024
3042
|
_props$moveArrows = props.moveArrows,
|
|
3025
|
-
moveArrows = _props$moveArrows === void 0 ? [] : _props$moveArrows
|
|
3043
|
+
moveArrows = _props$moveArrows === void 0 ? [] : _props$moveArrows,
|
|
3044
|
+
_props$arrows = props.arrows,
|
|
3045
|
+
arrows = _props$arrows === void 0 ? [] : _props$arrows;
|
|
3026
3046
|
var _useChessBoardInterac = useChessBoardInteractive({
|
|
3027
3047
|
onChange: onChange,
|
|
3028
3048
|
onEndGame: onEndGame,
|
|
3049
|
+
onClickByChessBoard: onClick,
|
|
3029
3050
|
config: config
|
|
3030
3051
|
}),
|
|
3031
3052
|
fromPos = _useChessBoardInterac.fromPos,
|
|
@@ -3071,12 +3092,19 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3071
3092
|
var reversedChange = reversed ? JSChessEngine.reverseMove(change.move) : change.move;
|
|
3072
3093
|
handleChangeFromExternal(reversedChange, change.withTransition);
|
|
3073
3094
|
}, [change]);
|
|
3074
|
-
var
|
|
3095
|
+
var DEPRECATED_externalArrows = moveArrows.map(function (arrow) {
|
|
3075
3096
|
return {
|
|
3076
3097
|
start: correctGrabbingPosForArrow(arrow.start, boardConfig),
|
|
3077
3098
|
end: correctGrabbingPosForArrow(arrow.end, boardConfig)
|
|
3078
3099
|
};
|
|
3079
3100
|
});
|
|
3101
|
+
var externalArrows = arrows.map(function (arrow) {
|
|
3102
|
+
return {
|
|
3103
|
+
start: correctGrabbingPosForArrow(arrow.start, boardConfig),
|
|
3104
|
+
end: correctGrabbingPosForArrow(arrow.end, boardConfig),
|
|
3105
|
+
color: arrow.color
|
|
3106
|
+
};
|
|
3107
|
+
});
|
|
3080
3108
|
return React__default.createElement("div", {
|
|
3081
3109
|
className: styles.chessBoard
|
|
3082
3110
|
}, React__default.createElement(ChessBoardCellsLayout, {
|
|
@@ -3098,7 +3126,8 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
3098
3126
|
onHasCheck: getHasCheckByCellPos
|
|
3099
3127
|
}), React__default.createElement(ArrowLayout, {
|
|
3100
3128
|
arrowsCoords: arrowsCoords,
|
|
3101
|
-
externalArrowsCoords:
|
|
3129
|
+
externalArrowsCoords: DEPRECATED_externalArrows,
|
|
3130
|
+
externalArrows: externalArrows,
|
|
3102
3131
|
startArrowCoord: startArrowCoord,
|
|
3103
3132
|
grabbingPos: correctGrabbingPosForArrow(grabbingCell, boardConfig),
|
|
3104
3133
|
boardConfig: boardConfig
|