kokopu-react 1.9.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.
@@ -4,173 +4,89 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _cburnettBb = _interopRequireDefault(require("../sprites/cburnett-bb.png"));
9
-
10
8
  var _cburnettBk = _interopRequireDefault(require("../sprites/cburnett-bk.png"));
11
-
12
9
  var _cburnettBn = _interopRequireDefault(require("../sprites/cburnett-bn.png"));
13
-
14
10
  var _cburnettBp = _interopRequireDefault(require("../sprites/cburnett-bp.png"));
15
-
16
11
  var _cburnettBq = _interopRequireDefault(require("../sprites/cburnett-bq.png"));
17
-
18
12
  var _cburnettBr = _interopRequireDefault(require("../sprites/cburnett-br.png"));
19
-
20
13
  var _cburnettWb = _interopRequireDefault(require("../sprites/cburnett-wb.png"));
21
-
22
14
  var _cburnettWk = _interopRequireDefault(require("../sprites/cburnett-wk.png"));
23
-
24
15
  var _cburnettWn = _interopRequireDefault(require("../sprites/cburnett-wn.png"));
25
-
26
16
  var _cburnettWp = _interopRequireDefault(require("../sprites/cburnett-wp.png"));
27
-
28
17
  var _cburnettWq = _interopRequireDefault(require("../sprites/cburnett-wq.png"));
29
-
30
18
  var _cburnettWr = _interopRequireDefault(require("../sprites/cburnett-wr.png"));
31
-
32
19
  var _cburnettBx = _interopRequireDefault(require("../sprites/cburnett-bx.png"));
33
-
34
20
  var _cburnettWx = _interopRequireDefault(require("../sprites/cburnett-wx.png"));
35
-
36
21
  var _celticBb = _interopRequireDefault(require("../sprites/celtic-bb.png"));
37
-
38
22
  var _celticBk = _interopRequireDefault(require("../sprites/celtic-bk.png"));
39
-
40
23
  var _celticBn = _interopRequireDefault(require("../sprites/celtic-bn.png"));
41
-
42
24
  var _celticBp = _interopRequireDefault(require("../sprites/celtic-bp.png"));
43
-
44
25
  var _celticBq = _interopRequireDefault(require("../sprites/celtic-bq.png"));
45
-
46
26
  var _celticBr = _interopRequireDefault(require("../sprites/celtic-br.png"));
47
-
48
27
  var _celticWb = _interopRequireDefault(require("../sprites/celtic-wb.png"));
49
-
50
28
  var _celticWk = _interopRequireDefault(require("../sprites/celtic-wk.png"));
51
-
52
29
  var _celticWn = _interopRequireDefault(require("../sprites/celtic-wn.png"));
53
-
54
30
  var _celticWp = _interopRequireDefault(require("../sprites/celtic-wp.png"));
55
-
56
31
  var _celticWq = _interopRequireDefault(require("../sprites/celtic-wq.png"));
57
-
58
32
  var _celticWr = _interopRequireDefault(require("../sprites/celtic-wr.png"));
59
-
60
33
  var _eyesBb = _interopRequireDefault(require("../sprites/eyes-bb.png"));
61
-
62
34
  var _eyesBk = _interopRequireDefault(require("../sprites/eyes-bk.png"));
63
-
64
35
  var _eyesBn = _interopRequireDefault(require("../sprites/eyes-bn.png"));
65
-
66
36
  var _eyesBp = _interopRequireDefault(require("../sprites/eyes-bp.png"));
67
-
68
37
  var _eyesBq = _interopRequireDefault(require("../sprites/eyes-bq.png"));
69
-
70
38
  var _eyesBr = _interopRequireDefault(require("../sprites/eyes-br.png"));
71
-
72
39
  var _eyesWb = _interopRequireDefault(require("../sprites/eyes-wb.png"));
73
-
74
40
  var _eyesWk = _interopRequireDefault(require("../sprites/eyes-wk.png"));
75
-
76
41
  var _eyesWn = _interopRequireDefault(require("../sprites/eyes-wn.png"));
77
-
78
42
  var _eyesWp = _interopRequireDefault(require("../sprites/eyes-wp.png"));
