@vue-skuilder/courseware 0.1.8-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 (186) hide show
  1. package/dist/CourseWare.d.ts +18 -0
  2. package/dist/CourseWare.d.ts.map +1 -0
  3. package/dist/assets/index.css +1 -0
  4. package/dist/chess/chessUtils.d.ts +17 -0
  5. package/dist/chess/chessUtils.d.ts.map +1 -0
  6. package/dist/chess/chessground/anim.d.ts +18 -0
  7. package/dist/chess/chessground/anim.d.ts.map +1 -0
  8. package/dist/chess/chessground/api.d.ts +29 -0
  9. package/dist/chess/chessground/api.d.ts.map +1 -0
  10. package/dist/chess/chessground/autoPieces.d.ts +4 -0
  11. package/dist/chess/chessground/autoPieces.d.ts.map +1 -0
  12. package/dist/chess/chessground/board.d.ts +26 -0
  13. package/dist/chess/chessground/board.d.ts.map +1 -0
  14. package/dist/chess/chessground/chessground.d.ts +8 -0
  15. package/dist/chess/chessground/chessground.d.ts.map +1 -0
  16. package/dist/chess/chessground/config.d.ts +88 -0
  17. package/dist/chess/chessground/config.d.ts.map +1 -0
  18. package/dist/chess/chessground/drag.d.ts +21 -0
  19. package/dist/chess/chessground/drag.d.ts.map +1 -0
  20. package/dist/chess/chessground/draw.d.ts +66 -0
  21. package/dist/chess/chessground/draw.d.ts.map +1 -0
  22. package/dist/chess/chessground/drop.d.ts +6 -0
  23. package/dist/chess/chessground/drop.d.ts.map +1 -0
  24. package/dist/chess/chessground/events.d.ts +5 -0
  25. package/dist/chess/chessground/events.d.ts.map +1 -0
  26. package/dist/chess/chessground/explosion.d.ts +4 -0
  27. package/dist/chess/chessground/explosion.d.ts.map +1 -0
  28. package/dist/chess/chessground/fen.d.ts +5 -0
  29. package/dist/chess/chessground/fen.d.ts.map +1 -0
  30. package/dist/chess/chessground/premove.d.ts +7 -0
  31. package/dist/chess/chessground/premove.d.ts.map +1 -0
  32. package/dist/chess/chessground/render.d.ts +5 -0
  33. package/dist/chess/chessground/render.d.ts.map +1 -0
  34. package/dist/chess/chessground/state.d.ts +101 -0
  35. package/dist/chess/chessground/state.d.ts.map +1 -0
  36. package/dist/chess/chessground/svg.d.ts +9 -0
  37. package/dist/chess/chessground/svg.d.ts.map +1 -0
  38. package/dist/chess/chessground/sync.d.ts +9 -0
  39. package/dist/chess/chessground/sync.d.ts.map +1 -0
  40. package/dist/chess/chessground/types.d.ts +94 -0
  41. package/dist/chess/chessground/types.d.ts.map +1 -0
  42. package/dist/chess/chessground/util.d.ts +21 -0
  43. package/dist/chess/chessground/util.d.ts.map +1 -0
  44. package/dist/chess/chessground/wrap.d.ts +4 -0
  45. package/dist/chess/chessground/wrap.d.ts.map +1 -0
  46. package/dist/chess/components/ChessBoard.vue.d.ts +48 -0
  47. package/dist/chess/components/ChessBoard.vue.d.ts.map +1 -0
  48. package/dist/chess/components/types.d.ts +11 -0
  49. package/dist/chess/components/types.d.ts.map +1 -0
  50. package/dist/chess/composables/useChessEngine.d.ts +303 -0
  51. package/dist/chess/composables/useChessEngine.d.ts.map +1 -0
  52. package/dist/chess/composables/usePromotionDialog.d.ts +38 -0
  53. package/dist/chess/composables/usePromotionDialog.d.ts.map +1 -0
  54. package/dist/chess/index.d.ts +4 -0
  55. package/dist/chess/index.d.ts.map +1 -0
  56. package/dist/chess/questions/forks/forksView.vue.d.ts +52 -0
  57. package/dist/chess/questions/forks/forksView.vue.d.ts.map +1 -0
  58. package/dist/chess/questions/forks/index.d.ts +86 -0
  59. package/dist/chess/questions/forks/index.d.ts.map +1 -0
  60. package/dist/chess/questions/puzzle/index.d.ts +25 -0
  61. package/dist/chess/questions/puzzle/index.d.ts.map +1 -0
  62. package/dist/chess/questions/puzzle/puzzle.vue.d.ts +55 -0
  63. package/dist/chess/questions/puzzle/puzzle.vue.d.ts.map +1 -0
  64. package/dist/components/MusicScoreRender.vue.d.ts +13 -0
  65. package/dist/components/MusicScoreRender.vue.d.ts.map +1 -0
  66. package/dist/default/index.d.ts +4 -0
  67. package/dist/default/index.d.ts.map +1 -0
  68. package/dist/default/questions/fillIn/blanksCorrection.d.ts +3 -0
  69. package/dist/default/questions/fillIn/blanksCorrection.d.ts.map +1 -0
  70. package/dist/default/questions/fillIn/fillIn.vue.d.ts +41 -0
  71. package/dist/default/questions/fillIn/fillIn.vue.d.ts.map +1 -0
  72. package/dist/default/questions/fillIn/index.d.ts +105 -0
  73. package/dist/default/questions/fillIn/index.d.ts.map +1 -0
  74. package/dist/french/index.d.ts +4 -0
  75. package/dist/french/index.d.ts.map +1 -0
  76. package/dist/french/questions/audioparse/index.d.ts +65 -0
  77. package/dist/french/questions/audioparse/index.d.ts.map +1 -0
  78. package/dist/french/questions/audioparse/view.vue.d.ts +31 -0
  79. package/dist/french/questions/audioparse/view.vue.d.ts.map +1 -0
  80. package/dist/french/questions/vocab/identify.vue.d.ts +27 -0
  81. package/dist/french/questions/vocab/identify.vue.d.ts.map +1 -0
  82. package/dist/french/questions/vocab/index.d.ts +54 -0
  83. package/dist/french/questions/vocab/index.d.ts.map +1 -0
  84. package/dist/index.cjs.js +75 -0
  85. package/dist/index.cjs.js.map +1 -0
  86. package/dist/index.d.ts +86 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.mjs +63128 -0
  89. package/dist/index.mjs.map +1 -0
  90. package/dist/math/index.d.ts +4 -0
  91. package/dist/math/index.d.ts.map +1 -0
  92. package/dist/math/questions/addition/horizontal.vue.d.ts +46 -0
  93. package/dist/math/questions/addition/horizontal.vue.d.ts.map +1 -0
  94. package/dist/math/questions/addition/index.d.ts +24 -0
  95. package/dist/math/questions/addition/index.d.ts.map +1 -0
  96. package/dist/math/questions/addition/verbal.vue.d.ts +46 -0
  97. package/dist/math/questions/addition/verbal.vue.d.ts.map +1 -0
  98. package/dist/math/questions/angleCategorize/angleCategorize.vue.d.ts +30 -0
  99. package/dist/math/questions/angleCategorize/angleCategorize.vue.d.ts.map +1 -0
  100. package/dist/math/questions/angleCategorize/index.d.ts +76 -0
  101. package/dist/math/questions/angleCategorize/index.d.ts.map +1 -0
  102. package/dist/math/questions/countBy/default.vue.d.ts +29 -0
  103. package/dist/math/questions/countBy/default.vue.d.ts.map +1 -0
  104. package/dist/math/questions/countBy/index.d.ts +81 -0
  105. package/dist/math/questions/countBy/index.d.ts.map +1 -0
  106. package/dist/math/questions/division/horizontal.vue.d.ts +31 -0
  107. package/dist/math/questions/division/horizontal.vue.d.ts.map +1 -0
  108. package/dist/math/questions/division/index.d.ts +75 -0
  109. package/dist/math/questions/division/index.d.ts.map +1 -0
  110. package/dist/math/questions/equalityTest/index.d.ts +77 -0
  111. package/dist/math/questions/equalityTest/index.d.ts.map +1 -0
  112. package/dist/math/questions/equalityTest/trueFalse.vue.d.ts +33 -0
  113. package/dist/math/questions/equalityTest/trueFalse.vue.d.ts.map +1 -0
  114. package/dist/math/questions/multiplication/blorizontal.vue.d.ts +31 -0
  115. package/dist/math/questions/multiplication/blorizontal.vue.d.ts.map +1 -0
  116. package/dist/math/questions/multiplication/index.d.ts +71 -0
  117. package/dist/math/questions/multiplication/index.d.ts.map +1 -0
  118. package/dist/math/questions/multiplication/verbal.vue.d.ts +31 -0
  119. package/dist/math/questions/multiplication/verbal.vue.d.ts.map +1 -0
  120. package/dist/math/questions/oneStepEqn/index.d.ts +82 -0
  121. package/dist/math/questions/oneStepEqn/index.d.ts.map +1 -0
  122. package/dist/math/questions/oneStepEqn/solve.vue.d.ts +32 -0
  123. package/dist/math/questions/oneStepEqn/solve.vue.d.ts.map +1 -0
  124. package/dist/math/questions/supplementaryAngles/index.d.ts +72 -0
  125. package/dist/math/questions/supplementaryAngles/index.d.ts.map +1 -0
  126. package/dist/math/questions/supplementaryAngles/supplementaryAngles.vue.d.ts +31 -0
  127. package/dist/math/questions/supplementaryAngles/supplementaryAngles.vue.d.ts.map +1 -0
  128. package/dist/math/utility/Fraction.d.ts +18 -0
  129. package/dist/math/utility/Fraction.d.ts.map +1 -0
  130. package/dist/math/utility/index.d.ts +19 -0
  131. package/dist/math/utility/index.d.ts.map +1 -0
  132. package/dist/piano/NoteDisplay.vue.d.ts +25 -0
  133. package/dist/piano/NoteDisplay.vue.d.ts.map +1 -0
  134. package/dist/piano/index.d.ts +4 -0
  135. package/dist/piano/index.d.ts.map +1 -0
  136. package/dist/piano/questions/echo/Playback.vue.d.ts +369 -0
  137. package/dist/piano/questions/echo/Playback.vue.d.ts.map +1 -0
  138. package/dist/piano/questions/echo/index.d.ts +744 -0
  139. package/dist/piano/questions/echo/index.d.ts.map +1 -0
  140. package/dist/piano/questions/playNote/NotePlayback.vue.d.ts +208 -0
  141. package/dist/piano/questions/playNote/NotePlayback.vue.d.ts.map +1 -0
  142. package/dist/piano/questions/playNote/index.d.ts +419 -0
  143. package/dist/piano/questions/playNote/index.d.ts.map +1 -0
  144. package/dist/piano/utility/MidiConfig.vue.d.ts +113 -0
  145. package/dist/piano/utility/MidiConfig.vue.d.ts.map +1 -0
  146. package/dist/piano/utility/PianoRangeVisualizer.vue.d.ts +41 -0
  147. package/dist/piano/utility/PianoRangeVisualizer.vue.d.ts.map +1 -0
  148. package/dist/piano/utility/SyllableSeqVis.vue.d.ts +36 -0
  149. package/dist/piano/utility/SyllableSeqVis.vue.d.ts.map +1 -0
  150. package/dist/piano/utility/midi.d.ts +82 -0
  151. package/dist/piano/utility/midi.d.ts.map +1 -0
  152. package/dist/pitch/index.d.ts +4 -0
  153. package/dist/pitch/index.d.ts.map +1 -0
  154. package/dist/pitch/questions/indentify/index.d.ts +76 -0
  155. package/dist/pitch/questions/indentify/index.d.ts.map +1 -0
  156. package/dist/pitch/questions/indentify/textBox.vue.d.ts +31 -0
  157. package/dist/pitch/questions/indentify/textBox.vue.d.ts.map +1 -0
  158. package/dist/sightsing/index.d.ts +4 -0
  159. package/dist/sightsing/index.d.ts.map +1 -0
  160. package/dist/sightsing/questions/IdentifyKey/IdentifyKey.vue.d.ts +43 -0
  161. package/dist/sightsing/questions/IdentifyKey/IdentifyKey.vue.d.ts.map +1 -0
  162. package/dist/sightsing/questions/IdentifyKey/index.d.ts +117 -0
  163. package/dist/sightsing/questions/IdentifyKey/index.d.ts.map +1 -0
  164. package/dist/typing/index.d.ts +4 -0
  165. package/dist/typing/index.d.ts.map +1 -0
  166. package/dist/typing/questions/falling-letters/FallingLetters.vue.d.ts +62 -0
  167. package/dist/typing/questions/falling-letters/FallingLetters.vue.d.ts.map +1 -0
  168. package/dist/typing/questions/falling-letters/index.d.ts +144 -0
  169. package/dist/typing/questions/falling-letters/index.d.ts.map +1 -0
  170. package/dist/typing/questions/falling-letters/types.d.ts +13 -0
  171. package/dist/typing/questions/falling-letters/types.d.ts.map +1 -0
  172. package/dist/typing/questions/single-letter/index.d.ts +67 -0
  173. package/dist/typing/questions/single-letter/index.d.ts.map +1 -0
  174. package/dist/typing/questions/single-letter/typeSingleLetter.vue.d.ts +28 -0
  175. package/dist/typing/questions/single-letter/typeSingleLetter.vue.d.ts.map +1 -0
  176. package/dist/word-work/ankiCardGen/data.d.ts +63 -0
  177. package/dist/word-work/ankiCardGen/data.d.ts.map +1 -0
  178. package/dist/word-work/index.d.ts +4 -0
  179. package/dist/word-work/index.d.ts.map +1 -0
  180. package/dist/word-work/questions/spelling/index.d.ts +69 -0
  181. package/dist/word-work/questions/spelling/index.d.ts.map +1 -0
  182. package/dist/word-work/questions/spelling/textBox.vue.d.ts +32 -0
  183. package/dist/word-work/questions/spelling/textBox.vue.d.ts.map +1 -0
  184. package/package.json +60 -0
  185. package/src/logic.d.ts +26 -0
  186. package/src/logic.js +202 -0
