kokopu-react 3.1.0 → 3.3.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 (236) hide show
  1. package/.eslintrc.yml +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/dist/lib/chessboard/BoardProperties.js.map +1 -1
  4. package/dist/lib/chessboard/Chessboard.css +13 -13
  5. package/dist/lib/chessboard/Chessboard.d.ts +27 -2
  6. package/dist/lib/chessboard/Chessboard.js +36 -17
  7. package/dist/lib/chessboard/Chessboard.js.map +1 -1
  8. package/dist/lib/chessboard/ChessboardImpl.js.map +1 -1
  9. package/dist/lib/chessboard/Draggable.js.map +1 -1
  10. package/dist/lib/chessboard/Motion.js.map +1 -1
  11. package/dist/lib/chessboard/colorsets.js.map +1 -1
  12. package/dist/lib/chessboard/piecesets.js.map +1 -1
  13. package/dist/lib/errorbox/ErrorBox.css +18 -18
  14. package/dist/lib/errorbox/ErrorBox.js.map +1 -1
  15. package/dist/lib/errorbox/parsing.js.map +1 -1
  16. package/dist/lib/exception.js.map +1 -1
  17. package/dist/lib/i18n.d.ts +1 -0
  18. package/dist/lib/i18n.js +1 -0
  19. package/dist/lib/i18n.js.map +1 -1
  20. package/dist/lib/icons/AnnotationSymbolShape.css +6 -6
  21. package/dist/lib/icons/AnnotationSymbolShape.js.map +1 -1
  22. package/dist/lib/icons/ArrowMarkerIcon.js.map +1 -1
  23. package/dist/lib/icons/ArrowTip.js.map +1 -1
  24. package/dist/lib/icons/ChessPieceIcon.js.map +1 -1
  25. package/dist/lib/icons/SquareMarkerIcon.js.map +1 -1
  26. package/dist/lib/icons/TextMarkerIcon.js.map +1 -1
  27. package/dist/lib/icons/arrow.css +1 -1
  28. package/dist/lib/index.d.ts +1 -0
  29. package/dist/lib/index.js +1 -0
  30. package/dist/lib/index.js.map +1 -1
  31. package/dist/lib/movetext/Movetext.css +27 -27
  32. package/dist/lib/movetext/Movetext.js.map +1 -1
  33. package/dist/lib/movetext/MovetextImpl.js.map +1 -1
  34. package/dist/lib/movetext/fonts.css +7 -7
  35. package/dist/lib/movetext/htmlFilter.js.map +1 -1
  36. package/dist/lib/movetext/moveFormatter.js.map +1 -1
  37. package/dist/lib/navigationboard/NavigationBoard.d.ts +68 -1
  38. package/dist/lib/navigationboard/NavigationBoard.js +141 -13
  39. package/dist/lib/navigationboard/NavigationBoard.js.map +1 -1
  40. package/dist/lib/navigationboard/NavigationButton.d.ts +66 -0
  41. package/dist/lib/navigationboard/NavigationButton.js +67 -0
  42. package/dist/lib/navigationboard/NavigationButton.js.map +1 -0
  43. package/dist/lib/navigationboard/NavigationField.css +7 -7
  44. package/dist/lib/navigationboard/NavigationField.js.map +1 -1
  45. package/dist/lib/navigationboard/NavigationToolbar.css +16 -13
  46. package/dist/lib/navigationboard/NavigationToolbar.d.ts +10 -10
  47. package/dist/lib/navigationboard/NavigationToolbar.js +61 -79
  48. package/dist/lib/navigationboard/NavigationToolbar.js.map +1 -1
  49. package/dist/lib/navigationboard/iconPaths.d.ts +29 -0
  50. package/dist/lib/navigationboard/iconPaths.js +91 -0
  51. package/dist/lib/navigationboard/iconPaths.js.map +1 -0
  52. package/dist/lib/sanitization.js.map +1 -1
  53. package/dist/lib/types.js.map +1 -1
  54. package/dist/lib/util.js.map +1 -1
  55. package/doc_src/demo/PageChessboardBase.tsx +115 -115
  56. package/doc_src/demo/PageChessboardInteraction.tsx +303 -303
  57. package/doc_src/demo/PageChessboardMove.tsx +173 -173
  58. package/doc_src/demo/PageChessboardSmallScreens.tsx +94 -94
  59. package/doc_src/demo/PageMovetextBase.tsx +180 -180
  60. package/doc_src/demo/PageMovetextInteraction.tsx +123 -123
  61. package/doc_src/demo/PageNavigationBoardBase.tsx +144 -137
  62. package/doc_src/demo/PageNavigationBoardUncontrolledVsControlled.tsx +69 -69
  63. package/doc_src/demo/decs.d.ts +4 -4
  64. package/doc_src/demo/demo.css +12 -12
  65. package/doc_src/demo/util.ts +1 -1
  66. package/doc_src/examples/NavigationBoard.md +1 -1
  67. package/doc_src/theming/LogoRenderer.js +13 -13
  68. package/doc_src/theming/theming.css +5 -5
  69. package/package.json +95 -95
  70. package/scripts/doc.styleguide.config.js +131 -131
  71. package/scripts/doc.tsconfig.json +5 -5
  72. package/scripts/docker-compose.yml +1 -1
  73. package/scripts/test-graphic.tsconfig.json +5 -5
  74. package/scripts/test-graphic.webpack.config.js +57 -57
  75. package/scripts/test-headless.webpack.config.js +29 -29
  76. package/src/chessboard/BoardProperties.ts +68 -68
  77. package/src/chessboard/Chessboard.css +13 -13
  78. package/src/chessboard/Chessboard.tsx +436 -380
  79. package/src/chessboard/ChessboardImpl.tsx +557 -557
  80. package/src/chessboard/Draggable.tsx +185 -185
  81. package/src/chessboard/Motion.tsx +67 -67
  82. package/src/chessboard/colorsets.ts +66 -66
  83. package/src/chessboard/piecesets.ts +84 -84
  84. package/src/decs.d.ts +2 -2
  85. package/src/errorbox/ErrorBox.css +18 -18
  86. package/src/errorbox/ErrorBox.tsx +75 -75
  87. package/src/errorbox/parsing.tsx +95 -95
  88. package/src/exception.ts +17 -17
  89. package/src/i18n.ts +1 -0
  90. package/src/icons/AnnotationSymbolShape.css +6 -6
  91. package/src/icons/AnnotationSymbolShape.tsx +31 -31
  92. package/src/icons/ArrowMarkerIcon.tsx +34 -34
  93. package/src/icons/ArrowTip.tsx +14 -14
  94. package/src/icons/ChessPieceIcon.tsx +45 -45
  95. package/src/icons/SquareMarkerIcon.tsx +20 -20
  96. package/src/icons/TextMarkerIcon.tsx +29 -29
  97. package/src/icons/arrow.css +1 -1
  98. package/src/index.ts +3 -2
  99. package/src/movetext/Movetext.css +27 -27
  100. package/src/movetext/Movetext.tsx +158 -158
  101. package/src/movetext/MovetextImpl.tsx +345 -345
  102. package/src/movetext/fonts.css +7 -7
  103. package/src/movetext/htmlFilter.tsx +129 -129
  104. package/src/movetext/moveFormatter.tsx +37 -37
  105. package/src/navigationboard/NavigationBoard.tsx +386 -180
  106. package/src/navigationboard/NavigationButton.ts +114 -0
  107. package/src/navigationboard/NavigationField.css +7 -7
  108. package/src/navigationboard/NavigationField.tsx +90 -90
  109. package/src/navigationboard/NavigationToolbar.css +16 -13
  110. package/src/navigationboard/NavigationToolbar.tsx +98 -112
  111. package/src/navigationboard/iconPaths.ts +98 -0
  112. package/src/sanitization.ts +17 -17
  113. package/src/types.ts +116 -116
  114. package/src/util.ts +11 -11
  115. package/test/01_types.js +167 -167
  116. package/test/02_chessboard_util.js +191 -115
  117. package/test/03_error_box_graphic.js +16 -16
  118. package/test/04_icons_graphic.js +32 -32
  119. package/test/05_chessboard_graphic.js +60 -60
  120. package/test/06_chessboard_animation.js +36 -36
  121. package/test/07_chessboard_interaction.js +101 -101
  122. package/test/08_chessboard_play_moves.js +62 -62
  123. package/test/09_chessboard_small_screens.js +32 -32
  124. package/test/10_movetext_graphic.js +32 -32
  125. package/test/11_movetext_interaction.js +100 -100
  126. package/test/12_navigation_board_base.js +151 -0
  127. package/test/13_navigation_board_graphic.js +68 -0
  128. package/test/14_navigation_board_autoplay.js +100 -0
  129. package/test/common/graphic.js +106 -97
  130. package/test/graphic_references/12_navigation_board_base/controlled/default.png +0 -0
  131. package/test/graphic_references/{12_navigation_board/controlled/forbidden_navigation_1.png → 12_navigation_board_base/controlled/forbidden_navigation_0.png} +0 -0
  132. package/test/graphic_references/{12_navigation_board/controlled/invalid_node_id.png → 12_navigation_board_base/controlled/forbidden_navigation_1.png} +0 -0
  133. package/test/graphic_references/{12_navigation_board/controlled/forbidden_navigation_0.png → 12_navigation_board_base/controlled/invalid_node_id.png} +0 -0
  134. package/test/graphic_references/12_navigation_board_base/controlled/no_callback_defined_0.png +0 -0
  135. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/controlled/no_callback_defined_1.png +0 -0
  136. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/controlled/overriding_initial_node_id.png +0 -0
  137. package/test/graphic_references/{12_navigation_board/controlled/regular_navigation_1.png → 12_navigation_board_base/controlled/regular_navigation_0.png} +0 -0
  138. package/test/graphic_references/{12_navigation_board/uncontrolled/initial_state_at_specific_id.png → 12_navigation_board_base/controlled/regular_navigation_1.png} +0 -0
  139. package/test/graphic_references/{12_navigation_board/controlled/regular_navigation_3.png → 12_navigation_board_base/controlled/regular_navigation_2.png} +0 -0
  140. package/test/graphic_references/{12_navigation_board/controlled/regular_navigation_0.png → 12_navigation_board_base/controlled/regular_navigation_3.png} +0 -0
  141. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_2.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_beginning_0.png} +0 -0
  142. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_0.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_beginning_1.png} +0 -0
  143. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_1.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_beginning_2.png} +0 -0
  144. package/test/graphic_references/{12_navigation_board/controlled/no_callback_defined_0.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_end_0.png} +0 -0
  145. package/test/graphic_references/12_navigation_board_base/uncontrolled/forbidden_navigation_at_end_1.png +0 -0
  146. package/test/graphic_references/12_navigation_board_base/uncontrolled/forbidden_navigation_at_end_2.png +0 -0
  147. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_at_end.png +0 -0
  148. package/test/graphic_references/12_navigation_board_base/uncontrolled/initial_state_at_specific_id.png +0 -0
  149. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_default.png +0 -0
  150. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_default_with_game_index.png +0 -0
  151. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_on_null-move.png +0 -0
  152. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_0.png +0 -0
  153. package/test/graphic_references/12_navigation_board_base/uncontrolled/navigation_with_keys_1.png +0 -0
  154. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_2.png +0 -0
  155. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_3.png +0 -0
  156. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_4.png +0 -0
  157. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_flipping_0.png +0 -0
  158. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_flipping_1.png +0 -0
  159. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_0.png +0 -0
  160. package/test/graphic_references/{12_navigation_board/controlled/default.png → 12_navigation_board_base/uncontrolled/regular_navigation_1.png} +0 -0
  161. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_2.png +0 -0
  162. package/test/graphic_references/12_navigation_board_base/uncontrolled/regular_navigation_3.png +0 -0
  163. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_4.png +0 -0
  164. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_5.png +0 -0
  165. package/test/graphic_references/13_navigation_board_graphic/additional_buttons/error_1.png +0 -0
  166. package/test/graphic_references/13_navigation_board_graphic/additional_buttons/error_2.png +0 -0
  167. package/test/graphic_references/13_navigation_board_graphic/additional_buttons/multiple_buttons.png +0 -0
  168. package/test/graphic_references/{12_navigation_board/uncontrolled/regular_navigation_3.png → 13_navigation_board_graphic/additional_buttons/single_button.png} +0 -0
  169. package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/theme/custom_1.png +0 -0
  170. package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/theme/custom_2.png +0 -0
  171. package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/theme/large.png +0 -0
  172. package/test/graphic_references/13_navigation_board_graphic/theme/small.png +0 -0
  173. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_1_move_acknowledging_is-playing_changes.png +0 -0
  174. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_1_move_not_acknowledging_is-playing_changes.png +0 -0
  175. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_2_moves_acknowledging_node_changes.png +0 -0
  176. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_2_moves_not_acknowledging_node_changes.png +0 -0
  177. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_end_1.png → 14_navigation_board_autoplay/controlled/after_reaching_the_end.png} +0 -0
  178. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_end_2.png → 14_navigation_board_autoplay/controlled/already_at_the_end.png} +0 -0
  179. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_acknowledging_is-playing_changes.png +0 -0
  180. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_acknowledging_node_changes.png +0 -0
  181. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_end_0.png → 14_navigation_board_autoplay/controlled/initial_state_at_the_end.png} +0 -0
  182. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_close_to_end.png +0 -0
  183. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_not_acknowledging_is-playing_changes.png +0 -0
  184. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_not_acknowledging_node_changes.png +0 -0
  185. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_2_moves_from_beginning_after_stop.png +0 -0
  186. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_2_moves_from_beginning_before_stop.png +0 -0
  187. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_reaching_the_end_after_stop.png +0 -0
  188. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_reaching_the_end_before_stop.png +0 -0
  189. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/initial_state_close_to_end.png +0 -0
  190. package/test/graphic_references/{12_navigation_board/uncontrolled/navigation_with_keys_1.png → 14_navigation_board_autoplay/uncontrolled/initial_state_default.png} +0 -0
  191. package/test/graphic_test_app/03_error_box_graphic/base.tsx +14 -14
  192. package/test/graphic_test_app/03_error_box_graphic/localization.tsx +1 -1
  193. package/test/graphic_test_app/04_icons_graphic/chess_piece.tsx +7 -7
  194. package/test/graphic_test_app/04_icons_graphic/marker.tsx +15 -15
  195. package/test/graphic_test_app/05_chessboard_graphic/annotations.tsx +7 -7
  196. package/test/graphic_test_app/05_chessboard_graphic/base.tsx +6 -6
  197. package/test/graphic_test_app/05_chessboard_graphic/chess_variants.tsx +7 -7
  198. package/test/graphic_test_app/05_chessboard_graphic/flipped.tsx +5 -5
  199. package/test/graphic_test_app/05_chessboard_graphic/move.tsx +12 -12
  200. package/test/graphic_test_app/05_chessboard_graphic/theme.tsx +12 -12
  201. package/test/graphic_test_app/06_chessboard_animation/base_1.tsx +6 -6
  202. package/test/graphic_test_app/06_chessboard_animation/base_2.tsx +6 -6
  203. package/test/graphic_test_app/06_chessboard_animation/base_3.tsx +6 -6
  204. package/test/graphic_test_app/06_chessboard_animation/on_redraw.tsx +16 -16
  205. package/test/graphic_test_app/07_chessboard_interaction/click_squares.tsx +5 -5
  206. package/test/graphic_test_app/07_chessboard_interaction/edit_arrows.tsx +4 -4
  207. package/test/graphic_test_app/07_chessboard_interaction/error.tsx +2 -2
  208. package/test/graphic_test_app/07_chessboard_interaction/move_pieces.tsx +5 -5
  209. package/test/graphic_test_app/08_chessboard_play_moves/base.tsx +8 -8
  210. package/test/graphic_test_app/08_chessboard_play_moves/promotions.tsx +4 -4
  211. package/test/graphic_test_app/09_chessboard_small_screens/base.tsx +9 -9
  212. package/test/graphic_test_app/09_chessboard_small_screens/top_bottom_components.tsx +9 -9
  213. package/test/graphic_test_app/10_movetext_graphic/base.tsx +4 -4
  214. package/test/graphic_test_app/10_movetext_graphic/error.tsx +6 -6
  215. package/test/graphic_test_app/10_movetext_graphic/format_move.tsx +1 -1
  216. package/test/graphic_test_app/10_movetext_graphic/html.tsx +5 -5
  217. package/test/graphic_test_app/10_movetext_graphic/options.tsx +10 -10
  218. package/test/graphic_test_app/11_movetext_interaction/error.tsx +1 -1
  219. package/test/graphic_test_app/11_movetext_interaction/select_moves.tsx +11 -11
  220. package/test/graphic_test_app/{12_navigation_board → 12_navigation_board_base}/controlled.tsx +5 -5
  221. package/test/graphic_test_app/{12_navigation_board → 12_navigation_board_base}/uncontrolled.tsx +7 -7
  222. package/test/graphic_test_app/13_navigation_board_graphic/additional_buttons.tsx +49 -0
  223. package/test/graphic_test_app/{12_navigation_board → 13_navigation_board_graphic}/error.tsx +2 -2
  224. package/test/graphic_test_app/{12_navigation_board → 13_navigation_board_graphic}/theme.tsx +4 -4
  225. package/test/graphic_test_app/14_navigation_board_autoplay/controlled.tsx +73 -0
  226. package/test/graphic_test_app/14_navigation_board_autoplay/uncontrolled.tsx +34 -0
  227. package/test/graphic_test_app/common/decs.d.ts +2 -2
  228. package/test/graphic_test_app/common/test_app.css +15 -15
  229. package/test/graphic_test_app/common/test_app.tsx +48 -48
  230. package/tsconfig.json +13 -13
  231. package/test/12_navigation_board.js +0 -168
  232. package/test/graphic_references/12_navigation_board/controlled/regular_navigation_2.png +0 -0
  233. package/test/graphic_references/12_navigation_board/theme/small.png +0 -0
  234. package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_1.png +0 -0
  235. /package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/error/pgn_parsing_error.png +0 -0
  236. /package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/error/wrong_game_type.png +0 -0
