kokopu-react 3.0.2 → 3.1.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/CHANGELOG.md +7 -1
- package/dist/lib/chessboard/BoardProperties.d.ts +91 -0
- package/dist/lib/chessboard/BoardProperties.js +43 -0
- package/dist/lib/chessboard/BoardProperties.js.map +1 -0
- package/dist/lib/chessboard/Chessboard.d.ts +14 -58
- package/dist/lib/chessboard/Chessboard.js +26 -92
- package/dist/lib/chessboard/Chessboard.js.map +1 -1
- package/dist/lib/errorbox/parsing.d.ts +57 -0
- package/dist/lib/errorbox/parsing.js +140 -0
- package/dist/lib/errorbox/parsing.js.map +1 -0
- package/dist/lib/i18n.d.ts +5 -0
- package/dist/lib/i18n.js +6 -0
- package/dist/lib/i18n.js.map +1 -1
- package/dist/lib/index.d.ts +4 -1
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/movetext/Movetext.css +0 -13
- package/dist/lib/movetext/Movetext.d.ts +9 -43
- package/dist/lib/movetext/Movetext.js +15 -67
- package/dist/lib/movetext/Movetext.js.map +1 -1
- package/dist/lib/movetext/MovetextImpl.d.ts +7 -28
- package/dist/lib/movetext/MovetextImpl.js +15 -94
- package/dist/lib/movetext/MovetextImpl.js.map +1 -1
- package/dist/lib/navigationboard/NavigationBoard.d.ts +118 -0
- package/dist/lib/navigationboard/NavigationBoard.js +112 -0
- package/dist/lib/navigationboard/NavigationBoard.js.map +1 -0
- package/dist/lib/navigationboard/NavigationField.css +36 -0
- package/dist/lib/navigationboard/NavigationField.d.ts +81 -0
- package/dist/lib/navigationboard/NavigationField.js +154 -0
- package/dist/lib/navigationboard/NavigationField.js.map +1 -0
- package/dist/lib/navigationboard/NavigationToolbar.css +51 -0
- package/dist/lib/navigationboard/NavigationToolbar.d.ts +41 -0
- package/dist/lib/navigationboard/NavigationToolbar.js +124 -0
- package/dist/lib/navigationboard/NavigationToolbar.js.map +1 -0
- package/doc_src/demo/PageChessboardMove.tsx +17 -0
- package/doc_src/demo/PageNavigationBoardBase.tsx +194 -0
- package/doc_src/demo/PageNavigationBoardUncontrolledVsControlled.tsx +114 -0
- package/doc_src/demo/game-3.pgn +10 -0
- package/doc_src/examples/Movetext.md +1 -1
- package/doc_src/examples/NavigationBoard.md +15 -0
- package/package.json +16 -16
- package/scripts/doc.styleguide.config.js +12 -2
- package/scripts/docker-compose.yml +1 -1
- package/src/chessboard/BoardProperties.ts +131 -0
- package/src/chessboard/Chessboard.tsx +41 -170
- package/src/errorbox/parsing.tsx +158 -0
- package/src/i18n.ts +7 -0
- package/src/index.ts +5 -1
- package/src/movetext/Movetext.css +0 -13
- package/src/movetext/Movetext.tsx +20 -85
- package/src/movetext/MovetextImpl.tsx +28 -115
- package/src/navigationboard/NavigationBoard.tsx +231 -0
- package/src/navigationboard/NavigationField.css +36 -0
- package/src/navigationboard/NavigationField.tsx +185 -0
- package/src/navigationboard/NavigationToolbar.css +51 -0
- package/src/navigationboard/NavigationToolbar.tsx +174 -0
- package/test/05_chessboard_graphic.js +2 -0
- package/test/09_chessboard_small_screens.js +21 -0
- package/test/10_movetext_graphic.js +5 -0
- package/test/11_movetext_interaction.js +12 -8
- package/test/12_navigation_board.js +168 -0
- package/test/graphic_references/05_chessboard_graphic/move/illegal_null-move.png +0 -0
- package/test/graphic_references/05_chessboard_graphic/move/null-move.png +0 -0
- package/test/graphic_references/09_chessboard_small_screens/top_bottom_components/default_bottom_component.png +0 -0
- package/test/graphic_references/09_chessboard_small_screens/top_bottom_components/default_top_component.png +0 -0
- package/test/graphic_references/09_chessboard_small_screens/top_bottom_components/reduced_bottom_component.png +0 -0
- package/test/graphic_references/09_chessboard_small_screens/top_bottom_components/reduced_top_component.png +0 -0
- package/test/graphic_references/10_movetext_graphic/format_move/format_text.png +0 -0
- package/test/graphic_references/10_movetext_graphic/options/wrong_piece_symbol_value.png +0 -0
- package/test/graphic_references/11_movetext_interaction/select_moves/click_on_unselected_without_callback.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/default.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/forbidden_navigation_0.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/forbidden_navigation_1.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/invalid_node_id.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/no_callback_defined_0.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/no_callback_defined_1.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/overriding_initial_node_id.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/regular_navigation_0.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/regular_navigation_1.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/regular_navigation_2.png +0 -0
- package/test/graphic_references/12_navigation_board/controlled/regular_navigation_3.png +0 -0
- package/test/graphic_references/12_navigation_board/error/pgn_parsing_error.png +0 -0
- package/test/graphic_references/12_navigation_board/error/wrong_game_type.png +0 -0
- package/test/graphic_references/12_navigation_board/theme/custom_1.png +0 -0
- package/test/graphic_references/12_navigation_board/theme/custom_2.png +0 -0
- package/test/graphic_references/12_navigation_board/theme/large.png +0 -0
- package/test/graphic_references/12_navigation_board/theme/small.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_0.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_1.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_2.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/forbidden_navigation_at_end_0.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/forbidden_navigation_at_end_1.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/forbidden_navigation_at_end_2.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/initial_state_at_end.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/initial_state_at_specific_id.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/initial_state_default.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/initial_state_default_with_game_index.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/initial_state_on_null-move.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/navigation_with_keys_0.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/navigation_with_keys_1.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/navigation_with_keys_2.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/navigation_with_keys_3.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/navigation_with_keys_4.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_flipping_0.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_flipping_1.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_0.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_1.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_2.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_3.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_4.png +0 -0
- package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_5.png +0 -0
- package/test/graphic_test_app/05_chessboard_graphic/move.tsx +2 -0
- package/test/graphic_test_app/09_chessboard_small_screens/top_bottom_components.tsx +48 -0
- package/test/graphic_test_app/10_movetext_graphic/format_move.tsx +31 -0
- package/test/graphic_test_app/10_movetext_graphic/options.tsx +1 -0
- package/test/graphic_test_app/11_movetext_interaction/select_moves.tsx +1 -0
- package/test/graphic_test_app/12_navigation_board/controlled.tsx +43 -0
- package/test/graphic_test_app/12_navigation_board/error.tsx +34 -0
- package/test/graphic_test_app/12_navigation_board/theme.tsx +38 -0
- package/test/graphic_test_app/12_navigation_board/uncontrolled.tsx +56 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
ChangeLog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
3.0
|
|
4
|
+
3.1.0 (March 3, 2024)
|
|
5
|
+
---------------------
|
|
6
|
+
* Add support for null-moves in `Chessboard`.
|
|
7
|
+
* Add top/bottom auxilliary components in `Chessboard`.
|
|
8
|
+
* Add `NavigationBoard` (see [#6](https://github.com/yo35/kokopu-react/issues/6)).
|
|
9
|
+
|
|
10
|
+
3.0.2 (January 20, 2024)
|
|
5
11
|
------------------------
|
|
6
12
|
* Minor fixes in dependencies.
|
|
7
13
|
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* -------------------------------------------------------------------------- *
|
|
3
|
+
* *
|
|
4
|
+
* Kokopu-React - A React-based library of chess-related components. *
|
|
5
|
+
* <https://www.npmjs.com/package/kokopu-react> *
|
|
6
|
+
* Copyright (C) 2021-2024 Yoann Le Montagner <yo35 -at- melix.net> *
|
|
7
|
+
* *
|
|
8
|
+
* Kokopu-React is free software: you can redistribute it and/or *
|
|
9
|
+
* modify it under the terms of the GNU Lesser General Public License *
|
|
10
|
+
* as published by the Free Software Foundation, either version 3 of *
|
|
11
|
+
* the License, or (at your option) any later version. *
|
|
12
|
+
* *
|
|
13
|
+
* Kokopu-React is distributed in the hope that it will be useful, *
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
16
|
+
* GNU Lesser General Public License for more details. *
|
|
17
|
+
* *
|
|
18
|
+
* You should have received a copy of the GNU Lesser General *
|
|
19
|
+
* Public License along with this program. If not, see *
|
|
20
|
+
* <http://www.gnu.org/licenses/>. *
|
|
21
|
+
* *
|
|
22
|
+
* -------------------------------------------------------------------------- */
|
|
23
|
+
import { AnnotationColor } from '../types';
|
|
24
|
+
/**
|
|
25
|
+
* Define a limit applicable to the parameters of a {@link Chessboard} on small-screen devices.
|
|
26
|
+
*/
|
|
27
|
+
export interface SmallScreenLimit {
|
|
28
|
+
width: number;
|
|
29
|
+
squareSize?: number;
|
|
30
|
+
coordinateVisible?: boolean;
|
|
31
|
+
turnVisible?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Properties in relation to the appearance of a `Chessboard` component (excluding properties related to move display).
|
|
35
|
+
*/
|
|
36
|
+
export interface StaticBoardGraphicProps {
|
|
37
|
+
/**
|
|
38
|
+
* Size of the squares (in pixels). Must be an integer between `Chessboard.minSquareSize()` and `Chessboard.maxSquareSize()`.
|
|
39
|
+
*/
|
|
40
|
+
squareSize: number;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the row and column coordinates are visible or not.
|
|
43
|
+
*/
|
|
44
|
+
coordinateVisible: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the turn flag is visible or not.
|
|
47
|
+
*/
|
|
48
|
+
turnVisible: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Color theme ID. Must be a property of `Chessboard.colorsets()`.
|
|
51
|
+
*/
|
|
52
|
+
colorset: string;
|
|
53
|
+
/**
|
|
54
|
+
* Piece theme ID. Must be a property of `Chessboard.piecesets()`.
|
|
55
|
+
*/
|
|
56
|
+
pieceset: string;
|
|
57
|
+
/**
|
|
58
|
+
* Limits applicable on small-screen devices. For instance, if set to
|
|
59
|
+
* ```
|
|
60
|
+
* [
|
|
61
|
+
* { width: 768, squareSize: 40 },
|
|
62
|
+
* { width: 375, squareSize: 24, coordinateVisible: false }
|
|
63
|
+
* ]
|
|
64
|
+
* ```
|
|
65
|
+
* then on screens with resolution ≤768 pixels, the square size will be limited to 40 (whatever the value
|
|
66
|
+
* of the `squareSize` attribute); in addition, on screens with resolution ≤375 pixels, the square size
|
|
67
|
+
* will be limited to 24 and the row and column coordinates will always be hidden (whatever the value of the
|
|
68
|
+
* `coordinateVisible` attribute).
|
|
69
|
+
*/
|
|
70
|
+
smallScreenLimits?: SmallScreenLimit[];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Properties in relation to the appearance of a `Chessboard` component (including properties related to move display).
|
|
74
|
+
*/
|
|
75
|
+
export interface DynamicBoardGraphicProps extends StaticBoardGraphicProps {
|
|
76
|
+
/**
|
|
77
|
+
* Whether moves are highlighted with an arrow or not.
|
|
78
|
+
*/
|
|
79
|
+
moveArrowVisible: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Color of the move arrow.
|
|
82
|
+
*/
|
|
83
|
+
moveArrowColor: AnnotationColor;
|
|
84
|
+
/**
|
|
85
|
+
* Whether moves are animated or not.
|
|
86
|
+
*/
|
|
87
|
+
animated: boolean;
|
|
88
|
+
}
|
|
89
|
+
export declare const DEFAULT_SQUARE_SIZE = 40;
|
|
90
|
+
export declare function defaultStaticBoardProps(): StaticBoardGraphicProps;
|
|
91
|
+
export declare function defaultDynamicBoardProps(): DynamicBoardGraphicProps;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* -------------------------------------------------------------------------- *
|
|
3
|
+
* *
|
|
4
|
+
* Kokopu-React - A React-based library of chess-related components. *
|
|
5
|
+
* <https://www.npmjs.com/package/kokopu-react> *
|
|
6
|
+
* Copyright (C) 2021-2024 Yoann Le Montagner <yo35 -at- melix.net> *
|
|
7
|
+
* *
|
|
8
|
+
* Kokopu-React is free software: you can redistribute it and/or *
|
|
9
|
+
* modify it under the terms of the GNU Lesser General Public License *
|
|
10
|
+
* as published by the Free Software Foundation, either version 3 of *
|
|
11
|
+
* the License, or (at your option) any later version. *
|
|
12
|
+
* *
|
|
13
|
+
* Kokopu-React is distributed in the hope that it will be useful, *
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
16
|
+
* GNU Lesser General Public License for more details. *
|
|
17
|
+
* *
|
|
18
|
+
* You should have received a copy of the GNU Lesser General *
|
|
19
|
+
* Public License along with this program. If not, see *
|
|
20
|
+
* <http://www.gnu.org/licenses/>. *
|
|
21
|
+
* *
|
|
22
|
+
* -------------------------------------------------------------------------- */
|
|
23
|
+
import { DEFAULT_COLORSET } from './colorsets';
|
|
24
|
+
import { DEFAULT_PIECESET } from './piecesets';
|
|
25
|
+
export const DEFAULT_SQUARE_SIZE = 40;
|
|
26
|
+
export function defaultStaticBoardProps() {
|
|
27
|
+
return {
|
|
28
|
+
squareSize: DEFAULT_SQUARE_SIZE,
|
|
29
|
+
coordinateVisible: true,
|
|
30
|
+
turnVisible: true,
|
|
31
|
+
colorset: DEFAULT_COLORSET,
|
|
32
|
+
pieceset: DEFAULT_PIECESET,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function defaultDynamicBoardProps() {
|
|
36
|
+
return {
|
|
37
|
+
...defaultStaticBoardProps(),
|
|
38
|
+
moveArrowVisible: true,
|
|
39
|
+
moveArrowColor: 'b',
|
|
40
|
+
animated: false,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=BoardProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardProperties.js","sourceRoot":"","sources":["../../../src/chessboard/BoardProperties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;gFAqBgF;AAIhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmF/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAGtC,MAAM,UAAU,uBAAuB;IACtC,OAAO;QACN,UAAU,EAAE,mBAAmB;QAC/B,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,gBAAgB;KAC1B,CAAC;AACH,CAAC;AAGD,MAAM,UAAU,wBAAwB;IACvC,OAAO;QACN,GAAG,uBAAuB,EAAE;QAC5B,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,GAAG;QACnB,QAAQ,EAAE,KAAK;KACf,CAAC;AACH,CAAC"}
|
|
@@ -23,16 +23,8 @@
|
|
|
23
23
|
import * as React from 'react';
|
|
24
24
|
import { MoveDescriptor, Position, Square } from 'kokopu';
|
|
25
25
|
import { Colorset, Pieceset, AnnotationColor, SquareMarkerSet, TextMarkerSet, ArrowMarkerSet } from '../types';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*/
|
|
29
|
-
export interface SmallScreenLimit {
|
|
30
|
-
width: number;
|
|
31
|
-
squareSize?: number;
|
|
32
|
-
coordinateVisible?: boolean;
|
|
33
|
-
turnVisible?: boolean;
|
|
34
|
-
}
|
|
35
|
-
export interface ChessboardProps {
|
|
26
|
+
import { StaticBoardGraphicProps, DynamicBoardGraphicProps } from './BoardProperties';
|
|
27
|
+
export interface ChessboardProps extends DynamicBoardGraphicProps {
|
|
36
28
|
/**
|
|
37
29
|
* Displayed position. Can be a [kokopu.Position](https://kokopu.yo35.org/docs/current/classes/Position.html) object,
|
|
38
30
|
* a [FEN string](https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation),
|
|
@@ -45,8 +37,8 @@ export interface ChessboardProps {
|
|
|
45
37
|
position: Position | string;
|
|
46
38
|
/**
|
|
47
39
|
* Displayed move (optional), defined either as a [kokopu.MoveDescriptor](https://kokopu.yo35.org/docs/current/classes/MoveDescriptor.html) object
|
|
48
|
-
* or as a [SAN string](https://en.wikipedia.org/wiki/Algebraic_notation_(chess)) (e.g. `'Nf3'`).
|
|
49
|
-
* a legal move in position defined in attribute `position`.
|
|
40
|
+
* or as a [SAN string](https://en.wikipedia.org/wiki/Algebraic_notation_(chess)) (e.g. `'Nf3'`). Use `'--'` for a null-move.
|
|
41
|
+
* In all cases, the move must be a legal move in position defined in attribute `position`.
|
|
50
42
|
*/
|
|
51
43
|
move?: MoveDescriptor | string;
|
|
52
44
|
/**
|
|
@@ -67,52 +59,6 @@ export interface ChessboardProps {
|
|
|
67
59
|
* Whether the board is flipped (i.e. seen from Black's point of view) or not.
|
|
68
60
|
*/
|
|
69
61
|
flipped: boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Size of the squares (in pixels). Must be an integer between `Chessboard.minSquareSize()` and `Chessboard.maxSquareSize()`.
|
|
72
|
-
*/
|
|
73
|
-
squareSize: number;
|
|
74
|
-
/**
|
|
75
|
-
* Whether the row and column coordinates are visible or not.
|
|
76
|
-
*/
|
|
77
|
-
coordinateVisible: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* Whether the turn flag is visible or not.
|
|
80
|
-
*/
|
|
81
|
-
turnVisible: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Whether moves are highlighted with an arrow or not.
|
|
84
|
-
*/
|
|
85
|
-
moveArrowVisible: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Color of the move arrow.
|
|
88
|
-
*/
|
|
89
|
-
moveArrowColor: AnnotationColor;
|
|
90
|
-
/**
|
|
91
|
-
* Whether moves are animated or not.
|
|
92
|
-
*/
|
|
93
|
-
animated: boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Color theme ID. Must be a property of `Chessboard.colorsets()`.
|
|
96
|
-
*/
|
|
97
|
-
colorset: string;
|
|
98
|
-
/**
|
|
99
|
-
* Piece theme ID. Must be a property of `Chessboard.piecesets()`.
|
|
100
|
-
*/
|
|
101
|
-
pieceset: string;
|
|
102
|
-
/**
|
|
103
|
-
* Limits applicable on small-screen devices. For instance, if set to
|
|
104
|
-
* ```
|
|
105
|
-
* [
|
|
106
|
-
* { width: 768, squareSize: 40 },
|
|
107
|
-
* { width: 375, squareSize: 24, coordinateVisible: false }
|
|
108
|
-
* ]
|
|
109
|
-
* ```
|
|
110
|
-
* then on screens with resolution ≤768 pixels, the square size will be limited to 40 (whatever the value
|
|
111
|
-
* of the `squareSize` attribute); in addition, on screens with resolution ≤375 pixels, the square size
|
|
112
|
-
* will be limited to 24 and the row and column coordinates will always be hidden (whatever the value of the
|
|
113
|
-
* `coordinateVisible` attribute).
|
|
114
|
-
*/
|
|
115
|
-
smallScreenLimits?: SmallScreenLimit[];
|
|
116
62
|
/**
|
|
117
63
|
* Type of action allowed with the mouse on the chessboard. If undefined, then the user cannot interact with the component.
|
|
118
64
|
*
|
|
@@ -142,6 +88,16 @@ export interface ChessboardProps {
|
|
|
142
88
|
* Callback invoked when a move is played (only if `interactionMode` is set to `'playMoves'`).
|
|
143
89
|
*/
|
|
144
90
|
onMovePlayed?: (move: string) => void;
|
|
91
|
+
/**
|
|
92
|
+
* Optional component, to be rendered above the chessboard, and customized with the same square-size / coordinate-visible / turn-visible
|
|
93
|
+
* parameter values as actually used for the chessboard (which may be different from what is defined in props because of small-screen limits).
|
|
94
|
+
*/
|
|
95
|
+
topComponent?: (attr: Pick<StaticBoardGraphicProps, 'squareSize' | 'coordinateVisible' | 'turnVisible'>) => JSX.Element;
|
|
96
|
+
/**
|
|
97
|
+
* Optional component, to be rendered below the chessboard, and customized with the same square-size / coordinate-visible / turn-visible
|
|
98
|
+
* parameter values as actually used for the chessboard (which may be different from what is defined in props because of small-screen limits).
|
|
99
|
+
*/
|
|
100
|
+
bottomComponent?: (attr: Pick<StaticBoardGraphicProps, 'squareSize' | 'coordinateVisible' | 'turnVisible'>) => JSX.Element;
|
|
145
101
|
}
|
|
146
102
|
interface ChessboardState {
|
|
147
103
|
windowWidth: number;
|
|
@@ -21,16 +21,15 @@
|
|
|
21
21
|
* *
|
|
22
22
|
* -------------------------------------------------------------------------- */
|
|
23
23
|
import * as React from 'react';
|
|
24
|
-
import {
|
|
24
|
+
import { Position, isSquare, isSquareCouple } from 'kokopu';
|
|
25
25
|
import { IllegalArgument } from '../exception';
|
|
26
|
-
import { i18n } from '../i18n';
|
|
27
26
|
import { sanitizeString, sanitizeBoolean, sanitizePartialObject, sanitizeInteger, sanitizeBoundedInteger, sanitizeOptional } from '../sanitization';
|
|
28
27
|
import { MIN_SQUARE_SIZE, MAX_SQUARE_SIZE, isAnnotationColor, isAnnotationSymbol, parseSquareMarkers, parseTextMarkers, parseArrowMarkers } from '../types';
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
28
|
+
import { DEFAULT_SQUARE_SIZE, defaultDynamicBoardProps } from './BoardProperties';
|
|
29
|
+
import { colorsets } from './colorsets';
|
|
30
|
+
import { piecesets } from './piecesets';
|
|
31
31
|
import { ChessboardImpl, chessboardSize } from './ChessboardImpl';
|
|
32
|
-
import {
|
|
33
|
-
const DEFAULT_SQUARE_SIZE = 40;
|
|
32
|
+
import { parsePosition, parseMove } from '../errorbox/parsing';
|
|
34
33
|
/**
|
|
35
34
|
* SVG image representing a chessboard diagram. Optionally, the user may interact with the board (move pieces, click on squares...).
|
|
36
35
|
* Annotations such as square markers or arrows can also be added to the board.
|
|
@@ -54,16 +53,20 @@ export class Chessboard extends React.Component {
|
|
|
54
53
|
}
|
|
55
54
|
render() {
|
|
56
55
|
// Validate the position and move attributes.
|
|
57
|
-
const positionInfo = parsePosition(this.props.position);
|
|
56
|
+
const positionInfo = parsePosition(this.props.position, 'Chessboard');
|
|
58
57
|
if (positionInfo.error) {
|
|
59
|
-
return
|
|
58
|
+
return positionInfo.errorBox;
|
|
60
59
|
}
|
|
61
|
-
|
|
62
|
-
const moveInfo = parseMove(position, this.props.move);
|
|
60
|
+
let position = positionInfo.position;
|
|
61
|
+
const moveInfo = parseMove(position, this.props.move, 'Chessboard');
|
|
63
62
|
if (moveInfo.error) {
|
|
64
|
-
return
|
|
63
|
+
return moveInfo.errorBox;
|
|
64
|
+
}
|
|
65
|
+
const move = moveInfo.type === 'regular' ? moveInfo.move : undefined;
|
|
66
|
+
if (moveInfo.type === 'null-move') {
|
|
67
|
+
position = new Position(position);
|
|
68
|
+
position.playNullMove();
|
|
65
69
|
}
|
|
66
|
-
const move = moveInfo.move;
|
|
67
70
|
// Validate the markers
|
|
68
71
|
const sqm = parseMarkers(this.props.squareMarkers, 'squareMarkers', parseSquareMarkers, isSquare, isAnnotationColor);
|
|
69
72
|
const txtm = parseMarkers(this.props.textMarkers, 'textMarkers', parseTextMarkers, isSquare, isTextMarkerElement);
|
|
@@ -91,13 +94,21 @@ export class Chessboard extends React.Component {
|
|
|
91
94
|
const actualSquareSize = computeSquareSizeForSmallScreens(squareSize, smallScreenLimits, this.state.windowWidth);
|
|
92
95
|
const actualCoordinateVisible = computeCoordinateVisibleForSmallScreens(coordinateVisible, smallScreenLimits, this.state.windowWidth);
|
|
93
96
|
const actualTurnVisible = computeTurnVisibleForSmallScreens(turnVisible, smallScreenLimits, this.state.windowWidth);
|
|
97
|
+
const auxilliaryComponentAttr = {
|
|
98
|
+
squareSize: actualSquareSize,
|
|
99
|
+
coordinateVisible: actualCoordinateVisible,
|
|
100
|
+
turnVisible: actualTurnVisible,
|
|
101
|
+
};
|
|
94
102
|
// Validate the interaction attributes and the callbacks.
|
|
95
103
|
const interactionMode = this.getInteractionModeAndValidateEditedArrowColor();
|
|
96
104
|
const { onPieceMoved, onSquareClicked, onArrowEdited, onMovePlayed } = this.props;
|
|
97
105
|
// Build a key so that a new `ChessboardImpl` component is instantiated each time the position or the move changes
|
|
98
106
|
// (mandatory to ensure that the move animation works properly and that the internal state of the component remains consistent).
|
|
99
107
|
const key = `${position.variant()}|${position.fen()}|${move ? position.notation(move) : ''}`;
|
|
100
|
-
return (React.createElement(
|
|
108
|
+
return (React.createElement(React.Fragment, null,
|
|
109
|
+
this.props.topComponent ? this.props.topComponent(auxilliaryComponentAttr) : undefined,
|
|
110
|
+
React.createElement(ChessboardImpl, { key: key, position: position, move: move, squareMarkers: sqm, textMarkers: txtm, arrowMarkers: arm, flipped: flipped, squareSize: actualSquareSize, coordinateVisible: actualCoordinateVisible, turnVisible: actualTurnVisible, moveArrowVisible: moveArrowVisible, moveArrowColor: this.props.moveArrowColor, animated: animated, colorset: colorset, pieceset: pieceset, interactionMode: interactionMode, editedArrowColor: this.props.editedArrowColor, onPieceMoved: onPieceMoved, onSquareClicked: onSquareClicked, onArrowEdited: onArrowEdited, onMovePlayed: onMovePlayed }),
|
|
111
|
+
this.props.bottomComponent ? this.props.bottomComponent(auxilliaryComponentAttr) : undefined));
|
|
101
112
|
}
|
|
102
113
|
getInteractionModeAndValidateEditedArrowColor() {
|
|
103
114
|
const interactionMode = sanitizeOptional(this.props.interactionMode, sanitizeString);
|
|
@@ -138,7 +149,7 @@ export class Chessboard extends React.Component {
|
|
|
138
149
|
* Return the maximum square size that would allow the chessboard to fit in a rectangle of size `width x height`.
|
|
139
150
|
*/
|
|
140
151
|
static adaptSquareSize(width, height, attr) {
|
|
141
|
-
let { coordinateVisible, turnVisible, smallScreenLimits } = sanitizePartialObject(attr, () => new IllegalArgument('Chessboard.
|
|
152
|
+
let { coordinateVisible, turnVisible, smallScreenLimits } = sanitizePartialObject(attr, () => new IllegalArgument('Chessboard.adaptSquareSize()', 'attr'));
|
|
142
153
|
// Sanitize the arguments.
|
|
143
154
|
width = sanitizeInteger(width, () => new IllegalArgument('Chessboard.adaptSquareSize()', 'width'));
|
|
144
155
|
height = sanitizeInteger(height, () => new IllegalArgument('Chessboard.adaptSquareSize()', 'height'));
|
|
@@ -211,16 +222,9 @@ export class Chessboard extends React.Component {
|
|
|
211
222
|
}
|
|
212
223
|
}
|
|
213
224
|
Chessboard.defaultProps = {
|
|
225
|
+
...defaultDynamicBoardProps(),
|
|
214
226
|
position: 'start',
|
|
215
227
|
flipped: false,
|
|
216
|
-
squareSize: DEFAULT_SQUARE_SIZE,
|
|
217
|
-
coordinateVisible: true,
|
|
218
|
-
turnVisible: true,
|
|
219
|
-
moveArrowVisible: true,
|
|
220
|
-
moveArrowColor: 'b',
|
|
221
|
-
animated: false,
|
|
222
|
-
colorset: DEFAULT_COLORSET,
|
|
223
|
-
pieceset: DEFAULT_PIECESET,
|
|
224
228
|
};
|
|
225
229
|
/**
|
|
226
230
|
* Compute the actual square size taking into account the given small-screen limits and window width.
|
|
@@ -263,76 +267,6 @@ function computeSmallScreenLimits(smallScreenLimits, windowWidth, getter) {
|
|
|
263
267
|
}
|
|
264
268
|
return bestAttributeValue;
|
|
265
269
|
}
|
|
266
|
-
/**
|
|
267
|
-
* Try to interpret the given object as a chess position.
|
|
268
|
-
*/
|
|
269
|
-
function parsePosition(position) {
|
|
270
|
-
if (position instanceof Position) {
|
|
271
|
-
return { error: false, position: position };
|
|
272
|
-
}
|
|
273
|
-
else if (position === 'start' || position === 'empty') {
|
|
274
|
-
return { error: false, position: new Position(position) };
|
|
275
|
-
}
|
|
276
|
-
else if (typeof position === 'string') {
|
|
277
|
-
try {
|
|
278
|
-
const { variant, fen } = splitGameVariantAndFEN(position);
|
|
279
|
-
const result = new Position(variant, 'empty');
|
|
280
|
-
result.fen(fen);
|
|
281
|
-
return { error: false, position: result };
|
|
282
|
-
}
|
|
283
|
-
catch (e) {
|
|
284
|
-
// istanbul ignore else
|
|
285
|
-
if (e instanceof kokopuException.InvalidFEN) {
|
|
286
|
-
return { error: true, message: e.message };
|
|
287
|
-
}
|
|
288
|
-
else {
|
|
289
|
-
throw e;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
throw new IllegalArgument('Chessboard', 'position');
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Look for an optional 'chess-variant:' prefix in the position attribute.
|
|
299
|
-
*/
|
|
300
|
-
function splitGameVariantAndFEN(position) {
|
|
301
|
-
const separatorIndex = position.indexOf(':');
|
|
302
|
-
if (separatorIndex < 0) {
|
|
303
|
-
return { variant: 'regular', fen: position };
|
|
304
|
-
}
|
|
305
|
-
const variant = position.substring(0, separatorIndex);
|
|
306
|
-
return isGameVariant(variant) ? { variant: variant, fen: position.substring(separatorIndex + 1) } : { variant: 'regular', fen: position };
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Try to interpret the given object `move` as a move descriptor based on the given position.
|
|
310
|
-
*/
|
|
311
|
-
function parseMove(position, move) {
|
|
312
|
-
if (move === undefined || move === null) {
|
|
313
|
-
return { error: false, move: undefined };
|
|
314
|
-
}
|
|
315
|
-
else if (move instanceof MoveDescriptor) {
|
|
316
|
-
return { error: false, move: move };
|
|
317
|
-
}
|
|
318
|
-
else if (typeof move === 'string') {
|
|
319
|
-
try {
|
|
320
|
-
return { error: false, move: position.notation(move) };
|
|
321
|
-
}
|
|
322
|
-
catch (e) {
|
|
323
|
-
// istanbul ignore else
|
|
324
|
-
if (e instanceof kokopuException.InvalidNotation) {
|
|
325
|
-
return { error: true, message: e.message };
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
throw e;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
else {
|
|
333
|
-
throw new IllegalArgument('Chessboard', 'move');
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
270
|
/**
|
|
337
271
|
* Try to interpret the given object as a list of markers.
|
|
338
272
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chessboard.js","sourceRoot":"","sources":["../../../src/chessboard/Chessboard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;gFAqBgF;AAGhF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAuB,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE9I,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpJ,OAAO,EAAE,eAAe,EAAE,eAAe,EACxC,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAyJhD,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAG/B;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK,CAAC,SAA2C;IAiBhF,YAAY,KAAsB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHN,yBAAoB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAI9D,IAAI,CAAC,KAAK,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACH,CAAC;IAED,iBAAiB;QAChB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IAED,oBAAoB;QACnB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAEO,kBAAkB;QACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM;QAEL,6CAA6C;QAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,GAAI,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,4BAA4B,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAI,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,uBAAuB;QACvB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACrH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAClH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAExH,sCAAsC;QACtC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1J,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;QAED,gDAAgD;QAChD,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAChJ,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjH,MAAM,uBAAuB,GAAG,uCAAuC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtI,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEpH,yDAAyD;QACzD,MAAM,eAAe,GAAG,IAAI,CAAC,6CAA6C,EAAE,CAAC;QAC7E,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAElF,kHAAkH;QAClH,gIAAgI;QAChI,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE7F,OAAO,CACN,oBAAC,cAAc,IAAC,GAAG,EAAE,GAAG,EACvB,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAC1G,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,EACxG,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EACjG,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EACtC,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC/E,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,GACrH,CACF,CAAC;IACH,CAAC;IAEO,6CAA6C;QACpD,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACrF,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,YAAY,IAAI,eAAe,KAAK,cAAc,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;YAChJ,OAAO,eAAe,CAAC;QACxB,CAAC;aACI,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,eAAe,CAAC;QACxB,CAAC;aACI,CAAC;YACL,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,IAA+G;QAC1H,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;QAE5J,0BAA0B;QAC1B,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC5D,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;QACpI,iBAAiB,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAChG,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9E,iBAAiB,GAAG,yBAAyB,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAEtI,uCAAuC;QACvC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,UAAU,GAAG,gCAAgC,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAChG,iBAAiB,GAAG,uCAAuC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACrH,WAAW,GAAG,iCAAiC,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpG,CAAC;QAED,0BAA0B;QAC1B,OAAO,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,MAAc,EAAE,IAAgG;QACrJ,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;QAEhJ,0BAA0B;QAC1B,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC,CAAC;QACnG,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtG,iBAAiB,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAChG,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9E,iBAAiB,GAAG,yBAAyB,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAEjJ,uCAAuC;QACvC,IAAI,aAAa,GAAG,eAAe,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,aAAa,GAAG,gCAAgC,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACtG,iBAAiB,GAAG,uCAAuC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACrH,WAAW,GAAG,iCAAiC,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpG,CAAC;QAED,SAAS,SAAS,CAAC,UAAkB;YACpC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,iBAAkB,EAAE,WAAY,CAAC,CAAC;YAClH,OAAO,WAAW,IAAI,KAAK,IAAI,YAAY,IAAI,MAAM,CAAC;QACvD,CAAC;QAED,wBAAwB;QACxB,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,OAAO,aAAa,CAAC;QACtB,CAAC;aACI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,OAAO,eAAe,CAAC;QACxB,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,GAAG,eAAe,CAAC;QACxB,IAAI,CAAC,GAAG,aAAa,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,CAAC,GAAG,GAAG,CAAC;YACT,CAAC;iBACI,CAAC;gBACL,CAAC,GAAG,GAAG,CAAC;YACT,CAAC;QACF,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa;QACnB,OAAO,eAAe,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa;QACnB,OAAO,eAAe,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;;AA7NM,uBAAY,GAA6B;IAC/C,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,mBAAmB;IAC/B,iBAAiB,EAAE,IAAI;IACvB,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,GAAG;IACnB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,gBAAgB;CAC1B,AAXkB,CAWjB;AAsNH;;GAEG;AACH,SAAS,gCAAgC,CAAC,UAAkB,EAAE,iBAAqC,EAAE,WAAmB;IACvH,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9G,OAAO,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAC/F,CAAC;AAGD;;GAEG;AACH,SAAS,uCAAuC,CAAC,iBAA0B,EAAE,iBAAqC,EAAE,WAAmB;IACtI,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5H,OAAO,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;AACnH,CAAC;AAGD;;GAEG;AACH,SAAS,iCAAiC,CAAC,WAAoB,EAAE,iBAAqC,EAAE,WAAmB;IAC1H,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChH,OAAO,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC;AAC3F,CAAC;AAGD;;GAEG;AACH,SAAS,wBAAwB,CAAI,iBAAqC,EAAE,WAAmB,EAAE,MAAkD;IAClJ,IAAI,SAAS,GAAG,QAAQ,CAAC;IACzB,IAAI,kBAAkB,GAAkB,SAAS,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QAEvC,yGAAyG;QACzG,2DAA2D;QAC3D,IAAI,WAAW,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,SAAS;QACV,CAAC;QAED,iEAAiE;QACjE,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;YAC7B,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACxB,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAGD;;GAEG;AACH,SAAS,aAAa,CAAC,QAA2B;IACjD,IAAI,QAAQ,YAAY,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;SACI,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3D,CAAC;SACI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACV,uBAAuB;YACvB,IAAI,CAAC,YAAY,eAAe,CAAC,UAAU,EAAE,CAAC;gBAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;iBACI,CAAC;gBACL,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC;IACF,CAAC;SACI,CAAC;QACL,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;AACF,CAAC;AAGD;;GAEG;AACH,SAAS,sBAAsB,CAAC,QAAgB;IAC/C,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACtD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3I,CAAC;AAGD;;GAEG;AACH,SAAS,SAAS,CAAC,QAAkB,EAAE,IAAyC;IAC/E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;SACI,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;SACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACV,uBAAuB;YACvB,IAAI,CAAC,YAAY,eAAe,CAAC,eAAe,EAAE,CAAC;gBAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;iBACI,CAAC;gBACL,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC;IACF,CAAC;SACI,CAAC;QACL,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;AACF,CAAC;AAGD;;GAEG;AACH,SAAS,YAAY,CAAsB,OAAmD,EAAE,YAAoB,EAAE,KAA2C,EAChK,UAAkC,EAAE,YAAoC;IAExE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IAClB,CAAC;SACI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;SACI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,GAAG,EAAE,KAAK,CAAE,EAAE,EAAE;YAClD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;SACI,CAAC;QACL,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;AACF,CAAC;AAGD,SAAS,mBAAmB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,kBAAkB,CAAE,KAAiC,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAE,KAAiC,CAAC,KAAK,CAAC,CAAC;AACrI,CAAC;AAGD;;GAEG;AACH,SAAS,yBAAyB,CAAC,iBAAiD,EAAE,gBAAuC;IAC5H,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACnE,OAAO,EAAE,CAAC;IACX,CAAC;SACI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5C,MAAM,gBAAgB,EAAE,CAAC;IAC1B,CAAC;SACI,CAAC;QACL,OAAO,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YAC/C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACvE,MAAM,gBAAgB,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO;gBACN,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC;gBAChE,UAAU,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBACjJ,iBAAiB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,eAAe,CAAC;gBACxF,WAAW,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC;aAC5E,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"Chessboard.js","sourceRoot":"","sources":["../../../src/chessboard/Chessboard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* -------------------------------------------------------------------------- *
|
|
3
|
+
* *
|
|
4
|
+
* Kokopu-React - A React-based library of chess-related components. *
|
|
5
|
+
* <https://www.npmjs.com/package/kokopu-react> *
|
|
6
|
+
* Copyright (C) 2021-2024 Yoann Le Montagner <yo35 -at- melix.net> *
|
|
7
|
+
* *
|
|
8
|
+
* Kokopu-React is free software: you can redistribute it and/or *
|
|
9
|
+
* modify it under the terms of the GNU Lesser General Public License *
|
|
10
|
+
* as published by the Free Software Foundation, either version 3 of *
|
|
11
|
+
* the License, or (at your option) any later version. *
|
|
12
|
+
* *
|
|
13
|
+
* Kokopu-React is distributed in the hope that it will be useful, *
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
16
|
+
* GNU Lesser General Public License for more details. *
|
|
17
|
+
* *
|
|
18
|
+
* You should have received a copy of the GNU Lesser General *
|
|
19
|
+
* Public License along with this program. If not, see *
|
|
20
|
+
* <http://www.gnu.org/licenses/>. *
|
|
21
|
+
* *
|
|
22
|
+
* -------------------------------------------------------------------------- */
|
|
23
|
+
import { Database, Game, MoveDescriptor, Position } from 'kokopu';
|
|
24
|
+
/**
|
|
25
|
+
* Try to interpret the given object as a chess position.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parsePosition(position: Position | string, componentName: string): {
|
|
28
|
+
error: true;
|
|
29
|
+
errorBox: JSX.Element;
|
|
30
|
+
} | {
|
|
31
|
+
error: false;
|
|
32
|
+
position: Position;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Try to interpret the given object `move` as a move descriptor based on the given position.
|
|
36
|
+
*/
|
|
37
|
+
export declare function parseMove(position: Position, move: MoveDescriptor | string | undefined, componentName: string): {
|
|
38
|
+
error: true;
|
|
39
|
+
errorBox: JSX.Element;
|
|
40
|
+
} | {
|
|
41
|
+
error: false;
|
|
42
|
+
type: 'none' | 'null-move';
|
|
43
|
+
} | {
|
|
44
|
+
error: false;
|
|
45
|
+
type: 'regular';
|
|
46
|
+
move: MoveDescriptor;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Try to interpret the given object as a chess game.
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseGame(game: Game | Database | string, gameIndex: number, componentName: string): {
|
|
52
|
+
error: true;
|
|
53
|
+
errorBox: JSX.Element;
|
|
54
|
+
} | {
|
|
55
|
+
error: false;
|
|
56
|
+
game: Game;
|
|
57
|
+
};
|