kokopu-react 1.8.0 → 1.9.1

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 (158) hide show
  1. package/dist/lib/ArrowMarkerIcon.js +1 -29
  2. package/dist/lib/Chessboard.js +152 -298
  3. package/dist/lib/ErrorBox.js +7 -24
  4. package/dist/lib/Movetext.js +74 -178
  5. package/dist/lib/SquareMarkerIcon.js +2 -10
  6. package/dist/lib/TextMarkerIcon.js +0 -11
  7. package/dist/lib/css/movetext.css +4 -0
  8. package/dist/lib/formatmove.js +2 -14
  9. package/dist/lib/i18n.js +1 -1
  10. package/dist/lib/impl/ArrowTip.js +2 -8
  11. package/dist/lib/impl/HtmlSanitizer.js +13 -46
  12. package/dist/lib/impl/Motion.js +107 -0
  13. package/dist/lib/impl/TextSymbol.js +2 -11
  14. package/dist/lib/impl/colorsets.js +0 -2
  15. package/dist/lib/impl/piecesets.js +0 -87
  16. package/dist/lib/impl/util.js +1 -11
  17. package/dist/lib/index.js +0 -10
  18. package/dist/lib/markers.js +18 -38
  19. package/graphic_test_src/05_chessboard_move.js +2 -2
  20. package/graphic_test_src/06a_chessboard_animated_move.js +36 -0
  21. package/graphic_test_src/06b_chessboard_animated_move.js +36 -0
  22. package/graphic_test_src/06c_chessboard_animated_move.js +36 -0
  23. package/graphic_test_src/{06_chessboard_theme.js → 07_chessboard_theme.js} +0 -0
  24. package/graphic_test_src/{07_chessboard_click_squares.js → 08_chessboard_click_squares.js} +0 -0
  25. package/graphic_test_src/{08_chessboard_move_pieces.js → 09_chessboard_move_pieces.js} +0 -0
  26. package/graphic_test_src/{09_chessboard_edit_arrows.js → 10_chessboard_edit_arrows.js} +0 -0
  27. package/graphic_test_src/{10_chessboard_play_moves.js → 11_chessboard_play_moves.js} +0 -0
  28. package/graphic_test_src/{11_chessboard_play_promotions.js → 12_chessboard_play_promotions.js} +0 -0
  29. package/graphic_test_src/{12_movetext_simple.js → 13_movetext_simple.js} +0 -0
  30. package/graphic_test_src/{13_movetext_error.js → 14_movetext_error.js} +0 -0
  31. package/graphic_test_src/{14_movetext_html.js → 15_movetext_html.js} +0 -0
  32. package/graphic_test_src/{15_movetext_options.js → 16_movetext_options.js} +0 -0
  33. package/graphic_test_src/{16_movetext_interaction.js → 17_movetext_interaction.js} +0 -0
  34. package/package.json +19 -21
  35. package/scripts/docker-compose.yml +1 -1
  36. package/src/Chessboard.js +24 -20
  37. package/src/css/movetext.css +4 -0
  38. package/src/impl/ArrowTip.js +2 -2
  39. package/src/impl/Motion.js +99 -0
  40. package/test/4_chessboard_graphic.js +4 -1
  41. package/test/5_chessboard_interaction.js +5 -5
  42. package/test/6_chessboard_play_moves.js +4 -4
  43. package/test/7_movetext_graphic.js +4 -4
  44. package/test/8_movetext_interaction.js +2 -2
  45. package/test/common/graphic.js +6 -0
  46. package/test/references/06a_chessboard_animated_move/0.png +0 -0
  47. package/test/references/06a_chessboard_animated_move/1.png +0 -0
  48. package/test/references/06a_chessboard_animated_move/2.png +0 -0
  49. package/test/references/06a_chessboard_animated_move/3.png +0 -0
  50. package/test/references/06a_chessboard_animated_move/4.png +0 -0
  51. package/test/references/06a_chessboard_animated_move/5.png +0 -0
  52. package/test/references/06b_chessboard_animated_move/0.png +0 -0
  53. package/test/references/06b_chessboard_animated_move/1.png +0 -0
  54. package/test/references/06b_chessboard_animated_move/2.png +0 -0
  55. package/test/references/06b_chessboard_animated_move/3.png +0 -0
  56. package/test/references/06b_chessboard_animated_move/4.png +0 -0
  57. package/test/references/06b_chessboard_animated_move/5.png +0 -0
  58. package/test/references/06c_chessboard_animated_move/0.png +0 -0
  59. package/test/references/06c_chessboard_animated_move/1.png +0 -0
  60. package/test/references/06c_chessboard_animated_move/2.png +0 -0
  61. package/test/references/06c_chessboard_animated_move/3.png +0 -0
  62. package/test/references/06c_chessboard_animated_move/4.png +0 -0
  63. package/test/references/06c_chessboard_animated_move/5.png +0 -0
  64. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/0.png +0 -0
  65. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/1.png +0 -0
  66. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/2.png +0 -0
  67. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/3.png +0 -0
  68. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/4.png +0 -0
  69. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/5.png +0 -0
  70. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/6.png +0 -0
  71. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/7.png +0 -0
  72. package/test/references/{06_chessboard_theme → 07_chessboard_theme}/8.png +0 -0
  73. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/after_move.png +0 -0
  74. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/empty_square.png +0 -0
  75. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/null_vector.png +0 -0
  76. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/out_of_board.png +0 -0
  77. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/over_arrow_marker.png +0 -0
  78. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/over_empty.png +0 -0
  79. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/over_non_empty_1.png +0 -0
  80. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/over_non_empty_2.png +0 -0
  81. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/over_square_marker.png +0 -0
  82. package/test/references/{08_chessboard_move_pieces → 09_chessboard_move_pieces}/over_text_marker.png +0 -0
  83. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/base_1.png +0 -0
  84. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/base_2.png +0 -0
  85. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/edit_color_not_set.png +0 -0
  86. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/null_vector.png +0 -0
  87. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/out_of_board.png +0 -0
  88. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/over_arrow_marker.png +0 -0
  89. package/test/references/{09_chessboard_edit_arrows → 10_chessboard_edit_arrows}/over_square_marker.png +0 -0
  90. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/castling_move.png +0 -0
  91. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/chess960_ambiguous_king_move.png +0 -0
  92. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/chess960_castling_move_1.png +0 -0
  93. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/chess960_castling_move_2.png +0 -0
  94. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/chess960_non_kxr_castling.png +0 -0
  95. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/illegal_move.png +0 -0
  96. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/illegal_position.png +0 -0
  97. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/null_vector.png +0 -0
  98. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/out_of_board.png +0 -0
  99. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/regular_move_1.png +0 -0
  100. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/regular_move_2.png +0 -0
  101. package/test/references/{10_chessboard_play_moves → 11_chessboard_play_moves}/wrong_color.png +0 -0
  102. package/test/references/{11_chessboard_play_promotions → 12_chessboard_play_promotions}/antichess_promotion.png +0 -0
  103. package/test/references/{11_chessboard_play_promotions → 12_chessboard_play_promotions}/cancel_promotion.png +0 -0
  104. package/test/references/{11_chessboard_play_promotions → 12_chessboard_play_promotions}/regular_promotion_1.png +0 -0
  105. package/test/references/{11_chessboard_play_promotions → 12_chessboard_play_promotions}/regular_promotion_2.png +0 -0
  106. package/test/references/{12_movetext_simple → 13_movetext_simple}/0.png +0 -0
  107. package/test/references/{12_movetext_simple → 13_movetext_simple}/1.png +0 -0
  108. package/test/references/{12_movetext_simple → 13_movetext_simple}/2.png +0 -0
  109. package/test/references/{12_movetext_simple → 13_movetext_simple}/3.png +0 -0
  110. package/test/references/{13_movetext_error → 14_movetext_error}/0.png +0 -0
  111. package/test/references/{13_movetext_error → 14_movetext_error}/1.png +0 -0
  112. package/test/references/{13_movetext_error → 14_movetext_error}/2.png +0 -0
  113. package/test/references/{13_movetext_error → 14_movetext_error}/3.png +0 -0
  114. package/test/references/{13_movetext_error → 14_movetext_error}/4.png +0 -0
  115. package/test/references/{14_movetext_html → 15_movetext_html}/0.png +0 -0
  116. package/test/references/{14_movetext_html → 15_movetext_html}/1.png +0 -0
  117. package/test/references/{14_movetext_html → 15_movetext_html}/2.png +0 -0
  118. package/test/references/{15_movetext_options → 16_movetext_options}/0.png +0 -0
  119. package/test/references/{15_movetext_options → 16_movetext_options}/1.png +0 -0
  120. package/test/references/{15_movetext_options → 16_movetext_options}/2.png +0 -0
  121. package/test/references/{15_movetext_options → 16_movetext_options}/3.png +0 -0
  122. package/test/references/{16_movetext_interaction → 17_movetext_interaction}/0.png +0 -0
  123. package/test/references/{16_movetext_interaction → 17_movetext_interaction}/1.png +0 -0
  124. package/test/references/{16_movetext_interaction → 17_movetext_interaction}/2.png +0 -0
  125. package/CHANGELOG.md +0 -141
  126. package/graphics/chess_sprites/cburnett/bb.svg +0 -45
  127. package/graphics/chess_sprites/cburnett/bk.svg +0 -47
  128. package/graphics/chess_sprites/cburnett/bn.svg +0 -37
  129. package/graphics/chess_sprites/cburnett/bp.svg +0 -19
  130. package/graphics/chess_sprites/cburnett/bq.svg +0 -58
  131. package/graphics/chess_sprites/cburnett/br.svg +0 -60
  132. package/graphics/chess_sprites/cburnett/bx.svg +0 -56
  133. package/graphics/chess_sprites/cburnett/wb.svg +0 -48
  134. package/graphics/chess_sprites/cburnett/wk.svg +0 -26
  135. package/graphics/chess_sprites/cburnett/wn.svg +0 -37
  136. package/graphics/chess_sprites/cburnett/wp.svg +0 -19
  137. package/graphics/chess_sprites/cburnett/wq.svg +0 -60
  138. package/graphics/chess_sprites/cburnett/wr.svg +0 -44
  139. package/graphics/chess_sprites/cburnett/wx.svg +0 -56
  140. package/graphics/chess_sprites/generate_sprites.sh +0 -135
  141. package/graphics/chess_sprites/mmonge/celtic-bx.svg +0 -112
  142. package/graphics/chess_sprites/mmonge/celtic-wx.svg +0 -111
  143. package/graphics/chess_sprites/mmonge/celtic.svg +0 -1576
  144. package/graphics/chess_sprites/mmonge/eyes-spatial-bx.svg +0 -101
  145. package/graphics/chess_sprites/mmonge/eyes-spatial-wx.svg +0 -100
  146. package/graphics/chess_sprites/mmonge/eyes.svg +0 -2538
  147. package/graphics/chess_sprites/mmonge/fantasy-bx.svg +0 -112
  148. package/graphics/chess_sprites/mmonge/fantasy-wx.svg +0 -111
  149. package/graphics/chess_sprites/mmonge/fantasy.svg +0 -5497
  150. package/graphics/chess_sprites/mmonge/fantasy_alt.svg +0 -3742
  151. package/graphics/chess_sprites/mmonge/freak.svg +0 -3479
  152. package/graphics/chess_sprites/mmonge/prmi.svg +0 -6776
  153. package/graphics/chess_sprites/mmonge/skulls-bx.svg +0 -124
  154. package/graphics/chess_sprites/mmonge/skulls-wx.svg +0 -111
  155. package/graphics/chess_sprites/mmonge/skulls.svg +0 -12978
  156. package/graphics/chess_sprites/mmonge/spatial.svg +0 -1223
  157. package/graphics/logo-small.svg +0 -14
  158. package/graphics/logo.svg +0 -26
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = ErrorBox;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _i18n = _interopRequireDefault(require("./i18n"));
13
-
14
10
  var _util = require("./impl/util");
