kokopu-react 3.3.4 → 3.4.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.
Files changed (197) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/CREDITS.md +5 -1
  3. package/dist/lib/chessboard/BoardProperties.d.ts +5 -1
  4. package/dist/lib/chessboard/BoardProperties.js +2 -1
  5. package/dist/lib/chessboard/BoardProperties.js.map +1 -1
  6. package/dist/lib/chessboard/Chessboard.css +1 -1
  7. package/dist/lib/chessboard/Chessboard.d.ts +1 -1
  8. package/dist/lib/chessboard/Chessboard.js +3 -2
  9. package/dist/lib/chessboard/Chessboard.js.map +1 -1
  10. package/dist/lib/chessboard/ChessboardImpl.d.ts +2 -1
  11. package/dist/lib/chessboard/ChessboardImpl.js +4 -2
  12. package/dist/lib/chessboard/ChessboardImpl.js.map +1 -1
  13. package/dist/lib/chessboard/Draggable.d.ts +1 -1
  14. package/dist/lib/chessboard/Draggable.js +1 -1
  15. package/dist/lib/chessboard/Motion.d.ts +1 -1
  16. package/dist/lib/chessboard/Motion.js +1 -1
  17. package/dist/lib/chessboard/Sound.d.ts +29 -0
  18. package/dist/lib/chessboard/Sound.js +53 -0
  19. package/dist/lib/chessboard/Sound.js.map +1 -0
  20. package/dist/lib/chessboard/colorsets.d.ts +1 -1
  21. package/dist/lib/chessboard/colorsets.js +1 -1
  22. package/dist/lib/chessboard/piecesets.d.ts +1 -1
  23. package/dist/lib/chessboard/piecesets.js +1 -1
  24. package/dist/lib/chessboard/sounds/move.ogg +0 -0
  25. package/dist/lib/errorbox/ErrorBox.css +1 -1
  26. package/dist/lib/errorbox/ErrorBox.d.ts +1 -1
  27. package/dist/lib/errorbox/ErrorBox.js +1 -1
  28. package/dist/lib/errorbox/parsing.d.ts +1 -1
  29. package/dist/lib/errorbox/parsing.js +1 -1
  30. package/dist/lib/exception.d.ts +1 -1
  31. package/dist/lib/exception.js +1 -1
  32. package/dist/lib/i18n.d.ts +1 -1
  33. package/dist/lib/i18n.js +1 -1
  34. package/dist/lib/icons/AnnotationSymbolShape.css +1 -1
  35. package/dist/lib/icons/AnnotationSymbolShape.d.ts +1 -1
  36. package/dist/lib/icons/AnnotationSymbolShape.js +1 -1
  37. package/dist/lib/icons/ArrowMarkerIcon.d.ts +1 -1
  38. package/dist/lib/icons/ArrowMarkerIcon.js +1 -1
  39. package/dist/lib/icons/ArrowTip.d.ts +1 -1
  40. package/dist/lib/icons/ArrowTip.js +1 -1
  41. package/dist/lib/icons/ChessPieceIcon.d.ts +1 -1
  42. package/dist/lib/icons/ChessPieceIcon.js +1 -1
  43. package/dist/lib/icons/SquareMarkerIcon.d.ts +1 -1
  44. package/dist/lib/icons/SquareMarkerIcon.js +1 -1
  45. package/dist/lib/icons/TextMarkerIcon.d.ts +1 -1
  46. package/dist/lib/icons/TextMarkerIcon.js +1 -1
  47. package/dist/lib/icons/arrow.css +1 -1
  48. package/dist/lib/index.d.ts +1 -1
  49. package/dist/lib/index.js +1 -1
  50. package/dist/lib/movetext/Movetext.css +1 -1
  51. package/dist/lib/movetext/Movetext.d.ts +1 -1
  52. package/dist/lib/movetext/Movetext.js +1 -1
  53. package/dist/lib/movetext/MovetextImpl.d.ts +1 -1
  54. package/dist/lib/movetext/MovetextImpl.js +1 -1
  55. package/dist/lib/movetext/fonts.css +1 -1
  56. package/dist/lib/movetext/htmlFilter.d.ts +1 -1
  57. package/dist/lib/movetext/htmlFilter.js +1 -1
  58. package/dist/lib/movetext/moveFormatter.d.ts +1 -1
  59. package/dist/lib/movetext/moveFormatter.js +1 -1
  60. package/dist/lib/navigationboard/NavigationBoard.d.ts +2 -1
  61. package/dist/lib/navigationboard/NavigationBoard.js +2 -2
  62. package/dist/lib/navigationboard/NavigationBoard.js.map +1 -1
  63. package/dist/lib/navigationboard/NavigationButton.d.ts +1 -1
  64. package/dist/lib/navigationboard/NavigationButton.js +1 -1
  65. package/dist/lib/navigationboard/NavigationField.css +1 -1
  66. package/dist/lib/navigationboard/NavigationField.d.ts +1 -1
  67. package/dist/lib/navigationboard/NavigationField.js +1 -1
  68. package/dist/lib/navigationboard/NavigationToolbar.css +1 -1
  69. package/dist/lib/navigationboard/NavigationToolbar.d.ts +1 -1
  70. package/dist/lib/navigationboard/NavigationToolbar.js +1 -1
  71. package/dist/lib/navigationboard/iconPaths.d.ts +1 -1
  72. package/dist/lib/navigationboard/iconPaths.js +1 -1
  73. package/dist/lib/sanitization.d.ts +1 -1
  74. package/dist/lib/sanitization.js +1 -1
  75. package/dist/lib/types.d.ts +1 -1
  76. package/dist/lib/types.js +1 -1
  77. package/dist/lib/util.d.ts +1 -1
  78. package/dist/lib/util.js +1 -1
  79. package/doc_src/demo/NavigationBoardWithMoveText.txt +1 -1
  80. package/doc_src/demo/PageChessboardBase.tsx +1 -1
  81. package/doc_src/demo/PageChessboardInteraction.tsx +1 -1
  82. package/doc_src/demo/PageChessboardMove.tsx +9 -1
  83. package/doc_src/demo/PageChessboardSmallScreens.tsx +1 -1
  84. package/doc_src/demo/PageMovetextBase.tsx +1 -1
  85. package/doc_src/demo/PageMovetextInteraction.tsx +2 -2
  86. package/doc_src/demo/PageNavigationBoardBase.tsx +12 -2
  87. package/doc_src/demo/PageNavigationBoardUncontrolledVsControlled.tsx +5 -3
  88. package/doc_src/demo/PageSynchroNavigationBoardMovetext.tsx +2 -2
  89. package/doc_src/demo/decs.d.ts +1 -1
  90. package/doc_src/demo/demo.css +1 -1
  91. package/doc_src/demo/util.ts +1 -1
  92. package/doc_src/theming/LogoRenderer.js +1 -1
  93. package/doc_src/theming/theming.css +1 -1
  94. package/doc_src/webpack_configuration.md +2 -1
  95. package/package.json +21 -20
  96. package/scripts/doc.styleguide.config.js +2 -2
  97. package/scripts/doc.tsconfig.json +1 -1
  98. package/scripts/test-graphic.webpack.config.js +2 -2
  99. package/scripts/test-headless.webpack.config.js +2 -2
  100. package/src/chessboard/BoardProperties.ts +7 -1
  101. package/src/chessboard/Chessboard.css +1 -1
  102. package/src/chessboard/Chessboard.tsx +3 -2
  103. package/src/chessboard/ChessboardImpl.tsx +4 -1
  104. package/src/chessboard/Draggable.tsx +1 -1
  105. package/src/chessboard/Motion.tsx +1 -1
  106. package/src/chessboard/Sound.tsx +71 -0
  107. package/src/chessboard/colorsets.ts +1 -1
  108. package/src/chessboard/piecesets.ts +1 -1
  109. package/src/chessboard/sounds/move.ogg +0 -0
  110. package/src/decs.d.ts +6 -1
  111. package/src/errorbox/ErrorBox.css +1 -1
  112. package/src/errorbox/ErrorBox.tsx +1 -1
  113. package/src/errorbox/parsing.tsx +1 -1
  114. package/src/exception.ts +1 -1
  115. package/src/i18n.ts +1 -1
  116. package/src/icons/AnnotationSymbolShape.css +1 -1
  117. package/src/icons/AnnotationSymbolShape.tsx +1 -1
  118. package/src/icons/ArrowMarkerIcon.tsx +1 -1
  119. package/src/icons/ArrowTip.tsx +1 -1
  120. package/src/icons/ChessPieceIcon.tsx +1 -1
  121. package/src/icons/SquareMarkerIcon.tsx +1 -1
  122. package/src/icons/TextMarkerIcon.tsx +1 -1
  123. package/src/icons/arrow.css +1 -1
  124. package/src/index.ts +1 -1
  125. package/src/movetext/Movetext.css +1 -1
  126. package/src/movetext/Movetext.tsx +1 -1
  127. package/src/movetext/MovetextImpl.tsx +1 -1
  128. package/src/movetext/fonts.css +1 -1
  129. package/src/movetext/htmlFilter.tsx +1 -1
  130. package/src/movetext/moveFormatter.tsx +1 -1
  131. package/src/navigationboard/NavigationBoard.tsx +2 -2
  132. package/src/navigationboard/NavigationButton.ts +1 -1
  133. package/src/navigationboard/NavigationField.css +1 -1
  134. package/src/navigationboard/NavigationField.tsx +1 -1
  135. package/src/navigationboard/NavigationToolbar.css +1 -1
  136. package/src/navigationboard/NavigationToolbar.tsx +1 -1
  137. package/src/navigationboard/iconPaths.ts +1 -1
  138. package/src/sanitization.ts +1 -1
  139. package/src/types.ts +1 -1
  140. package/src/util.ts +1 -1
  141. package/test/01_types.js +1 -1
  142. package/test/02_chessboard_util.js +1 -1
  143. package/test/03_error_box_graphic.js +1 -1
  144. package/test/04_icons_graphic.js +1 -1
  145. package/test/05_chessboard_graphic.js +1 -1
  146. package/test/06_chessboard_animation.js +22 -4
  147. package/test/07_chessboard_interaction.js +1 -1
  148. package/test/08_chessboard_play_moves.js +1 -1
  149. package/test/09_chessboard_small_screens.js +1 -1
  150. package/test/10_movetext_graphic.js +1 -1
  151. package/test/11_movetext_interaction.js +1 -1
  152. package/test/12_navigation_board_base.js +1 -1
  153. package/test/13_navigation_board_graphic.js +1 -1
  154. package/test/14_navigation_board_autoplay.js +1 -1
  155. package/test/common/graphic.js +10 -1
  156. package/test/graphic_references/06_chessboard_animation/sound/with_move.png +0 -0
  157. package/test/graphic_references/06_chessboard_animation/sound/without_move.png +0 -0
  158. package/test/graphic_test_app/03_error_box_graphic/base.tsx +1 -1
  159. package/test/graphic_test_app/03_error_box_graphic/localization.tsx +1 -1
  160. package/test/graphic_test_app/04_icons_graphic/chess_piece.tsx +1 -1
  161. package/test/graphic_test_app/04_icons_graphic/marker.tsx +1 -1
  162. package/test/graphic_test_app/05_chessboard_graphic/annotations.tsx +5 -5
  163. package/test/graphic_test_app/05_chessboard_graphic/base.tsx +2 -2
  164. package/test/graphic_test_app/05_chessboard_graphic/chess_variants.tsx +1 -1
  165. package/test/graphic_test_app/05_chessboard_graphic/flipped.tsx +6 -6
  166. package/test/graphic_test_app/05_chessboard_graphic/move.tsx +3 -3
  167. package/test/graphic_test_app/05_chessboard_graphic/theme.tsx +4 -4
  168. package/test/graphic_test_app/06_chessboard_animation/base_1.tsx +7 -7
  169. package/test/graphic_test_app/06_chessboard_animation/base_2.tsx +7 -7
  170. package/test/graphic_test_app/06_chessboard_animation/base_3.tsx +7 -7
  171. package/test/graphic_test_app/06_chessboard_animation/on_redraw.tsx +4 -3
  172. package/test/graphic_test_app/06_chessboard_animation/sound.tsx +52 -0
  173. package/test/graphic_test_app/07_chessboard_interaction/click_squares.tsx +1 -1
  174. package/test/graphic_test_app/07_chessboard_interaction/edit_arrows.tsx +1 -1
  175. package/test/graphic_test_app/07_chessboard_interaction/error.tsx +1 -1
  176. package/test/graphic_test_app/07_chessboard_interaction/move_pieces.tsx +1 -1
  177. package/test/graphic_test_app/08_chessboard_play_moves/base.tsx +1 -1
  178. package/test/graphic_test_app/08_chessboard_play_moves/promotions.tsx +1 -1
  179. package/test/graphic_test_app/09_chessboard_small_screens/base.tsx +1 -1
  180. package/test/graphic_test_app/09_chessboard_small_screens/top_bottom_components.tsx +1 -1
  181. package/test/graphic_test_app/10_movetext_graphic/base.tsx +1 -1
  182. package/test/graphic_test_app/10_movetext_graphic/error.tsx +1 -1
  183. package/test/graphic_test_app/10_movetext_graphic/format_move.tsx +1 -1
  184. package/test/graphic_test_app/10_movetext_graphic/html.tsx +1 -1
  185. package/test/graphic_test_app/10_movetext_graphic/options.tsx +1 -1
  186. package/test/graphic_test_app/11_movetext_interaction/error.tsx +1 -1
  187. package/test/graphic_test_app/11_movetext_interaction/select_moves.tsx +1 -1
  188. package/test/graphic_test_app/12_navigation_board_base/controlled.tsx +1 -1
  189. package/test/graphic_test_app/12_navigation_board_base/uncontrolled.tsx +1 -1
  190. package/test/graphic_test_app/13_navigation_board_graphic/additional_buttons.tsx +1 -1
  191. package/test/graphic_test_app/13_navigation_board_graphic/error.tsx +1 -1
  192. package/test/graphic_test_app/13_navigation_board_graphic/theme.tsx +1 -1
  193. package/test/graphic_test_app/14_navigation_board_autoplay/controlled.tsx +2 -2
  194. package/test/graphic_test_app/14_navigation_board_autoplay/uncontrolled.tsx +1 -1
  195. package/test/graphic_test_app/common/decs.d.ts +1 -1
  196. package/test/graphic_test_app/common/test_app.css +1 -1
  197. package/test/graphic_test_app/common/test_app.tsx +6 -5
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -48,15 +48,15 @@ const arrowMarkers3 = { d1h5: G, a5f4: R, c7c3: Y, g7g7: G };
48
48
  const textMarkers3 = 'G5c6,R(plus)a1,G(times)b1,B(dot)a2,Y(circle)b2';