@@ -29,72 +29,72 @@ const HtmlWebpackPlugin = require('html-webpack-plugin');
29
29
 
30
30
  // List all the files corresponding to /test/graphic_test_app/{number}_*/*.tsx, each of them corresponding to a entry.
31
31
  const items = fs.readdirSync('./test/graphic_test_app', { withFileTypes: true })
32
- .filter(file => file.isDirectory() && /^\d+_/.test(file.name))
33
- .flatMap(file => fs.readdirSync(`./test/graphic_test_app/${file.name}`)
34
- .filter(subFile => path.extname(subFile) === '.tsx')
35
- .map(subFile => `${file.name}/${path.basename(subFile, '.tsx')}`)
36
- );
32
+ .filter(file => file.isDirectory() && /^\d+_/.test(file.name))
33
+ .flatMap(file => fs.readdirSync(`./test/graphic_test_app/${file.name}`)
34
+ .filter(subFile => path.extname(subFile) === '.tsx')
35
+ .map(subFile => `${file.name}/${path.basename(subFile, '.tsx')}`)
36
+ );
37
37
  const entries = {};
38
38
  items.forEach(item => {
39
- entries[item] = `./test/graphic_test_app/${item}`;
39
+ entries[item] = `./test/graphic_test_app/${item}`;
40
40
  });