@@ -0,0 +1,18 @@
1
+ import { Displayable, ViewComponent } from '../../common-ui/dist/common-ui.es.js';
2
+ export declare class CourseWare {
3
+ get questions(): Array<typeof Displayable>;
4
+ get allViews(): Array<ViewComponent>;
5
+ /**
6
+ * This function returns the map {[index:string]: string} of display
7
+ * components needed by the CardViewer component
8
+ */
9
+ get allViewsMap(): {
10
+ [index: string]: ViewComponent;
11
+ };
12
+ readonly name: string;
13
+ private readonly questionList;
14
+ constructor(name: string, questionList: Array<typeof Displayable>);
15
+ getQuestion(name: string): typeof Displayable | undefined;
16
+ getBaseQTypes(): Array<typeof Displayable>;
17
+ }
18
+ //# sourceMappingURL=CourseWare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseWare.d.ts","sourceRoot":"","sources":["../src/CourseWare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGrE,qBAAa,UAAU;IACrB,IAAW,SAAS,IAAI,KAAK,CAAC,OAAO,WAAW,CAAC,CAEhD;IAED,IAAW,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,CAU1C;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAY3D;IACD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBAE7C,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,WAAW,CAAC;IAO1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,WAAW,GAAG,SAAS;IAkBzD,aAAa,IAAI,KAAK,CAAC,OAAO,WAAW,CAAC;CAMlD"}
@@ -0,0 +1 @@
1
+ canvas[data-v-0aa9252e]{display:block;margin-left:auto;margin-right:auto;padding:10px}img[data-v-0aa9252e]{display:block;margin-left:auto;margin-right:auto;max-width:100%;max-height:60vh;padding:10px}.cg-wrap{box-sizing:content-box;position:relative;display:block}cg-container{position:absolute;width:100%;height:100%;display:block;top:0}cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform;pointer-events:none}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{overflow:hidden;opacity:.6;z-index:2}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg{overflow:visible}.cg-wrap coords{position:absolute;display:flex;pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px}.cg-wrap coords.ranks{left:4px;top:-20px;flex-flow:column-reverse;height:100%;width:12px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{left:-15px;align-items:flex-end}.cg-wrap coords.files{bottom:-4px;left:24px;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:1 1 auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{bottom:0;left:0;text-transform:uppercase;text-align:right;flex-flow:column-reverse;height:100%;width:12.5%}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}cg-board{background-color:#f0d9b5;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==)}cg-board square.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d,#0000 0)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d,#0000 0)}cg-board square.oc.move-dest{background:radial-gradient(transparent 0%,transparent 80%,rgba(20,85,0,.3) 80%)}cg-board square.oc.premove-dest{background:radial-gradient(transparent 0%,transparent 80%,rgba(20,30,85,.2) 80%)}cg-board square.move-dest:hover{background:#14551e4d}cg-board square.premove-dest:hover{background:#141e5533}cg-board square.last-move{background-color:#9bc70069}cg-board square.selected{background-color:#14551e80}cg-board square.check{background:radial-gradient(ellipse at center,red,#e70000 25%,#a9000000 89%,#9e000000)}cg-board square.current-premove{background-color:#141e5580}.cg-wrap coords:nth-child(odd) coord:nth-child(2n),.cg-wrap coords.squares:nth-child(2n) coord:nth-child(odd),.cg-wrap.orientation-black coords.files:nth-child(2n) coord:nth-child(odd),.cg-wrap coords.files:nth-child(2n) coord:nth-child(2n){color:#484848cc}.cg-wrap coords:nth-child(odd) coord:nth-child(odd),.cg-wrap coords.squares:nth-child(2n) coord:nth-child(2n),.cg-wrap.orientation-black coords.files:nth-child(2n) coord:nth-child(2n),.cg-wrap coords.files:nth-child(2n) coord:nth-child(odd){color:#fffc}.cg-wrap piece.pawn.cg-white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.cg-white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.knight.cg-white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.cg-white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.cg-white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.king.cg-white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.pawn.cg-black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.cg-black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+)}.cg-wrap piece.knight.cg-black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.cg-black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.cg-black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+)}.cg-wrap piece.king.cg-black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=)}.puzzle-promotion-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff2;padding:15px;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:1000;display:flex;flex-direction:column;gap:8px}.puzzle-promotion-dialog button{padding:10px 20px;font-size:16px;border:none;background:#f0f0f0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;width:150px}.puzzle-promotion-dialog button:hover{background:#e0e0e0}.puzzle-promotion-dialog button:before{content:attr(data-piece);font-size:24px}.puzzle-board-wrapper{display:flex;align-items:center;width:440px}.puzzle-ranks-labels{display:flex;flex-direction:column;justify-content:center;height:400px;margin-right:10px}.puzzle-ranks-labels.reversed{flex-direction:column-reverse}.puzzle-ranks-labels div{height:50px;display:flex;align-items:center;justify-content:center}.puzzle-board-and-files{display:flex;flex-direction:column}.puzzle-files-labels{display:flex;justify-content:center;height:20px}.puzzle-files-labels.reversed{flex-direction:row-reverse}.puzzle-files-labels div{width:50px;display:flex;align-items:center;justify-content:center}#cg{width:400px;height:400px}#canvas[data-v-57f16e4a]{display:block;margin-left:auto;margin-right:auto}canvas[data-v-4f8ac466]{display:block;margin-left:auto;margin-right:auto;padding:10px}input[data-v-0452c3a5]{width:3em;border-style:solid;border-bottom-color:#000;border-width:1px;text-align:center}.incorrect[data-v-0452c3a5]{box-shadow:0 0 5px #b4005f}.correct[data-v-0452c3a5]{box-shadow:0 0 5px green}svg[data-v-2f79c080]{border:1px}@keyframes progress{0%{width:0%}to{width:100%}}.progressContainer{background-color:#eee;height:5px}#progress{background-color:#00f;width:100%;height:5px;animation-timing-function:linear}.hidden{opacity:0}#abc{width:100%;height:100%}.letter-display[data-v-4ae4db54]{font-size:48px;font-weight:700;font-family:monospace;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;box-shadow:0 2px #dee2e6,0 3px 3px #0003;margin:20px auto;color:#333;text-transform:uppercase}.letter-display.pressed[data-v-4ae4db54]{box-shadow:0 0 #dee2e6,0 1px 2px #0003;transform:translateY(2px)}.game-container[data-v-3c9f2af5]{width:100%;height:400px;position:relative}.game-area[data-v-3c9f2af5]{z-index:0;width:100%;height:100%;background-color:#87ceeb;border:2px solid #dee2e6;border-radius:8px;position:relative;overflow:hidden}.grass-container[data-v-3c9f2af5]{position:absolute;bottom:0;left:0;width:100%;height:40px;overflow:hidden;z-index:3}.grass[data-v-3c9f2af5]{position:absolute;bottom:0;left:0;width:100%;height:30px;background-color:#4caf50;border-top:2px solid #388e3c}.grass-overlay[data-v-3c9f2af5]{z-index:3;position:absolute;bottom:0;left:0;width:100%;height:40px;background:repeating-linear-gradient(80deg,transparent,transparent 5px,rgba(76,175,80,.8) 5px,rgba(76,175,80,.8) 10px),repeating-linear-gradient(-80deg,transparent,transparent 5px,rgba(76,175,80,.8) 5px,rgba(76,175,80,.8) 10px)}.falling-letter[data-v-3c9f2af5]{position:absolute;width:40px;height:45px;z-index:1;transition:top 16ms linear}.meteor-effect[data-v-3c9f2af5]{position:absolute;width:100%;height:100%;background:radial-gradient(circle at 40% 40%,#ff6b6b,#c92a2a);border-radius:50%;box-shadow:0 0 10px #ff8f8f,0 0 20px #ff6b6b,0 0 30px #c92a2a,0 4px 8px #0006;animation:meteorSpin-3c9f2af5 1s linear infinite}.meteor-effect[data-v-3c9f2af5]:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:2px;height:20px;background:linear-gradient(to top,rgba(255,107,107,.8),rgba(255,107,107,.4),transparent);filter:blur(1px)}.meteor-effect[data-v-3c9f2af5]:after{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:15px;height:15px;background:radial-gradient(circle at center,rgba(255,255,255,.8),rgba(255,143,143,.4),transparent);filter:blur(2px)}.letter-text[data-v-3c9f2af5]{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.5),0 0 8px rgba(0,0,0,.3);z-index:1}@keyframes meteorSpin-3c9f2af5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats[data-v-3c9f2af5]{position:absolute;top:10px;left:10px;z-index:1;font-size:18px;color:#333;background-color:#fffc;padding:5px 10px;border-radius:4px;z-index:4}.game-over[data-v-3c9f2af5]{z-index:3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-weight:700;color:#333;background-color:#ffffffe6;padding:20px;border-radius:8px;z-index:4}.time[data-v-3c9f2af5],.score[data-v-3c9f2af5]{margin:5px 0}.trees[data-v-3c9f2af5]{position:absolute;bottom:20px;width:100%;height:0;z-index:2}.tree[data-v-3c9f2af5]{position:absolute;bottom:0;transform-origin:bottom center}.tree-crown[data-v-3c9f2af5]{z-index:2;position:absolute;bottom:15px;left:50%;transform:translate(-50%);width:30px;height:40px;background:radial-gradient(circle at 50% 25%,#2d5a27,#1a472a);border-radius:50% 50% 20% 20%;box-shadow:-2px 3px #1a472a,2px 3px #1a472a}.tree-trunk[data-v-3c9f2af5]{z-index:2;position:absolute;bottom:0;left:50%;transform:translate(-50%);width:6px;height:15px;background:linear-gradient(to right,#3e2723 20%,#5d4037,#3e2723 80%);border-radius:2px}.grass[data-v-3c9f2af5],.grass-overlay[data-v-3c9f2af5]{z-index:3}.explosion[data-v-3c9f2af5]{position:absolute;width:40px;height:40px;pointer-events:none;z-index:2}.particle[data-v-3c9f2af5]{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:linear-gradient(to right,#ff8f8f,#ff6b6b);box-shadow:0 0 10px #ff6b6b,0 0 20px #ff8f8f;animation:explode-3c9f2af5 .3s ease-out forwards}@keyframes explode-3c9f2af5{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(0) rotate(45deg);opacity:0}}.particle[data-v-3c9f2af5]:nth-child(1){transform:rotate(0) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(2){transform:rotate(30deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(3){transform:rotate(60deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(4){transform:rotate(90deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(5){transform:rotate(120deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(6){transform:rotate(150deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(7){transform:rotate(180deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(8){transform:rotate(210deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(9){transform:rotate(240deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(10){transform:rotate(270deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(11){transform:rotate(300deg) translate(20px)}.particle[data-v-3c9f2af5]:nth-child(12){transform:rotate(330deg) translate(20px)}.piano-range-container[data-v-4b232a8b]{margin:20px 0}.piano-wrapper[data-v-4b232a8b]{width:100%;overflow-x:hidden;margin:10px 0}.piano-svg[data-v-4b232a8b]{display:block;width:100%;height:auto}.white-key[data-v-4b232a8b]{fill:#fff}.black-key[data-v-4b232a8b]{fill:#333}.white-key.active[data-v-4b232a8b]{fill:#e6f2ff}.black-key.active[data-v-4b232a8b]{fill:#1a1a1a}.range-marker[data-v-4b232a8b]{fill:#ff5252}.note-label[data-v-4b232a8b]{font-size:12px;fill:#333;font-weight:700}.save-button[data-v-6ee9020f]{transition:opacity .5s ease-out;opacity:1}.save-button.v-btn--disabled[data-v-6ee9020f]:not(.v-btn--loading){opacity:0}
@@ -0,0 +1,17 @@
1
+ import { Color, Piece as cjsPiece, Square } from 'chess.js';
2
+ import { Color as CGColor, Piece as cgPiece } from './chessground/types';
3
+ export default class ChessUtils {
4
+ static getRandomCjsSquare(): Square;
5
+ static getRandomCjsPiece(): cjsPiece;
6
+ static getRandomCjsColor(): Color;
7
+ static asCgPiece(piece: cjsPiece | cgPiece): cgPiece;
8
+ static asCjsPiece(piece: cjsPiece | cgPiece): cjsPiece;
9
+ static getRandomCGColor(): CGColor;
10
+ static oppositeCjsColor(color: Color): Color;
11
+ static oppositeCGColor(color: CGColor): CGColor;
12
+ static toCjsColor(color: CGColor): Color;
13
+ static toCGColor(color: Color): CGColor;
14
+ static cjsPieceToString(p: cjsPiece): string;
15
+ static toMove(fen: string): CGColor;
16
+ }
17
+ //# sourceMappingURL=chessUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chessUtils.d.ts","sourceRoot":"","sources":["../../src/chess/chessUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAe,MAAM,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAgEzF,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAMnC,MAAM,CAAC,iBAAiB,IAAI,QAAQ;IAKpC,MAAM,CAAC,iBAAiB,IAAI,KAAK;IAIjC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO;IAYpD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ;IAYtD,MAAM,CAAC,gBAAgB,IAAI,OAAO;IAIlC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAG5C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK;IAGxC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIvC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM;IAuB5C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAKpC"}
@@ -0,0 +1,18 @@
1
+ import { State } from './state';
2
+ import * as cg from './types';
3
+ export type Mutation<A> = (state: State) => A;
4
+ export type AnimVector = cg.NumberQuad;
5
+ export type AnimVectors = Map<cg.Key, AnimVector>;
6
+ export type AnimFadings = Map<cg.Key, cg.Piece>;
7
+ export interface AnimPlan {
8
+ anims: AnimVectors;
9
+ fadings: AnimFadings;
10
+ }
11
+ export interface AnimCurrent {
12
+ start: DOMHighResTimeStamp;
13
+ frequency: cg.KHz;
14
+ plan: AnimPlan;
15
+ }
16
+ export declare const anim: <A>(mutation: Mutation<A>, state: State) => A;
17
+ export declare function render<A>(mutation: Mutation<A>, state: State): A;
18
+ //# sourceMappingURL=anim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anim.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/anim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;AAI9C,MAAM,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,KAAG,CACgB,CAAC;AAE/E,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAIhE"}
@@ -0,0 +1,29 @@
1
+ import { State } from './state';
2
+ import { Config } from './config';
3
+ import { DrawShape } from './draw';
4
+ import * as cg from './types';
5
+ export interface Api {
6
+ set(config: Config): void;
7
+ state: State;
8
+ getFen(): cg.FEN;
9
+ toggleOrientation(): void;
10
+ move(orig: cg.Key, dest: cg.Key): void;
11
+ setPieces(pieces: cg.PiecesDiff): void;
12
+ selectSquare(key: cg.Key | null, force?: boolean): void;
13
+ newPiece(piece: cg.Piece, key: cg.Key): void;
14
+ playPremove(): boolean;
15
+ cancelPremove(): void;
16
+ playPredrop(validate: (drop: cg.Drop) => boolean): boolean;
17
+ cancelPredrop(): void;
18
+ cancelMove(): void;
19
+ stop(): void;
20
+ explode(keys: cg.Key[]): void;
21
+ setShapes(shapes: DrawShape[]): void;
22
+ setAutoShapes(shapes: DrawShape[]): void;
23
+ getKeyAtDomPos(pos: cg.NumberPair): cg.Key | undefined;
24
+ redrawAll: cg.Redraw;
25
+ dragNewPiece(piece: cg.Piece, event: cg.MouchEvent, force?: boolean): void;
26
+ destroy: cg.Unbind;
27
+ }
28
+ export declare function start(state: State, redrawAll: cg.Redraw): Api;
29
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,GAAG;IAGlB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,KAAK,EAAE,KAAK,CAAC;IAIb,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC;IAGjB,iBAAiB,IAAI,IAAI,CAAC;IAG1B,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC;IAGvC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;IAGvC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAGxD,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC;IAG7C,WAAW,IAAI,OAAO,CAAC;IAGvB,aAAa,IAAI,IAAI,CAAC;IAGtB,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,GAAG,OAAO,CAAC;IAG3D,aAAa,IAAI,IAAI,CAAC;IAGtB,UAAU,IAAI,IAAI,CAAC;IAGnB,IAAI,IAAI,IAAI,CAAC;IAGb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAG9B,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAGrC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAGzC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC;IAGvD,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC;IAGrB,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAI3E,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC;CACpB;AAGD,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,GAAG,GAAG,CA2G7D"}
@@ -0,0 +1,4 @@
1
+ import { State } from './state';
2
+ export declare function render(state: State, autoPieceEl: HTMLElement): void;
3
+ export declare function renderResized(state: State): void;
4
+ //# sourceMappingURL=autoPieces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoPieces.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/autoPieces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOhC,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAWnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAQhD"}
@@ -0,0 +1,26 @@
1
+ import { HeadlessState } from './state';
2
+ import * as cg from './types';
3
+ export declare function callUserFunction<T extends (...args: any[]) => void>(f: T | undefined, ...args: Parameters<T>): void;
4
+ export declare function toggleOrientation(state: HeadlessState): void;
5
+ export declare function reset(state: HeadlessState): void;
6
+ export declare function setPieces(state: HeadlessState, pieces: cg.PiecesDiff): void;
7
+ export declare function setCheck(state: HeadlessState, color: cg.Color | boolean): void;
8
+ export declare function unsetPremove(state: HeadlessState): void;
9
+ export declare function unsetPredrop(state: HeadlessState): void;
10
+ export declare function baseMove(state: HeadlessState, orig: cg.Key, dest: cg.Key): cg.Piece | boolean;
11
+ export declare function baseNewPiece(state: HeadlessState, piece: cg.Piece, key: cg.Key, force?: boolean): boolean;
12
+ export declare function userMove(state: HeadlessState, orig: cg.Key, dest: cg.Key): boolean;
13
+ export declare function dropNewPiece(state: HeadlessState, orig: cg.Key, dest: cg.Key, force?: boolean): void;
14
+ export declare function selectSquare(state: HeadlessState, key: cg.Key, force?: boolean): void;
15
+ export declare function setSelected(state: HeadlessState, key: cg.Key): void;
16
+ export declare function unselect(state: HeadlessState): void;
17
+ export declare const canMove: (state: HeadlessState, orig: cg.Key, dest: cg.Key) => boolean;
18
+ export declare function isDraggable(state: HeadlessState, orig: cg.Key): boolean;
19
+ export declare function playPremove(state: HeadlessState): boolean;
20
+ export declare function playPredrop(state: HeadlessState, validate: (drop: cg.Drop) => boolean): boolean;
21
+ export declare function cancelMove(state: HeadlessState): void;
22
+ export declare function stop(state: HeadlessState): void;
23
+ export declare function getKeyAtDomPos(pos: cg.NumberPair, asWhite: boolean, bounds: DOMRectReadOnly): cg.Key | undefined;
24
+ export declare function getSnappedKeyAtDomPos(orig: cg.Key, pos: cg.NumberPair, asWhite: boolean, bounds: DOMRectReadOnly): cg.Key | undefined;
25
+ export declare const whitePov: (s: HeadlessState) => boolean;
26
+ //# sourceMappingURL=board.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/board.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Api } from './api';
2
+ import { Config } from './config';
3
+ export declare function initModule({ el, config }: {
4
+ el: HTMLElement;
5
+ config?: Config;
6
+ }): Api;
7
+ export declare function Chessground(element: HTMLElement, config?: Config): Api;
8
+ //# sourceMappingURL=chessground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chessground.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/chessground.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAU7C,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAEpF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAuCtE"}
@@ -0,0 +1,88 @@
1
+ import { HeadlessState } from './state';
2
+ import { DrawShape, DrawBrushes } from './draw';
3
+ import * as cg from './types';
4
+ export interface Config {
5
+ fen?: cg.FEN;
6
+ orientation?: cg.Color;
7
+ turnColor?: cg.Color;
8
+ check?: cg.Color | boolean;
9
+ lastMove?: cg.Key[];
10
+ selected?: cg.Key;
11
+ coordinates?: boolean;
12
+ coordinatesOnSquares?: boolean;
13
+ autoCastle?: boolean;
14
+ viewOnly?: boolean;
15
+ disableContextMenu?: boolean;
16
+ addPieceZIndex?: boolean;
17
+ addDimensionsCssVarsTo?: HTMLElement;
18
+ blockTouchScroll?: boolean;
19
+ trustAllEvents?: boolean;
20
+ highlight?: {
21
+ lastMove?: boolean;
22
+ check?: boolean;
23
+ custom?: cg.SquareClasses;
24
+ };
25
+ animation?: {
26
+ enabled?: boolean;
27
+ duration?: number;
28
+ };
29
+ movable?: {
30
+ free?: boolean;
31
+ color?: cg.Color | 'both';
32
+ dests?: cg.Dests;
33
+ showDests?: boolean;
34
+ events?: {
35
+ after?: (orig: cg.Key, dest: cg.Key, metadata: cg.MoveMetadata) => void;
36
+ afterNewPiece?: (role: cg.Role, key: cg.Key, metadata: cg.MoveMetadata) => void;
37
+ };
38
+ rookCastle?: boolean;
39
+ };
40
+ premovable?: {
41
+ enabled?: boolean;
42
+ showDests?: boolean;
43
+ castle?: boolean;
44
+ dests?: cg.Key[];
45
+ customDests?: cg.Dests;
46
+ events?: {
47
+ set?: (orig: cg.Key, dest: cg.Key, metadata?: cg.SetPremoveMetadata) => void;
48
+ unset?: () => void;
49
+ };
50
+ };
51
+ predroppable?: {
52
+ enabled?: boolean;
53
+ events?: {
54
+ set?: (role: cg.Role, key: cg.Key) => void;
55
+ unset?: () => void;
56
+ };
57
+ };
58
+ draggable?: {
59
+ enabled?: boolean;
60
+ distance?: number;
61
+ autoDistance?: boolean;
62
+ showGhost?: boolean;
63
+ deleteOnDropOff?: boolean;
64
+ };
65
+ selectable?: {
66
+ enabled?: boolean;
67
+ };
68
+ events?: {
69
+ change?: () => void;
70
+ move?: (orig: cg.Key, dest: cg.Key, capturedPiece?: cg.Piece) => void;
71
+ dropNewPiece?: (piece: cg.Piece, key: cg.Key) => void;
72
+ select?: (key: cg.Key) => void;
73
+ insert?: (elements: cg.Elements) => void;
74
+ };
75
+ drawable?: {
76
+ enabled?: boolean;
77
+ visible?: boolean;
78
+ defaultSnapToValidMove?: boolean;
79
+ eraseOnClick?: boolean;
80
+ shapes?: DrawShape[];
81
+ autoShapes?: DrawShape[];
82
+ brushes?: DrawBrushes;
83
+ onChange?: (shapes: DrawShape[]) => void;
84
+ };
85
+ }
86
+ export declare function applyAnimation(state: HeadlessState, config: Config): void;
87
+ export declare function configure(state: HeadlessState, config: Config): void;
88
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { State } from './state';
2
+ import * as cg from './types';
3
+ export interface DragCurrent {
4
+ orig: cg.Key;
5
+ piece: cg.Piece;
6
+ origPos: cg.NumberPair;
7
+ pos: cg.NumberPair;
8
+ started: boolean;
9
+ element: cg.PieceNode | (() => cg.PieceNode | undefined);
10
+ newPiece?: boolean;
11
+ force?: boolean;
12
+ previouslySelected?: cg.Key;
13
+ originTarget: EventTarget | null;
14
+ keyHasChanged: boolean;
15
+ }
16
+ export declare function start(s: State, e: cg.MouchEvent): void;
17
+ export declare function dragNewPiece(s: State, piece: cg.Piece, e: cg.MouchEvent, force?: boolean): void;
18
+ export declare function move(s: State, e: cg.MouchEvent): void;
19
+ export declare function end(s: State, e: cg.MouchEvent): void;
20
+ export declare function cancel(s: State): void;
21
+ //# sourceMappingURL=drag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;IACb,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;IAC5B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CA8DtD;AAaD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAoB/F;AAqCD,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAKrD;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAoCpD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CASrC"}
@@ -0,0 +1,66 @@
1
+ import { State } from './state';
2
+ import * as cg from './types';
3
+ export interface DrawShape {
4
+ orig: cg.Key;
5
+ dest?: cg.Key;
6
+ brush?: string;
7
+ modifiers?: DrawModifiers;
8
+ piece?: DrawShapePiece;
9
+ customSvg?: {
10
+ html: string;
11
+ center?: 'orig' | 'dest' | 'label';
12
+ };
13
+ label?: {
14
+ text: string;
15
+ fill?: string;
16
+ };
17
+ }
18
+ export interface DrawModifiers {
19
+ lineWidth?: number;
20
+ hilite?: boolean;
21
+ }
22
+ export interface DrawShapePiece {
23
+ role: cg.Role;
24
+ color: cg.Color;
25
+ scale?: number;
26
+ }
27
+ export interface DrawBrush {
28
+ key: string;
29
+ color: string;
30
+ opacity: number;
31
+ lineWidth: number;
32
+ }
33
+ export interface DrawBrushes {
34
+ green: DrawBrush;
35
+ red: DrawBrush;
36
+ blue: DrawBrush;
37
+ yellow: DrawBrush;
38
+ [color: string]: DrawBrush;
39
+ }
40
+ export interface Drawable {
41
+ enabled: boolean;
42
+ visible: boolean;
43
+ defaultSnapToValidMove: boolean;
44
+ eraseOnClick: boolean;
45
+ onChange?: (shapes: DrawShape[]) => void;
46
+ shapes: DrawShape[];
47
+ autoShapes: DrawShape[];
48
+ current?: DrawCurrent;
49
+ brushes: DrawBrushes;
50
+ prevSvgHash: string;
51
+ }
52
+ export interface DrawCurrent {
53
+ orig: cg.Key;
54
+ dest?: cg.Key;
55
+ mouseSq?: cg.Key;
56
+ pos: cg.NumberPair;
57
+ brush: cg.BrushColor;
58
+ snapToValidMove: boolean;
59
+ }
60
+ export declare function start(state: State, e: cg.MouchEvent): void;
61
+ export declare function processDraw(state: State): void;
62
+ export declare function move(state: State, e: cg.MouchEvent): void;
63
+ export declare function end(state: State): void;
64
+ export declare function cancel(state: State): void;
65
+ export declare function clear(state: State): void;
66
+ //# sourceMappingURL=draw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/draw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACjE,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;IACjB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAID,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAiB1D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAmB9C;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAEzD;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAMtC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAKzC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAMxC"}
@@ -0,0 +1,6 @@
1
+ import { State } from './state';
2
+ import * as cg from './types';
3
+ export declare function setDropMode(s: State, piece?: cg.Piece): void;
4
+ export declare function cancelDropMode(s: State): void;
5
+ export declare function drop(s: State, e: cg.MouchEvent): void;
6
+ //# sourceMappingURL=drop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/drop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAK9B,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAM5D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAI7C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAerD"}
@@ -0,0 +1,5 @@
1
+ import { State } from './state';
2
+ import * as cg from './types';
3
+ export declare function bindBoard(s: State): void;
4
+ export declare function bindDocument(s: State, onResize: () => void): cg.Unbind;
5
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAK9B,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAoBxC;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAuBtE"}
@@ -0,0 +1,4 @@
1
+ import { State } from './state';
2
+ import { Key } from './types';
3
+ export declare function explosion(state: State, keys: Key[]): void;
4
+ //# sourceMappingURL=explosion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explosion.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/explosion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAOzD"}
@@ -0,0 +1,5 @@
1
+ import * as cg from './types';
2
+ export declare const initial: cg.FEN;
3
+ export declare function read(fen: cg.FEN): cg.Pieces;
4
+ export declare function write(pieces: cg.Pieces): cg.FEN;
5
+ //# sourceMappingURL=fen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fen.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/fen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,GAAmD,CAAC;AAoB7E,wBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAmC3C;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAiB/C"}
@@ -0,0 +1,7 @@
1
+ import * as cg from './types';
2
+ type Mobility = (x1: number, y1: number, x2: number, y2: number) => boolean;
3
+ export declare const knight: Mobility;
4
+ export declare const queen: Mobility;
5
+ export declare function premove(pieces: cg.Pieces, key: cg.Key, canCastle: boolean): cg.Key[];
6
+ export {};
7
+ //# sourceMappingURL=premove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premove.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/premove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,KAAK,QAAQ,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;AAa5E,eAAO,MAAM,MAAM,EAAE,QAIpB,CAAC;AAUF,eAAO,MAAM,KAAK,EAAE,QAEnB,CAAC;AAuBF,wBAAgB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAoBpF"}
@@ -0,0 +1,5 @@
1
+ import { State } from './state';
2
+ export declare function render(s: State): void;
3
+ export declare function renderResized(s: State): void;
4
+ export declare function updateBounds(s: State): void;
5
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAWhC,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA6JrC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAU5C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAY3C"}
@@ -0,0 +1,101 @@
1
+ import { AnimCurrent } from './anim';
2
+ import { DragCurrent } from './drag';
3
+ import { Drawable } from './draw';
4
+ import * as cg from './types';
5
+ export interface HeadlessState {
6
+ pieces: cg.Pieces;
7
+ orientation: cg.Color;
8
+ turnColor: cg.Color;
9
+ check?: cg.Key;
10
+ lastMove?: cg.Key[];
11
+ selected?: cg.Key;
12
+ coordinates: boolean;
13
+ coordinatesOnSquares: boolean;
14
+ ranksPosition: cg.RanksPosition;
15
+ autoCastle: boolean;
16
+ viewOnly: boolean;
17
+ disableContextMenu: boolean;
18
+ addPieceZIndex: boolean;
19
+ addDimensionsCssVarsTo?: HTMLElement;
20
+ blockTouchScroll: boolean;
21
+ pieceKey: boolean;
22
+ trustAllEvents?: boolean;
23
+ highlight: {
24
+ lastMove: boolean;
25
+ check: boolean;
26
+ custom?: cg.SquareClasses;
27
+ };
28
+ animation: {
29
+ enabled: boolean;
30
+ duration: number;
31
+ current?: AnimCurrent;
32
+ };
33
+ movable: {
34
+ free: boolean;
35
+ color?: cg.Color | 'both';
36
+ dests?: cg.Dests;
37
+ showDests: boolean;
38
+ events: {
39
+ after?: (orig: cg.Key, dest: cg.Key, metadata: cg.MoveMetadata) => void;
40
+ afterNewPiece?: (role: cg.Role, key: cg.Key, metadata: cg.MoveMetadata) => void;
41
+ };
42
+ rookCastle: boolean;
43
+ };
44
+ premovable: {
45
+ enabled: boolean;
46
+ showDests: boolean;
47
+ castle: boolean;
48
+ dests?: cg.Key[];
49
+ customDests?: cg.Dests;
50
+ current?: cg.KeyPair;
51
+ events: {
52
+ set?: (orig: cg.Key, dest: cg.Key, metadata?: cg.SetPremoveMetadata) => void;
53
+ unset?: () => void;
54
+ };
55
+ };
56
+ predroppable: {
57
+ enabled: boolean;
58
+ current?: {
59
+ role: cg.Role;
60
+ key: cg.Key;
61
+ };
62
+ events: {
63
+ set?: (role: cg.Role, key: cg.Key) => void;
64
+ unset?: () => void;
65
+ };
66
+ };
67
+ draggable: {
68
+ enabled: boolean;
69
+ distance: number;
70
+ autoDistance: boolean;
71
+ showGhost: boolean;
72
+ deleteOnDropOff: boolean;
73
+ current?: DragCurrent;
74
+ };
75
+ dropmode: {
76
+ active: boolean;
77
+ piece?: cg.Piece;
78
+ };
79
+ selectable: {
80
+ enabled: boolean;
81
+ };
82
+ stats: {
83
+ dragged: boolean;
84
+ ctrlKey?: boolean;
85
+ };
86
+ events: {
87
+ change?: () => void;
88
+ move?: (orig: cg.Key, dest: cg.Key, capturedPiece?: cg.Piece) => void;
89
+ dropNewPiece?: (piece: cg.Piece, key: cg.Key) => void;
90
+ select?: (key: cg.Key) => void;
91
+ insert?: (elements: cg.Elements) => void;
92
+ };
93
+ drawable: Drawable;
94
+ exploding?: cg.Exploding;
95
+ hold: cg.Timer;
96
+ }
97
+ export interface State extends HeadlessState {
98
+ dom: cg.Dom;
99
+ }
100
+ export declare function defaults(): HeadlessState;
101
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { State } from './state';
2
+ export { createElement, setAttributes };
3
+ export declare function createDefs(): Element;
4
+ export declare function renderSvg(state: State, shapesEl: SVGElement, customsEl: SVGElement): void;
5
+ declare function createElement(tagName: string): SVGElement;
6
+ declare function setAttributes(el: SVGElement, attrs: {
7
+ [key: string]: any;
8
+ }): SVGElement;
9
+ //# sourceMappingURL=svg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAgBhC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAExC,wBAAgB,UAAU,IAAI,OAAO,CAMpC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAyDzF;AAwQD,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAElD;AAED,iBAAS,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,UAAU,CAKhF"}
@@ -0,0 +1,9 @@
1
+ import { DrawShape } from './draw';
2
+ export interface SyncableShape {
3
+ shape: DrawShape;
4
+ current: boolean;
5
+ hash: Hash;
6
+ }
7
+ export type Hash = string;
8
+ export declare function syncShapes(shapes: SyncableShape[], root: HTMLElement | SVGElement, renderShape: (shape: SyncableShape) => HTMLElement | SVGElement): void;
9
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/chess/chessground/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAG1B,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EAAE,EACvB,IAAI,EAAE,WAAW,GAAG,UAAU,EAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,WAAW,GAAG,UAAU,GAC9D,IAAI,CAoBN"}