15
-
16
11
  require("./css/error_box.css");
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
13
  /******************************************************************************
21
14
  * *
22
15
  * This file is part of Kokopu-React, a JavaScript chess library. *
@@ -37,12 +30,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
37
30
  * <http://www.gnu.org/licenses/>. *
38
31
  * *
39
32
  ******************************************************************************/
33
+
40
34
  var BACKWARD_CHARACTERS = 5;
41
35
  var FORWARD_CHARACTERS = 36;
36
+
42
37
  /**
43
38
  * Display an error message.
44
39
  */
45
-
46
40
  function ErrorBox(props) {
47
41
  var excerpt = typeof props.text === 'string' && props.errorIndex >= 0 && props.errorIndex < props.text.length ? /*#__PURE__*/_react["default"].createElement("div", {
48
42
  className: "kokopu-errorExcerpt"
@@ -55,33 +49,29 @@ function ErrorBox(props) {
55
49
  className: "kokopu-errorMessage"
56
50
  }, props.message), excerpt);
57
51
  }
58
-
59
52
  ErrorBox.propTypes = {
60
53
  /**
61
54
  * Title of the error box.
62
55
  */
63
56
  title: _propTypes["default"].string.isRequired,
64
-
65
57
  /**
66
58
  * Additional message providing details about the error.
67
59
  */
68
60
  message: _propTypes["default"].string.isRequired,
69
-
70
61
  /**
71
62
  * Raw text whose processing results in the error.
72
63
  */
73
64
  text: _propTypes["default"].string,
74
-
75
65
  /**
76
66
  * Index of the character within `text` that results in the error.
77
67
  */
78
68
  errorIndex: _propTypes["default"].number,
79
-
80
69
  /**
81
70
  * Index (1-based) of the line in which is the character that results in the error.
82
71
  */
83
72
  lineNumber: _propTypes["default"].number
84
73
  };