41
41
 
42
42
  // Define the outputs.
43
43
  const plugins = items.map(item => new HtmlWebpackPlugin({
44
- title: 'Test ' + item,
45
- chunks: [ item ],
46
- filename: item + '/index.html',
44
+ title: 'Test ' + item,
45
+ chunks: [ item ],
46
+ filename: item + '/index.html',
47
47
  }));
48
48
  plugins.push(new CopyWebpackPlugin({
49
- patterns: [
50
- { from: './test/graphic_test_app/common/heartbeat.txt', to: 'heartbeat.txt' },
51
- { from: './test/graphic_test_app/common/smiley.png', to: 'smiley.png' },
52
- ],
49
+ patterns: [
50
+ { from: './test/graphic_test_app/common/heartbeat.txt', to: 'heartbeat.txt' },
51
+ { from: './test/graphic_test_app/common/smiley.png', to: 'smiley.png' },
52
+ ],
53
53
  }));
54
54
 
55
55
  module.exports = {
56
- mode: 'development',
57
- devtool: 'inline-source-map',
58
- entry: entries,
59
- output: {
60
- path: path.resolve(__dirname, '../build/test_graphic'),
61
- hashFunction: "xxhash64", // FIXME The default hash function used by Webpack has been removed from OpenSSL.
62
- clean: true,
63
- },
64
- plugins: plugins,
65
- module: {
66
- rules: [
67
- {
68
- test: /\.js$/i,
69
- use: 'coverage-istanbul-loader',
70
- },
71
- {
72
- test: /\.tsx?$/i,
73
- use: [
74
- 'coverage-istanbul-loader',
75
- {
76
- loader: 'ts-loader',
77
- options: {
78
- configFile: path.resolve(__dirname, 'test-graphic.tsconfig.json'),
79
- },
80
- },
81
- ],
82
- },
83
- {
84
- test: /\.css$/i,
85
- use: [ 'style-loader', 'css-loader' ],
86
- },
87
- {
88
- test: /\.(png|woff|woff2)$/i,
89
- type: 'asset/resource',
90
- },
91
- {
92
- test: /\.pgn$/i,
93
- type: 'asset/source',
94
- },
95
- ],
96
- },
97
- resolve: {
98
- extensions: [ '.js', '.ts', '.tsx' ],
99
- },
56
+ mode: 'development',
57
+ devtool: 'inline-source-map',
58
+ entry: entries,
59
+ output: {
60
+ path: path.resolve(__dirname, '../build/test_graphic'),
61
+ hashFunction: "xxhash64", // FIXME The default hash function used by Webpack has been removed from OpenSSL.
62
+ clean: true,
63
+ },
64
+ plugins: plugins,
65
+ module: {
66
+ rules: [
67
+ {
68
+ test: /\.js$/i,
69
+ use: 'coverage-istanbul-loader',
70
+ },
71
+ {
72
+ test: /\.tsx?$/i,
73
+ use: [
74
+ 'coverage-istanbul-loader',
75
+ {
76
+ loader: 'ts-loader',
77
+ options: {
78
+ configFile: path.resolve(__dirname, 'test-graphic.tsconfig.json'),
79
+ },
80
+ },
81
+ ],
82
+ },
83
+ {
84
+ test: /\.css$/i,
85
+ use: [ 'style-loader', 'css-loader' ],
86
+ },
87
+ {
88
+ test: /\.(png|woff|woff2)$/i,
89
+ type: 'asset/resource',
90
+ },
91
+ {
92
+ test: /\.pgn$/i,
93
+ type: 'asset/source',
94
+ },
95
+ ],
96
+ },
97
+ resolve: {
98
+ extensions: [ '.js', '.ts', '.tsx' ],
99
+ },
100
100
  };
