react-native-chess-kit 0.1.0 → 0.2.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.
Files changed (109) hide show
  1. package/lib/commonjs/board-annotations.js +131 -0
  2. package/lib/commonjs/board-annotations.js.map +1 -0
  3. package/lib/commonjs/board-arrows.js +164 -0
  4. package/lib/commonjs/board-arrows.js.map +1 -0
  5. package/lib/commonjs/board-highlights.js +212 -0
  6. package/lib/commonjs/board-highlights.js.map +1 -0
  7. package/lib/commonjs/board-piece.js +41 -12
  8. package/lib/commonjs/board-piece.js.map +1 -1
  9. package/lib/commonjs/board-pieces.js +2 -0
  10. package/lib/commonjs/board-pieces.js.map +1 -1
  11. package/lib/commonjs/board.js +392 -42
  12. package/lib/commonjs/board.js.map +1 -1
  13. package/lib/commonjs/constants.js +104 -0
  14. package/lib/commonjs/constants.js.map +1 -0
  15. package/lib/commonjs/index.js +128 -0
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/pieces/default-pieces.js +536 -0
  18. package/lib/commonjs/pieces/default-pieces.js.map +1 -0
  19. package/lib/commonjs/pieces/index.js +13 -0
  20. package/lib/commonjs/pieces/index.js.map +1 -0
  21. package/lib/commonjs/promotion-picker.js +129 -0
  22. package/lib/commonjs/promotion-picker.js.map +1 -0
  23. package/lib/commonjs/static-board.js +150 -0
  24. package/lib/commonjs/static-board.js.map +1 -0
  25. package/lib/commonjs/themes.js +175 -0
  26. package/lib/commonjs/themes.js.map +1 -0
  27. package/lib/commonjs/use-board-gesture.js +184 -11
  28. package/lib/commonjs/use-board-gesture.js.map +1 -1
  29. package/lib/commonjs/use-premove.js +44 -0
  30. package/lib/commonjs/use-premove.js.map +1 -0
  31. package/lib/module/board-annotations.js +126 -0
  32. package/lib/module/board-annotations.js.map +1 -0
  33. package/lib/module/board-arrows.js +161 -0
  34. package/lib/module/board-arrows.js.map +1 -0
  35. package/lib/module/board-highlights.js +206 -0
  36. package/lib/module/board-highlights.js.map +1 -0
  37. package/lib/module/board-piece.js +42 -13
  38. package/lib/module/board-piece.js.map +1 -1
  39. package/lib/module/board-pieces.js +2 -0
  40. package/lib/module/board-pieces.js.map +1 -1
  41. package/lib/module/board.js +395 -44
  42. package/lib/module/board.js.map +1 -1
  43. package/lib/module/constants.js +100 -0
  44. package/lib/module/constants.js.map +1 -0
  45. package/lib/module/index.js +29 -1
  46. package/lib/module/index.js.map +1 -1
  47. package/lib/module/pieces/default-pieces.js +530 -0
  48. package/lib/module/pieces/default-pieces.js.map +1 -0
  49. package/lib/module/pieces/index.js +4 -0
  50. package/lib/module/pieces/index.js.map +1 -0
  51. package/lib/module/promotion-picker.js +124 -0
  52. package/lib/module/promotion-picker.js.map +1 -0
  53. package/lib/module/static-board.js +146 -0
  54. package/lib/module/static-board.js.map +1 -0
  55. package/lib/module/themes.js +171 -0
  56. package/lib/module/themes.js.map +1 -0
  57. package/lib/module/use-board-gesture.js +185 -11
  58. package/lib/module/use-board-gesture.js.map +1 -1
  59. package/lib/module/use-premove.js +40 -0
  60. package/lib/module/use-premove.js.map +1 -0
  61. package/lib/typescript/board-annotations.d.ts +30 -0
  62. package/lib/typescript/board-annotations.d.ts.map +1 -0
  63. package/lib/typescript/board-arrows.d.ts +27 -0
  64. package/lib/typescript/board-arrows.d.ts.map +1 -0
  65. package/lib/typescript/board-highlights.d.ts +65 -0
  66. package/lib/typescript/board-highlights.d.ts.map +1 -0
  67. package/lib/typescript/board-piece.d.ts +10 -4
  68. package/lib/typescript/board-piece.d.ts.map +1 -1
  69. package/lib/typescript/board-pieces.d.ts +2 -1
  70. package/lib/typescript/board-pieces.d.ts.map +1 -1
  71. package/lib/typescript/board.d.ts +11 -2
  72. package/lib/typescript/board.d.ts.map +1 -1
  73. package/lib/typescript/constants.d.ts +54 -0
  74. package/lib/typescript/constants.d.ts.map +1 -0
  75. package/lib/typescript/index.d.ts +9 -1
  76. package/lib/typescript/index.d.ts.map +1 -1
  77. package/lib/typescript/pieces/default-pieces.d.ts +3 -0
  78. package/lib/typescript/pieces/default-pieces.d.ts.map +1 -0
  79. package/lib/typescript/pieces/index.d.ts +2 -0
  80. package/lib/typescript/pieces/index.d.ts.map +1 -0
  81. package/lib/typescript/promotion-picker.d.ts +30 -0
  82. package/lib/typescript/promotion-picker.d.ts.map +1 -0
  83. package/lib/typescript/static-board.d.ts +12 -0
  84. package/lib/typescript/static-board.d.ts.map +1 -0
  85. package/lib/typescript/themes.d.ts +15 -0
  86. package/lib/typescript/themes.d.ts.map +1 -0
  87. package/lib/typescript/types.d.ts +194 -24
  88. package/lib/typescript/types.d.ts.map +1 -1
  89. package/lib/typescript/use-board-gesture.d.ts +28 -2
  90. package/lib/typescript/use-board-gesture.d.ts.map +1 -1
  91. package/lib/typescript/use-premove.d.ts +31 -0
  92. package/lib/typescript/use-premove.d.ts.map +1 -0
  93. package/package.json +4 -2
  94. package/src/board-annotations.tsx +147 -0
  95. package/src/board-arrows.tsx +197 -0
  96. package/src/board-highlights.tsx +226 -0
  97. package/src/board-piece.tsx +50 -12
  98. package/src/board-pieces.tsx +4 -1
  99. package/src/board.tsx +462 -46
  100. package/src/constants.ts +100 -0
  101. package/src/index.ts +62 -1
  102. package/src/pieces/default-pieces.tsx +383 -0
  103. package/src/pieces/index.ts +1 -0
  104. package/src/promotion-picker.tsx +147 -0
  105. package/src/static-board.tsx +150 -0
  106. package/src/themes.ts +129 -0
  107. package/src/types.ts +251 -25
  108. package/src/use-board-gesture.ts +219 -8
  109. package/src/use-premove.ts +59 -0
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PromotionPicker = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useBoardPieces = require("./use-board-pieces");
10
+ var _constants = require("./constants");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ // ---------------------------------------------------------------------------
14
+ // Props
15
+ // ---------------------------------------------------------------------------
16
+
17
+ // ---------------------------------------------------------------------------
18
+ // Promotion pieces in order
19
+ // ---------------------------------------------------------------------------
20
+
21
+ const PROMOTION_PIECES = ['q', 'r', 'b', 'n'];
22
+ function promotionPieceCode(color, piece) {
23
+ return `${color}${piece}`;
24
+ }
25
+
26
+ // ---------------------------------------------------------------------------
27
+ // Component
28
+ // ---------------------------------------------------------------------------
29
+
30
+ /**
31
+ * Promotion piece picker overlay.
32
+ *
33
+ * Appears as a vertical column of 4 pieces (Q, R, B, N) anchored to the
34
+ * promotion square. Expands downward when promoting on the top edge,
35
+ * upward when promoting on the bottom edge.
36
+ *
37
+ * A semi-transparent backdrop covers the board. Tapping outside cancels.
38
+ */
39
+ const PromotionPicker = exports.PromotionPicker = /*#__PURE__*/_react.default.memo(function PromotionPicker({
40
+ square,
41
+ pieceColor,
42
+ boardSize,
43
+ squareSize,
44
+ orientation,
45
+ renderPiece,
46
+ onSelect,
47
+ onCancel
48
+ }) {
49
+ const {
50
+ x,
51
+ y
52
+ } = (0, _useBoardPieces.squareToXY)(square, squareSize, orientation);
53
+ const pieceSize = squareSize * (1 - _constants.PROMOTION_PIECE_PADDING * 2);
54
+ const padding = squareSize * _constants.PROMOTION_PIECE_PADDING;
55
+
56
+ // Determine if the picker should expand downward or upward
57
+ // If the promotion square is in the top half, expand downward
58
+ const expandDown = y < boardSize / 2;
59
+ const handleSelect = (0, _react.useCallback)(piece => {
60
+ onSelect(piece);
61
+ }, [onSelect]);
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
63
+ style: {
64
+ position: 'absolute',
65
+ width: boardSize,
66
+ height: boardSize,
67
+ zIndex: 200
68
+ },
69
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
70
+ style: {
71
+ position: 'absolute',
72
+ width: boardSize,
73
+ height: boardSize,
74
+ backgroundColor: 'rgba(0, 0, 0, 0.4)'
75
+ },
76
+ onPress: onCancel
77
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
78
+ style: {
79
+ position: 'absolute',
80
+ left: x,
81
+ top: expandDown ? y : y - squareSize * 3,
82
+ width: squareSize,
83
+ backgroundColor: '#ffffff',
84
+ borderRadius: 4,
85
+ // Subtle shadow for elevation
86
+ shadowColor: '#000',
87
+ shadowOffset: {
88
+ width: 0,
89
+ height: 2
90
+ },
91
+ shadowOpacity: 0.25,
92
+ shadowRadius: 4,
93
+ elevation: 8,
94
+ overflow: 'hidden'
95
+ },
96
+ children: PROMOTION_PIECES.map(piece => {
97
+ const code = promotionPieceCode(pieceColor, piece);
98
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
99
+ onPress: () => handleSelect(piece),
100
+ style: ({
101
+ pressed
102
+ }) => ({
103
+ width: squareSize,
104
+ height: squareSize,
105
+ alignItems: 'center',
106
+ justifyContent: 'center',
107
+ backgroundColor: pressed ? 'rgba(0, 0, 0, 0.1)' : 'transparent'
108
+ }),
109
+ accessibilityLabel: `Promote to ${PIECE_NAMES[piece]}`,
110
+ accessibilityRole: "button",
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
112
+ style: {
113
+ width: pieceSize,
114
+ height: pieceSize
115
+ },
116
+ children: renderPiece(code, pieceSize)
117
+ })
118
+ }, piece);
119
+ })
120
+ })]
121
+ });
122
+ });
123
+ const PIECE_NAMES = {
124
+ q: 'Queen',
125
+ r: 'Rook',
126
+ b: 'Bishop',
127
+ n: 'Knight'
128
+ };
129
+ //# sourceMappingURL=promotion-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useBoardPieces","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PROMOTION_PIECES","promotionPieceCode","color","piece","PromotionPicker","exports","React","memo","square","pieceColor","boardSize","squareSize","orientation","renderPiece","onSelect","onCancel","x","y","squareToXY","pieceSize","PROMOTION_PIECE_PADDING","padding","expandDown","handleSelect","useCallback","jsxs","View","style","position","width","height","zIndex","children","jsx","Pressable","backgroundColor","onPress","left","top","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","overflow","map","code","pressed","alignItems","justifyContent","accessibilityLabel","PIECE_NAMES","accessibilityRole","q","b"],"sourceRoot":"..\\..\\src","sources":["promotion-picker.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StaticBoard = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _constants = require("./constants");
10
+ var _pieces = require("./pieces");
11
+ var _useBoardPieces = require("./use-board-pieces");
12
+ var _boardBackground = require("./board-background");
13
+ var _boardCoordinates = require("./board-coordinates");
14
+ var _boardHighlights = require("./board-highlights");
15
+ var _boardArrows = require("./board-arrows");
16
+ var _boardAnnotations = require("./board-annotations");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ /**
20
+ * Non-interactive chess board — optimized for lists, thumbnails, and analysis previews.
21
+ *
22
+ * No gesture handler, no drag ghost, no legal move dots.
23
+ * Just: background + coordinates + highlights + pieces + arrows + annotations.
24
+ *
25
+ * Significantly lighter than the full Board component.
26
+ */
27
+ const StaticBoard = exports.StaticBoard = /*#__PURE__*/_react.default.memo(function StaticBoard({
28
+ fen,
29
+ orientation = 'white',
30
+ boardSize: boardSizeProp,
31
+ colors,
32
+ withCoordinates = false,
33
+ renderPiece,
34
+ pieceSet,
35
+ lastMove,
36
+ highlights,
37
+ arrows,
38
+ annotations
39
+ }) {
40
+ // --- Auto-sizing via onLayout when boardSize not provided ---
41
+ const [measuredSize, setMeasuredSize] = (0, _react.useState)(0);
42
+ const handleLayout = (0, _react.useCallback)(e => {
43
+ const {
44
+ width,
45
+ height
46
+ } = e.nativeEvent.layout;
47
+ setMeasuredSize(Math.min(width, height));
48
+ }, []);
49
+ const boardSize = boardSizeProp ?? measuredSize;
50
+ const squareSize = boardSize / 8;
51
+ const boardColors = colors ?? _constants.DEFAULT_BOARD_COLORS;
52
+
53
+ // --- Piece data from FEN ---
54
+ const pieces = (0, _useBoardPieces.useBoardPieces)(fen);
55
+
56
+ // --- Resolve piece renderer: renderPiece > pieceSet > DefaultPieceSet ---
57
+ const resolvedRenderer = (0, _react.useMemo)(() => {
58
+ if (renderPiece) return renderPiece;
59
+ const set = pieceSet ?? _pieces.DefaultPieceSet;
60
+ return (code, size) => {
61
+ const renderer = set[code];
62
+ if (renderer) return renderer(size);
63
+ // Fallback for unknown piece codes
64
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
65
+ style: {
66
+ width: size,
67
+ height: size
68
+ }
69
+ });
70
+ };
71
+ }, [renderPiece, pieceSet]);
72
+
73
+ // If no size yet (auto-sizing), render invisible container for measurement
74
+ if (boardSize === 0) {
75
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
76
+ style: {
77
+ flex: 1,
78
+ aspectRatio: 1
79
+ },
80
+ onLayout: handleLayout
81
+ });
82
+ }
83
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
+ style: {
85
+ width: boardSize,
86
+ height: boardSize
87
+ },
88
+ onLayout: boardSizeProp ? undefined : handleLayout,
89
+ accessibilityLabel: "Chess board",
90
+ accessibilityRole: "image",
91
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_boardBackground.BoardBackground, {
92
+ boardSize: boardSize,
93
+ lightColor: boardColors.light,
94
+ darkColor: boardColors.dark
95
+ }), withCoordinates && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardCoordinates.BoardCoordinates, {
96
+ boardSize: boardSize,
97
+ orientation: orientation,
98
+ lightColor: boardColors.light,
99
+ darkColor: boardColors.dark,
100
+ withLetters: true,
101
+ withNumbers: true
102
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardHighlights.BoardHighlights, {
103
+ boardSize: boardSize,
104
+ orientation: orientation,
105
+ squareSize: squareSize,
106
+ lastMove: lastMove,
107
+ lastMoveColor: _constants.DEFAULT_LAST_MOVE_COLOR,
108
+ checkColor: "transparent",
109
+ selectedColor: "transparent",
110
+ premoveColor: "transparent",
111
+ highlights: highlights
112
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
113
+ style: {
114
+ position: 'absolute',
115
+ width: boardSize,
116
+ height: boardSize
117
+ },
118
+ pointerEvents: "none",
119
+ children: pieces.map(piece => {
120
+ const {
121
+ x,
122
+ y
123
+ } = (0, _useBoardPieces.squareToXY)(piece.square, squareSize, orientation);
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
125
+ style: {
126
+ position: 'absolute',
127
+ width: squareSize,
128
+ height: squareSize,
129
+ transform: [{
130
+ translateX: x
131
+ }, {
132
+ translateY: y
133
+ }]
134
+ },
135
+ children: resolvedRenderer(piece.code, squareSize)
136
+ }, piece.id);
137
+ })
138
+ }), arrows && arrows.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardArrows.BoardArrows, {
139
+ boardSize: boardSize,
140
+ orientation: orientation,
141
+ arrows: arrows
142
+ }), annotations && annotations.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardAnnotations.BoardAnnotations, {
143
+ boardSize: boardSize,
144
+ orientation: orientation,
145
+ squareSize: squareSize,
146
+ annotations: annotations
147
+ })]
148
+ });
149
+ });
150
+ //# sourceMappingURL=static-board.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_pieces","_useBoardPieces","_boardBackground","_boardCoordinates","_boardHighlights","_boardArrows","_boardAnnotations","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StaticBoard","exports","React","memo","fen","orientation","boardSize","boardSizeProp","colors","withCoordinates","renderPiece","pieceSet","lastMove","highlights","arrows","annotations","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","pieces","useBoardPieces","resolvedRenderer","useMemo","DefaultPieceSet","code","size","renderer","jsx","View","style","flex","aspectRatio","onLayout","jsxs","undefined","accessibilityLabel","accessibilityRole","children","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","withLetters","withNumbers","BoardHighlights","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkColor","selectedColor","premoveColor","position","pointerEvents","map","piece","x","y","squareToXY","square","transform","translateX","translateY","id","length","BoardArrows","BoardAnnotations"],"sourceRoot":"..\\..\\src","sources":["static-board.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BOARD_THEMES = exports.BOARD_COLORS = void 0;
7
+ // ---------------------------------------------------------------------------
8
+ // Board color presets (matching popular chess platforms)
9
+ // ---------------------------------------------------------------------------
10
+
11
+ const greenTheme = {
12
+ name: 'Green',
13
+ board: {
14
+ light: '#eeeed2',
15
+ dark: '#769656'
16
+ },
17
+ lastMove: 'rgba(255, 255, 0, 0.4)',
18
+ check: 'rgba(235, 97, 80, 0.8)',
19
+ selected: 'rgba(20, 85, 200, 0.5)',
20
+ legalDot: 'rgba(0, 0, 0, 0.25)',
21
+ premove: 'rgba(20, 85, 200, 0.3)',
22
+ arrow: 'rgba(243, 166, 50, 0.85)',
23
+ coordinates: {
24
+ light: '#769656',
25
+ dark: '#eeeed2'
26
+ }
27
+ };
28
+ const brownTheme = {
29
+ name: 'Brown',
30
+ board: {
31
+ light: '#f0d9b5',
32
+ dark: '#b58863'
33
+ },
34
+ lastMove: 'rgba(255, 255, 0, 0.4)',
35
+ check: 'rgba(235, 97, 80, 0.8)',
36
+ selected: 'rgba(20, 85, 200, 0.5)',
37
+ legalDot: 'rgba(0, 0, 0, 0.25)',
38
+ premove: 'rgba(20, 85, 200, 0.3)',
39
+ arrow: 'rgba(243, 166, 50, 0.85)',
40
+ coordinates: {
41
+ light: '#b58863',
42
+ dark: '#f0d9b5'
43
+ }
44
+ };
45
+ const blueTheme = {
46
+ name: 'Blue',
47
+ board: {
48
+ light: '#dee3e6',
49
+ dark: '#8ca2ad'
50
+ },
51
+ lastMove: 'rgba(255, 255, 0, 0.4)',
52
+ check: 'rgba(235, 97, 80, 0.8)',
53
+ selected: 'rgba(20, 85, 200, 0.5)',
54
+ legalDot: 'rgba(0, 0, 0, 0.25)',
55
+ premove: 'rgba(20, 85, 200, 0.3)',
56
+ arrow: 'rgba(243, 166, 50, 0.85)',
57
+ coordinates: {
58
+ light: '#8ca2ad',
59
+ dark: '#dee3e6'
60
+ }
61
+ };
62
+ const purpleTheme = {
63
+ name: 'Purple',
64
+ board: {
65
+ light: '#e8daf0',
66
+ dark: '#9b72b0'
67
+ },
68
+ lastMove: 'rgba(255, 255, 0, 0.4)',
69
+ check: 'rgba(235, 97, 80, 0.8)',
70
+ selected: 'rgba(20, 85, 200, 0.5)',
71
+ legalDot: 'rgba(0, 0, 0, 0.25)',
72
+ premove: 'rgba(20, 85, 200, 0.3)',
73
+ arrow: 'rgba(243, 166, 50, 0.85)',
74
+ coordinates: {
75
+ light: '#9b72b0',
76
+ dark: '#e8daf0'
77
+ }
78
+ };
79
+ const grayTheme = {
80
+ name: 'Gray',
81
+ board: {
82
+ light: '#e0e0e0',
83
+ dark: '#888888'
84
+ },
85
+ lastMove: 'rgba(255, 255, 0, 0.4)',
86
+ check: 'rgba(235, 97, 80, 0.8)',
87
+ selected: 'rgba(20, 85, 200, 0.5)',
88
+ legalDot: 'rgba(0, 0, 0, 0.25)',
89
+ premove: 'rgba(20, 85, 200, 0.3)',
90
+ arrow: 'rgba(243, 166, 50, 0.85)',
91
+ coordinates: {
92
+ light: '#888888',
93
+ dark: '#e0e0e0'
94
+ }
95
+ };
96
+ const woodTheme = {
97
+ name: 'Wood',
98
+ board: {
99
+ light: '#e6c88c',
100
+ dark: '#a67c52'
101
+ },
102
+ lastMove: 'rgba(255, 255, 0, 0.35)',
103
+ check: 'rgba(235, 97, 80, 0.8)',
104
+ selected: 'rgba(20, 85, 200, 0.5)',
105
+ legalDot: 'rgba(0, 0, 0, 0.2)',
106
+ premove: 'rgba(20, 85, 200, 0.3)',
107
+ arrow: 'rgba(243, 166, 50, 0.85)',
108
+ coordinates: {
109
+ light: '#a67c52',
110
+ dark: '#e6c88c'
111
+ }
112
+ };
113
+ const iceTheme = {
114
+ name: 'Ice',
115
+ board: {
116
+ light: '#e8f0f8',
117
+ dark: '#7ba0c4'
118
+ },
119
+ lastMove: 'rgba(255, 255, 0, 0.35)',
120
+ check: 'rgba(235, 97, 80, 0.8)',
121
+ selected: 'rgba(20, 85, 200, 0.5)',
122
+ legalDot: 'rgba(0, 0, 0, 0.25)',
123
+ premove: 'rgba(20, 85, 200, 0.3)',
124
+ arrow: 'rgba(243, 166, 50, 0.85)',
125
+ coordinates: {
126
+ light: '#7ba0c4',
127
+ dark: '#e8f0f8'
128
+ }
129
+ };
130
+ const tournamentTheme = {
131
+ name: 'Tournament',
132
+ board: {
133
+ light: '#fffff0',
134
+ dark: '#3d945e'
135
+ },
136
+ lastMove: 'rgba(255, 255, 0, 0.4)',
137
+ check: 'rgba(235, 97, 80, 0.8)',
138
+ selected: 'rgba(20, 85, 200, 0.5)',
139
+ legalDot: 'rgba(0, 0, 0, 0.25)',
140
+ premove: 'rgba(20, 85, 200, 0.3)',
141
+ arrow: 'rgba(243, 166, 50, 0.85)',
142
+ coordinates: {
143
+ light: '#3d945e',
144
+ dark: '#fffff0'
145
+ }
146
+ };
147
+
148
+ // ---------------------------------------------------------------------------
149
+ // Exports
150
+ // ---------------------------------------------------------------------------
151
+
152
+ /** All built-in board themes */
153
+ const BOARD_THEMES = exports.BOARD_THEMES = {
154
+ green: greenTheme,
155
+ brown: brownTheme,
156
+ blue: blueTheme,
157
+ purple: purpleTheme,
158
+ gray: grayTheme,
159
+ wood: woodTheme,
160
+ ice: iceTheme,
161
+ tournament: tournamentTheme
162
+ };
163
+
164
+ /** Shorthand board color presets (just light/dark, no overlay colors) */
165
+ const BOARD_COLORS = exports.BOARD_COLORS = {
166
+ green: greenTheme.board,
167
+ brown: brownTheme.board,
168
+ blue: blueTheme.board,
169
+ purple: purpleTheme.board,
170
+ gray: grayTheme.board,
171
+ wood: woodTheme.board,
172
+ ice: iceTheme.board,
173
+ tournament: tournamentTheme.board
174
+ };
175
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["greenTheme","name","board","light","dark","lastMove","check","selected","legalDot","premove","arrow","coordinates","brownTheme","blueTheme","purpleTheme","grayTheme","woodTheme","iceTheme","tournamentTheme","BOARD_THEMES","exports","green","brown","blue","purple","gray","wood","ice","tournament","BOARD_COLORS"],"sourceRoot":"..\\..\\src","sources":["themes.ts"],"mappings":"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","ignoreList":[]}