gigaboard 1.3.2 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -8
- package/dist/chunk-35HQL3AK.js +19 -0
- package/dist/chunk-35HQL3AK.js.map +1 -0
- package/dist/chunk-375XPUCQ.js +18 -0
- package/dist/chunk-375XPUCQ.js.map +1 -0
- package/dist/chunk-3DEOTW2M.js +16 -0
- package/dist/chunk-3DEOTW2M.js.map +1 -0
- package/dist/chunk-3UFHYHMR.js +16 -0
- package/dist/chunk-3UFHYHMR.js.map +1 -0
- package/dist/chunk-52DIWDSX.js +18 -0
- package/dist/chunk-52DIWDSX.js.map +1 -0
- package/dist/chunk-5OGPVD4R.cjs +18 -0
- package/dist/chunk-5OGPVD4R.cjs.map +1 -0
- package/dist/chunk-6S6THNZP.js +24 -0
- package/dist/chunk-6S6THNZP.js.map +1 -0
- package/dist/chunk-6ZEPUUY5.cjs +18 -0
- package/dist/chunk-6ZEPUUY5.cjs.map +1 -0
- package/dist/chunk-76PL52EB.cjs +21 -0
- package/dist/chunk-76PL52EB.cjs.map +1 -0
- package/dist/chunk-A3HBH676.cjs +20 -0
- package/dist/chunk-A3HBH676.cjs.map +1 -0
- package/dist/chunk-AWNSXENI.js +18 -0
- package/dist/chunk-AWNSXENI.js.map +1 -0
- package/dist/chunk-CMV3NVR3.cjs +18 -0
- package/dist/chunk-CMV3NVR3.cjs.map +1 -0
- package/dist/{chunk-I4BQGFP5.cjs → chunk-D45G3J5E.cjs} +8 -2
- package/dist/chunk-D45G3J5E.cjs.map +1 -0
- package/dist/{chunk-CXDGJMYL.js → chunk-EJUGH25P.js} +8 -2
- package/dist/chunk-EJUGH25P.js.map +1 -0
- package/dist/chunk-EWAHJSTZ.js +18 -0
- package/dist/chunk-EWAHJSTZ.js.map +1 -0
- package/dist/chunk-F2QTCQXE.cjs +20 -0
- package/dist/chunk-F2QTCQXE.cjs.map +1 -0
- package/dist/chunk-FACLRSNS.js +16 -0
- package/dist/chunk-FACLRSNS.js.map +1 -0
- package/dist/chunk-FICI4AMA.cjs +24 -0
- package/dist/chunk-FICI4AMA.cjs.map +1 -0
- package/dist/chunk-FW54YBHD.cjs +23 -0
- package/dist/chunk-FW54YBHD.cjs.map +1 -0
- package/dist/chunk-HL6YTFI6.js +18 -0
- package/dist/chunk-HL6YTFI6.js.map +1 -0
- package/dist/chunk-JHWYLKFQ.cjs +23 -0
- package/dist/chunk-JHWYLKFQ.cjs.map +1 -0
- package/dist/chunk-KYPCPATQ.js +21 -0
- package/dist/chunk-KYPCPATQ.js.map +1 -0
- package/dist/chunk-LIC3EXRR.cjs +20 -0
- package/dist/chunk-LIC3EXRR.cjs.map +1 -0
- package/dist/chunk-M6NSGIVF.cjs +24 -0
- package/dist/chunk-M6NSGIVF.cjs.map +1 -0
- package/dist/chunk-MDBGFL5S.js +22 -0
- package/dist/chunk-MDBGFL5S.js.map +1 -0
- package/dist/chunk-NB62E57G.js +21 -0
- package/dist/chunk-NB62E57G.js.map +1 -0
- package/dist/{chunk-P24JILQQ.js → chunk-OQZ7MNMY.js} +12 -6
- package/dist/chunk-OQZ7MNMY.js.map +1 -0
- package/dist/chunk-QIIIL4BN.cjs +20 -0
- package/dist/chunk-QIIIL4BN.cjs.map +1 -0
- package/dist/chunk-RNC76LWZ.js +16 -0
- package/dist/chunk-RNC76LWZ.js.map +1 -0
- package/dist/chunk-TUO6GFCZ.cjs +20 -0
- package/dist/chunk-TUO6GFCZ.cjs.map +1 -0
- package/dist/chunk-UERUICKB.cjs +20 -0
- package/dist/chunk-UERUICKB.cjs.map +1 -0
- package/dist/chunk-UF32KQA3.cjs +18 -0
- package/dist/chunk-UF32KQA3.cjs.map +1 -0
- package/dist/{chunk-6VYZY2Y4.cjs → chunk-VYTDPENJ.cjs} +12 -6
- package/dist/chunk-VYTDPENJ.cjs.map +1 -0
- package/dist/chunk-W5WAATJ7.js +22 -0
- package/dist/chunk-W5WAATJ7.js.map +1 -0
- package/dist/chunk-WD7Y2RDG.js +16 -0
- package/dist/chunk-WD7Y2RDG.js.map +1 -0
- package/dist/chunk-WNFJK4HA.js +16 -0
- package/dist/chunk-WNFJK4HA.js.map +1 -0
- package/dist/chunk-XQO7TG53.cjs +18 -0
- package/dist/chunk-XQO7TG53.cjs.map +1 -0
- package/dist/chunk-XQW5XTYT.js +18 -0
- package/dist/chunk-XQW5XTYT.js.map +1 -0
- package/dist/chunk-ZB2G3XMO.cjs +18 -0
- package/dist/chunk-ZB2G3XMO.cjs.map +1 -0
- package/dist/chunk-ZZQ5FPWF.cjs +26 -0
- package/dist/chunk-ZZQ5FPWF.cjs.map +1 -0
- package/dist/core.cjs +44 -44
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/index.cjs +89 -73
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +29 -13
- package/dist/index.js.map +1 -1
- package/dist/pieces.cjs +1 -1
- package/dist/pieces.cjs.map +1 -1
- package/dist/pieces.d.cts +1 -1
- package/dist/pieces.d.ts +1 -1
- package/dist/pieces.js +1 -1
- package/dist/pieces.js.map +1 -1
- package/dist/server.cjs +15 -8
- package/dist/server.cjs.map +1 -1
- package/dist/server.js +10 -3
- package/dist/server.js.map +1 -1
- package/dist/themes/blue.d.cts +255 -3
- package/dist/themes/blue.d.ts +255 -3
- package/dist/themes/cafeCreme.cjs +12 -0
- package/dist/themes/cafeCreme.cjs.map +1 -0
- package/dist/themes/cafeCreme.d.cts +1 -0
- package/dist/themes/cafeCreme.d.ts +1 -0
- package/dist/themes/cafeCreme.js +3 -0
- package/dist/themes/cafeCreme.js.map +1 -0
- package/dist/themes/canvas.cjs +12 -0
- package/dist/themes/canvas.cjs.map +1 -0
- package/dist/themes/canvas.d.cts +1 -0
- package/dist/themes/canvas.d.ts +1 -0
- package/dist/themes/canvas.js +3 -0
- package/dist/themes/canvas.js.map +1 -0
- package/dist/themes/chesscomBlue.cjs +12 -0
- package/dist/themes/chesscomBlue.cjs.map +1 -0
- package/dist/themes/chesscomBlue.d.cts +1 -0
- package/dist/themes/chesscomBlue.d.ts +1 -0
- package/dist/themes/chesscomBlue.js +3 -0
- package/dist/themes/chesscomBlue.js.map +1 -0
- package/dist/themes/chesscomGreen.cjs +12 -0
- package/dist/themes/chesscomGreen.cjs.map +1 -0
- package/dist/themes/chesscomGreen.d.cts +1 -0
- package/dist/themes/chesscomGreen.d.ts +1 -0
- package/dist/themes/chesscomGreen.js +3 -0
- package/dist/themes/chesscomGreen.js.map +1 -0
- package/dist/themes/darkWood.cjs +12 -0
- package/dist/themes/darkWood.cjs.map +1 -0
- package/dist/themes/darkWood.d.cts +1 -0
- package/dist/themes/darkWood.d.ts +1 -0
- package/dist/themes/darkWood.js +3 -0
- package/dist/themes/darkWood.js.map +1 -0
- package/dist/themes/deuteranopia.cjs +12 -0
- package/dist/themes/deuteranopia.cjs.map +1 -0
- package/dist/themes/deuteranopia.d.cts +1 -0
- package/dist/themes/deuteranopia.d.ts +1 -0
- package/dist/themes/deuteranopia.js +3 -0
- package/dist/themes/deuteranopia.js.map +1 -0
- package/dist/themes/espresso.cjs +12 -0
- package/dist/themes/espresso.cjs.map +1 -0
- package/dist/themes/espresso.d.cts +1 -0
- package/dist/themes/espresso.d.ts +1 -0
- package/dist/themes/espresso.js +3 -0
- package/dist/themes/espresso.js.map +1 -0
- package/dist/themes/green.d.cts +1 -1
- package/dist/themes/green.d.ts +1 -1
- package/dist/themes/highContrast.cjs +12 -0
- package/dist/themes/highContrast.cjs.map +1 -0
- package/dist/themes/highContrast.d.cts +1 -0
- package/dist/themes/highContrast.d.ts +1 -0
- package/dist/themes/highContrast.js +3 -0
- package/dist/themes/highContrast.js.map +1 -0
- package/dist/themes/ic.cjs +12 -0
- package/dist/themes/ic.cjs.map +1 -0
- package/dist/themes/ic.d.cts +1 -0
- package/dist/themes/ic.d.ts +1 -0
- package/dist/themes/ic.js +3 -0
- package/dist/themes/ic.js.map +1 -0
- package/dist/themes/leather.cjs +12 -0
- package/dist/themes/leather.cjs.map +1 -0
- package/dist/themes/leather.d.cts +1 -0
- package/dist/themes/leather.d.ts +1 -0
- package/dist/themes/leather.js +3 -0
- package/dist/themes/leather.js.map +1 -0
- package/dist/themes/marble.cjs +12 -0
- package/dist/themes/marble.cjs.map +1 -0
- package/dist/themes/marble.d.cts +1 -0
- package/dist/themes/marble.d.ts +1 -0
- package/dist/themes/marble.js +3 -0
- package/dist/themes/marble.js.map +1 -0
- package/dist/themes/neon.cjs +12 -0
- package/dist/themes/neon.cjs.map +1 -0
- package/dist/themes/neon.d.cts +1 -0
- package/dist/themes/neon.d.ts +1 -0
- package/dist/themes/neon.js +3 -0
- package/dist/themes/neon.js.map +1 -0
- package/dist/themes/newspaper.cjs +12 -0
- package/dist/themes/newspaper.cjs.map +1 -0
- package/dist/themes/newspaper.d.cts +1 -0
- package/dist/themes/newspaper.d.ts +1 -0
- package/dist/themes/newspaper.js +3 -0
- package/dist/themes/newspaper.js.map +1 -0
- package/dist/themes/olive.cjs +12 -0
- package/dist/themes/olive.cjs.map +1 -0
- package/dist/themes/olive.d.cts +1 -0
- package/dist/themes/olive.d.ts +1 -0
- package/dist/themes/olive.js +3 -0
- package/dist/themes/olive.js.map +1 -0
- package/dist/themes/pink.cjs +12 -0
- package/dist/themes/pink.cjs.map +1 -0
- package/dist/themes/pink.d.cts +1 -0
- package/dist/themes/pink.d.ts +1 -0
- package/dist/themes/pink.js +3 -0
- package/dist/themes/pink.js.map +1 -0
- package/dist/themes/purple.cjs +12 -0
- package/dist/themes/purple.cjs.map +1 -0
- package/dist/themes/purple.d.cts +1 -0
- package/dist/themes/purple.d.ts +1 -0
- package/dist/themes/purple.js +3 -0
- package/dist/themes/purple.js.map +1 -0
- package/dist/themes/tritanopia.cjs +12 -0
- package/dist/themes/tritanopia.cjs.map +1 -0
- package/dist/themes/tritanopia.d.cts +1 -0
- package/dist/themes/tritanopia.d.ts +1 -0
- package/dist/themes/tritanopia.js +3 -0
- package/dist/themes/tritanopia.js.map +1 -0
- package/dist/themes/walnut.cjs +12 -0
- package/dist/themes/walnut.cjs.map +1 -0
- package/dist/themes/walnut.d.cts +1 -0
- package/dist/themes/walnut.d.ts +1 -0
- package/dist/themes/walnut.js +3 -0
- package/dist/themes/walnut.js.map +1 -0
- package/dist/themes/wood.d.cts +1 -1
- package/dist/themes/wood.d.ts +1 -1
- package/dist/themes.cjs +116 -8
- package/dist/themes.cjs.map +1 -1
- package/dist/themes.d.cts +1 -1
- package/dist/themes.d.ts +1 -1
- package/dist/themes.js +60 -6
- package/dist/themes.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-6VYZY2Y4.cjs.map +0 -1
- package/dist/chunk-CXDGJMYL.js.map +0 -1
- package/dist/chunk-I4BQGFP5.cjs.map +0 -1
- package/dist/chunk-P24JILQQ.js.map +0 -1
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* 🛡️ **100% Permissive MIT License**: Engineered from the ground up as a pure React-native replacement for `chessground` without restrictive GPL/AGPL viral licensing.
|
|
28
28
|
* 🎯 **Instant Synchronous Engine**: Backed by `gigachess` (`createGigachessAdapter`) — zero WASM lag, sub-millisecond frame-0 render without blank screen flashes.
|
|
29
29
|
* ♿ **First-Class Accessibility (WAI-ARIA)**: Roving tabindex, full keyboard navigation (arrows, Enter, Space, promotion keys), and screen-reader `LiveRegion` announcements.
|
|
30
|
-
* 🎨 **Modular Themes &
|
|
30
|
+
* 🎨 **Modular Themes, Textures & Piece Sets**: 22 zero-runtime themes (~205B–430B/theme) with tactile textures, SVG patterns, and independent piece outline/contrast filters for low vision, plus crisp tree-shakable pieces (~660B/set).
|
|
31
31
|
* 🏹 **Hardware Canvas Arrow Engine**: Imperative high-DPI 2D canvas arrows, freehand gestures, knight L-shapes, and customizable highlight overlays.
|
|
32
32
|
* 📦 **SSR & React Server Components Ready**: `gigaboard/server` renders static HTML chessboards on Node/Next.js with zero hydration mismatch and zero client JS.
|
|
33
33
|
|
|
@@ -132,11 +132,11 @@ Mix and match tree-shakable piece sets and CSS-variable themes without bundle bl
|
|
|
132
132
|
```tsx
|
|
133
133
|
import { Chessboard, useChessGame } from "gigaboard";
|
|
134
134
|
import { cburnett } from "gigaboard/pieces/cburnett";
|
|
135
|
-
import {
|
|
135
|
+
import { newspaper } from "gigaboard/themes/newspaper";
|
|
136
136
|
|
|
137
137
|
export function CustomBoard() {
|
|
138
138
|
const game = useChessGame();
|
|
139
|
-
return <Chessboard game={game} pieces={cburnett} theme={
|
|
139
|
+
return <Chessboard game={game} pieces={cburnett} theme={newspaper} />;
|
|
140
140
|
}
|
|
141
141
|
```
|
|
142
142
|
|
|
@@ -147,11 +147,31 @@ Available piece sets (`gigaboard/pieces/*`):
|
|
|
147
147
|
* `alpha` (minimalist mobile silhouettes)
|
|
148
148
|
* `chesscom` (explicit alias for neo)
|
|
149
149
|
|
|
150
|
-
Available themes (`gigaboard/themes/*`):
|
|
151
|
-
* `green` (default chess.com
|
|
152
|
-
* `
|
|
153
|
-
* `
|
|
154
|
-
* `
|
|
150
|
+
Available themes (`gigaboard/themes/*` — 22 tree-shakable palettes):
|
|
151
|
+
* **Classic**: `green` (default chess.com), `brown` (tournament wood), `blue` (modern cool contrast), `wood` (warm board), `chesscomGreen`, `chesscomBlue`, `ic`
|
|
152
|
+
* **Textured SVG Patterns**: `newspaper` (vintage newsprint grain), `espresso` (rich dark roast grain), `cafeCreme` (warm cafe froth pattern)
|
|
153
|
+
* **Tactile Materials**: `canvas`, `leather`, `marble`, `walnut`, `darkWood`
|
|
154
|
+
* **Modern & Vibrant**: `neon`, `olive`, `pink`, `purple`
|
|
155
|
+
* **Accessibility & Low Vision**: `highContrast` (pure black/white + invert filter), `deuteranopia` (red-green safe), `tritanopia` (blue-yellow safe)
|
|
156
|
+
|
|
157
|
+
#### Square Textures & Piece Filters
|
|
158
|
+
|
|
159
|
+
All themes are zero-runtime CSS custom-property dictionaries (`Theme = Partial<Record<string, string>>`). You can supply textured backgrounds, gradients, blend modes, and piece drop-shadows or outlines directly:
|
|
160
|
+
|
|
161
|
+
```tsx
|
|
162
|
+
const customTheme = {
|
|
163
|
+
"--gb-sq-light": "#f0d9b5",
|
|
164
|
+
"--gb-sq-dark": "#b58863",
|
|
165
|
+
"--gb-sq-light-image": "radial-gradient(circle, rgba(255,255,255,0.25) 15%, transparent 16%)",
|
|
166
|
+
"--gb-sq-dark-image": "radial-gradient(circle, rgba(0,0,0,0.18) 15%, transparent 16%)",
|
|
167
|
+
"--gb-sq-image-size": "8px 8px",
|
|
168
|
+
"--gb-sq-blend-mode": "multiply",
|
|
169
|
+
"--gb-piece-filter-white": "drop-shadow(0 2px 3px rgba(0, 0, 0, 0.45))",
|
|
170
|
+
"--gb-piece-filter-black": "drop-shadow(0 2px 3px rgba(0, 0, 0, 0.65))",
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
<Chessboard game={game} theme={customTheme} />
|
|
174
|
+
```
|
|
155
175
|
|
|
156
176
|
---
|
|
157
177
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/themes/darkWood.ts
|
|
2
|
+
var darkWood = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#9e6b45",
|
|
4
|
+
"--gb-sq-dark": "#3d2314",
|
|
5
|
+
"--gb-sq-light-image": "linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.08) 100%)",
|
|
6
|
+
"--gb-sq-dark-image": "linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 0%, rgba(0, 0, 0, 0.16) 100%)",
|
|
7
|
+
"--gb-piece-filter-black": "drop-shadow(0 0 1.5px rgba(255, 255, 255, 0.45))",
|
|
8
|
+
"--gb-last-move": "rgba(240, 195, 75, 0.48)",
|
|
9
|
+
"--gb-selected": "rgba(240, 195, 75, 0.62)",
|
|
10
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.2)",
|
|
11
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.4)",
|
|
12
|
+
"--gb-check": "radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)",
|
|
13
|
+
"--gb-coord-light": "#3d2314",
|
|
14
|
+
"--gb-coord-dark": "#9e6b45"
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export { darkWood };
|
|
18
|
+
//# sourceMappingURL=chunk-35HQL3AK.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-35HQL3AK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/darkWood.ts"],"names":[],"mappings":";AAaO,IAAM,QAAA,GAAkB,OAAO,MAAA,CAAO;AAAA,EAC3C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,qBAAA,EACE,oFAAA;AAAA,EACF,oBAAA,EACE,oFAAA;AAAA,EACF,yBAAA,EAA2B,kDAAA;AAAA,EAC3B,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,oBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,uEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-35HQL3AK.js","sourcesContent":["/**\n * Dark Wood theme — golden-brown teak light squares and deep ebony dark squares.\n *\n * High-contrast dark board with subtle piece filters for readability.\n *\n * ```tsx\n * import { darkWood } from \"gigaboard/themes/darkWood\";\n * <Chessboard game={game} theme={darkWood} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const darkWood: Theme = Object.freeze({\n \"--gb-sq-light\": \"#9e6b45\",\n \"--gb-sq-dark\": \"#3d2314\",\n \"--gb-sq-light-image\":\n \"linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.08) 100%)\",\n \"--gb-sq-dark-image\":\n \"linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 0%, rgba(0, 0, 0, 0.16) 100%)\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 0 1.5px rgba(255, 255, 255, 0.45))\",\n \"--gb-last-move\": \"rgba(240, 195, 75, 0.48)\",\n \"--gb-selected\": \"rgba(240, 195, 75, 0.62)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.2)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.4)\",\n \"--gb-check\": \"radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)\",\n \"--gb-coord-light\": \"#3d2314\",\n \"--gb-coord-dark\": \"#9e6b45\",\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/themes/tritanopia.ts
|
|
2
|
+
var tritanopia = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#d6ece5",
|
|
4
|
+
"--gb-sq-dark": "#c75d5d",
|
|
5
|
+
"--gb-piece-filter-white": "drop-shadow(0 0 1px rgba(0, 0, 0, 0.6))",
|
|
6
|
+
"--gb-piece-filter-black": "drop-shadow(0 0 1px rgba(255, 255, 255, 0.6))",
|
|
7
|
+
"--gb-last-move": "rgba(160, 32, 240, 0.45)",
|
|
8
|
+
"--gb-selected": "rgba(160, 32, 240, 0.65)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.18)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(160, 32, 240, 0.55)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(220, 20, 60, 0.7) 30%, rgba(220, 20, 60, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#c75d5d",
|
|
13
|
+
"--gb-coord-dark": "#d6ece5"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { tritanopia };
|
|
17
|
+
//# sourceMappingURL=chunk-375XPUCQ.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-375XPUCQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/tritanopia.ts"],"names":[],"mappings":";AAcO,IAAM,UAAA,GAAoB,OAAO,MAAA,CAAO;AAAA,EAC7C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,yBAAA,EAA2B,yCAAA;AAAA,EAC3B,yBAAA,EAA2B,+CAAA;AAAA,EAC3B,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,0BAAA;AAAA,EAC7B,YAAA,EAAc,uEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-375XPUCQ.js","sourcesContent":["/**\n * Tritanopia theme — accessible palette scientifically tuned for blue-yellow color blindness.\n *\n * Employs clean seafoam teal and muted salmon tones paired with rich magenta/violet\n * highlights to ensure clarity for blue-yellow color vision deficiency.\n *\n * ```tsx\n * import { tritanopia } from \"gigaboard/themes/tritanopia\";\n * <Chessboard game={game} theme={tritanopia} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const tritanopia: Theme = Object.freeze({\n \"--gb-sq-light\": \"#d6ece5\",\n \"--gb-sq-dark\": \"#c75d5d\",\n \"--gb-piece-filter-white\": \"drop-shadow(0 0 1px rgba(0, 0, 0, 0.6))\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 0 1px rgba(255, 255, 255, 0.6))\",\n \"--gb-last-move\": \"rgba(160, 32, 240, 0.45)\",\n \"--gb-selected\": \"rgba(160, 32, 240, 0.65)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.18)\",\n \"--gb-legal-target-capture\": \"rgba(160, 32, 240, 0.55)\",\n \"--gb-check\": \"radial-gradient(rgba(220, 20, 60, 0.7) 30%, rgba(220, 20, 60, 0) 80%)\",\n \"--gb-coord-light\": \"#c75d5d\",\n \"--gb-coord-dark\": \"#d6ece5\",\n});\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/themes/chesscomBlue.ts
|
|
2
|
+
var chesscomBlue = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#dee3e6",
|
|
4
|
+
"--gb-sq-dark": "#8ca2ad",
|
|
5
|
+
"--gb-last-move": "rgba(122, 178, 216, 0.5)",
|
|
6
|
+
"--gb-selected": "rgba(122, 178, 216, 0.65)",
|
|
7
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.14)",
|
|
8
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
9
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)",
|
|
10
|
+
"--gb-coord-light": "#8ca2ad",
|
|
11
|
+
"--gb-coord-dark": "#dee3e6"
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export { chesscomBlue };
|
|
15
|
+
//# sourceMappingURL=chunk-3DEOTW2M.js.map
|
|
16
|
+
//# sourceMappingURL=chunk-3DEOTW2M.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/chesscomBlue.ts"],"names":[],"mappings":";AAWO,IAAM,YAAA,GAAsB,OAAO,MAAA,CAAO;AAAA,EAC/C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,2BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,oEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-3DEOTW2M.js","sourcesContent":["/**\n * Chess.com Blue theme — exact standard web blue/slate palette.\n *\n * ```tsx\n * import { chesscomBlue } from \"gigaboard/themes/chesscomBlue\";\n * <Chessboard game={game} theme={chesscomBlue} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const chesscomBlue: Theme = Object.freeze({\n \"--gb-sq-light\": \"#dee3e6\",\n \"--gb-sq-dark\": \"#8ca2ad\",\n \"--gb-last-move\": \"rgba(122, 178, 216, 0.5)\",\n \"--gb-selected\": \"rgba(122, 178, 216, 0.65)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.14)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#8ca2ad\",\n \"--gb-coord-dark\": \"#dee3e6\",\n});\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/themes/olive.ts
|
|
2
|
+
var olive = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#e8e4c9",
|
|
4
|
+
"--gb-sq-dark": "#748259",
|
|
5
|
+
"--gb-last-move": "rgba(205, 220, 57, 0.45)",
|
|
6
|
+
"--gb-selected": "rgba(205, 220, 57, 0.6)",
|
|
7
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.14)",
|
|
8
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
9
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)",
|
|
10
|
+
"--gb-coord-light": "#748259",
|
|
11
|
+
"--gb-coord-dark": "#e8e4c9"
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export { olive };
|
|
15
|
+
//# sourceMappingURL=chunk-3UFHYHMR.js.map
|
|
16
|
+
//# sourceMappingURL=chunk-3UFHYHMR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/olive.ts"],"names":[],"mappings":";AAaO,IAAM,KAAA,GAAe,OAAO,MAAA,CAAO;AAAA,EACxC,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,yBAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,oEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-3UFHYHMR.js","sourcesContent":["/**\n * Olive theme — warm sage cream and muted earthy olive.\n *\n * Muted, natural tone that is gentle on the eyes during extended play.\n *\n * ```tsx\n * import { olive } from \"gigaboard/themes/olive\";\n * <Chessboard game={game} theme={olive} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const olive: Theme = Object.freeze({\n \"--gb-sq-light\": \"#e8e4c9\",\n \"--gb-sq-dark\": \"#748259\",\n \"--gb-last-move\": \"rgba(205, 220, 57, 0.45)\",\n \"--gb-selected\": \"rgba(205, 220, 57, 0.6)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.14)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#748259\",\n \"--gb-coord-dark\": \"#e8e4c9\",\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/themes/marble.ts
|
|
2
|
+
var marble = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#e2e6ea",
|
|
4
|
+
"--gb-sq-dark": "#727d85",
|
|
5
|
+
"--gb-sq-light-image": "linear-gradient(135deg, rgba(255, 255, 255, 0.45) 0%, rgba(0, 0, 0, 0.04) 100%)",
|
|
6
|
+
"--gb-sq-dark-image": "linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(0, 0, 0, 0.12) 100%)",
|
|
7
|
+
"--gb-last-move": "rgba(70, 140, 240, 0.42)",
|
|
8
|
+
"--gb-selected": "rgba(70, 140, 240, 0.58)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.14)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#727d85",
|
|
13
|
+
"--gb-coord-dark": "#e2e6ea"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { marble };
|
|
17
|
+
//# sourceMappingURL=chunk-52DIWDSX.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-52DIWDSX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/marble.ts"],"names":[],"mappings":";AAaO,IAAM,MAAA,GAAgB,OAAO,MAAA,CAAO;AAAA,EACzC,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,qBAAA,EACE,iFAAA;AAAA,EACF,oBAAA,EACE,iFAAA;AAAA,EACF,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,uEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-52DIWDSX.js","sourcesContent":["/**\n * Marble theme — cool Carrara white stone and veined slate grey.\n *\n * Classic architectural styling with subtle stone gradients.\n *\n * ```tsx\n * import { marble } from \"gigaboard/themes/marble\";\n * <Chessboard game={game} theme={marble} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const marble: Theme = Object.freeze({\n \"--gb-sq-light\": \"#e2e6ea\",\n \"--gb-sq-dark\": \"#727d85\",\n \"--gb-sq-light-image\":\n \"linear-gradient(135deg, rgba(255, 255, 255, 0.45) 0%, rgba(0, 0, 0, 0.04) 100%)\",\n \"--gb-sq-dark-image\":\n \"linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(0, 0, 0, 0.12) 100%)\",\n \"--gb-last-move\": \"rgba(70, 140, 240, 0.42)\",\n \"--gb-selected\": \"rgba(70, 140, 240, 0.58)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.14)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)\",\n \"--gb-coord-light\": \"#727d85\",\n \"--gb-coord-dark\": \"#e2e6ea\",\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/chesscomGreen.ts
|
|
4
|
+
var chesscomGreen = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#eeeed2",
|
|
6
|
+
"--gb-sq-dark": "#769656",
|
|
7
|
+
"--gb-last-move": "rgba(255, 255, 51, 0.5)",
|
|
8
|
+
"--gb-selected": "rgba(255, 255, 51, 0.6)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.14)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#769656",
|
|
13
|
+
"--gb-coord-dark": "#eeeed2"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
exports.chesscomGreen = chesscomGreen;
|
|
17
|
+
//# sourceMappingURL=chunk-5OGPVD4R.cjs.map
|
|
18
|
+
//# sourceMappingURL=chunk-5OGPVD4R.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/chesscomGreen.ts"],"names":[],"mappings":";;;AAWO,IAAM,aAAA,GAAuB,OAAO,MAAA,CAAO;AAAA,EAChD,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,gBAAA,EAAkB,yBAAA;AAAA,EAClB,eAAA,EAAiB,yBAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,oEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-5OGPVD4R.cjs","sourcesContent":["/**\n * Chess.com Green theme — exact standard web green/cream palette.\n *\n * ```tsx\n * import { chesscomGreen } from \"gigaboard/themes/chesscomGreen\";\n * <Chessboard game={game} theme={chesscomGreen} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const chesscomGreen: Theme = Object.freeze({\n \"--gb-sq-light\": \"#eeeed2\",\n \"--gb-sq-dark\": \"#769656\",\n \"--gb-last-move\": \"rgba(255, 255, 51, 0.5)\",\n \"--gb-selected\": \"rgba(255, 255, 51, 0.6)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.14)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#769656\",\n \"--gb-coord-dark\": \"#eeeed2\",\n});\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// src/themes/newspaper.ts
|
|
2
|
+
var LIGHT_HATCH = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0M-1 1L1 -1M7 9L9 7' stroke='%23000' stroke-width='1' stroke-opacity='0.08'/%3E%3C/svg%3E")`;
|
|
3
|
+
var DARK_HATCH = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0M-1 1L1 -1M7 9L9 7' stroke='%23000' stroke-width='1.5' stroke-opacity='0.2'/%3E%3C/svg%3E")`;
|
|
4
|
+
var newspaper = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#ffffff",
|
|
6
|
+
"--gb-sq-dark": "#b8b8b8",
|
|
7
|
+
"--gb-sq-light-image": LIGHT_HATCH,
|
|
8
|
+
"--gb-sq-dark-image": DARK_HATCH,
|
|
9
|
+
"--gb-sq-image-size": "8px 8px",
|
|
10
|
+
"--gb-sq-blend-mode": "multiply",
|
|
11
|
+
"--gb-piece-filter-white": "drop-shadow(0 1px 1.5px rgba(0, 0, 0, 0.45))",
|
|
12
|
+
"--gb-piece-filter-black": "drop-shadow(0 1px 1.5px rgba(255, 255, 255, 0.35))",
|
|
13
|
+
"--gb-last-move": "rgba(0, 0, 0, 0.22)",
|
|
14
|
+
"--gb-selected": "rgba(0, 0, 0, 0.32)",
|
|
15
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.2)",
|
|
16
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.38)",
|
|
17
|
+
"--gb-check": "radial-gradient(rgba(200, 0, 0, 0.6) 30%, rgba(200, 0, 0, 0) 80%)",
|
|
18
|
+
"--gb-coord-light": "#777777",
|
|
19
|
+
"--gb-coord-dark": "#ffffff"
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export { newspaper };
|
|
23
|
+
//# sourceMappingURL=chunk-6S6THNZP.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-6S6THNZP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/newspaper.ts"],"names":[],"mappings":";AAeA,IAAM,WAAA,GACJ,CAAA,sMAAA,CAAA;AAEF,IAAM,UAAA,GACJ,CAAA,uMAAA,CAAA;AAEK,IAAM,SAAA,GAAmB,OAAO,MAAA,CAAO;AAAA,EAC5C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,qBAAA,EAAuB,WAAA;AAAA,EACvB,oBAAA,EAAsB,UAAA;AAAA,EACtB,oBAAA,EAAsB,SAAA;AAAA,EACtB,oBAAA,EAAsB,UAAA;AAAA,EACtB,yBAAA,EAA2B,8CAAA;AAAA,EAC3B,yBAAA,EAA2B,oDAAA;AAAA,EAC3B,gBAAA,EAAkB,qBAAA;AAAA,EAClB,eAAA,EAAiB,qBAAA;AAAA,EACjB,mBAAA,EAAqB,oBAAA;AAAA,EACrB,2BAAA,EAA6B,qBAAA;AAAA,EAC7B,YAAA,EAAc,mEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-6S6THNZP.js","sourcesContent":["/**\n * Newspaper theme — high-contrast monochrome with diagonal hatching pattern.\n *\n * Inspired by Lichess Newspaper. Light squares feature subtle diagonal lines,\n * and dark squares feature dense cross-hatch patterning using an embedded\n * zero-HTTP SVG data URI.\n *\n * ```tsx\n * import { newspaper } from \"gigaboard/themes/newspaper\";\n * <Chessboard game={game} theme={newspaper} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nconst LIGHT_HATCH =\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0M-1 1L1 -1M7 9L9 7' stroke='%23000' stroke-width='1' stroke-opacity='0.08'/%3E%3C/svg%3E\\\")\";\n\nconst DARK_HATCH =\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0M-1 1L1 -1M7 9L9 7' stroke='%23000' stroke-width='1.5' stroke-opacity='0.2'/%3E%3C/svg%3E\\\")\";\n\nexport const newspaper: Theme = Object.freeze({\n \"--gb-sq-light\": \"#ffffff\",\n \"--gb-sq-dark\": \"#b8b8b8\",\n \"--gb-sq-light-image\": LIGHT_HATCH,\n \"--gb-sq-dark-image\": DARK_HATCH,\n \"--gb-sq-image-size\": \"8px 8px\",\n \"--gb-sq-blend-mode\": \"multiply\",\n \"--gb-piece-filter-white\": \"drop-shadow(0 1px 1.5px rgba(0, 0, 0, 0.45))\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 1px 1.5px rgba(255, 255, 255, 0.35))\",\n \"--gb-last-move\": \"rgba(0, 0, 0, 0.22)\",\n \"--gb-selected\": \"rgba(0, 0, 0, 0.32)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.2)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.38)\",\n \"--gb-check\": \"radial-gradient(rgba(200, 0, 0, 0.6) 30%, rgba(200, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#777777\",\n \"--gb-coord-dark\": \"#ffffff\",\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/ic.ts
|
|
4
|
+
var ic = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#eceef2",
|
|
6
|
+
"--gb-sq-dark": "#bac3c7",
|
|
7
|
+
"--gb-last-move": "rgba(100, 160, 220, 0.45)",
|
|
8
|
+
"--gb-selected": "rgba(100, 160, 220, 0.6)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.15)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#bac3c7",
|
|
13
|
+
"--gb-coord-dark": "#eceef2"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
exports.ic = ic;
|
|
17
|
+
//# sourceMappingURL=chunk-6ZEPUUY5.cjs.map
|
|
18
|
+
//# sourceMappingURL=chunk-6ZEPUUY5.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/ic.ts"],"names":[],"mappings":";;;AAaO,IAAM,EAAA,GAAY,OAAO,MAAA,CAAO;AAAA,EACrC,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,gBAAA,EAAkB,2BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,oEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-6ZEPUUY5.cjs","sourcesContent":["/**\n * IC theme — icy grey and cold steel blue.\n *\n * Minimalist tournament styling popular in desktop chess GUIs.\n *\n * ```tsx\n * import { ic } from \"gigaboard/themes/ic\";\n * <Chessboard game={game} theme={ic} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const ic: Theme = Object.freeze({\n \"--gb-sq-light\": \"#eceef2\",\n \"--gb-sq-dark\": \"#bac3c7\",\n \"--gb-last-move\": \"rgba(100, 160, 220, 0.45)\",\n \"--gb-selected\": \"rgba(100, 160, 220, 0.6)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.15)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#bac3c7\",\n \"--gb-coord-dark\": \"#eceef2\",\n});\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/darkWood.ts
|
|
4
|
+
var darkWood = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#9e6b45",
|
|
6
|
+
"--gb-sq-dark": "#3d2314",
|
|
7
|
+
"--gb-sq-light-image": "linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.08) 100%)",
|
|
8
|
+
"--gb-sq-dark-image": "linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 0%, rgba(0, 0, 0, 0.16) 100%)",
|
|
9
|
+
"--gb-piece-filter-black": "drop-shadow(0 0 1.5px rgba(255, 255, 255, 0.45))",
|
|
10
|
+
"--gb-last-move": "rgba(240, 195, 75, 0.48)",
|
|
11
|
+
"--gb-selected": "rgba(240, 195, 75, 0.62)",
|
|
12
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.2)",
|
|
13
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.4)",
|
|
14
|
+
"--gb-check": "radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)",
|
|
15
|
+
"--gb-coord-light": "#3d2314",
|
|
16
|
+
"--gb-coord-dark": "#9e6b45"
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
exports.darkWood = darkWood;
|
|
20
|
+
//# sourceMappingURL=chunk-76PL52EB.cjs.map
|
|
21
|
+
//# sourceMappingURL=chunk-76PL52EB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/darkWood.ts"],"names":[],"mappings":";;;AAaO,IAAM,QAAA,GAAkB,OAAO,MAAA,CAAO;AAAA,EAC3C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,qBAAA,EACE,oFAAA;AAAA,EACF,oBAAA,EACE,oFAAA;AAAA,EACF,yBAAA,EAA2B,kDAAA;AAAA,EAC3B,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,oBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,uEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-76PL52EB.cjs","sourcesContent":["/**\n * Dark Wood theme — golden-brown teak light squares and deep ebony dark squares.\n *\n * High-contrast dark board with subtle piece filters for readability.\n *\n * ```tsx\n * import { darkWood } from \"gigaboard/themes/darkWood\";\n * <Chessboard game={game} theme={darkWood} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const darkWood: Theme = Object.freeze({\n \"--gb-sq-light\": \"#9e6b45\",\n \"--gb-sq-dark\": \"#3d2314\",\n \"--gb-sq-light-image\":\n \"linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.08) 100%)\",\n \"--gb-sq-dark-image\":\n \"linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 0%, rgba(0, 0, 0, 0.16) 100%)\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 0 1.5px rgba(255, 255, 255, 0.45))\",\n \"--gb-last-move\": \"rgba(240, 195, 75, 0.48)\",\n \"--gb-selected\": \"rgba(240, 195, 75, 0.62)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.2)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.4)\",\n \"--gb-check\": \"radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)\",\n \"--gb-coord-light\": \"#3d2314\",\n \"--gb-coord-dark\": \"#9e6b45\",\n});\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/deuteranopia.ts
|
|
4
|
+
var deuteranopia = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#f2eee3",
|
|
6
|
+
"--gb-sq-dark": "#3b6998",
|
|
7
|
+
"--gb-piece-filter-white": "drop-shadow(0 0 1px rgba(0, 0, 0, 0.7))",
|
|
8
|
+
"--gb-piece-filter-black": "drop-shadow(0 0 1px rgba(255, 255, 255, 0.7))",
|
|
9
|
+
"--gb-last-move": "rgba(255, 191, 0, 0.5)",
|
|
10
|
+
"--gb-selected": "rgba(255, 191, 0, 0.7)",
|
|
11
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.18)",
|
|
12
|
+
"--gb-legal-target-capture": "rgba(255, 191, 0, 0.6)",
|
|
13
|
+
"--gb-check": "radial-gradient(rgba(0, 100, 255, 0.75) 30%, rgba(0, 100, 255, 0) 80%)",
|
|
14
|
+
"--gb-coord-light": "#3b6998",
|
|
15
|
+
"--gb-coord-dark": "#f2eee3"
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
exports.deuteranopia = deuteranopia;
|
|
19
|
+
//# sourceMappingURL=chunk-A3HBH676.cjs.map
|
|
20
|
+
//# sourceMappingURL=chunk-A3HBH676.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/deuteranopia.ts"],"names":[],"mappings":";;;AAcO,IAAM,YAAA,GAAsB,OAAO,MAAA,CAAO;AAAA,EAC/C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,yBAAA,EAA2B,yCAAA;AAAA,EAC3B,yBAAA,EAA2B,+CAAA;AAAA,EAC3B,gBAAA,EAAkB,wBAAA;AAAA,EAClB,eAAA,EAAiB,wBAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,wBAAA;AAAA,EAC7B,YAAA,EAAc,wEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-A3HBH676.cjs","sourcesContent":["/**\n * Deuteranopia theme — accessible palette scientifically tuned for red-green color blindness.\n *\n * Replaces red/green cues with high-contrast cobalt blue, warm ivory, and golden-amber\n * highlights to guarantee unambiguous piece and square recognition.\n *\n * ```tsx\n * import { deuteranopia } from \"gigaboard/themes/deuteranopia\";\n * <Chessboard game={game} theme={deuteranopia} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const deuteranopia: Theme = Object.freeze({\n \"--gb-sq-light\": \"#f2eee3\",\n \"--gb-sq-dark\": \"#3b6998\",\n \"--gb-piece-filter-white\": \"drop-shadow(0 0 1px rgba(0, 0, 0, 0.7))\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 0 1px rgba(255, 255, 255, 0.7))\",\n \"--gb-last-move\": \"rgba(255, 191, 0, 0.5)\",\n \"--gb-selected\": \"rgba(255, 191, 0, 0.7)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.18)\",\n \"--gb-legal-target-capture\": \"rgba(255, 191, 0, 0.6)\",\n \"--gb-check\": \"radial-gradient(rgba(0, 100, 255, 0.75) 30%, rgba(0, 100, 255, 0) 80%)\",\n \"--gb-coord-light\": \"#3b6998\",\n \"--gb-coord-dark\": \"#f2eee3\",\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/themes/walnut.ts
|
|
2
|
+
var walnut = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#c9a070",
|
|
4
|
+
"--gb-sq-dark": "#593a22",
|
|
5
|
+
"--gb-sq-light-image": "linear-gradient(to bottom, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.06) 100%)",
|
|
6
|
+
"--gb-sq-dark-image": "linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.12) 100%)",
|
|
7
|
+
"--gb-last-move": "rgba(235, 180, 60, 0.45)",
|
|
8
|
+
"--gb-selected": "rgba(235, 180, 60, 0.6)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.16)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.32)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#593a22",
|
|
13
|
+
"--gb-coord-dark": "#c9a070"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { walnut };
|
|
17
|
+
//# sourceMappingURL=chunk-AWNSXENI.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-AWNSXENI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/walnut.ts"],"names":[],"mappings":";AAaO,IAAM,MAAA,GAAgB,OAAO,MAAA,CAAO;AAAA,EACzC,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,qBAAA,EACE,oFAAA;AAAA,EACF,oBAAA,EACE,oFAAA;AAAA,EACF,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,yBAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,qBAAA;AAAA,EAC7B,YAAA,EAAc,uEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-AWNSXENI.js","sourcesContent":["/**\n * Walnut theme — deep American walnut heartwood with honey sapwood light squares.\n *\n * Rich furniture-grade tournament board aesthetics.\n *\n * ```tsx\n * import { walnut } from \"gigaboard/themes/walnut\";\n * <Chessboard game={game} theme={walnut} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const walnut: Theme = Object.freeze({\n \"--gb-sq-light\": \"#c9a070\",\n \"--gb-sq-dark\": \"#593a22\",\n \"--gb-sq-light-image\":\n \"linear-gradient(to bottom, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.06) 100%)\",\n \"--gb-sq-dark-image\":\n \"linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.12) 100%)\",\n \"--gb-last-move\": \"rgba(235, 180, 60, 0.45)\",\n \"--gb-selected\": \"rgba(235, 180, 60, 0.6)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.16)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.32)\",\n \"--gb-check\": \"radial-gradient(rgba(240, 40, 40, 0.6) 30%, rgba(240, 40, 40, 0) 80%)\",\n \"--gb-coord-light\": \"#593a22\",\n \"--gb-coord-dark\": \"#c9a070\",\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/chesscomBlue.ts
|
|
4
|
+
var chesscomBlue = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#dee3e6",
|
|
6
|
+
"--gb-sq-dark": "#8ca2ad",
|
|
7
|
+
"--gb-last-move": "rgba(122, 178, 216, 0.5)",
|
|
8
|
+
"--gb-selected": "rgba(122, 178, 216, 0.65)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.14)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#8ca2ad",
|
|
13
|
+
"--gb-coord-dark": "#dee3e6"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
exports.chesscomBlue = chesscomBlue;
|
|
17
|
+
//# sourceMappingURL=chunk-CMV3NVR3.cjs.map
|
|
18
|
+
//# sourceMappingURL=chunk-CMV3NVR3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/chesscomBlue.ts"],"names":[],"mappings":";;;AAWO,IAAM,YAAA,GAAsB,OAAO,MAAA,CAAO;AAAA,EAC/C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,2BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,oEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-CMV3NVR3.cjs","sourcesContent":["/**\n * Chess.com Blue theme — exact standard web blue/slate palette.\n *\n * ```tsx\n * import { chesscomBlue } from \"gigaboard/themes/chesscomBlue\";\n * <Chessboard game={game} theme={chesscomBlue} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const chesscomBlue: Theme = Object.freeze({\n \"--gb-sq-light\": \"#dee3e6\",\n \"--gb-sq-dark\": \"#8ca2ad\",\n \"--gb-last-move\": \"rgba(122, 178, 216, 0.5)\",\n \"--gb-selected\": \"rgba(122, 178, 216, 0.65)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.14)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#8ca2ad\",\n \"--gb-coord-dark\": \"#dee3e6\",\n});\n"]}
|
|
@@ -7,6 +7,12 @@ var chunkAYVQCHSG_cjs = require('./chunk-AYVQCHSG.cjs');
|
|
|
7
7
|
var CSS_VARS = {
|
|
8
8
|
SQ_LIGHT: "--gb-sq-light",
|
|
9
9
|
SQ_DARK: "--gb-sq-dark",
|
|
10
|
+
SQ_LIGHT_IMAGE: "--gb-sq-light-image",
|
|
11
|
+
SQ_DARK_IMAGE: "--gb-sq-dark-image",
|
|
12
|
+
SQ_IMAGE_SIZE: "--gb-sq-image-size",
|
|
13
|
+
SQ_BLEND_MODE: "--gb-sq-blend-mode",
|
|
14
|
+
PIECE_FILTER_WHITE: "--gb-piece-filter-white",
|
|
15
|
+
PIECE_FILTER_BLACK: "--gb-piece-filter-black",
|
|
10
16
|
LAST_MOVE: "--gb-last-move",
|
|
11
17
|
SELECTED: "--gb-selected",
|
|
12
18
|
LEGAL_TARGET: "--gb-legal-target",
|
|
@@ -109,5 +115,5 @@ exports.defaultArrowColors = defaultArrowColors;
|
|
|
109
115
|
exports.defaultPieces = defaultPieces;
|
|
110
116
|
exports.defaultTheme = defaultTheme;
|
|
111
117
|
exports.parseFenPlacement = parseFenPlacement;
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
118
|
+
//# sourceMappingURL=chunk-D45G3J5E.cjs.map
|
|
119
|
+
//# sourceMappingURL=chunk-D45G3J5E.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/default-theme.ts","../src/fen.ts","../src/pieces/default-pieces.tsx"],"names":["green","neo"],"mappings":"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","file":"chunk-D45G3J5E.cjs","sourcesContent":["import { green } from \"./themes/green.js\";\nimport type { Theme } from \"./types.js\";\n\n/** Keys every Gigaboard board understands. */\nexport const CSS_VARS = {\n SQ_LIGHT: \"--gb-sq-light\",\n SQ_DARK: \"--gb-sq-dark\",\n SQ_LIGHT_IMAGE: \"--gb-sq-light-image\",\n SQ_DARK_IMAGE: \"--gb-sq-dark-image\",\n SQ_IMAGE_SIZE: \"--gb-sq-image-size\",\n SQ_BLEND_MODE: \"--gb-sq-blend-mode\",\n PIECE_FILTER_WHITE: \"--gb-piece-filter-white\",\n PIECE_FILTER_BLACK: \"--gb-piece-filter-black\",\n LAST_MOVE: \"--gb-last-move\",\n SELECTED: \"--gb-selected\",\n LEGAL_TARGET: \"--gb-legal-target\",\n LEGAL_TARGET_CAPTURE: \"--gb-legal-target-capture\",\n CHECK: \"--gb-check\",\n COORDINATE_LIGHT: \"--gb-coord-light\",\n COORDINATE_DARK: \"--gb-coord-dark\",\n /**\n * Opacity of the piece left behind at the drag origin while the ghost\n * is in flight. Default `0.35` (lichess parity). Themes may override\n * to `0` for a chess.com-style \"piece vanishes\" effect.\n */\n DRAG_GHOST_OPACITY: \"--gb-drag-ghost-opacity\",\n} as const;\n\nexport const defaultTheme: Theme = Object.freeze({\n ...green,\n [CSS_VARS.DRAG_GHOST_OPACITY]: \"0.35\",\n});\n\n/**\n * Default arrow-channel colours. Close to lichess's palette so arrows feel\n * familiar to players migrating over.\n */\nexport const defaultArrowColors = Object.freeze({\n default: \"rgba(21, 120, 27, 0.8)\",\n shift: \"rgba(153, 40, 40, 0.8)\",\n alt: \"rgba(230, 160, 0, 0.8)\",\n ctrl: \"rgba(0, 60, 130, 0.8)\",\n});\n\n/** Distinct blue tint used to preview pending premoves. */\nexport const DEFAULT_PREMOVE_TINT = \"rgba(30, 98, 255, 0.4)\";\n\n/** Red tint used to announce rejected moves. */\nexport const DEFAULT_ILLEGAL_FLASH_TINT = \"rgba(220, 40, 40, 0.55)\";\n","/**\n * FEN placement parsing — the one slice of FEN that both the server\n * `<StaticChessboard/>` and the client fallback-render path need.\n *\n * The parser is intentionally narrow: it only consumes the first\n * whitespace-delimited field of a FEN (piece placement) and returns a\n * 64-byte `Uint8Array` using our {@link BoardCell} encoding. Side-to-move,\n * castling, en-passant and the move clocks are the engine's business and\n * don't affect how the board is drawn.\n *\n * Kept in its own module so that:\n *\n * 1. `server.tsx` can import it without pulling a `\"use client\"` module.\n * 2. The client `<Chessboard/>`'s fallback path (`fallbackFen`) can reuse\n * the exact same parser — one source of truth for FEN shape.\n *\n * Throws on malformed input so misconfiguration fails at render time\n * rather than silently producing a blank board.\n */\n\nimport type { BoardCell } from \"./core/index.js\";\n\n/** FEN piece letter → our 1..12 `BoardCell` code, or 0 for unknown. */\nfunction pieceCellFromFenChar(ch: string): BoardCell {\n switch (ch) {\n case \"P\":\n return 1 as BoardCell;\n case \"N\":\n return 2 as BoardCell;\n case \"B\":\n return 3 as BoardCell;\n case \"R\":\n return 4 as BoardCell;\n case \"Q\":\n return 5 as BoardCell;\n case \"K\":\n return 6 as BoardCell;\n case \"p\":\n return 7 as BoardCell;\n case \"n\":\n return 8 as BoardCell;\n case \"b\":\n return 9 as BoardCell;\n case \"r\":\n return 10 as BoardCell;\n case \"q\":\n return 11 as BoardCell;\n case \"k\":\n return 12 as BoardCell;\n default:\n return 0 as BoardCell;\n }\n}\n\n/**\n * Parse the piece-placement field of a FEN into a 64-byte `Uint8Array`\n * in LERF order (index 0 = a1, index 63 = h8).\n *\n * Only the first whitespace-delimited token is read; anything after it\n * is ignored. That means both a full FEN (`\"rnbq... w KQkq - 0 1\"`) and\n * a bare placement (`\"rnbq...\"`) are accepted.\n */\nexport function parseFenPlacement(fen: string): Uint8Array {\n const placement = fen.trim().split(/\\s+/)[0];\n if (placement === undefined) {\n throw new Error(\"FEN is empty\");\n }\n const ranks = placement.split(\"/\");\n if (ranks.length !== 8) {\n throw new Error(`FEN must have 8 ranks, got ${ranks.length}`);\n }\n const board = new Uint8Array(64);\n for (let r = 0; r < 8; r++) {\n // FEN lists ranks 8→1; our LERF layout has rank 7 at top, 0 at bottom.\n const rank = 7 - r;\n const row = ranks[r];\n if (row === undefined) throw new Error(`FEN rank ${rank + 1} missing`);\n let file = 0;\n for (const ch of row) {\n if (file > 7) throw new Error(`FEN rank ${rank + 1} has too many files`);\n const skip = Number.parseInt(ch, 10);\n if (!Number.isNaN(skip)) {\n file += skip;\n continue;\n }\n const cell = pieceCellFromFenChar(ch);\n if (cell === 0) throw new Error(`FEN contains unknown piece: ${ch}`);\n board[rank * 8 + file] = cell;\n file++;\n }\n if (file !== 8) {\n throw new Error(`FEN rank ${rank + 1} ended at file ${file}, expected 8`);\n }\n }\n return board;\n}\n\n/** Standard starting position FEN, re-exported for convenience. */\nexport const STARTING_FEN = \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\";\n","import type { PieceRenderer } from \"../types.js\";\nimport { neo } from \"./sets/neo.js\";\n\nexport const defaultPieces: PieceRenderer = neo;\n"]}
|
|
@@ -5,6 +5,12 @@ import { neo } from './chunk-U6WAD322.js';
|
|
|
5
5
|
var CSS_VARS = {
|
|
6
6
|
SQ_LIGHT: "--gb-sq-light",
|
|
7
7
|
SQ_DARK: "--gb-sq-dark",
|
|
8
|
+
SQ_LIGHT_IMAGE: "--gb-sq-light-image",
|
|
9
|
+
SQ_DARK_IMAGE: "--gb-sq-dark-image",
|
|
10
|
+
SQ_IMAGE_SIZE: "--gb-sq-image-size",
|
|
11
|
+
SQ_BLEND_MODE: "--gb-sq-blend-mode",
|
|
12
|
+
PIECE_FILTER_WHITE: "--gb-piece-filter-white",
|
|
13
|
+
PIECE_FILTER_BLACK: "--gb-piece-filter-black",
|
|
8
14
|
LAST_MOVE: "--gb-last-move",
|
|
9
15
|
SELECTED: "--gb-selected",
|
|
10
16
|
LEGAL_TARGET: "--gb-legal-target",
|
|
@@ -101,5 +107,5 @@ function parseFenPlacement(fen) {
|
|
|
101
107
|
var defaultPieces = neo;
|
|
102
108
|
|
|
103
109
|
export { CSS_VARS, DEFAULT_ILLEGAL_FLASH_TINT, DEFAULT_PREMOVE_TINT, defaultArrowColors, defaultPieces, defaultTheme, parseFenPlacement };
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-EJUGH25P.js.map
|
|
111
|
+
//# sourceMappingURL=chunk-EJUGH25P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/default-theme.ts","../src/fen.ts","../src/pieces/default-pieces.tsx"],"names":[],"mappings":"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","file":"chunk-EJUGH25P.js","sourcesContent":["import { green } from \"./themes/green.js\";\nimport type { Theme } from \"./types.js\";\n\n/** Keys every Gigaboard board understands. */\nexport const CSS_VARS = {\n SQ_LIGHT: \"--gb-sq-light\",\n SQ_DARK: \"--gb-sq-dark\",\n SQ_LIGHT_IMAGE: \"--gb-sq-light-image\",\n SQ_DARK_IMAGE: \"--gb-sq-dark-image\",\n SQ_IMAGE_SIZE: \"--gb-sq-image-size\",\n SQ_BLEND_MODE: \"--gb-sq-blend-mode\",\n PIECE_FILTER_WHITE: \"--gb-piece-filter-white\",\n PIECE_FILTER_BLACK: \"--gb-piece-filter-black\",\n LAST_MOVE: \"--gb-last-move\",\n SELECTED: \"--gb-selected\",\n LEGAL_TARGET: \"--gb-legal-target\",\n LEGAL_TARGET_CAPTURE: \"--gb-legal-target-capture\",\n CHECK: \"--gb-check\",\n COORDINATE_LIGHT: \"--gb-coord-light\",\n COORDINATE_DARK: \"--gb-coord-dark\",\n /**\n * Opacity of the piece left behind at the drag origin while the ghost\n * is in flight. Default `0.35` (lichess parity). Themes may override\n * to `0` for a chess.com-style \"piece vanishes\" effect.\n */\n DRAG_GHOST_OPACITY: \"--gb-drag-ghost-opacity\",\n} as const;\n\nexport const defaultTheme: Theme = Object.freeze({\n ...green,\n [CSS_VARS.DRAG_GHOST_OPACITY]: \"0.35\",\n});\n\n/**\n * Default arrow-channel colours. Close to lichess's palette so arrows feel\n * familiar to players migrating over.\n */\nexport const defaultArrowColors = Object.freeze({\n default: \"rgba(21, 120, 27, 0.8)\",\n shift: \"rgba(153, 40, 40, 0.8)\",\n alt: \"rgba(230, 160, 0, 0.8)\",\n ctrl: \"rgba(0, 60, 130, 0.8)\",\n});\n\n/** Distinct blue tint used to preview pending premoves. */\nexport const DEFAULT_PREMOVE_TINT = \"rgba(30, 98, 255, 0.4)\";\n\n/** Red tint used to announce rejected moves. */\nexport const DEFAULT_ILLEGAL_FLASH_TINT = \"rgba(220, 40, 40, 0.55)\";\n","/**\n * FEN placement parsing — the one slice of FEN that both the server\n * `<StaticChessboard/>` and the client fallback-render path need.\n *\n * The parser is intentionally narrow: it only consumes the first\n * whitespace-delimited field of a FEN (piece placement) and returns a\n * 64-byte `Uint8Array` using our {@link BoardCell} encoding. Side-to-move,\n * castling, en-passant and the move clocks are the engine's business and\n * don't affect how the board is drawn.\n *\n * Kept in its own module so that:\n *\n * 1. `server.tsx` can import it without pulling a `\"use client\"` module.\n * 2. The client `<Chessboard/>`'s fallback path (`fallbackFen`) can reuse\n * the exact same parser — one source of truth for FEN shape.\n *\n * Throws on malformed input so misconfiguration fails at render time\n * rather than silently producing a blank board.\n */\n\nimport type { BoardCell } from \"./core/index.js\";\n\n/** FEN piece letter → our 1..12 `BoardCell` code, or 0 for unknown. */\nfunction pieceCellFromFenChar(ch: string): BoardCell {\n switch (ch) {\n case \"P\":\n return 1 as BoardCell;\n case \"N\":\n return 2 as BoardCell;\n case \"B\":\n return 3 as BoardCell;\n case \"R\":\n return 4 as BoardCell;\n case \"Q\":\n return 5 as BoardCell;\n case \"K\":\n return 6 as BoardCell;\n case \"p\":\n return 7 as BoardCell;\n case \"n\":\n return 8 as BoardCell;\n case \"b\":\n return 9 as BoardCell;\n case \"r\":\n return 10 as BoardCell;\n case \"q\":\n return 11 as BoardCell;\n case \"k\":\n return 12 as BoardCell;\n default:\n return 0 as BoardCell;\n }\n}\n\n/**\n * Parse the piece-placement field of a FEN into a 64-byte `Uint8Array`\n * in LERF order (index 0 = a1, index 63 = h8).\n *\n * Only the first whitespace-delimited token is read; anything after it\n * is ignored. That means both a full FEN (`\"rnbq... w KQkq - 0 1\"`) and\n * a bare placement (`\"rnbq...\"`) are accepted.\n */\nexport function parseFenPlacement(fen: string): Uint8Array {\n const placement = fen.trim().split(/\\s+/)[0];\n if (placement === undefined) {\n throw new Error(\"FEN is empty\");\n }\n const ranks = placement.split(\"/\");\n if (ranks.length !== 8) {\n throw new Error(`FEN must have 8 ranks, got ${ranks.length}`);\n }\n const board = new Uint8Array(64);\n for (let r = 0; r < 8; r++) {\n // FEN lists ranks 8→1; our LERF layout has rank 7 at top, 0 at bottom.\n const rank = 7 - r;\n const row = ranks[r];\n if (row === undefined) throw new Error(`FEN rank ${rank + 1} missing`);\n let file = 0;\n for (const ch of row) {\n if (file > 7) throw new Error(`FEN rank ${rank + 1} has too many files`);\n const skip = Number.parseInt(ch, 10);\n if (!Number.isNaN(skip)) {\n file += skip;\n continue;\n }\n const cell = pieceCellFromFenChar(ch);\n if (cell === 0) throw new Error(`FEN contains unknown piece: ${ch}`);\n board[rank * 8 + file] = cell;\n file++;\n }\n if (file !== 8) {\n throw new Error(`FEN rank ${rank + 1} ended at file ${file}, expected 8`);\n }\n }\n return board;\n}\n\n/** Standard starting position FEN, re-exported for convenience. */\nexport const STARTING_FEN = \"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1\";\n","import type { PieceRenderer } from \"../types.js\";\nimport { neo } from \"./sets/neo.js\";\n\nexport const defaultPieces: PieceRenderer = neo;\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/themes/neon.ts
|
|
2
|
+
var neon = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#00e5ff",
|
|
4
|
+
"--gb-sq-dark": "#121a36",
|
|
5
|
+
"--gb-piece-filter-white": "drop-shadow(0 0 2px #00e5ff)",
|
|
6
|
+
"--gb-piece-filter-black": "drop-shadow(0 0 2px #ff007f)",
|
|
7
|
+
"--gb-last-move": "rgba(255, 0, 128, 0.45)",
|
|
8
|
+
"--gb-selected": "rgba(255, 0, 128, 0.65)",
|
|
9
|
+
"--gb-legal-target": "rgba(0, 229, 255, 0.3)",
|
|
10
|
+
"--gb-legal-target-capture": "rgba(255, 0, 128, 0.5)",
|
|
11
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 80, 0.8) 30%, rgba(255, 0, 80, 0) 80%)",
|
|
12
|
+
"--gb-coord-light": "#121a36",
|
|
13
|
+
"--gb-coord-dark": "#00e5ff"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { neon };
|
|
17
|
+
//# sourceMappingURL=chunk-EWAHJSTZ.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-EWAHJSTZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/neon.ts"],"names":[],"mappings":";AAaO,IAAM,IAAA,GAAc,OAAO,MAAA,CAAO;AAAA,EACvC,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,yBAAA,EAA2B,8BAAA;AAAA,EAC3B,yBAAA,EAA2B,8BAAA;AAAA,EAC3B,gBAAA,EAAkB,yBAAA;AAAA,EAClB,eAAA,EAAiB,yBAAA;AAAA,EACjB,mBAAA,EAAqB,wBAAA;AAAA,EACrB,2BAAA,EAA6B,wBAAA;AAAA,EAC7B,YAAA,EAAc,qEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-EWAHJSTZ.js","sourcesContent":["/**\n * Neon theme — cyberpunk electric cyan and deep midnight navy.\n *\n * Vivid high-energy palette with glowing piece filter accents.\n *\n * ```tsx\n * import { neon } from \"gigaboard/themes/neon\";\n * <Chessboard game={game} theme={neon} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const neon: Theme = Object.freeze({\n \"--gb-sq-light\": \"#00e5ff\",\n \"--gb-sq-dark\": \"#121a36\",\n \"--gb-piece-filter-white\": \"drop-shadow(0 0 2px #00e5ff)\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 0 2px #ff007f)\",\n \"--gb-last-move\": \"rgba(255, 0, 128, 0.45)\",\n \"--gb-selected\": \"rgba(255, 0, 128, 0.65)\",\n \"--gb-legal-target\": \"rgba(0, 229, 255, 0.3)\",\n \"--gb-legal-target-capture\": \"rgba(255, 0, 128, 0.5)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 80, 0.8) 30%, rgba(255, 0, 80, 0) 80%)\",\n \"--gb-coord-light\": \"#121a36\",\n \"--gb-coord-dark\": \"#00e5ff\",\n});\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/tritanopia.ts
|
|
4
|
+
var tritanopia = Object.freeze({
|
|
5
|
+
"--gb-sq-light": "#d6ece5",
|
|
6
|
+
"--gb-sq-dark": "#c75d5d",
|
|
7
|
+
"--gb-piece-filter-white": "drop-shadow(0 0 1px rgba(0, 0, 0, 0.6))",
|
|
8
|
+
"--gb-piece-filter-black": "drop-shadow(0 0 1px rgba(255, 255, 255, 0.6))",
|
|
9
|
+
"--gb-last-move": "rgba(160, 32, 240, 0.45)",
|
|
10
|
+
"--gb-selected": "rgba(160, 32, 240, 0.65)",
|
|
11
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.18)",
|
|
12
|
+
"--gb-legal-target-capture": "rgba(160, 32, 240, 0.55)",
|
|
13
|
+
"--gb-check": "radial-gradient(rgba(220, 20, 60, 0.7) 30%, rgba(220, 20, 60, 0) 80%)",
|
|
14
|
+
"--gb-coord-light": "#c75d5d",
|
|
15
|
+
"--gb-coord-dark": "#d6ece5"
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
exports.tritanopia = tritanopia;
|
|
19
|
+
//# sourceMappingURL=chunk-F2QTCQXE.cjs.map
|
|
20
|
+
//# sourceMappingURL=chunk-F2QTCQXE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/tritanopia.ts"],"names":[],"mappings":";;;AAcO,IAAM,UAAA,GAAoB,OAAO,MAAA,CAAO;AAAA,EAC7C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,yBAAA,EAA2B,yCAAA;AAAA,EAC3B,yBAAA,EAA2B,+CAAA;AAAA,EAC3B,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,0BAAA;AAAA,EAC7B,YAAA,EAAc,uEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-F2QTCQXE.cjs","sourcesContent":["/**\n * Tritanopia theme — accessible palette scientifically tuned for blue-yellow color blindness.\n *\n * Employs clean seafoam teal and muted salmon tones paired with rich magenta/violet\n * highlights to ensure clarity for blue-yellow color vision deficiency.\n *\n * ```tsx\n * import { tritanopia } from \"gigaboard/themes/tritanopia\";\n * <Chessboard game={game} theme={tritanopia} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const tritanopia: Theme = Object.freeze({\n \"--gb-sq-light\": \"#d6ece5\",\n \"--gb-sq-dark\": \"#c75d5d\",\n \"--gb-piece-filter-white\": \"drop-shadow(0 0 1px rgba(0, 0, 0, 0.6))\",\n \"--gb-piece-filter-black\": \"drop-shadow(0 0 1px rgba(255, 255, 255, 0.6))\",\n \"--gb-last-move\": \"rgba(160, 32, 240, 0.45)\",\n \"--gb-selected\": \"rgba(160, 32, 240, 0.65)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.18)\",\n \"--gb-legal-target-capture\": \"rgba(160, 32, 240, 0.55)\",\n \"--gb-check\": \"radial-gradient(rgba(220, 20, 60, 0.7) 30%, rgba(220, 20, 60, 0) 80%)\",\n \"--gb-coord-light\": \"#c75d5d\",\n \"--gb-coord-dark\": \"#d6ece5\",\n});\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/themes/pink.ts
|
|
2
|
+
var pink = Object.freeze({
|
|
3
|
+
"--gb-sq-light": "#f9e4e8",
|
|
4
|
+
"--gb-sq-dark": "#c46d85",
|
|
5
|
+
"--gb-last-move": "rgba(255, 105, 180, 0.4)",
|
|
6
|
+
"--gb-selected": "rgba(255, 105, 180, 0.6)",
|
|
7
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.15)",
|
|
8
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.32)",
|
|
9
|
+
"--gb-check": "radial-gradient(rgba(220, 20, 60, 0.65) 30%, rgba(220, 20, 60, 0) 80%)",
|
|
10
|
+
"--gb-coord-light": "#c46d85",
|
|
11
|
+
"--gb-coord-dark": "#f9e4e8"
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export { pink };
|
|
15
|
+
//# sourceMappingURL=chunk-FACLRSNS.js.map
|
|
16
|
+
//# sourceMappingURL=chunk-FACLRSNS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/pink.ts"],"names":[],"mappings":";AAaO,IAAM,IAAA,GAAc,OAAO,MAAA,CAAO;AAAA,EACvC,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,gBAAA,EAAkB,0BAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,qBAAA;AAAA,EAC7B,YAAA,EAAc,wEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-FACLRSNS.js","sourcesContent":["/**\n * Pink theme — soft pastel rose and muted crimson.\n *\n * Playful, elegant palette with clear contrast.\n *\n * ```tsx\n * import { pink } from \"gigaboard/themes/pink\";\n * <Chessboard game={game} theme={pink} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nexport const pink: Theme = Object.freeze({\n \"--gb-sq-light\": \"#f9e4e8\",\n \"--gb-sq-dark\": \"#c46d85\",\n \"--gb-last-move\": \"rgba(255, 105, 180, 0.4)\",\n \"--gb-selected\": \"rgba(255, 105, 180, 0.6)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.15)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.32)\",\n \"--gb-check\": \"radial-gradient(rgba(220, 20, 60, 0.65) 30%, rgba(220, 20, 60, 0) 80%)\",\n \"--gb-coord-light\": \"#c46d85\",\n \"--gb-coord-dark\": \"#f9e4e8\",\n});\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/themes/cafeCreme.ts
|
|
4
|
+
var WOVEN_LIGHT = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='0.6' fill='%23000' fill-opacity='0.04'/%3E%3Ccircle cx='4' cy='4' r='0.6' fill='%23fff' fill-opacity='0.08'/%3E%3C/svg%3E")`;
|
|
5
|
+
var WOVEN_DARK = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='0.6' fill='%23000' fill-opacity='0.08'/%3E%3Ccircle cx='4' cy='4' r='0.6' fill='%23fff' fill-opacity='0.05'/%3E%3C/svg%3E")`;
|
|
6
|
+
var cafeCreme = Object.freeze({
|
|
7
|
+
"--gb-sq-light": "#f7ece1",
|
|
8
|
+
"--gb-sq-dark": "#b88b58",
|
|
9
|
+
"--gb-sq-light-image": WOVEN_LIGHT,
|
|
10
|
+
"--gb-sq-dark-image": WOVEN_DARK,
|
|
11
|
+
"--gb-sq-image-size": "6px 6px",
|
|
12
|
+
"--gb-sq-blend-mode": "overlay",
|
|
13
|
+
"--gb-last-move": "rgba(180, 140, 60, 0.4)",
|
|
14
|
+
"--gb-selected": "rgba(180, 140, 60, 0.55)",
|
|
15
|
+
"--gb-legal-target": "rgba(0, 0, 0, 0.14)",
|
|
16
|
+
"--gb-legal-target-capture": "rgba(0, 0, 0, 0.3)",
|
|
17
|
+
"--gb-check": "radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)",
|
|
18
|
+
"--gb-coord-light": "#b88b58",
|
|
19
|
+
"--gb-coord-dark": "#f7ece1"
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports.cafeCreme = cafeCreme;
|
|
23
|
+
//# sourceMappingURL=chunk-FICI4AMA.cjs.map
|
|
24
|
+
//# sourceMappingURL=chunk-FICI4AMA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/cafeCreme.ts"],"names":[],"mappings":";;;AAaA,IAAM,WAAA,GACJ,CAAA,+OAAA,CAAA;AAEF,IAAM,UAAA,GACJ,CAAA,+OAAA,CAAA;AAEK,IAAM,SAAA,GAAmB,OAAO,MAAA,CAAO;AAAA,EAC5C,eAAA,EAAiB,SAAA;AAAA,EACjB,cAAA,EAAgB,SAAA;AAAA,EAChB,qBAAA,EAAuB,WAAA;AAAA,EACvB,oBAAA,EAAsB,UAAA;AAAA,EACtB,oBAAA,EAAsB,SAAA;AAAA,EACtB,oBAAA,EAAsB,SAAA;AAAA,EACtB,gBAAA,EAAkB,yBAAA;AAAA,EAClB,eAAA,EAAiB,0BAAA;AAAA,EACjB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,2BAAA,EAA6B,oBAAA;AAAA,EAC7B,YAAA,EAAc,oEAAA;AAAA,EACd,kBAAA,EAAoB,SAAA;AAAA,EACpB,iBAAA,EAAmB;AACrB,CAAC","file":"chunk-FICI4AMA.cjs","sourcesContent":["/**\n * Café Crème theme — soft latte and roasted almond palette with subtle woven texture.\n *\n * Inspired by classic French café aesthetic.\n *\n * ```tsx\n * import { cafeCreme } from \"gigaboard/themes/cafeCreme\";\n * <Chessboard game={game} theme={cafeCreme} />\n * ```\n */\n\nimport type { Theme } from \"./index.js\";\n\nconst WOVEN_LIGHT =\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='0.6' fill='%23000' fill-opacity='0.04'/%3E%3Ccircle cx='4' cy='4' r='0.6' fill='%23fff' fill-opacity='0.08'/%3E%3C/svg%3E\\\")\";\n\nconst WOVEN_DARK =\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='0.6' fill='%23000' fill-opacity='0.08'/%3E%3Ccircle cx='4' cy='4' r='0.6' fill='%23fff' fill-opacity='0.05'/%3E%3C/svg%3E\\\")\";\n\nexport const cafeCreme: Theme = Object.freeze({\n \"--gb-sq-light\": \"#f7ece1\",\n \"--gb-sq-dark\": \"#b88b58\",\n \"--gb-sq-light-image\": WOVEN_LIGHT,\n \"--gb-sq-dark-image\": WOVEN_DARK,\n \"--gb-sq-image-size\": \"6px 6px\",\n \"--gb-sq-blend-mode\": \"overlay\",\n \"--gb-last-move\": \"rgba(180, 140, 60, 0.4)\",\n \"--gb-selected\": \"rgba(180, 140, 60, 0.55)\",\n \"--gb-legal-target\": \"rgba(0, 0, 0, 0.14)\",\n \"--gb-legal-target-capture\": \"rgba(0, 0, 0, 0.3)\",\n \"--gb-check\": \"radial-gradient(rgba(255, 0, 0, 0.55) 30%, rgba(255, 0, 0, 0) 80%)\",\n \"--gb-coord-light\": \"#b88b58\",\n \"--gb-coord-dark\": \"#f7ece1\",\n});\n"]}
|