@@ -25,33 +25,33 @@
25
25
  const path = require('path');
26
26
 
27
27
  module.exports = {
28
- mode: 'development',
29
- devtool: 'inline-source-map',
30
- entry: {
31
- index: './dist/lib/index',
32
- },
33
- output: {
34
- path: path.resolve(__dirname, '../build/test_headless'),
35
- library: {
36
- type: 'commonjs2',
37
- },
38
- hashFunction: "xxhash64", // FIXME The default hash function used by Webpack has been removed from OpenSSL.
39
- clean: true,
40
- },
41
- module: {
42
- rules: [
43
- {
44
- test: /\.js$/i,
45
- use: 'coverage-istanbul-loader',
46
- },
47
- {
48
- test: /\.css$/i,
49
- use: 'null-loader',
50
- },
51
- {
52
- test: /\.(png|woff|woff2)$/i,
53
- use: 'null-loader',
54
- },
55
- ],
56
- },
28
+ mode: 'development',
29
+ devtool: 'inline-source-map',
30
+ entry: {
31
+ index: './dist/lib/index',
32
+ },
33
+ output: {
34
+ path: path.resolve(__dirname, '../build/test_headless'),
35
+ library: {
36
+ type: 'commonjs2',
37
+ },
38
+ hashFunction: "xxhash64", // FIXME The default hash function used by Webpack has been removed from OpenSSL.
39
+ clean: true,
40
+ },
41
+ module: {
42
+ rules: [
43
+ {
44
+ test: /\.js$/i,
45
+ use: 'coverage-istanbul-loader',
46
+ },
47
+ {
48
+ test: /\.css$/i,
49
+ use: 'null-loader',
50
+ },
51
+ {
52
+ test: /\.(png|woff|woff2)$/i,
53
+ use: 'null-loader',
54
+ },
55
+ ],
56
+ },
57
57
  };