79
-
80
43
  var _eyesWq = _interopRequireDefault(require("../sprites/eyes-wq.png"));
81
-
82
44
  var _eyesWr = _interopRequireDefault(require("../sprites/eyes-wr.png"));
83
-
84
45
  var _fantasyBb = _interopRequireDefault(require("../sprites/fantasy-bb.png"));
85
-
86
46
  var _fantasyBk = _interopRequireDefault(require("../sprites/fantasy-bk.png"));
87
-
88
47
  var _fantasyBn = _interopRequireDefault(require("../sprites/fantasy-bn.png"));
89
-
90
48
  var _fantasyBp = _interopRequireDefault(require("../sprites/fantasy-bp.png"));
91
-
92
49
  var _fantasyBq = _interopRequireDefault(require("../sprites/fantasy-bq.png"));
93
-
94
50
  var _fantasyBr = _interopRequireDefault(require("../sprites/fantasy-br.png"));
95
-
96
51
  var _fantasyWb = _interopRequireDefault(require("../sprites/fantasy-wb.png"));
97
-
98
52
  var _fantasyWk = _interopRequireDefault(require("../sprites/fantasy-wk.png"));
99
-
100
53
  var _fantasyWn = _interopRequireDefault(require("../sprites/fantasy-wn.png"));
101
-
102
54
  var _fantasyWp = _interopRequireDefault(require("../sprites/fantasy-wp.png"));
103
-
104
55
  var _fantasyWq = _interopRequireDefault(require("../sprites/fantasy-wq.png"));
105
-
106
56
  var _fantasyWr = _interopRequireDefault(require("../sprites/fantasy-wr.png"));
107
-
108
57
  var _skullsBb = _interopRequireDefault(require("../sprites/skulls-bb.png"));
109
-
110
58
  var _skullsBk = _interopRequireDefault(require("../sprites/skulls-bk.png"));
111
-
112
59
  var _skullsBn = _interopRequireDefault(require("../sprites/skulls-bn.png"));
113
-
114
60
  var _skullsBp = _interopRequireDefault(require("../sprites/skulls-bp.png"));
115
-
116
61
  var _skullsBq = _interopRequireDefault(require("../sprites/skulls-bq.png"));
117
-
118
62
  var _skullsBr = _interopRequireDefault(require("../sprites/skulls-br.png"));
119
-
120
63
  var _skullsWb = _interopRequireDefault(require("../sprites/skulls-wb.png"));
121
-
122
64
  var _skullsWk = _interopRequireDefault(require("../sprites/skulls-wk.png"));
123
-
124
65
  var _skullsWn = _interopRequireDefault(require("../sprites/skulls-wn.png"));
125
-
126
66
  var _skullsWp = _interopRequireDefault(require("../sprites/skulls-wp.png"));
127
-
128
67
  var _skullsWq = _interopRequireDefault(require("../sprites/skulls-wq.png"));
129
-
130
68
  var _skullsWr = _interopRequireDefault(require("../sprites/skulls-wr.png"));
131
-
132
69
  var _spatialBb = _interopRequireDefault(require("../sprites/spatial-bb.png"));
133
-
134
70
  var _spatialBk = _interopRequireDefault(require("../sprites/spatial-bk.png"));
135
-
136
71
  var _spatialBn = _interopRequireDefault(require("../sprites/spatial-bn.png"));
137
-
138
72
  var _spatialBp = _interopRequireDefault(require("../sprites/spatial-bp.png"));
139
-
140
73
  var _spatialBq = _interopRequireDefault(require("../sprites/spatial-bq.png"));
141
-
142
74
  var _spatialBr = _interopRequireDefault(require("../sprites/spatial-br.png"));
143
-
144
75
  var _spatialWb = _interopRequireDefault(require("../sprites/spatial-wb.png"));
145
-
146
76
  var _spatialWk = _interopRequireDefault(require("../sprites/spatial-wk.png"));
147
-
148
77
  var _spatialWn = _interopRequireDefault(require("../sprites/spatial-wn.png"));
149
-
150
78
  var _spatialWp = _interopRequireDefault(require("../sprites/spatial-wp.png"));
