react-chessboard-ui 2.8.0 → 2.10.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.
@@ -2308,7 +2308,8 @@ var ChessBoardControlLayout = function ChessBoardControlLayout(props) {
2308
2308
  var useChessBoardInteractive = function useChessBoardInteractive(props) {
2309
2309
  var config = props.config,
2310
2310
  onChange = props.onChange,
2311
- onEndGame = props.onEndGame;
2311
+ onEndGame = props.onEndGame,
2312
+ onClickByChessBoard = props.onClickByChessBoard;
2312
2313
  var _useState = useState(DEFAULT_CHESSBORD_CONFIG),
2313
2314
  boardConfig = _useState[0],
2314
2315
  setBoardConfig = _useState[1];
@@ -2436,6 +2437,14 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2436
2437
  return !prevReversed;
2437
2438
  });
2438
2439
  };
2440
+ var handleClickByChessBoard = function handleClickByChessBoard(cellData, pos) {
2441
+ if (!onClickByChessBoard) return;
2442
+ onClickByChessBoard({
2443
+ cellData: cellData,
2444
+ pos: pos,
2445
+ currentColor: currentColor
2446
+ });
2447
+ };
2439
2448
  var selectFigureFrom = function selectFigureFrom(cellPos, extActualState) {
2440
2449
  var nowState = extActualState || actualState;
2441
2450
  var cell = nowState[cellPos[1]][cellPos[0]];
@@ -2710,6 +2719,7 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2710
2719
  if (viewOnly === void 0) {
2711
2720
  viewOnly = false;
2712
2721
  }
2722
+ handleClickByChessBoard(actualState[cellPos[1]][cellPos[0]], cellPos);
2713
2723
  clearMarkedCells();
2714
2724
  clearArrows();
2715
2725
  if (viewOnly) return;
@@ -2960,7 +2970,9 @@ var ArrowLayout = function ArrowLayout(props) {
2960
2970
  grabbingPos = props.grabbingPos,
2961
2971
  boardConfig = props.boardConfig,
2962
2972
  _props$externalArrows = props.externalArrowsCoords,
2963
- externalArrowsCoords = _props$externalArrows === void 0 ? [] : _props$externalArrows;
2973
+ externalArrowsCoords = _props$externalArrows === void 0 ? [] : _props$externalArrows,
2974
+ _props$externalArrows2 = props.externalArrows,
2975
+ externalArrows = _props$externalArrows2 === void 0 ? [] : _props$externalArrows2;
2964
2976
  return React.createElement("div", {
2965
2977
  className: styles.arrowsLayer
2966
2978
  }, startArrowCoord[0] > -1 && grabbingPos[0] > -1 && React.createElement(Arrow, {
@@ -2979,6 +2991,12 @@ var ArrowLayout = function ArrowLayout(props) {
2979
2991
  }, coords, {
2980
2992
  color: boardConfig.arrowColor
2981
2993
  }));
2994
+ }), externalArrows.map(function (arrow, i) {
2995
+ return React.createElement(Arrow, Object.assign({
2996
+ key: "extArrow_" + i
2997
+ }, arrow, {
2998
+ color: arrow.color || boardConfig.arrowColor
2999
+ }));
2982
3000
  }));
2983
3001
  };
2984
3002
 
@@ -3012,6 +3030,7 @@ var ChessBoard = function ChessBoard(props) {
3012
3030
  var FEN = props.FEN,
3013
3031
  onChange = props.onChange,
3014
3032
  onEndGame = props.onEndGame,
3033
+ onClick = props.onClick,
3015
3034
  change = props.change,
3016
3035
  reversed = props.reversed,
3017
3036
  config = props.config,
@@ -3019,10 +3038,13 @@ var ChessBoard = function ChessBoard(props) {
3019
3038
  viewOnly = props.viewOnly,
3020
3039
  moveHighlight = props.moveHighlight,
3021
3040
  _props$moveArrows = props.moveArrows,
3022
- moveArrows = _props$moveArrows === void 0 ? [] : _props$moveArrows;
3041
+ moveArrows = _props$moveArrows === void 0 ? [] : _props$moveArrows,
3042
+ _props$arrows = props.arrows,
3043
+ arrows = _props$arrows === void 0 ? [] : _props$arrows;
3023
3044
  var _useChessBoardInterac = useChessBoardInteractive({
3024
3045
  onChange: onChange,
3025
3046
  onEndGame: onEndGame,
3047
+ onClickByChessBoard: onClick,
3026
3048
  config: config
3027
3049
  }),
3028
3050
  fromPos = _useChessBoardInterac.fromPos,
@@ -3068,12 +3090,19 @@ var ChessBoard = function ChessBoard(props) {
3068
3090
  var reversedChange = reversed ? JSChessEngine.reverseMove(change.move) : change.move;
3069
3091
  handleChangeFromExternal(reversedChange, change.withTransition);
3070
3092
  }, [change]);
3071
- var externalArrows = moveArrows.map(function (arrow) {
3093
+ var DEPRECATED_externalArrows = moveArrows.map(function (arrow) {
3072
3094
  return {
3073
3095
  start: correctGrabbingPosForArrow(arrow.start, boardConfig),
3074
3096
  end: correctGrabbingPosForArrow(arrow.end, boardConfig)
3075
3097
  };
3076
3098
  });
3099
+ var externalArrows = arrows.map(function (arrow) {
3100
+ return {
3101
+ start: correctGrabbingPosForArrow(arrow.start, boardConfig),
3102
+ end: correctGrabbingPosForArrow(arrow.end, boardConfig),
3103
+ color: arrow.color
3104
+ };
3105
+ });
3077
3106
  return React.createElement("div", {
3078
3107
  className: styles.chessBoard
3079
3108
  }, React.createElement(ChessBoardCellsLayout, {
@@ -3095,7 +3124,8 @@ var ChessBoard = function ChessBoard(props) {
3095
3124
  onHasCheck: getHasCheckByCellPos
3096
3125
  }), React.createElement(ArrowLayout, {
3097
3126
  arrowsCoords: arrowsCoords,
3098
- externalArrowsCoords: externalArrows,
3127
+ externalArrowsCoords: DEPRECATED_externalArrows,
3128
+ externalArrows: externalArrows,
3099
3129
  startArrowCoord: startArrowCoord,
3100
3130
  grabbingPos: correctGrabbingPosForArrow(grabbingCell, boardConfig),
3101
3131
  boardConfig: boardConfig