cm-chessboard 7.9.1 → 7.10.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/README.md CHANGED
@@ -88,25 +88,26 @@ Below is the default configuration
88
88
 
89
89
  ```javascript
90
90
  this.props = {
91
- position: FEN.empty, // set position as fen, use FEN.start or FEN.empty as shortcuts
92
- orientation: COLOR.white, // white on bottom
93
- responsive: true, // resize the board automatically to the size of the context element
94
- language: navigator.language.substring(0, 2).toLowerCase(), // supports "de" and "en" for now, used for pieces naming
95
- assetsUrl: "./assets/", // put all css and sprites in this folder, will be ignored for absolute urls of assets files
96
- assetsCache: true, // cache sprites
97
- style: {
98
- cssClass: "default", // set the css theme of the board, try "green", "blue" or "chess-club"
99
- showCoordinates: true, // show ranks and files
100
- borderType: BORDER_TYPE.none, // "thin" thin border, "frame" wide border with coordinates in it, "none" no border
101
- aspectRatio: 1, // height/width of the board
102
- pieces: {
103
- type: PIECES_FILE_TYPE.svgSprite, // pieces are in an SVG sprite, no other type supported for now
104
- file: "pieces/standard.svg", // the filename of the sprite in `assetsUrl` or an absolute url like `https://…` or `/…`
105
- tileSize: 40 // the tile size in the sprite
106
- },
107
- animationDuration: 300 // pieces animation duration in milliseconds. Disable all animations with `0`.
91
+ position: FEN.empty, // set position as fen, use FEN.start or FEN.empty as shortcuts
92
+ orientation: COLOR.white, // white on bottom
93
+ responsive: true, // resize the board automatically to the size of the context element
94
+ language: navigator.language.substring(0, 2).toLowerCase(), // supports "de" and "en" for now, used for pieces naming
95
+ assetsUrl: "./assets/", // put all css and sprites in this folder, will be ignored for absolute urls of assets files
96
+ assetsCache: true, // cache sprites
97
+ style: {
98
+ cssClass: "default", // set the css theme of the board, try "green", "blue" or "chess-club"
99
+ showCoordinates: true, // show ranks and files
100
+ borderType: BORDER_TYPE.none, // "thin" thin border, "frame" wide border with coordinates in it, "none" no border
101
+ aspectRatio: 1, // height/width of the board
102
+ pieces: {
103
+ type: PIECES_FILE_TYPE.svgSprite, // pieces are in an SVG sprite, no other type supported for now
104
+ file: "pieces/standard.svg", // the filename of the sprite in `assets/pieces/` or an absolute url like `https://…` or `/…`
105
+ tileSize: 40 // the tile size in the sprite
108
106
  },
109
- extensions: [ /* {class: ExtensionClass, props: { ... }} */] // add extensions here
107
+ // pieces animation duration in milliseconds. Disable all animations with `0`. Respects the operating system settings for reduced motion.
108
+ animationDuration: window.matchMedia("(prefers-reduced-motion: reduce)").matches ? 0 : 300
109
+ },
110
+ extensions: [ /* {class: ExtensionClass, props: { ... }} */] // add extensions here
110
111
  }
111
112
  ```
112
113
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cm-chessboard",
3
- "version": "7.9.1",
3
+ "version": "7.10.0",
4
4
  "description": "A JavaScript chessboard which is lightweight, ES6 module based, responsive, SVG rendered and without dependencies.",
5
5
  "keywords": [
6
6
  "chess",
package/src/Chessboard.js CHANGED
@@ -70,7 +70,8 @@ export class Chessboard {
70
70
  file: "pieces/standard.svg", // the filename of the sprite in `assets/pieces/` or an absolute url like `https://…` or `/…`
71
71
  tileSize: 40 // the tile size in the sprite
72
72
  },
73
- animationDuration: 300 // pieces animation duration in milliseconds. Disable all animations with `0`.
73
+ // pieces animation duration in milliseconds. Disable all animations with `0`. Respects the operating system settings for reduced motion.
74
+ animationDuration: window.matchMedia("(prefers-reduced-motion: reduce)").matches ? 0 : 300
74
75
  },
75
76
  extensions: [ /* {class: ExtensionClass, props: { ... }} */] // add extensions here
76
77
  }