151
-
152
79
  var _spatialWq = _interopRequireDefault(require("../sprites/spatial-wq.png"));
153
-
154
80
  var _spatialWr = _interopRequireDefault(require("../sprites/spatial-wr.png"));
155
-
156
81
  var _celticBx = _interopRequireDefault(require("../sprites/celtic-bx.png"));
157
-
158
82
  var _celticWx = _interopRequireDefault(require("../sprites/celtic-wx.png"));
159
-
160
83
  var _eyesSpatialBx = _interopRequireDefault(require("../sprites/eyes-spatial-bx.png"));
161
-
162
84
  var _eyesSpatialWx = _interopRequireDefault(require("../sprites/eyes-spatial-wx.png"));
163
-
164
85
  var _fantasyBx = _interopRequireDefault(require("../sprites/fantasy-bx.png"));
165
-
166
86
  var _fantasyWx = _interopRequireDefault(require("../sprites/fantasy-wx.png"));
167
-
168
87
  var _skullsBx = _interopRequireDefault(require("../sprites/skulls-bx.png"));
169
-
170
88
  var _skullsWx = _interopRequireDefault(require("../sprites/skulls-wx.png"));
171
-
172
89
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
173
-
174
90
  /******************************************************************************
175
91
  * *
176
92
  * This file is part of Kokopu-React, a JavaScript chess library. *
@@ -191,15 +107,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
191
107
  * <http://www.gnu.org/licenses/>. *
192
108
  * *
193
109
  ******************************************************************************/
194
-
195
110
  /* eslint-disable camelcase */
196
-
197
111
  /*
198
112
  * Source: https://commons.wikimedia.org/wiki/Category:SVG_chess_pieces
199
113
  * Authors: Cburnett <https://en.wikipedia.org/wiki/User:Cburnett>, Antonsusi <https://commons.wikimedia.org/wiki/User:Antonsusi>
200
114
  * License: Creative Commons Attribution ShareAlike [CC-BY-SA]
201
115
  */
202
-
203
116
  /*
204
117
  * Source: http://poisson.phc.unipi.it/~monge/chess_art.php
205
118
  * Author: Maurizio Monge <http://poisson.phc.unipi.it/~monge/>
@@ -11,7 +11,6 @@ exports.isValidSquare = isValidSquare;
11
11
  exports.isValidSymbol = isValidSymbol;
12
12
  exports.isValidVector = isValidVector;
13
13
  exports.sanitizeInteger = sanitizeInteger;
14
-
15
14
  /******************************************************************************
16
15
  * *
17
16
  * This file is part of Kokopu-React, a JavaScript chess library. *
@@ -32,50 +31,41 @@ exports.sanitizeInteger = sanitizeInteger;
32
31
  * <http://www.gnu.org/licenses/>. *
33
32
  * *
34
33
  ******************************************************************************/
34
+
35
35
  var MIN_SQUARE_SIZE = 12;
36
36
  exports.MIN_SQUARE_SIZE = MIN_SQUARE_SIZE;
37
37
  var MAX_SQUARE_SIZE = 96;
38
38
  exports.MAX_SQUARE_SIZE = MAX_SQUARE_SIZE;
39
-
40
39
  function generateRandomId() {
41
40
  var buffer = new Uint32Array(8);
42
41
  crypto.getRandomValues(buffer);
43
42
  var result = '';
44
-
45
43
  for (var i = 0; i < buffer.length; ++i) {
46
44
  result += buffer[i].toString(16);
47
45
  }
48
-
49
46
  return result;
50
47
  }
51
-
52
48
  function fillPlaceholder(message) {
53
49
  for (var _len = arguments.length, placeholderValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
54
50
  placeholderValues[_key - 1] = arguments[_key];
55
51
  }
56
-
57
52
  return message.replace(/{(\d+)}/g, function (match, placeholder) {
58
53
  var placeholderIndex = Number(placeholder);
59
54
  return placeholderIndex < placeholderValues.length ? placeholderValues[placeholderIndex] : match;
60
55
  });
61
56
  }
62
-
63
57
  function sanitizeInteger(input, min, max) {
64
58
  return Math.min(Math.max(Math.round(input), min), max);
65
59
  }
