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
package/src/decs.d.ts CHANGED
@@ -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 *
@@ -22,6 +22,11 @@
22
22
  * -------------------------------------------------------------------------- */
23
23
 
24
24
 
25
+ declare module '*.ogg' {
26
+ const path: string;
27
+ export default path;
28
+ }
29
+
25
30
  declare module '*.png' {
26
31
  const path: string;
27
32
  export default path;
@@ -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 *
package/src/exception.ts CHANGED
@@ -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 *
package/src/i18n.ts CHANGED
@@ -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 *
package/src/index.ts CHANGED
@@ -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 *
@@ -242,7 +242,7 @@ export class NavigationBoard extends React.Component<NavigationBoardProps, Navig
242
242
  smallScreenLimits={this.props.smallScreenLimits}
243
243
  moveArrowVisible={this.props.moveArrowVisible}
244
244
  moveArrowColor={this.props.moveArrowColor}
245
- animated={this.props.animated}
245
+ animated={this.props.animated} sound={this.props.sound}
246
246
  bottomComponent={({ squareSize }) => this.renderToolbar(game, node, squareSize, isPlaying)}
247
247
  />
248
248
  );
@@ -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 *
package/src/types.ts CHANGED
@@ -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 *
package/src/util.ts CHANGED
@@ -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 *
package/test/01_types.js CHANGED
@@ -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 *
@@ -22,7 +22,8 @@
22
22
  * -------------------------------------------------------------------------- */
23
23
 
24
24
 
25
- const { describeWithBrowser, itChecksScreenshots, itCustom, takeScreenshot, compareScreenshot, waitForAnimation } = require('./common/graphic');
25
+ const { describeWithBrowser, itChecksScreenshots, itCustom, takeScreenshot, compareScreenshot, waitForAnimation,
26
+ compareGlobalVar } = require('./common/graphic');
26
27
  const { By } = require('selenium-webdriver');
27
28
 
28
29
 
@@ -55,17 +56,34 @@ describeWithBrowser('Chessboard animation', browserContext => {
55
56
  'promotion',
56
57
  ]);
57
58
 
59
+ async function runSoundTestScenario(element, withMove) {
60
+
61
+ // Run the scenario.
62
+ const actions = browserContext.driver.actions({ async: true });
63
+ const button = await element.findElement(By.id(`chessboard-actionButton-${withMove ? 'withMove' : 'noMove'}`));
64
+ await actions.move({ origin: button }).click().perform();
65
+ await waitForAnimation();
66
+ await takeScreenshot(browserContext, withMove ? 'with move' : 'without move', element);
67
+
68
+ // Validate the scenario.
69
+ await compareGlobalVar(browserContext, '__kokopu_debug_sound', withMove ? 'sound-done' : '');
70
+ await compareScreenshot(browserContext, withMove ? 'with move' : 'without move');
71
+ }
72
+ itCustom(browserContext, '06_chessboard_animation/sound', 0, 'without move', async element => await runSoundTestScenario(element, false));
73
+ itCustom(browserContext, '06_chessboard_animation/sound', 1, 'with move', async element => await runSoundTestScenario(element, true));
74
+
58
75
  itCustom(browserContext, '06_chessboard_animation/on_redraw', 0, 'default', async element => {
59
76
 
60
77
  // Run the scenario.
61
78
  await takeScreenshot(browserContext, 'initial state', element);
62
79
  const actions = browserContext.driver.actions({ async: true });
63
- const button = await element.findElement(By.id('chessboard-action-button'));
80
+ const button = await element.findElement(By.id('chessboard-actionButton'));
64
81
  await actions.move({ origin: button }).click().perform();
65
82
  await waitForAnimation();
66
83
  await takeScreenshot(browserContext, 'final state', element);
67
84
 
68
- // Check the screenshots.
85
+ // Validate the scenario.
86
+ await compareGlobalVar(browserContext, '__kokopu_debug_sound', 'sound-done');
69
87
  await compareScreenshot(browserContext, 'initial state');
70
88
  await compareScreenshot(browserContext, 'final state');
71
89
  });
@@ -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 *
@@ -224,6 +224,15 @@ exports.setSandbox = async function (browserContext, value) {
224
224
  };
225
225
 
226
226
 
227
+ /**
228
+ * Compare the value of the given global variable to the expected value.
229
+ */
230
+ exports.compareGlobalVar = async function (browserContext, variableName, expectedValue) {
231
+ const actualValue = await browserContext.driver.executeScript(`return window["${variableName}"];`);
232
+ test.value(actualValue).is(expectedValue);
233
+ };
234
+
235
+
227
236
  /**
228
237
  * Set the width of the browser.
229
238
  */
@@ -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 *