49
49
 
50
50
  testApp([ /* eslint-disable react/jsx-key */
51
- <Chessboard squareMarkers={squareMarkers1} arrowMarkers={arrowMarkers1} textMarkers={textMarkers1} flipped={false} coordinateVisible={true} />,
52
- <Chessboard squareMarkers={squareMarkers1} arrowMarkers={arrowMarkers1} textMarkers={textMarkers1} flipped={true} coordinateVisible={true} />,
51
+ <Chessboard squareMarkers={squareMarkers1} arrowMarkers={arrowMarkers1} textMarkers={textMarkers1} flipped={false} coordinateVisible />,
52
+ <Chessboard squareMarkers={squareMarkers1} arrowMarkers={arrowMarkers1} textMarkers={textMarkers1} flipped coordinateVisible />,
53
53
  <Chessboard squareMarkers={squareMarkers2} arrowMarkers={arrowMarkers2} textMarkers={textMarkers2} flipped={false} coordinateVisible={false} />,
54
- <Chessboard squareMarkers={squareMarkers2} arrowMarkers={arrowMarkers2} textMarkers={textMarkers2} flipped={true} coordinateVisible={false} />,
54
+ <Chessboard squareMarkers={squareMarkers2} arrowMarkers={arrowMarkers2} textMarkers={textMarkers2} flipped coordinateVisible={false} />,
55
55
  <Chessboard
56
56
  squareMarkers={squareMarkers3} arrowMarkers={arrowMarkers3} textMarkers={textMarkers3} flipped={false} coordinateVisible={false} position="empty"
57
57
  />,
58
58
  <Chessboard
59
- squareMarkers={squareMarkers3} arrowMarkers={arrowMarkers3} textMarkers={textMarkers3} flipped={true} coordinateVisible={true}
59
+ squareMarkers={squareMarkers3} arrowMarkers={arrowMarkers3} textMarkers={textMarkers3} flipped coordinateVisible
60
60
  position="8/8/1r6/8/5k1K/8/8/8 b - - 0 1"
61
61
  />,
62
62
  ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -29,7 +29,7 @@ import { Chessboard } from '../../../dist/lib/index';
29
29
 
30
30
  testApp([ /* eslint-disable react/jsx-key */
31
31
  <Chessboard />,
32
- <Chessboard position="empty" turnVisible={true} />,
32
+ <Chessboard position="empty" turnVisible />,
33
33
  <Chessboard position="something invalid" />,
34
34
  <Chessboard position="r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 3 3" turnVisible={false} />,
35
35
  <Chessboard position={new Position('8/8/1r6/8/5k1K/8/8/8 b - - 0 1')} />,
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -28,9 +28,9 @@ import { testApp } from '../common/test_app';
28
28
  import { Chessboard } from '../../../dist/lib/index';
29
29
 
30
30
  testApp([ /* eslint-disable react/jsx-key */
31
- <Chessboard flipped={true} turnVisible={false} />,
32
- <Chessboard flipped={true} position="empty" />,
33
- <Chessboard flipped={true} position="something invalid" />,
34
- <Chessboard flipped={true} position="r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 3 3" />,
35
- <Chessboard flipped={true} position={new Position('8/8/1r6/8/5k1K/8/8/8 b - - 0 1')} turnVisible={true} />,
31
+ <Chessboard flipped turnVisible={false} />,
32
+ <Chessboard flipped position="empty" />,
33
+ <Chessboard flipped position="something invalid" />,
34
+ <Chessboard flipped position="r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 3 3" />,
35
+ <Chessboard flipped position={new Position('8/8/1r6/8/5k1K/8/8/8 b - - 0 1')} turnVisible />,
36
36
  ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -34,8 +34,8 @@ testApp([ /* eslint-disable react/jsx-key */
34
34
  <Chessboard move="e4" animated={false} />,
35
35
  <Chessboard move="Nf3" moveArrowVisible={false} animated={false} />,
36
36
  <Chessboard move="Nf4" animated={false} />,
37
- <Chessboard position="rnbqkbnr/pppp1ppp/4p3/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq - 0 2" move="Bb4+" moveArrowVisible={true} flipped={true} animated={true} />,
38
- <Chessboard position={pos} move={move} animated={true} moveArrowColor="g" />,
37
+ <Chessboard position="rnbqkbnr/pppp1ppp/4p3/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq - 0 2" move="Bb4+" moveArrowVisible flipped animated />,
38
+ <Chessboard position={pos} move={move} animated moveArrowColor="g" />,
39
39
  <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated={false} moveArrowColor="r" />,
40
40
  <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated={false} moveArrowColor="y" />,
41
41
  <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated={false} moveArrowColor="b" />,
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -38,12 +38,12 @@ const am = 'Ba1a3,Gb1b3,Rc1c3,Yd1d3';
38
38
  testApp([ /* eslint-disable react/jsx-key */
39
39
  <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} animated={false} />,
40
40
  <Chessboard position={pos2} move={mv2} squareMarkers={sm} arrowMarkers={am} squareSize={60} animated={false} />,
41
- <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} squareSize={29} coordinateVisible={false} flipped={true} animated={false} />,
42
- <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} squareSize={47} coordinateVisible={true} flipped={true} colorset="scid" animated={false} />,
41
+ <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} squareSize={29} coordinateVisible={false} flipped animated={false} />,
42
+ <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} squareSize={47} coordinateVisible flipped colorset="scid" animated={false} />,
43
43
  <Chessboard position={pos2} move={mv2} squareMarkers={sm} arrowMarkers={am} coordinateVisible={false} colorset="marine" pieceset="eyes" animated={false} />,
44
44
  <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} coordinateVisible={false} pieceset="fantasy" animated={false} />,
45
45
  <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} colorset="emerald" pieceset="skulls" animated={false} />,
46
- <Chessboard position={pos2} move={mv2} squareMarkers={sm} arrowMarkers={am} squareSize={91} flipped={true} colorset="gray" pieceset="spatial" animated={false} />,
46
+ <Chessboard position={pos2} move={mv2} squareMarkers={sm} arrowMarkers={am} squareSize={91} flipped colorset="gray" pieceset="spatial" animated={false} />,
47
47
  <Chessboard position={pos1} move={mv1} squareMarkers={sm} arrowMarkers={am} squareSize={17} colorset="dusk" animated={false} />,
48
48
  <Chessboard squareSize={/* eslint-disable @typescript-eslint/no-explicit-any */ '24' as any /* eslint-enable @typescript-eslint/no-explicit-any */} />,
49
49
  <Chessboard colorset="not-a-colorset" />,
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -29,10 +29,10 @@ import { Chessboard } from '../../../dist/lib/index';
29
29
  window['__kokopu_debug_freeze_motion'] = 0.09;
30
30
 
31
31
  testApp([ /* eslint-disable react/jsx-key */
32
- <Chessboard move="e4" animated={true} />,
33
- <Chessboard move="Nf3" animated={true} moveArrowVisible={false} />,
34
- <Chessboard position="r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2" move="Bxa6" animated={true} flipped turnVisible={false} />,
35
- <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated={true} />,
36
- <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated={true} />,
37
- <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated={true} turnVisible={false} />,
32
+ <Chessboard move="e4" animated />,
33
+ <Chessboard move="Nf3" animated moveArrowVisible={false} />,
34
+ <Chessboard position="r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2" move="Bxa6" animated flipped turnVisible={false} />,
35
+ <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated />,
36
+ <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated />,
37
+ <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated turnVisible={false} />,
38
38
  ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -29,10 +29,10 @@ import { Chessboard } from '../../../dist/lib/index';
29
29
  window['__kokopu_debug_freeze_motion'] = 0.7;
30
30
 
31
31
  testApp([ /* eslint-disable react/jsx-key */
32
- <Chessboard move="e4" animated={true} />,
33
- <Chessboard move="Nf3" animated={true} moveArrowVisible={false} />,
34
- <Chessboard position="r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2" move="Bxa6" animated={true} flipped turnVisible={false} />,
35
- <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated={true} />,
36
- <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated={true} />,
37
- <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated={true} turnVisible={false} />,
32
+ <Chessboard move="e4" animated />,
33
+ <Chessboard move="Nf3" animated moveArrowVisible={false} />,
34
+ <Chessboard position="r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2" move="Bxa6" animated flipped turnVisible={false} />,
35
+ <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated />,
36
+ <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated />,
37
+ <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated turnVisible={false} />,
38
38
  ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -29,10 +29,10 @@ import { Chessboard } from '../../../dist/lib/index';
29
29
  window['__kokopu_debug_freeze_motion'] = 0.91;
30
30
 
31
31
  testApp([ /* eslint-disable react/jsx-key */
32
- <Chessboard move="e4" animated={true} />,
33
- <Chessboard move="Nf3" animated={true} moveArrowVisible={false} />,
34
- <Chessboard position="r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2" move="Bxa6" animated={true} flipped turnVisible={false} />,
35
- <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated={true} />,
36
- <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated={true} />,
37
- <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated={true} turnVisible={false} />,
32
+ <Chessboard move="e4" animated />,
33
+ <Chessboard move="Nf3" animated moveArrowVisible={false} />,
34
+ <Chessboard position="r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2" move="Bxa6" animated flipped turnVisible={false} />,
35
+ <Chessboard position="r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R b KQkq - 0 1" move="O-O-O" animated />,
36
+ <Chessboard position="rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 3" move="exf6" animated />,
37
+ <Chessboard position="8/8/8/1K6/8/4k3/1p6/8 b - - 0 1" move="b1=R+" animated turnVisible={false} />,
38
38
  ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -34,15 +34,16 @@ function TestComponent() {
34
34
 
35
35
  function onClick() {
36
36
  window['__kokopu_debug_freeze_motion'] = 0.6;
37
+ window['__kokopu_debug_sound'] = '';
37
38
  setClicked(true);
38
39
  }
39
40
 
40
41
  return (
41
42
  <>
42
43
  <div>
43
- <Chessboard position={position} move={move} animated={true} />
44
+ <Chessboard position={position} move={move} animated sound />
44
45
  </div>
45
- {clicked ? undefined : <button id="chessboard-action-button" onClick={onClick}>Click here</button>}
46
+ {clicked ? undefined : <button id="chessboard-actionButton" onClick={onClick}>Click here</button>}
46
47
  </>
47
48
  );
48
49
  }
@@ -0,0 +1,52 @@
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-2026 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
+
24
+
25
+ import * as React from 'react';
26
+ import { testApp } from '../common/test_app';
27
+ import { Chessboard } from '../../../dist/lib/index';
28
+
29
+
30
+ /**
31
+ * REMARK: do NOT display the chessboards by default, because:
32
+ * - we want to know which one plays the sound,
33
+ * - there could be some issues with the auto-play policies of browsers.
34
+ */
35
+ function TestComponent({ move }: { move?: string }) {
36
+
37
+ const [ clicked, setClicked ] = React.useState(false);
38
+
39
+ function onClick() {
40
+ window['__kokopu_debug_sound'] = '';
41
+ setClicked(true);
42
+ }
43
+
44
+ const id = `chessboard-actionButton-${move === undefined ? 'noMove' : 'withMove'}`;
45
+ return clicked ? <Chessboard move={move} sound /> : <button id={id} onClick={onClick}>Click here</button>;
46
+ }
47
+
48
+
49
+ testApp([ /* eslint-disable react/jsx-key */
50
+ <TestComponent />,
51
+ <TestComponent move="e4" />,
52
+ ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -85,5 +85,5 @@ testApp([ /* eslint-disable react/jsx-key */
85
85
  }}
86
86
  />,
87
87
  <NavigationBoardWithIsPlayingController />,
88
- <NavigationBoard game={pgn} playButtonVisible initialNodeId="20b" isPlaying={true} />,
88
+ <NavigationBoard game={pgn} playButtonVisible initialNodeId="20b" isPlaying />,
89
89
  ]); /* eslint-enable react/jsx-key */
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -3,7 +3,7 @@
3
3
  * *
4
4
  * Kokopu-React - A React-based library of chess-related components. *
5
5
  * <https://www.npmjs.com/package/kokopu-react> *
6
- * Copyright (C) 2021-2025 Yoann Le Montagner <yo35 -at- melix.net> *
6
+ * Copyright (C) 2021-2026 Yoann Le Montagner <yo35 -at- melix.net> *
7
7
  * *
8
8
  * Kokopu-React is free software: you can redistribute it and/or *
9
9
  * modify it under the terms of the GNU Lesser General Public License *
@@ -28,12 +28,13 @@ import { createRoot } from 'react-dom/client';
28
28
  import './test_app.css';
29
29
 
30
30
 
31
- // This global variable allows to freeze animations in an intermediate stage.
31
+ // These global variables are used for testing purposes.
32
+ /* eslint-disable camelcase */
32
33
  declare global {
33
- interface Window {
34
- __kokopu_debug_freeze_motion: number,
35
- }
34
+ var __kokopu_debug_freeze_motion: number;
35
+ var __kokopu_debug_sound: string;
36
36
  }
37
+ /* eslint-enable */
37
38
 
38
39
 
39
40
  interface TestItemContainerProps {