66
-
67
60
  function isValidSquare(sq) {
68
61
  return /^[a-h][1-8]$/.test(sq);
69
62
  }
70
-
71
63
  function isValidVector(vect) {
72
64
  return /^[a-h][1-8][a-h][1-8]$/.test(vect);
73
65
  }
74
-
75
66
  function isValidColor(color) {
76
67
  return color === 'b' || color === 'g' || color === 'r' || color === 'y';
77
68
  }
78
-
79
69
  function isValidSymbol(symbol) {
80
70
  return /^(?:[A-Za-z0-9]|plus|times|dot|circle)$/.test(symbol);
81
71
  }
package/dist/lib/index.js CHANGED
@@ -93,23 +93,13 @@ Object.defineProperty(exports, "parseTextMarkers", {
93
93
  return _markers.parseTextMarkers;
94
94
  }
95
95
  });
96
-
97
96
  var _markers = require("./markers");
98
-
99
97
  var _formatmove = require("./formatmove");
100
-
101
98
  var _i18n = _interopRequireDefault(require("./i18n"));
102
-
103
99
  var _Chessboard = _interopRequireDefault(require("./Chessboard"));
104
-
105
100
  var _ErrorBox = _interopRequireDefault(require("./ErrorBox"));
106
-
107
101
  var _Movetext = _interopRequireDefault(require("./Movetext"));
108
-
109
102
  var _SquareMarkerIcon = _interopRequireDefault(require("./SquareMarkerIcon"));
110
-
111
103
  var _TextMarkerIcon = _interopRequireDefault(require("./TextMarkerIcon"));
112
-
113
104
  var _ArrowMarkerIcon = _interopRequireDefault(require("./ArrowMarkerIcon"));
114
-
115
105
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -9,21 +9,13 @@ exports.flattenTextMarkers = flattenTextMarkers;
9
9
  exports.parseArrowMarkers = parseArrowMarkers;
10
10
  exports.parseSquareMarkers = parseSquareMarkers;
11
11
  exports.parseTextMarkers = parseTextMarkers;
12
-
13
12
  var _util = require("./impl/util");
14
-
15
13
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
-
17
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
-
19
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
-
21
16
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
-
23
17
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
24
-
25
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
-
27
19
  /**
28
20
  * Transform a set of square markers defined as a "square -> color" struct into a comma-separated string.
29
21
  *
@@ -33,71 +25,62 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
25
  function flattenSquareMarkers(markers) {
34
26
  return Object.entries(markers).filter(function (_ref) {
35
27
  var _ref2 = _slicedToArray(_ref, 2),
36
- sq = _ref2[0],
37
- color = _ref2[1];
38
-
28
+ sq = _ref2[0],
29
+ color = _ref2[1];
39
30
  return (0, _util.isValidSquare)(sq) && (0, _util.isValidColor)(color);
40
31
  }).sort(function (a, b) {
41
32
  return a[0].localeCompare(b[0]);
42
33
  }).map(function (_ref3) {
43
34
  var _ref4 = _slicedToArray(_ref3, 2),
44
- sq = _ref4[0],
45
- color = _ref4[1];
46
-
35
+ sq = _ref4[0],
36
+ color = _ref4[1];
47
37
  return color.toUpperCase() + sq;
48
38
  }).join(',');
49
39
  }
40
+
50
41
  /**
51
42
  * Transform a set of text markers defined as a "square -> (symbol, color)" struct into a comma-separated string.
52
43
  *
53
44
  * @param {object} markers For example: `{ e4: { symbol: 'A', color: 'g' }, d5: { symbol: 'z', color: 'r' }, h3: { symbol: 'plus', color: 'y' } }`
54
45
  * @returns {string} For example: `'Rzd5,GAe4,Y(plus)h3'`
55
46
  */
