kokopu-react 2.0.1 → 2.1.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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ChangeLog
2
2
  =========
3
3
 
4
+ 2.1.0 (May 26, 2023)
5
+ --------------------
6
+ * Listen to ESC key in Movetext to let the user unselect the currently selected move through keyboard.
7
+
4
8
  2.0.1 (May 25, 2023)
5
9
  --------------------
6
10
  * Minor fixes.
@@ -6,7 +6,7 @@ import './Movetext.css';
6
6
  /**
7
7
  * Origin of a "move-selected" event in {@link Movetext}. See {@link MovetextProps.onMoveSelected} for more details.
8
8
  */
9
- export type MoveSelectEventOrigin = 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'click';
9
+ export type MoveSelectEventOrigin = 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'key-exit' | 'click';
10
10
  export interface MovetextProps {
11
11
  /**
12
12
  * Displayed position. Can be a [kokopu.Game](https://kokopu.yo35.org/docs/current/classes/Game.html) object,
@@ -64,6 +64,7 @@ export interface MovetextProps {
64
64
  * - `'key-previous'`: the event has been triggered by the "go-to-previous-move" key (aka. the arrow left key),
65
65
  * - `'key-next'`: the event has been triggered by the "go-to-next-move" key (aka. the arrow right key),
66
66
  * - `'key-last'`: the event has been triggered by the "go-to-last-move" key (aka. the end key),
67
+ * - `'key-exit'`: the event has been triggered by the "unselect-move" key (aka. the escape key),
67
68
  * - `'click'`: the event has been triggered by a mouse click on a move.
68
69
  */
69
70
  onMoveSelected?: (nodeId: string | undefined, evtOrigin: MoveSelectEventOrigin) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Movetext.js","sourceRoot":"","sources":["../../../src/movetext/Movetext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Movetext.js","sourceRoot":"","sources":["../../../src/movetext/Movetext.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ interface MovetextImplProps {
17
17
  headerVisible: boolean;
18
18
  selection?: string;
19
19
  interactionMode?: 'selectMove';
20
- onMoveSelected?: (nodeId: string | undefined, evtOrigin: 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'click') => void;
20
+ onMoveSelected?: (nodeId: string | undefined, evtOrigin: 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'key-exit' | 'click') => void;
21
21
  }
22
22
  /**
23
23
  * Implementation of {@link Movetext}.
@@ -60,6 +60,7 @@ export declare class MovetextImpl extends React.Component<MovetextImplProps> {
60
60
  private renderComment;
61
61
  private extractComment;
62
62
  private handleKeyDownInFocusField;
63
+ private fireMoveSelected;
63
64
  private handleNodeClicked;
64
65
  /**
65
66
  * Set the focus to the current component.
@@ -286,32 +286,33 @@ export class MovetextImpl extends React.Component {
286
286
  return comment ? comment : undefined;
287
287
  }
288
288
  handleKeyDownInFocusField(evt) {
289
- if (evt.key !== 'Home' && evt.key !== 'ArrowLeft' && evt.key !== 'ArrowRight' && evt.key !== 'End') {
289
+ if (evt.key !== 'Home' && evt.key !== 'ArrowLeft' && evt.key !== 'ArrowRight' && evt.key !== 'End' && evt.key !== 'Escape') {
290
290
  return;
291
291
  }
292
292
  evt.preventDefault();
293
293
  if (!this.props.selection) {
294
294
  return;
295
295
  }
296
- let nodeId = undefined;
297
- let evtOrigin;
298
296
  if (evt.key === 'Home') {
299
- nodeId = firstNodeIdImpl(this.props.game, this.props.selection);
300
- evtOrigin = 'key-first';
297
+ this.fireMoveSelected(firstNodeIdImpl(this.props.game, this.props.selection), 'key-first');
301
298
  }
302
299
  else if (evt.key === 'ArrowLeft') {
303
- nodeId = previousNodeIdImpl(this.props.game, this.props.selection);
304
- evtOrigin = 'key-previous';
300
+ this.fireMoveSelected(previousNodeIdImpl(this.props.game, this.props.selection), 'key-previous');
305
301
  }
306
302
  else if (evt.key === 'ArrowRight') {
307
- nodeId = nextNodeIdImpl(this.props.game, this.props.selection);
308
- evtOrigin = 'key-next';
303
+ this.fireMoveSelected(nextNodeIdImpl(this.props.game, this.props.selection), 'key-next');
309
304
  }
310
- else { // evt.key === 'End'
311
- nodeId = lastNodeIdImpl(this.props.game, this.props.selection);
312
- evtOrigin = 'key-last';
305
+ else if (evt.key === 'End') {
306
+ this.fireMoveSelected(lastNodeIdImpl(this.props.game, this.props.selection), 'key-last');
313
307
  }
314
- if (nodeId && this.props.onMoveSelected) {
308
+ else { // evt.key === 'Escape'
309
+ if (this.props.game.findById(this.props.selection)) {
310
+ this.fireMoveSelected(undefined, 'key-exit');
311
+ }
312
+ }
313
+ }
314
+ fireMoveSelected(nodeId, evtOrigin) {
315
+ if ((nodeId || evtOrigin === 'key-exit') && this.props.onMoveSelected) {
315
316
  this.props.onMoveSelected(nodeId, evtOrigin);
316
317
  }
317
318
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MovetextImpl.js","sourceRoot":"","sources":["../../../src/movetext/MovetextImpl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MovetextImpl.js","sourceRoot":"","sources":["../../../src/movetext/MovetextImpl.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kokopu-react",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "A React-based library to create and display chessboard and chess-related components.",
5
5
  "keywords": [
6
6
  "chess",
@@ -42,8 +42,8 @@
42
42
  "htmlparser2": "^9.0.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@babel/preset-env": "^7.21.5",
46
- "@babel/preset-react": "^7.18.6",
45
+ "@babel/preset-env": "^7.22.2",
46
+ "@babel/preset-react": "^7.22.0",
47
47
  "@emotion/react": "^11.11.0",
48
48
  "@emotion/styled": "^11.11.0",
49
49
  "@mui/material": "^5.13.2",
@@ -75,7 +75,7 @@
75
75
  "ts-loader": "^9.4.3",
76
76
  "typescript": "^5.0.4",
77
77
  "unit.js": "^2.1.1",
78
- "webpack": "^5.84.0",
78
+ "webpack": "^5.84.1",
79
79
  "webpack-cli": "^5.1.1"
80
80
  },
81
81
  "scripts": {
@@ -40,7 +40,7 @@ import './Movetext.css';
40
40
  /**
41
41
  * Origin of a "move-selected" event in {@link Movetext}. See {@link MovetextProps.onMoveSelected} for more details.
42
42
  */
43
- export type MoveSelectEventOrigin = 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'click';
43
+ export type MoveSelectEventOrigin = 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'key-exit' | 'click';
44
44
 
45
45
 
46
46
  export interface MovetextProps {
@@ -109,6 +109,7 @@ export interface MovetextProps {
109
109
  * - `'key-previous'`: the event has been triggered by the "go-to-previous-move" key (aka. the arrow left key),
110
110
  * - `'key-next'`: the event has been triggered by the "go-to-next-move" key (aka. the arrow right key),
111
111
  * - `'key-last'`: the event has been triggered by the "go-to-last-move" key (aka. the end key),
112
+ * - `'key-exit'`: the event has been triggered by the "unselect-move" key (aka. the escape key),
112
113
  * - `'click'`: the event has been triggered by a mouse click on a move.
113
114
  */
114
115
  onMoveSelected?: (nodeId: string | undefined, evtOrigin: MoveSelectEventOrigin) => void;
@@ -52,7 +52,7 @@ interface MovetextImplProps {
52
52
  selection?: string;
53
53
  interactionMode?: 'selectMove';
54
54
 
55
- onMoveSelected?: (nodeId: string | undefined, evtOrigin: 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'click') => void;
55
+ onMoveSelected?: (nodeId: string | undefined, evtOrigin: 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'key-exit' | 'click') => void;
56
56
  }
57
57
 
58
58
 
@@ -354,32 +354,34 @@ export class MovetextImpl extends React.Component<MovetextImplProps> {
354
354
  }
355
355
 
356
356
  private handleKeyDownInFocusField(evt: React.KeyboardEvent<HTMLAnchorElement>) {
357
- if (evt.key !== 'Home' && evt.key !== 'ArrowLeft' && evt.key !== 'ArrowRight' && evt.key !== 'End') {
357
+ if (evt.key !== 'Home' && evt.key !== 'ArrowLeft' && evt.key !== 'ArrowRight' && evt.key !== 'End' && evt.key !== 'Escape') {
358
358
  return;
359
359
  }
360
360
  evt.preventDefault();
361
361
  if (!this.props.selection) {
362
362
  return;
363
363
  }
364
- let nodeId = undefined;
365
- let evtOrigin: 'key-first' | 'key-previous' | 'key-next' | 'key-last';
366
364
  if (evt.key === 'Home') {
367
- nodeId = firstNodeIdImpl(this.props.game, this.props.selection);
368
- evtOrigin = 'key-first';
365
+ this.fireMoveSelected(firstNodeIdImpl(this.props.game, this.props.selection), 'key-first');
369
366
  }
370
367
  else if (evt.key === 'ArrowLeft') {
371
- nodeId = previousNodeIdImpl(this.props.game, this.props.selection);
372
- evtOrigin = 'key-previous';
368
+ this.fireMoveSelected(previousNodeIdImpl(this.props.game, this.props.selection), 'key-previous');
373
369
  }
374
370
  else if (evt.key === 'ArrowRight') {
375
- nodeId = nextNodeIdImpl(this.props.game, this.props.selection);
376
- evtOrigin = 'key-next';
371
+ this.fireMoveSelected(nextNodeIdImpl(this.props.game, this.props.selection), 'key-next');
377
372
  }
378
- else { // evt.key === 'End'
379
- nodeId = lastNodeIdImpl(this.props.game, this.props.selection);
380
- evtOrigin = 'key-last';
373
+ else if (evt.key === 'End') {
374
+ this.fireMoveSelected(lastNodeIdImpl(this.props.game, this.props.selection), 'key-last');
381
375
  }
382
- if (nodeId && this.props.onMoveSelected) {
376
+ else { // evt.key === 'Escape'
377
+ if (this.props.game.findById(this.props.selection)) {
378
+ this.fireMoveSelected(undefined, 'key-exit');
379
+ }
380
+ }
381
+ }
382
+
383
+ private fireMoveSelected(nodeId: string | undefined, evtOrigin: 'key-first' | 'key-previous' | 'key-next' | 'key-last' | 'key-exit') {
384
+ if ((nodeId || evtOrigin === 'key-exit') && this.props.onMoveSelected) {
383
385
  this.props.onMoveSelected(nodeId, evtOrigin);
384
386
  }
385
387
  }
@@ -22,6 +22,7 @@
22
22
 
23
23
  const { describeWithBrowser, itCustom, setSandbox, compareSandbox, takeScreenshot, compareScreenshot, itChecksScreenshots } = require('./common/graphic');
24
24
  const { By, Key } = require('selenium-webdriver');
25
+ const test = require('unit.js');
25
26
 
26
27
 
27
28
  describeWithBrowser('Movetext interaction', browserContext => {
@@ -61,9 +62,22 @@ describeWithBrowser('Movetext interaction', browserContext => {
61
62
  { searchedText: 'Nc6', expectedText: tpl('1b-v0-2b', 'click') },
62
63
  ]);
63
64
 
64
- function itCheckKeyboardActions(itemIndex, label, expectedOnGoFirst, expectedOnGoPrevious, expectedOnGoNext, expectedOnGoLast) {
65
+ function itCheckKeyboardActions(itemIndex, label, expectedOnGoFirst, expectedOnGoPrevious, expectedOnGoNext, expectedOnGoLast, expectedOnExit) {
65
66
  itCustom(browserContext, '10_movetext_interaction/select_moves', itemIndex, label, async element => {
66
- const focusFieldElement = await element.findElement(By.className('kokopu-focusField'));
67
+ const focusFieldElements = await element.findElements(By.className('kokopu-focusField'));
68
+
69
+ // Handle components for which no interaction is defined.
70
+ if (focusFieldElements.length === 0) {
71
+ test.value('').is(expectedOnGoFirst);
72
+ test.value('').is(expectedOnGoPrevious);
73
+ test.value('').is(expectedOnGoNext);
74
+ test.value('').is(expectedOnGoLast);
75
+ test.value('').is(expectedOnExit);
76
+ return;
77
+ }
78
+
79
+ test.value(focusFieldElements.length).is(1);
80
+ const focusFieldElement = focusFieldElements[0];
67
81
 
68
82
  await setSandbox(browserContext, '');
69
83
  await focusFieldElement.sendKeys(Key.HOME);
@@ -81,20 +95,30 @@ describeWithBrowser('Movetext interaction', browserContext => {
81
95
  await focusFieldElement.sendKeys(Key.END);
82
96
  await compareSandbox(browserContext, expectedOnGoLast);
83
97
 
98
+ await setSandbox(browserContext, '');
99
+ await focusFieldElement.sendKeys(Key.ESCAPE);
100
+ await compareSandbox(browserContext, expectedOnExit);
101
+
84
102
  await setSandbox(browserContext, '');
85
103
  await focusFieldElement.sendKeys(Key.ARROW_UP);
86
104
  await compareSandbox(browserContext, '');
87
105
  });
88
106
  }
89
107
 
90
- itCheckKeyboardActions(1, 'key on unselected', '', '', '', '');
91
- itCheckKeyboardActions(2, 'key on with variations 1', tpl('start', 'key-first'), tpl('1b-v0-2b', 'key-previous'), tpl('1b-v0-3w-v0-3b', 'key-next'), tpl('1b-v0-3w-v0-4w', 'key-last'));
92
- itCheckKeyboardActions(3, 'key on with variations 2', tpl('start', 'key-first'), tpl('1b-v0-2w', 'key-previous'), tpl('1b-v0-3w', 'key-next'), tpl('1b-v0-3w', 'key-last'));
93
- itCheckKeyboardActions(4, 'key on start selected', '', '', tpl('1w', 'key-next'), tpl('6b', 'key-last'));
94
- itCheckKeyboardActions(5, 'key on first selected', tpl('start', 'key-first'), tpl('start', 'key-previous'), tpl('1b', 'key-next'), tpl('6b', 'key-last'));
95
- itCheckKeyboardActions(6, 'key on last selected', tpl('start', 'key-first'), tpl('6w', 'key-previous'), '', '');
96
- itCheckKeyboardActions(7, 'key on invalid selection', '', '', '', '');
97
- itCheckKeyboardActions(8, 'key on sub-variation selected', tpl('start', 'key-first'), tpl('1w', 'key-previous'), tpl('1b-v0-1b', 'key-next'), tpl('1b-v0-3w', 'key-last'));
108
+ const TPL_EXIT = tpl(undefined, 'key-exit');
109
+
110
+ itCheckKeyboardActions(0, 'key on disabled', '', '', '', '', '');
111
+ itCheckKeyboardActions(1, 'key on unselected', '', '', '', '', '');
112
+ itCheckKeyboardActions(2, 'key on with variations 1', tpl('start', 'key-first'), tpl('1b-v0-2b', 'key-previous'), tpl('1b-v0-3w-v0-3b', 'key-next'),
113
+ tpl('1b-v0-3w-v0-4w', 'key-last'), TPL_EXIT);
114
+ itCheckKeyboardActions(3, 'key on with variations 2', tpl('start', 'key-first'), tpl('1b-v0-2w', 'key-previous'), tpl('1b-v0-3w', 'key-next'),
115
+ tpl('1b-v0-3w', 'key-last'), TPL_EXIT);
116
+ itCheckKeyboardActions(4, 'key on start selected', '', '', tpl('1w', 'key-next'), tpl('6b', 'key-last'), TPL_EXIT);
117
+ itCheckKeyboardActions(5, 'key on first selected', tpl('start', 'key-first'), tpl('start', 'key-previous'), tpl('1b', 'key-next'), tpl('6b', 'key-last'), TPL_EXIT);
118
+ itCheckKeyboardActions(6, 'key on last selected', tpl('start', 'key-first'), tpl('6w', 'key-previous'), '', '', TPL_EXIT);
119
+ itCheckKeyboardActions(7, 'key on invalid selection', '', '', '', '', '');
120
+ itCheckKeyboardActions(8, 'key on sub-variation selected', tpl('start', 'key-first'), tpl('1w', 'key-previous'), tpl('1b-v0-1b', 'key-next'),
121
+ tpl('1b-v0-3w', 'key-last'), TPL_EXIT);
98
122
 
99
123
  itChecksScreenshots(browserContext, '10_movetext_interaction/error', [
100
124
  'wrong interaction mode',