react-native-chess-kit 0.5.3 → 0.5.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.
Files changed (91) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +187 -187
  3. package/lib/commonjs/board-annotations.js +8 -8
  4. package/lib/commonjs/board-annotations.js.map +1 -1
  5. package/lib/commonjs/board-arrows.js +7 -7
  6. package/lib/commonjs/board-arrows.js.map +1 -1
  7. package/lib/commonjs/board-background.js +5 -5
  8. package/lib/commonjs/board-background.js.map +1 -1
  9. package/lib/commonjs/board-coordinates.js.map +1 -1
  10. package/lib/commonjs/board-drag-ghost.js +10 -10
  11. package/lib/commonjs/board-drag-ghost.js.map +1 -1
  12. package/lib/commonjs/board-highlights.js +15 -15
  13. package/lib/commonjs/board-highlights.js.map +1 -1
  14. package/lib/commonjs/board-legal-dots.js +5 -5
  15. package/lib/commonjs/board-legal-dots.js.map +1 -1
  16. package/lib/commonjs/board-piece.js +25 -25
  17. package/lib/commonjs/board-piece.js.map +1 -1
  18. package/lib/commonjs/board-pieces.js +6 -6
  19. package/lib/commonjs/board-pieces.js.map +1 -1
  20. package/lib/commonjs/board.js +32 -28
  21. package/lib/commonjs/board.js.map +1 -1
  22. package/lib/commonjs/constants.js.map +1 -1
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/pieces/default-pieces.js.map +1 -1
  25. package/lib/commonjs/pieces/index.js.map +1 -1
  26. package/lib/commonjs/promotion-picker.js.map +1 -1
  27. package/lib/commonjs/static-board.js.map +1 -1
  28. package/lib/commonjs/themes.js.map +1 -1
  29. package/lib/commonjs/types.js.map +1 -1
  30. package/lib/commonjs/use-board-gesture.js.map +1 -1
  31. package/lib/commonjs/use-board-pieces.js +15 -15
  32. package/lib/commonjs/use-board-pieces.js.map +1 -1
  33. package/lib/commonjs/use-board-state.js +8 -8
  34. package/lib/commonjs/use-board-state.js.map +1 -1
  35. package/lib/commonjs/use-premove.js +12 -12
  36. package/lib/commonjs/use-premove.js.map +1 -1
  37. package/lib/module/board-annotations.js +8 -8
  38. package/lib/module/board-annotations.js.map +1 -1
  39. package/lib/module/board-arrows.js +7 -7
  40. package/lib/module/board-arrows.js.map +1 -1
  41. package/lib/module/board-background.js +5 -5
  42. package/lib/module/board-background.js.map +1 -1
  43. package/lib/module/board-coordinates.js.map +1 -1
  44. package/lib/module/board-drag-ghost.js +10 -10
  45. package/lib/module/board-drag-ghost.js.map +1 -1
  46. package/lib/module/board-highlights.js +15 -15
  47. package/lib/module/board-highlights.js.map +1 -1
  48. package/lib/module/board-legal-dots.js +5 -5
  49. package/lib/module/board-legal-dots.js.map +1 -1
  50. package/lib/module/board-piece.js +25 -25
  51. package/lib/module/board-piece.js.map +1 -1
  52. package/lib/module/board-pieces.js +6 -6
  53. package/lib/module/board-pieces.js.map +1 -1
  54. package/lib/module/board.js +32 -28
  55. package/lib/module/board.js.map +1 -1
  56. package/lib/module/constants.js.map +1 -1
  57. package/lib/module/index.js.map +1 -1
  58. package/lib/module/pieces/default-pieces.js.map +1 -1
  59. package/lib/module/pieces/index.js.map +1 -1
  60. package/lib/module/promotion-picker.js.map +1 -1
  61. package/lib/module/static-board.js.map +1 -1
  62. package/lib/module/themes.js.map +1 -1
  63. package/lib/module/types.js.map +1 -1
  64. package/lib/module/use-board-gesture.js.map +1 -1
  65. package/lib/module/use-board-pieces.js +15 -15
  66. package/lib/module/use-board-pieces.js.map +1 -1
  67. package/lib/module/use-board-state.js +8 -8
  68. package/lib/module/use-board-state.js.map +1 -1
  69. package/lib/module/use-premove.js +12 -12
  70. package/lib/module/use-premove.js.map +1 -1
  71. package/lib/typescript/types.d.ts +2 -1
  72. package/lib/typescript/types.d.ts.map +1 -1
  73. package/package.json +95 -95
  74. package/src/board-annotations.tsx +147 -147
  75. package/src/board-arrows.tsx +197 -197
  76. package/src/board-background.tsx +46 -46
  77. package/src/board-drag-ghost.tsx +132 -132
  78. package/src/board-highlights.tsx +226 -226
  79. package/src/board-legal-dots.tsx +73 -73
  80. package/src/board-piece.tsx +160 -160
  81. package/src/board-pieces.tsx +63 -63
  82. package/src/board.tsx +688 -688
  83. package/src/constants.ts +103 -103
  84. package/src/index.ts +101 -101
  85. package/src/pieces/default-pieces.tsx +383 -383
  86. package/src/pieces/index.ts +1 -1
  87. package/src/themes.ts +129 -129
  88. package/src/types.ts +394 -394
  89. package/src/use-board-pieces.ts +158 -158
  90. package/src/use-board-state.ts +120 -120
  91. package/src/use-premove.ts +59 -59
