@lichess-org/pgn-viewer 0.0.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/LICENSE +674 -0
- package/README.md +127 -0
- package/demo/demo.js +241 -0
- package/demo/frame.html +11 -0
- package/demo/full-screen.html +19 -0
- package/demo/index.html +30 -0
- package/demo/lichess-pgn-viewer.css +734 -0
- package/demo/lichess-pgn-viewer.demo.css +17 -0
- package/demo/lichess-pgn-viewer.js +5916 -0
- package/demo/one.html +25 -0
- package/demo/one.js +32 -0
- package/dist/config.d.ts +30 -0
- package/dist/config.js +54 -0
- package/dist/config.js.map +1 -0
- package/dist/events.d.ts +4 -0
- package/dist/events.js +42 -0
- package/dist/events.js.map +1 -0
- package/dist/game.d.ts +20 -0
- package/dist/game.js +45 -0
- package/dist/game.js.map +1 -0
- package/dist/interfaces.d.ts +95 -0
- package/dist/interfaces.js +2 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/lichess-pgn-viewer.css +1 -0
- package/dist/lichess-pgn-viewer.min.js +4 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.js +18 -0
- package/dist/main.js.map +1 -0
- package/dist/path.d.ts +16 -0
- package/dist/path.js +18 -0
- package/dist/path.js.map +1 -0
- package/dist/pgn.d.ts +4 -0
- package/dist/pgn.js +128 -0
- package/dist/pgn.js.map +1 -0
- package/dist/pgnViewer.d.ts +34 -0
- package/dist/pgnViewer.js +90 -0
- package/dist/pgnViewer.js.map +1 -0
- package/dist/translation.d.ts +2 -0
- package/dist/translation.js +14 -0
- package/dist/translation.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/view/glyph.d.ts +1 -0
- package/dist/view/glyph.js +104 -0
- package/dist/view/glyph.js.map +1 -0
- package/dist/view/main.d.ts +5 -0
- package/dist/view/main.js +78 -0
- package/dist/view/main.js.map +1 -0
- package/dist/view/menu.d.ts +3 -0
- package/dist/view/menu.js +61 -0
- package/dist/view/menu.js.map +1 -0
- package/dist/view/player.d.ts +3 -0
- package/dist/view/player.js +32 -0
- package/dist/view/player.js.map +1 -0
- package/dist/view/side.d.ts +3 -0
- package/dist/view/side.js +102 -0
- package/dist/view/side.js.map +1 -0
- package/dist/view/util.d.ts +4 -0
- package/dist/view/util.js +23 -0
- package/dist/view/util.js.map +1 -0
- package/package.json +73 -0
- package/scss/_chessground.base.scss +164 -0
- package/scss/_chessground.cburnett.css +37 -0
- package/scss/_chessground.transp.css +57 -0
- package/scss/_controls.scss +30 -0
- package/scss/_fbt.scss +32 -0
- package/scss/_font-embed.scss +30 -0
- package/scss/_font.scss +33 -0
- package/scss/_layout.scss +147 -0
- package/scss/_lichess-pgn-viewer.lib.scss +78 -0
- package/scss/_pane.scss +31 -0
- package/scss/_player.scss +39 -0
- package/scss/_scrollbar.scss +16 -0
- package/scss/_side.scss +155 -0
- package/scss/_util.scss +7 -0
- package/scss/lichess-pgn-viewer.scss +4 -0
- package/src/config.ts +53 -0
- package/src/events.ts +42 -0
- package/src/game.ts +61 -0
- package/src/interfaces.ts +108 -0
- package/src/main.ts +24 -0
- package/src/path.ts +28 -0
- package/src/pgn.ts +141 -0
- package/src/pgnViewer.ts +114 -0
- package/src/translation.ts +17 -0
- package/src/view/glyph.ts +113 -0
- package/src/view/main.ts +99 -0
- package/src/view/menu.ts +92 -0
- package/src/view/player.ts +41 -0
- package/src/view/side.ts +123 -0
- package/src/view/util.ts +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/view/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,EAAe,EAAE,CAAwB,EAAE,MAAmB;IAChG,KAAK,MAAM,cAAc,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;QACzD,EAAE,CAAC,gBAAgB,CACjB,cAAc,EACd,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,MAAM;gBAAE,MAAM,EAAE,CAAC;QACvB,CAAC,EACD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,SAAiB,EACjB,CAAgB,EAChB,MAAmB,EACnB,OAAO,GAAG,IAAI,EACP,EAAE,CACT,QAAQ,CAAC,EAAE,CAAC,EAAE,CACZ,EAAE,CAAC,gBAAgB,CACjB,SAAS,EACT,CAAC,CAAC,EAAE;IACF,MAAM,GAAG,GAAG,CAAC,CAAC,CAAM,CAAC,CAAC;IACtB,IAAI,GAAG,KAAK,KAAK;QAAE,CAAC,CAAC,cAAc,EAAE,CAAC;IACtC,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;IACX,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,OAAO,EAAE,CACZ,CACF,CAAC;AAEJ,MAAM,UAAU,QAAQ,CAAwB,CAAuB;IACrE,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAQ,CAAC;KACnC,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lichess-org/pgn-viewer",
|
|
3
|
+
"license": "GPL-3.0-or-later",
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"repository": "github:lichess-org/pgn-viewer",
|
|
6
|
+
"author": "Lichess Team <contact@lichess.org>",
|
|
7
|
+
"funding": "https://lichess.org/patron",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"chess",
|
|
10
|
+
"lichess",
|
|
11
|
+
"game",
|
|
12
|
+
"pgn",
|
|
13
|
+
"viewer",
|
|
14
|
+
"typescript"
|
|
15
|
+
],
|
|
16
|
+
"type": "module",
|
|
17
|
+
"main": "dist/main.js",
|
|
18
|
+
"types": "main.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/main.d.ts",
|
|
22
|
+
"default": "./dist/main.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"typesVersions": {
|
|
26
|
+
"*": {
|
|
27
|
+
"*": [
|
|
28
|
+
"dist/*"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@types/node": "^22.13.4",
|
|
34
|
+
"chessground": "^9.2.1",
|
|
35
|
+
"chessops": "^0.14.2",
|
|
36
|
+
"snabbdom": "^3.5.1"
|
|
37
|
+
},
|
|
38
|
+
"//": [
|
|
39
|
+
"snabbdom pinned to 3.5.1 until https://github.com/snabbdom/snabbdom/issues/1114 is resolved"
|
|
40
|
+
],
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^8.24.1",
|
|
43
|
+
"@typescript-eslint/parser": "^8.24.1",
|
|
44
|
+
"esbuild": "^0.24.2",
|
|
45
|
+
"eslint": "^9.20.1",
|
|
46
|
+
"http-server": "^14.1.1",
|
|
47
|
+
"prettier": "^3.5.1",
|
|
48
|
+
"sass": "^1.85.0",
|
|
49
|
+
"typescript": "^5.7.3",
|
|
50
|
+
"vitest": "^2.1.9"
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"demo/*",
|
|
54
|
+
"dist/*",
|
|
55
|
+
"view/*",
|
|
56
|
+
"scss/*",
|
|
57
|
+
"src/**/*"
|
|
58
|
+
],
|
|
59
|
+
"scripts": {
|
|
60
|
+
"compile": "tsc --incremental",
|
|
61
|
+
"format": "prettier --write --log-level warn .",
|
|
62
|
+
"bundle": "esbuild src/main.ts --bundle --format=esm --platform=browser",
|
|
63
|
+
"bundle-dev": "pnpm run bundle --outfile=demo/lichess-pgn-viewer.js",
|
|
64
|
+
"bundle-prod": "pnpm run bundle --minify --outfile=dist/lichess-pgn-viewer.min.js",
|
|
65
|
+
"sass-dev": "sass --no-source-map --update --style=expanded scss:demo",
|
|
66
|
+
"sass-prod": "sass --no-source-map --style=compressed scss:dist",
|
|
67
|
+
"prod": "pnpm run sass-prod && pnpm run bundle-prod",
|
|
68
|
+
"demo": "pnpm run sass-dev && pnpm run bundle-dev && http-server demo",
|
|
69
|
+
"test": "vitest run",
|
|
70
|
+
"test:watch": "vitest",
|
|
71
|
+
"dist": "pnpm run compile && pnpm run prod && pnpm run sass-dev && pnpm run bundle-dev"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
.cg-wrap {
|
|
2
|
+
box-sizing: content-box;
|
|
3
|
+
position: relative;
|
|
4
|
+
display: block;
|
|
5
|
+
height: 0;
|
|
6
|
+
padding-bottom: 100%;
|
|
7
|
+
width: 100%;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
cg-container {
|
|
11
|
+
position: absolute;
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
display: block;
|
|
15
|
+
top: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
cg-board {
|
|
19
|
+
position: absolute;
|
|
20
|
+
top: 0;
|
|
21
|
+
left: 0;
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 100%;
|
|
24
|
+
-webkit-user-select: none;
|
|
25
|
+
-moz-user-select: none;
|
|
26
|
+
-ms-user-select: none;
|
|
27
|
+
user-select: none;
|
|
28
|
+
line-height: 0;
|
|
29
|
+
background-size: cover;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
cg-board square {
|
|
33
|
+
position: absolute;
|
|
34
|
+
top: 0;
|
|
35
|
+
left: 0;
|
|
36
|
+
width: 12.5%;
|
|
37
|
+
height: 12.5%;
|
|
38
|
+
pointer-events: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
cg-board square.move-dest {
|
|
42
|
+
pointer-events: auto;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
cg-board square.last-move {
|
|
46
|
+
will-change: transform;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.cg-wrap piece {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 0;
|
|
52
|
+
left: 0;
|
|
53
|
+
width: 12.5%;
|
|
54
|
+
height: 12.5%;
|
|
55
|
+
background-size: cover;
|
|
56
|
+
z-index: 2;
|
|
57
|
+
will-change: transform;
|
|
58
|
+
pointer-events: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
piece.anim {
|
|
62
|
+
z-index: 8;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
piece.fading {
|
|
66
|
+
z-index: 1;
|
|
67
|
+
opacity: 0.5;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.cg-wrap piece.ghost {
|
|
71
|
+
opacity: 0.3;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.cg-wrap piece svg {
|
|
75
|
+
overflow: hidden;
|
|
76
|
+
position: relative;
|
|
77
|
+
top: 0px;
|
|
78
|
+
left: 0px;
|
|
79
|
+
width: 100%;
|
|
80
|
+
height: 100%;
|
|
81
|
+
pointer-events: none;
|
|
82
|
+
z-index: 2;
|
|
83
|
+
opacity: 0.6;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.cg-wrap cg-auto-pieces,
|
|
87
|
+
.cg-wrap .cg-shapes,
|
|
88
|
+
.cg-wrap .cg-custom-svgs {
|
|
89
|
+
overflow: visible;
|
|
90
|
+
position: absolute;
|
|
91
|
+
top: 0px;
|
|
92
|
+
left: 0px;
|
|
93
|
+
width: 100%;
|
|
94
|
+
height: 100%;
|
|
95
|
+
pointer-events: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.cg-wrap cg-auto-pieces {
|
|
99
|
+
z-index: 2;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.cg-wrap cg-auto-pieces piece {
|
|
103
|
+
opacity: 0.3;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.cg-wrap .cg-shapes {
|
|
107
|
+
overflow: hidden;
|
|
108
|
+
opacity: 0.6;
|
|
109
|
+
z-index: 2;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.cg-wrap .cg-custom-svgs {
|
|
113
|
+
/* over piece.anim = 8, but under piece.dragging = 11 */
|
|
114
|
+
z-index: 9;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.cg-wrap .cg-custom-svgs svg {
|
|
118
|
+
overflow: visible;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.cg-wrap coords {
|
|
122
|
+
position: absolute;
|
|
123
|
+
display: flex;
|
|
124
|
+
pointer-events: none;
|
|
125
|
+
opacity: 0.8;
|
|
126
|
+
font-family: sans-serif;
|
|
127
|
+
font-size: 9px;
|
|
128
|
+
color: rgba(255, 255, 255, 0.8);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.cg-wrap coords.ranks {
|
|
132
|
+
top: 1px;
|
|
133
|
+
right: 0;
|
|
134
|
+
flex-flow: column-reverse;
|
|
135
|
+
height: 100%;
|
|
136
|
+
width: 12px;
|
|
137
|
+
text-align: center;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.cg-wrap coords.ranks.black {
|
|
141
|
+
flex-flow: column;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.cg-wrap coords.ranks.left {
|
|
145
|
+
left: -15px;
|
|
146
|
+
align-items: flex-end;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.cg-wrap coords.files {
|
|
150
|
+
bottom: 0;
|
|
151
|
+
left: 0.7ch;
|
|
152
|
+
flex-flow: row;
|
|
153
|
+
width: 100%;
|
|
154
|
+
height: 12px;
|
|
155
|
+
text-transform: uppercase;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.cg-wrap coords.files.black {
|
|
159
|
+
flex-flow: row-reverse;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.cg-wrap coords coord {
|
|
163
|
+
flex: 1 1 auto;
|
|
164
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Embedded SVGs for all chess pieces */
|
|
2
|
+
.cg-wrap piece.pawn.white {
|
|
3
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==');
|
|
4
|
+
}
|
|
5
|
+
.cg-wrap piece.bishop.white {
|
|
6
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==');
|
|
7
|
+
}
|
|
8
|
+
.cg-wrap piece.knight.white {
|
|
9
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==');
|
|
10
|
+
}
|
|
11
|
+
.cg-wrap piece.rook.white {
|
|
12
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=');
|
|
13
|
+
}
|
|
14
|
+
.cg-wrap piece.queen.white {
|
|
15
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=');
|
|
16
|
+
}
|
|
17
|
+
.cg-wrap piece.king.white {
|
|
18
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==');
|
|
19
|
+
}
|
|
20
|
+
.cg-wrap piece.pawn.black {
|
|
21
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==');
|
|
22
|
+
}
|
|
23
|
+
.cg-wrap piece.bishop.black {
|
|
24
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+');
|
|
25
|
+
}
|
|
26
|
+
.cg-wrap piece.knight.black {
|
|
27
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==');
|
|
28
|
+
}
|
|
29
|
+
.cg-wrap piece.rook.black {
|
|
30
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=');
|
|
31
|
+
}
|
|
32
|
+
.cg-wrap piece.queen.black {
|
|
33
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+');
|
|
34
|
+
}
|
|
35
|
+
.cg-wrap piece.king.black {
|
|
36
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=');
|
|
37
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
cg-board {
|
|
2
|
+
background-color: var(--board-color);
|
|
3
|
+
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==');
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/** Interactive board square colors */
|
|
7
|
+
cg-board square.move-dest {
|
|
8
|
+
background: radial-gradient(rgba(20, 85, 30, 0.5) 22%, #208530 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
|
|
9
|
+
}
|
|
10
|
+
cg-board square.premove-dest {
|
|
11
|
+
background: radial-gradient(rgba(20, 30, 85, 0.5) 22%, #203085 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
|
|
12
|
+
}
|
|
13
|
+
cg-board square.oc.move-dest {
|
|
14
|
+
background: radial-gradient(transparent 0%, transparent 80%, rgba(20, 85, 0, 0.3) 80%);
|
|
15
|
+
}
|
|
16
|
+
cg-board square.oc.premove-dest {
|
|
17
|
+
background: radial-gradient(transparent 0%, transparent 80%, rgba(20, 30, 85, 0.2) 80%);
|
|
18
|
+
}
|
|
19
|
+
cg-board square.move-dest:hover {
|
|
20
|
+
background: rgba(20, 85, 30, 0.3);
|
|
21
|
+
}
|
|
22
|
+
cg-board square.premove-dest:hover {
|
|
23
|
+
background: rgba(20, 30, 85, 0.2);
|
|
24
|
+
}
|
|
25
|
+
cg-board square.last-move {
|
|
26
|
+
background-color: rgba(155, 199, 0, 0.41);
|
|
27
|
+
}
|
|
28
|
+
cg-board square.selected {
|
|
29
|
+
background-color: rgba(20, 85, 30, 0.5);
|
|
30
|
+
}
|
|
31
|
+
cg-board square.check {
|
|
32
|
+
background: radial-gradient(
|
|
33
|
+
ellipse at center,
|
|
34
|
+
rgba(255, 0, 0, 1) 0%,
|
|
35
|
+
rgba(231, 0, 0, 1) 25%,
|
|
36
|
+
rgba(169, 0, 0, 0) 89%,
|
|
37
|
+
rgba(158, 0, 0, 0) 100%
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
cg-board square.current-premove {
|
|
41
|
+
background-color: rgba(20, 30, 85, 0.5);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/*/1** Alternating colors in rank/file labels *1/ */
|
|
45
|
+
/*.cg-wrap.orientation-white coords.ranks coord:nth-child(2n), */
|
|
46
|
+
/*.cg-wrap.orientation-white coords.files coord:nth-child(2n), */
|
|
47
|
+
/*.cg-wrap.orientation-black coords.ranks coord:nth-child(2n + 1), */
|
|
48
|
+
/*.cg-wrap.orientation-black coords.files coord:nth-child(2n + 1) { */
|
|
49
|
+
/* color: rgba(72, 72, 72, 0.8); */
|
|
50
|
+
/*} */
|
|
51
|
+
|
|
52
|
+
/*.cg-wrap.orientation-black coords.ranks coord:nth-child(2n), */
|
|
53
|
+
/*.cg-wrap.orientation-black coords.files coord:nth-child(2n), */
|
|
54
|
+
/*.cg-wrap.orientation-white coords.ranks coord:nth-child(2n + 1), */
|
|
55
|
+
/*.cg-wrap.orientation-white coords.files coord:nth-child(2n + 1) { */
|
|
56
|
+
/* color: rgba(255, 255, 255, 0.8); */
|
|
57
|
+
/*} */
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.lpv {
|
|
2
|
+
&__controls {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-flow: row nowrap;
|
|
5
|
+
align-items: stretch;
|
|
6
|
+
user-select: none;
|
|
7
|
+
background: var(--c-lpv-bg-controls, $lpv-bg-controls);
|
|
8
|
+
|
|
9
|
+
.lpv__fbt {
|
|
10
|
+
flex: 1 1 auto;
|
|
11
|
+
font-size: 1.4em;
|
|
12
|
+
padding: 0.4em 0.7em;
|
|
13
|
+
border-left: 1px solid var(--c-lpv-border, $lpv-border);
|
|
14
|
+
&:first-child {
|
|
15
|
+
border: none;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&__menu.lpv__fbt {
|
|
20
|
+
flex: 0 1 auto;
|
|
21
|
+
width: 4em;
|
|
22
|
+
// the ellipsis icon is not well centered vertically
|
|
23
|
+
padding: 0.45em 1em 0.35em 1em;
|
|
24
|
+
font-size: 1.1em;
|
|
25
|
+
}
|
|
26
|
+
&__goto {
|
|
27
|
+
padding: 0.4rem 0.7rem;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
package/scss/_fbt.scss
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.lpv {
|
|
2
|
+
&__fbt {
|
|
3
|
+
background: none;
|
|
4
|
+
border: none;
|
|
5
|
+
outline: none;
|
|
6
|
+
color: var(--c-lpv-font, $lpv-font);
|
|
7
|
+
align-items: normal;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
text-transform: uppercase;
|
|
10
|
+
font-size: 1em;
|
|
11
|
+
line-height: 1.5;
|
|
12
|
+
text-decoration: none;
|
|
13
|
+
|
|
14
|
+
@media (hover: hover) {
|
|
15
|
+
&:hover:not(.disabled):not([disabled]) {
|
|
16
|
+
background: var(--c-lpv-fbt-hover, lpv-fbt-hover);
|
|
17
|
+
color: #fff;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&.active {
|
|
22
|
+
background: var(--c-lpv-accent, $lpv-accent) !important;
|
|
23
|
+
color: #fff;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&.disabled,
|
|
27
|
+
&[disabled] {
|
|
28
|
+
opacity: 0.4;
|
|
29
|
+
cursor: default;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Font license info
|
|
4
|
+
*
|
|
5
|
+
*
|
|
6
|
+
* ## Elusive
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2013 by Aristeides Stathopoulos
|
|
9
|
+
*
|
|
10
|
+
* Author: Aristeides Stathopoulos
|
|
11
|
+
* License: SIL (http://scripts.sil.org/OFL)
|
|
12
|
+
* Homepage: http://aristeides.com/
|
|
13
|
+
*
|
|
14
|
+
*
|
|
15
|
+
* ## Font Awesome
|
|
16
|
+
*
|
|
17
|
+
* Copyright (C) 2016 by Dave Gandy
|
|
18
|
+
*
|
|
19
|
+
* Author: Dave Gandy
|
|
20
|
+
* License: SIL ()
|
|
21
|
+
* Homepage: http://fortawesome.github.com/Font-Awesome/
|
|
22
|
+
*/
|
|
23
|
+
@font-face {
|
|
24
|
+
font-family: 'lpv-fontello';
|
|
25
|
+
src:
|
|
26
|
+
url('data:application/octet-stream;base64,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')
|
|
27
|
+
format('woff'),
|
|
28
|
+
url('data:application/octet-stream;base64,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')
|
|
29
|
+
format('truetype');
|
|
30
|
+
}
|
package/scss/_font.scss
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@import './font-embed';
|
|
2
|
+
|
|
3
|
+
.lpv {
|
|
4
|
+
&__icon {
|
|
5
|
+
&:before {
|
|
6
|
+
font-family: 'lpv-fontello';
|
|
7
|
+
|
|
8
|
+
font-size: 1.1em;
|
|
9
|
+
width: 1em;
|
|
10
|
+
text-align: center;
|
|
11
|
+
|
|
12
|
+
/* Font smoothing. That was taken from TWBS */
|
|
13
|
+
-webkit-font-smoothing: antialiased;
|
|
14
|
+
-moz-osx-font-smoothing: grayscale;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-step-forward:before {
|
|
18
|
+
content: '\e800';
|
|
19
|
+
} /* '' */
|
|
20
|
+
&-step-backward:before {
|
|
21
|
+
content: '\e801';
|
|
22
|
+
} /* '' */
|
|
23
|
+
&-left-open:before {
|
|
24
|
+
content: '\e802';
|
|
25
|
+
} /* '' */
|
|
26
|
+
&-right-open:before {
|
|
27
|
+
content: '\e803';
|
|
28
|
+
} /* '' */
|
|
29
|
+
&-ellipsis-vert:before {
|
|
30
|
+
content: '\f142';
|
|
31
|
+
} /* '' */
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
$grid-side-column: fit-content(40%) !default;
|
|
2
|
+
$grid-side-column-full-screen: minmax(232px, 1fr) !default;
|
|
3
|
+
$grid-side-row: 6em !default;
|
|
4
|
+
$player-height: 2em !default;
|
|
5
|
+
$controls-height: 4em !default;
|
|
6
|
+
$moves-auto-to-right: 450px !default;
|
|
7
|
+
$board-min-width: 200px !default;
|
|
8
|
+
|
|
9
|
+
.lpv {
|
|
10
|
+
display: grid;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
grid-row-gap: 0;
|
|
13
|
+
|
|
14
|
+
--controls-height: #{$controls-height};
|
|
15
|
+
&--controls-false {
|
|
16
|
+
--controls-height: 0em;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&--moves-false {
|
|
20
|
+
grid-template-areas:
|
|
21
|
+
'board'
|
|
22
|
+
'controls';
|
|
23
|
+
grid-template-columns: minmax(200px, calc(100vh - var(--controls-height)));
|
|
24
|
+
grid-template-rows: auto var(--controls-height);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&--moves-right {
|
|
28
|
+
grid-template-areas:
|
|
29
|
+
'board side'
|
|
30
|
+
'controls side';
|
|
31
|
+
grid-template-columns: auto $grid-side-column;
|
|
32
|
+
grid-template-rows: auto var(--controls-height);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&--moves-bottom {
|
|
36
|
+
grid-template-areas:
|
|
37
|
+
'board'
|
|
38
|
+
'controls'
|
|
39
|
+
'side';
|
|
40
|
+
grid-template-rows: auto var(--controls-height);
|
|
41
|
+
.lpv__controls {
|
|
42
|
+
border-bottom: 1px solid var(--c-lpv-border, $lpv-border);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&--moves-auto {
|
|
47
|
+
grid-template-areas:
|
|
48
|
+
'board side'
|
|
49
|
+
'controls side';
|
|
50
|
+
grid-template-columns:
|
|
51
|
+
minmax($board-min-width, calc(100vh - var(--controls-height)))
|
|
52
|
+
$grid-side-column-full-screen;
|
|
53
|
+
grid-template-rows: auto var(--controls-height);
|
|
54
|
+
@media (max-width: #{$moves-auto-to-right}) {
|
|
55
|
+
grid-template-areas:
|
|
56
|
+
'board'
|
|
57
|
+
'controls'
|
|
58
|
+
'side';
|
|
59
|
+
grid-template-columns: minmax(
|
|
60
|
+
$board-min-width,
|
|
61
|
+
calc(100vh - var(--controls-height) - #{$grid-side-row})
|
|
62
|
+
);
|
|
63
|
+
grid-template-rows: auto var(--controls-height);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&--players {
|
|
68
|
+
&.lpv--moves-false {
|
|
69
|
+
grid-template-areas:
|
|
70
|
+
'player-top'
|
|
71
|
+
'board'
|
|
72
|
+
'player-bot'
|
|
73
|
+
'controls';
|
|
74
|
+
grid-template-rows: $player-height auto $player-height var(--controls-height);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&.lpv--moves-right {
|
|
78
|
+
grid-template-areas:
|
|
79
|
+
'player-top side'
|
|
80
|
+
'board side'
|
|
81
|
+
'player-bot side'
|
|
82
|
+
'controls side';
|
|
83
|
+
grid-template-rows: $player-height auto $player-height var(--controls-height);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&.lpv--moves-bottom {
|
|
87
|
+
grid-template-areas:
|
|
88
|
+
'player-top'
|
|
89
|
+
'board'
|
|
90
|
+
'player-bot'
|
|
91
|
+
'controls'
|
|
92
|
+
'side';
|
|
93
|
+
grid-template-rows: $player-height auto $player-height var(--controls-height) $grid-side-row;
|
|
94
|
+
.lpv__controls {
|
|
95
|
+
border-bottom: 1px solid var(--c-lpv-border, $lpv-border);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&.lpv--moves-auto {
|
|
100
|
+
grid-template-areas:
|
|
101
|
+
'player-top side'
|
|
102
|
+
'board side'
|
|
103
|
+
'player-bot side'
|
|
104
|
+
'controls side';
|
|
105
|
+
grid-template-columns:
|
|
106
|
+
minmax($board-min-width, calc(100vh - 2 * #{$player-height} - var(--controls-height)))
|
|
107
|
+
$grid-side-column-full-screen;
|
|
108
|
+
grid-template-rows: $player-height auto $player-height var(--controls-height);
|
|
109
|
+
@media (max-width: #{$moves-auto-to-right}) {
|
|
110
|
+
grid-template-areas:
|
|
111
|
+
'player-top'
|
|
112
|
+
'board'
|
|
113
|
+
'player-bot'
|
|
114
|
+
'controls'
|
|
115
|
+
'side';
|
|
116
|
+
grid-template-columns: minmax(
|
|
117
|
+
$board-min-width,
|
|
118
|
+
calc(100vh - 2 * #{$player-height} - var(--controls-height) - #{$grid-side-row})
|
|
119
|
+
);
|
|
120
|
+
grid-template-rows: $player-height auto $player-height var(--controls-height) $grid-side-row;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&__board {
|
|
126
|
+
grid-area: board;
|
|
127
|
+
}
|
|
128
|
+
&__side {
|
|
129
|
+
grid-area: side;
|
|
130
|
+
}
|
|
131
|
+
&__player--top {
|
|
132
|
+
grid-area: player-top;
|
|
133
|
+
}
|
|
134
|
+
&__player--bottom {
|
|
135
|
+
grid-area: player-bot;
|
|
136
|
+
}
|
|
137
|
+
&__controls {
|
|
138
|
+
grid-area: controls;
|
|
139
|
+
}
|
|
140
|
+
&__menu,
|
|
141
|
+
&__pgn {
|
|
142
|
+
grid-area: 1 / 1 / 2 / 2;
|
|
143
|
+
.lpv--players & {
|
|
144
|
+
grid-area: 1 / 1 / 4 / 2;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|