react-native-chess-kit 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/board-annotations.js +131 -0
- package/lib/commonjs/board-annotations.js.map +1 -0
- package/lib/commonjs/board-arrows.js +164 -0
- package/lib/commonjs/board-arrows.js.map +1 -0
- package/lib/commonjs/board-highlights.js +212 -0
- package/lib/commonjs/board-highlights.js.map +1 -0
- package/lib/commonjs/board-piece.js +71 -25
- package/lib/commonjs/board-piece.js.map +1 -1
- package/lib/commonjs/board-pieces.js +2 -0
- package/lib/commonjs/board-pieces.js.map +1 -1
- package/lib/commonjs/board.js +392 -42
- package/lib/commonjs/board.js.map +1 -1
- package/lib/commonjs/constants.js +104 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/index.js +128 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/pieces/default-pieces.js +536 -0
- package/lib/commonjs/pieces/default-pieces.js.map +1 -0
- package/lib/commonjs/pieces/index.js +13 -0
- package/lib/commonjs/pieces/index.js.map +1 -0
- package/lib/commonjs/promotion-picker.js +129 -0
- package/lib/commonjs/promotion-picker.js.map +1 -0
- package/lib/commonjs/static-board.js +150 -0
- package/lib/commonjs/static-board.js.map +1 -0
- package/lib/commonjs/themes.js +175 -0
- package/lib/commonjs/themes.js.map +1 -0
- package/lib/commonjs/use-board-gesture.js +184 -11
- package/lib/commonjs/use-board-gesture.js.map +1 -1
- package/lib/commonjs/use-premove.js +44 -0
- package/lib/commonjs/use-premove.js.map +1 -0
- package/lib/module/board-annotations.js +126 -0
- package/lib/module/board-annotations.js.map +1 -0
- package/lib/module/board-arrows.js +161 -0
- package/lib/module/board-arrows.js.map +1 -0
- package/lib/module/board-highlights.js +206 -0
- package/lib/module/board-highlights.js.map +1 -0
- package/lib/module/board-piece.js +72 -26
- package/lib/module/board-piece.js.map +1 -1
- package/lib/module/board-pieces.js +2 -0
- package/lib/module/board-pieces.js.map +1 -1
- package/lib/module/board.js +395 -44
- package/lib/module/board.js.map +1 -1
- package/lib/module/constants.js +100 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/index.js +29 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/pieces/default-pieces.js +530 -0
- package/lib/module/pieces/default-pieces.js.map +1 -0
- package/lib/module/pieces/index.js +4 -0
- package/lib/module/pieces/index.js.map +1 -0
- package/lib/module/promotion-picker.js +124 -0
- package/lib/module/promotion-picker.js.map +1 -0
- package/lib/module/static-board.js +146 -0
- package/lib/module/static-board.js.map +1 -0
- package/lib/module/themes.js +171 -0
- package/lib/module/themes.js.map +1 -0
- package/lib/module/use-board-gesture.js +185 -11
- package/lib/module/use-board-gesture.js.map +1 -1
- package/lib/module/use-premove.js +40 -0
- package/lib/module/use-premove.js.map +1 -0
- package/lib/typescript/board-annotations.d.ts +30 -0
- package/lib/typescript/board-annotations.d.ts.map +1 -0
- package/lib/typescript/board-arrows.d.ts +27 -0
- package/lib/typescript/board-arrows.d.ts.map +1 -0
- package/lib/typescript/board-highlights.d.ts +65 -0
- package/lib/typescript/board-highlights.d.ts.map +1 -0
- package/lib/typescript/board-piece.d.ts +19 -9
- package/lib/typescript/board-piece.d.ts.map +1 -1
- package/lib/typescript/board-pieces.d.ts +2 -1
- package/lib/typescript/board-pieces.d.ts.map +1 -1
- package/lib/typescript/board.d.ts +11 -2
- package/lib/typescript/board.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +54 -0
- package/lib/typescript/constants.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +9 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/pieces/default-pieces.d.ts +3 -0
- package/lib/typescript/pieces/default-pieces.d.ts.map +1 -0
- package/lib/typescript/pieces/index.d.ts +2 -0
- package/lib/typescript/pieces/index.d.ts.map +1 -0
- package/lib/typescript/promotion-picker.d.ts +30 -0
- package/lib/typescript/promotion-picker.d.ts.map +1 -0
- package/lib/typescript/static-board.d.ts +12 -0
- package/lib/typescript/static-board.d.ts.map +1 -0
- package/lib/typescript/themes.d.ts +15 -0
- package/lib/typescript/themes.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +194 -24
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/use-board-gesture.d.ts +28 -2
- package/lib/typescript/use-board-gesture.d.ts.map +1 -1
- package/lib/typescript/use-premove.d.ts +31 -0
- package/lib/typescript/use-premove.d.ts.map +1 -0
- package/package.json +4 -2
- package/src/board-annotations.tsx +147 -0
- package/src/board-arrows.tsx +197 -0
- package/src/board-highlights.tsx +226 -0
- package/src/board-piece.tsx +77 -29
- package/src/board-pieces.tsx +4 -1
- package/src/board.tsx +462 -46
- package/src/constants.ts +100 -0
- package/src/index.ts +62 -1
- package/src/pieces/default-pieces.tsx +383 -0
- package/src/pieces/index.ts +1 -0
- package/src/promotion-picker.tsx +147 -0
- package/src/static-board.tsx +150 -0
- package/src/themes.ts +129 -0
- package/src/types.ts +251 -25
- package/src/use-board-gesture.ts +219 -8
- 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":[]}
|