@@ -1,59 +1,59 @@
1
- import { useState, useCallback } from 'react';
2
-
3
- import type { PremoveData } from './types';
4
-
5
- type UsePremoveReturn = {
6
- /** The currently queued premove (only one at a time, like lichess) */
7
- premove: PremoveData | null;
8
- /** Queue a premove. Replaces any existing premove. */
9
- setPremove: (premove: PremoveData) => void;
10
- /** Clear the queued premove */
11
- clearPremove: () => void;
12
- /**
13
- * Try to execute the queued premove.
14
- * Returns the premove if one was queued (so the caller can apply it),
15
- * then clears the queue. Returns null if no premove was queued.
16
- */
17
- consumePremove: () => PremoveData | null;
18
- };
19
-
20
- /**
21
- * Manages a single premove queue (one premove at a time).
22
- *
23
- * Premoves work like lichess:
24
- * 1. When it's not your turn, you can drag/click a move — it queues as a premove
25
- * 2. The premove squares are highlighted with a distinct color
26
- * 3. When your turn begins (FEN changes and it's now your turn), the premove
27
- * is automatically attempted via the board's internal chess.js
28
- * 4. If the premove is legal, it's applied; if not, it's silently discarded
29
- *
30
- * The board.tsx orchestrates this: it calls consumePremove() in a useEffect
31
- * that watches the FEN (turn change), then attempts the move.
32
- */
33
- export function usePremove(): UsePremoveReturn {
34
- const [premove, setPremoveState] = useState<PremoveData | null>(null);
35
-
36
- const setPremove = useCallback((pm: PremoveData) => {
37
- setPremoveState(pm);
38
- }, []);
39
-
40
- const clearPremove = useCallback(() => {
41
- setPremoveState(null);
42
- }, []);
43
-
44
- const consumePremove = useCallback((): PremoveData | null => {
45
- let consumed: PremoveData | null = null;
46
- setPremoveState((current) => {
47
- consumed = current;
48
- return null;
49
- });
50
- return consumed;
51
- }, []);
52
-
53
- return {
54
- premove,
55
- setPremove,
56
- clearPremove,
57
- consumePremove,
58
- };
59
- }
1
+ import { useState, useCallback } from 'react';
2
+
3
+ import type { PremoveData } from './types';
4
+
5
+ type UsePremoveReturn = {
6
+ /** The currently queued premove (only one at a time, like lichess) */
7
+ premove: PremoveData | null;
8
+ /** Queue a premove. Replaces any existing premove. */
9
+ setPremove: (premove: PremoveData) => void;
10
+ /** Clear the queued premove */
11
+ clearPremove: () => void;
12
+ /**
13
+ * Try to execute the queued premove.
14
+ * Returns the premove if one was queued (so the caller can apply it),
15
+ * then clears the queue. Returns null if no premove was queued.
16
+ */
17
+ consumePremove: () => PremoveData | null;
18
+ };
19
+
20
+ /**
21
+ * Manages a single premove queue (one premove at a time).
22
+ *
23
+ * Premoves work like lichess:
24
+ * 1. When it's not your turn, you can drag/click a move — it queues as a premove
25
+ * 2. The premove squares are highlighted with a distinct color
26
+ * 3. When your turn begins (FEN changes and it's now your turn), the premove
27
+ * is automatically attempted via the board's internal chess.js
28
+ * 4. If the premove is legal, it's applied; if not, it's silently discarded
29
+ *
30
+ * The board.tsx orchestrates this: it calls consumePremove() in a useEffect
31
+ * that watches the FEN (turn change), then attempts the move.
32
+ */
33
+ export function usePremove(): UsePremoveReturn {
34
+ const [premove, setPremoveState] = useState<PremoveData | null>(null);
35
+
36
+ const setPremove = useCallback((pm: PremoveData) => {
37
+ setPremoveState(pm);
38
+ }, []);
39
+
40
+ const clearPremove = useCallback(() => {
41
+ setPremoveState(null);
42
+ }, []);
43
+
44
+ const consumePremove = useCallback((): PremoveData | null => {
45
+ let consumed: PremoveData | null = null;
46
+ setPremoveState((current) => {
47
+ consumed = current;
48
+ return null;
49
+ });
50
+ return consumed;
51
+ }, []);
52
+
53
+ return {
54
+ premove,
55
+ setPremove,
56
+ clearPremove,
57
+ consumePremove,
58
+ };
59
+ }