56
-
57
-
58
47
  function flattenTextMarkers(markers) {
59
48
  return Object.entries(markers).filter(function (_ref5) {
60
49
  var _ref6 = _slicedToArray(_ref5, 2),
61
- sq = _ref6[0],
62
- desc = _ref6[1];
63
-
50
+ sq = _ref6[0],
51
+ desc = _ref6[1];
64
52
  return (0, _util.isValidSquare)(sq) && desc && (0, _util.isValidColor)(desc.color) && (0, _util.isValidSymbol)(desc.symbol);
65
53
  }).sort(function (a, b) {
66
54
  return a[0].localeCompare(b[0]);
67
55
  }).map(function (_ref7) {
68
56
  var _ref8 = _slicedToArray(_ref7, 2),
69
- sq = _ref8[0],
70
- desc = _ref8[1];
71
-
57
+ sq = _ref8[0],
58
+ desc = _ref8[1];
72
59
  return desc.color.toUpperCase() + (desc.symbol.length === 1 ? desc.symbol : '(' + desc.symbol + ')') + sq;
73
60
  }).join(',');
74
61
  }
62
+
75
63
  /**
76
64
  * Transform a set of arrow markers defined as a "squareFromSquareTo -> color" struct into a comma-separated string.
77
65
  *
78
66
  * @param {object} markers For example: `{ e2e4: 'g', g8f6: 'r', g8h6: 'b' }`
79
67
  * @returns {string} For example: `'Ge2e4,Rg8f6,Bg8h6'`
80
68
  */
81
-
82
-
83
69
  function flattenArrowMarkers(markers) {
84
70
  return Object.entries(markers).filter(function (_ref9) {
85
71
  var _ref10 = _slicedToArray(_ref9, 2),
86
- vect = _ref10[0],
87
- color = _ref10[1];
88
-
72
+ vect = _ref10[0],
73
+ color = _ref10[1];
89
74
  return (0, _util.isValidVector)(vect) && (0, _util.isValidColor)(color);
90
75
  }).sort(function (a, b) {
91
76
  return a[0].localeCompare(b[0]);
92
77
  }).map(function (_ref11) {
93
78
  var _ref12 = _slicedToArray(_ref11, 2),
94
- vect = _ref12[0],
95
- color = _ref12[1];
96
-
79
+ vect = _ref12[0],
80
+ color = _ref12[1];
97
81
  return color.toUpperCase() + vect;
98
82
  }).join(',');
99
83
  }