74
+
85
75
  /**
86
76
  * Ellipsis function.
87
77
  *
@@ -99,44 +89,37 @@ ErrorBox.propTypes = {
99
89
  * @param {number} forwardCharacters Number of characters to keep after `pos`.
100
90
  * @returns {string}
101
91
  */
102
-
103
92
  function ellipsisAt(text, pos, backwardCharacters, forwardCharacters, lineNumber) {
104
93
  // p1 => begin of the extracted sub-string
105
94
  var p1 = pos;
106
95
  var e1 = '... ';
107
-
108
96
  while (p1 > pos - backwardCharacters) {
109
97
  --p1;
110
-
111
98
  if (p1 < 0 || text.charAt(p1) === '\n' || text.charAt(p1) === '\r') {
112
99
  ++p1;
113
100
  e1 = '';
114
101
  break;
115
102
  }
116
- } // p2 => one character after the end of the extracted sub-string
117
-
103
+ }
118
104
 
105
+ // p2 => one character after the end of the extracted sub-string
119
106
  var p2 = pos;
120
107
  var e2 = ' ...';
121
-
122
108
  while (p2 < pos + forwardCharacters) {
123
109
  ++p2;
124
-
125
110
  if (p2 >= text.length || text.charAt(p2) === '\n' || text.charAt(p2) === '\r') {
126
111
  --p2;
127
112
  e2 = '';
128
113
  break;
129
114
  }
130
- } // Extract the sub-string around the requested position.
131
-
115
+ }
132
116
 
117
+ // Extract the sub-string around the requested position.
133
118
  var excerpt = e1 + text.substring(p1, p2 + 1) + e2;
134
119
  excerpt = excerpt.replace(/\n|\r|\t/g, ' ');
135
120
  var secondLine = Array(1 + e1.length + pos - p1).join(' ') + '^';
136
-
137
121
  if (lineNumber) {
138
122
  secondLine += " (".concat((0, _util.fillPlaceholder)(_i18n["default"].LINE, lineNumber), ")");
139
123
  }
140
-
141
124
  return excerpt + '\n' + secondLine;
142
125
  }