@@ -31,10 +31,10 @@ import { DEFAULT_PIECESET } from './piecesets';
31
31
  * Define a limit applicable to the parameters of a {@link Chessboard} on small-screen devices.
32
32
  */
33
33
  export interface SmallScreenLimit {
34
- width: number;
35
- squareSize?: number;
36
- coordinateVisible?: boolean;
37
- turnVisible?: boolean;
34
+ width: number;
35
+ squareSize?: number;
36
+ coordinateVisible?: boolean;
37
+ turnVisible?: boolean;
38
38
  }
39
39
 
40
40
 
@@ -43,45 +43,45 @@ export interface SmallScreenLimit {
43
43
  */
44
44
  export interface StaticBoardGraphicProps {
45
45
 
46
- /**
47
- * Size of the squares (in pixels). Must be an integer between `Chessboard.minSquareSize()` and `Chessboard.maxSquareSize()`.
48
- */
49
- squareSize: number;
50
-
51
- /**
52
- * Whether the row and column coordinates are visible or not.
53
- */
54
- coordinateVisible: boolean;
55
-
56
- /**
57
- * Whether the turn flag is visible or not.
58
- */
59
- turnVisible: boolean;
60
-
61
- /**
62
- * Color theme ID. Must be a property of `Chessboard.colorsets()`.
63
- */
64
- colorset: string;
65
-
66
- /**
67
- * Piece theme ID. Must be a property of `Chessboard.piecesets()`.
68
- */
69
- pieceset: string;
70
-
71
- /**
72
- * Limits applicable on small-screen devices. For instance, if set to
73
- * ```
74
- * [
75
- * { width: 768, squareSize: 40 },
76
- * { width: 375, squareSize: 24, coordinateVisible: false }
77
- * ]
78
- * ```
79
- * then on screens with resolution ≤768 pixels, the square size will be limited to 40 (whatever the value
80
- * of the `squareSize` attribute); in addition, on screens with resolution ≤375 pixels, the square size
81
- * will be limited to 24 and the row and column coordinates will always be hidden (whatever the value of the
82
- * `coordinateVisible` attribute).
83
- */
84
- smallScreenLimits?: SmallScreenLimit[];
46
+ /**
47
+ * Size of the squares (in pixels). Must be an integer between `Chessboard.minSquareSize()` and `Chessboard.maxSquareSize()`.
48
+ */
49
+ squareSize: number;
50
+
51
+ /**
52
+ * Whether the row and column coordinates are visible or not.
53
+ */
54
+ coordinateVisible: boolean;
55
+
56
+ /**
57
+ * Whether the turn flag is visible or not.
58
+ */
59
+ turnVisible: boolean;
60
+
61
+ /**
62
+ * Color theme ID. Must be a property of `Chessboard.colorsets()`.
63
+ */
64
+ colorset: string;
65
+
66
+ /**
67
+ * Piece theme ID. Must be a property of `Chessboard.piecesets()`.
68
+ */
69
+ pieceset: string;
70
+
71
+ /**
72
+ * Limits applicable on small-screen devices. For instance, if set to
73
+ * ```
74
+ * [
75
+ * { width: 768, squareSize: 40 },
76
+ * { width: 375, squareSize: 24, coordinateVisible: false }
77
+ * ]
78
+ * ```
79
+ * then on screens with resolution ≤768 pixels, the square size will be limited to 40 (whatever the value
80
+ * of the `squareSize` attribute); in addition, on screens with resolution ≤375 pixels, the square size
81
+ * will be limited to 24 and the row and column coordinates will always be hidden (whatever the value of the
82
+ * `coordinateVisible` attribute).
83
+ */
84
+ smallScreenLimits?: SmallScreenLimit[];
85
85
  }
86
86
 
87
87
 
@@ -90,20 +90,20 @@ export interface StaticBoardGraphicProps {
90
90
  */
91
91
  export interface DynamicBoardGraphicProps extends StaticBoardGraphicProps {
92
92
 
93
- /**
94
- * Whether moves are highlighted with an arrow or not.
95
- */
96
- moveArrowVisible: boolean;
93
+ /**
94
+ * Whether moves are highlighted with an arrow or not.
95
+ */
96
+ moveArrowVisible: boolean;
97
97
 
98
- /**
99
- * Color of the move arrow.
100
- */
101
- moveArrowColor: AnnotationColor;
98
+ /**
99
+ * Color of the move arrow.
100
+ */
101
+ moveArrowColor: AnnotationColor;
102
102
 
103
- /**
104
- * Whether moves are animated or not.
105
- */
106
- animated: boolean;
103
+ /**
104
+ * Whether moves are animated or not.
105
+ */
106
+ animated: boolean;
107
107
  }
108
108
 
109
109
 
@@ -111,21 +111,21 @@ export const DEFAULT_SQUARE_SIZE = 40;
111
111
 
112
112
 
113
113
  export function defaultStaticBoardProps(): StaticBoardGraphicProps {
114
- return {
115
- squareSize: DEFAULT_SQUARE_SIZE,
116
- coordinateVisible: true,
117
- turnVisible: true,
118
- colorset: DEFAULT_COLORSET,
119
- pieceset: DEFAULT_PIECESET,
120
- };
114
+ return {
115
+ squareSize: DEFAULT_SQUARE_SIZE,
116
+ coordinateVisible: true,
117
+ turnVisible: true,
118
+ colorset: DEFAULT_COLORSET,
119
+ pieceset: DEFAULT_PIECESET,
120
+ };
121
121
  }
122
122
 
123
123
 
124
124
  export function defaultDynamicBoardProps(): DynamicBoardGraphicProps {
125
- return {
126
- ...defaultStaticBoardProps(),
127
- moveArrowVisible: true,
128
- moveArrowColor: 'b',
129
- animated: false,
130
- };
125
+ return {
126
+ ...defaultStaticBoardProps(),
127
+ moveArrowVisible: true,
128
+ moveArrowColor: 'b',
129
+ animated: false,
130
+ };
131
131
  }
@@ -23,39 +23,39 @@
23
23
 
24
24
 
25
25
  .kokopu-coordinate {
26
- fill: currentcolor;
27
- font-style: normal;
28
- font-family: sans-serif;
29
- text-anchor: middle;
30
- dominant-baseline: central;
31
- letter-spacing: 0px;
26
+ fill: currentcolor;
27
+ font-style: normal;
28
+ font-family: sans-serif;
29
+ text-anchor: middle;
30
+ dominant-baseline: central;
31
+ letter-spacing: 0px;
32
32
  }
33
33
 
34
34
  .kokopu-annotation {
35
- opacity: 0.8;
35
+ opacity: 0.8;
36
36
  }
37
37
 
38
38
  .kokopu-hoveredSquare,
39
39
  .kokopu-handle {
40
- fill: transparent;
40
+ fill: transparent;
41
41
  }
42
42
 
43
43
  .kokopu-clickable {
44
- cursor: pointer;
44
+ cursor: pointer;
45
45
  }
46
46
 
47
47
  .kokopu-pieceDraggable {
48
- cursor: grab;
48
+ cursor: grab;
49
49
  }
50
50
 
51
51
  .kokopu-pieceDraggable.kokopu-dragging {
52
- cursor: grabbing;
52
+ cursor: grabbing;
53
53
  }
54
54
 
55
55
  .kokopu-arrowDraggable {
56
- cursor: crosshair;
56
+ cursor: crosshair;
57
57
  }
58
58
 
59
59
  .kokopu-drawerMask {
60
- opacity: 0.5;
60
+ opacity: 0.5;
61
61
  }