100
-
101
84
  function parseMarkers(markers, tokenParser) {
102
85
  var result = {};
103
86
  markers.split(',').map(function (token) {
@@ -106,19 +89,18 @@ function parseMarkers(markers, tokenParser) {
106
89
  return marker;
107
90
  }).forEach(function (_ref13) {
108
91
  var key = _ref13.key,
109
- value = _ref13.value;
92
+ value = _ref13.value;
110
93
  result[key] = value;
111
94
  });
112
95
  return result;
113
96
  }
97
+
114
98
  /**
115
99
  * Parse a set of square markers defined as a comma-separated string into a "square -> color" struct.
116
100
  *
117
101
  * @param {string} markers For example: `'Gd5,Ge4'`
118
102
  * @returns {object} For example: `{ e4: 'g', d5: 'r' }`
119
103
  */
120
-
121
-
122
104
  function parseSquareMarkers(markers) {
123
105
  return parseMarkers(markers, function (token) {
124
106
  return /^([BGRY])([a-h][1-8])$/.test(token) ? {
@@ -127,14 +109,13 @@ function parseSquareMarkers(markers) {
127
109
  } : undefined;
128
110
  });
129
111
  }
112
+
130
113
  /**
131
114
  * Parse a set of text markers defined as a comma-separated string into a "square -> (symbol, color)" struct.
132
115
  *
133
116
  * @param {string} markers For example: `'Rzd5,GAe4,Y(plus)h3'`
134
117
  * @returns {object} For example: `{ e4: { symbol: 'A', color: 'g' }, d5: { symbol: 'z', color: 'r' }, h3: { symbol: 'plus', color: 'y' } }`
135
118
  */
136
-
137
-
138
119
  function parseTextMarkers(markers) {
139
120
  return parseMarkers(markers, function (token) {
140
121
  return /^([BGRY])(?:([A-Za-z0-9])|\((plus|times|dot|circle)\))([a-h][1-8])$/.test(token) ? {
@@ -146,14 +127,13 @@ function parseTextMarkers(markers) {
146
127
  } : undefined;
147
128
  });
148
129
  }
130
+
149
131
  /**
150
132
  * Parse a set of arrow markers defined as a comma-separated string into a "squareFromSquareTo -> color" struct.
151
133
  *
152
134
  * @param {string} markers For example: `'Ge2e4,Rg8f6,Bg8h6'`
153
135
  * @returns {object} For example: `{ e2e4: 'g', g8f6: 'r', g8h6: 'b' }`
154
136
  */
155
-
156
-
157
137
  function parseArrowMarkers(markers) {
158
138
  return parseMarkers(markers, function (token) {
159
139
  return /^([BGRY])([a-h][1-8][a-h][1-8])$/.test(token) ? {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kokopu-react",
3
- "version": "1.9.0",
3
+ "version": "1.9.1",
4
4
  "description": "A React-based library to create and display chessboard and chess-related components.",
5
5
  "keywords": [
6
6
  "chess",
@@ -39,35 +39,35 @@
39
39
  "react-draggable": "^4.4.5"
40
40
  },
41
41
  "devDependencies": {
42
- "@babel/cli": "^7.18.10",
43
- "@babel/core": "^7.19.0",
44
- "@babel/preset-env": "^7.19.0",
42
+ "@babel/cli": "^7.19.3",
43
+ "@babel/core": "^7.20.2",
44
+ "@babel/preset-env": "^7.20.2",
45
45
  "@babel/preset-react": "^7.18.6",
46
- "@emotion/react": "^11.10.0",
47
- "@emotion/styled": "^11.10.0",
48
- "@mui/material": "^5.10.2",
49
- "babel-loader": "^8.2.5",
46
+ "@emotion/react": "^11.10.5",
47
+ "@emotion/styled": "^11.10.5",
48
+ "@mui/material": "^5.10.14",
49
+ "babel-loader": "^9.1.0",
50
50
  "babel-plugin-istanbul": "^6.1.1",
51
51
  "copy-webpack-plugin": "^11.0.0",
52
52
  "coveralls": "^3.1.1",
53
- "css-loader": "^6.7.1",
54
- "eslint": "^8.22.0",
55
- "eslint-plugin-react": "^7.31.7",
53
+ "css-loader": "^6.7.2",
54
+ "eslint": "^8.27.0",
55
+ "eslint-plugin-react": "^7.31.10",
56
56
  "html-webpack-plugin": "^5.5.0",
57
57
  "img-diff-js": "^0.5.2",
58
- "kokopu": "^3.0.0",
59
- "mocha": "^10.0.0",
58
+ "kokopu": "^3.3.0",
59
+ "mocha": "^10.1.0",
60
60
  "null-loader": "^4.0.1",
61
61
  "nyc": "^15.1.0",
62
62
  "react": "^18.2.0",
63
63
  "react-dom": "^18.2.0",
64
- "react-styleguidist": "^12.0.0",
65
- "selenium-webdriver": "^4.3.1",
66
- "ssh2-sftp-client": "^9.0.3",
64
+ "react-styleguidist": "^13.0.0",
65
+ "selenium-webdriver": "^4.6.1",
66
+ "ssh2-sftp-client": "^9.0.4",
67
67
  "style-loader": "^3.3.1",
68
68
  "unit.js": "^2.1.1",
69
- "webpack": "^5.74.0",
70
- "webpack-cli": "^4.10.0"
69
+ "webpack": "^5.75.0",
70
+ "webpack-cli": "^5.0.0"
71
71
  },
72
72
  "scripts": {
73
73
  "lint": "eslint doc_src graphic_test_src src test",
@@ -2,7 +2,7 @@ version: "3.7"
2
2
 
3
3
  services:
4
4
  web-client:
5
- image: selenium/standalone-firefox:4.3.0-20220726
5
+ image: selenium/standalone-firefox:4.6.0-20221104
6
6
  shm_size: '2gb'
7
7
  ports:
8
8
  - 4444:4444 # http://localhost:4444 (driver)
@@ -115,3 +115,7 @@ div.kokopu-subVariation {
115
115
  height: 0px;
116
116
  overflow: hidden;
117
117
  }
118
+
119
+ .kokopu-focusField {
120
+ position: absolute; /* see #1 */
121
+ }