@ankhorage/templates 1.2.16 → 1.2.17

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ankhorage/templates
2
2
 
3
+ ## 1.2.17
4
+
5
+ ### Patch Changes
6
+
7
+ - 1db98fd: Render a real ChessBoard node in the games chess starter home screen.
8
+
3
9
  ## 1.2.16
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -98,7 +98,9 @@ The fallback template remains available and is used only for unknown runtime cat
98
98
 
99
99
  Additional variants:
100
100
 
101
- - `games/chess`: Home · Settings
101
+ - `games/chess`: Home · Settings. The Home screen renders a `ChessBoard` node with a static
102
+ initial FEN and requires generated apps to provide `@ankhorage/zora-chess` through their
103
+ extension registry.
102
104
  - `social_community/creator`: Studio · Posts · Audience · Insights · Settings
103
105
 
104
106
  Only categories that exist in `AppCategory` are registered. New category literals should be added
@@ -13,21 +13,12 @@ type SerializablePanelProps = Omit<PanelProps, 'actions' | 'children' | 'descrip
13
13
  title?: string;
14
14
  description?: string;
15
15
  eyebrow?: string;
16
- footer?: string;
17
16
  };
18
17
  type SerializableCardProps = Omit<CardProps, 'actions' | 'children' | 'description' | 'eyebrow' | 'footer' | 'title'> & {
19
18
  title?: string;
20
19
  description?: string;
21
20
  eyebrow?: string;
22
- footer?: string;
23
21
  };
24
- type SerializableAuthLayoutProps = SerializableProps<{
25
- title?: string;
26
- description?: string;
27
- eyebrow?: string;
28
- footer?: string;
29
- testID?: string;
30
- }>;
31
22
  type SerializableSectionHeaderProps = Omit<SectionHeaderProps, 'actions' | 'description' | 'eyebrow' | 'title'> & {
32
23
  title: string;
33
24
  description?: string;
@@ -63,10 +54,25 @@ type SerializableEmptyStateProps = Omit<EmptyStateProps, 'description' | 'eyebro
63
54
  eyebrow?: string;
64
55
  footer?: string;
65
56
  };
57
+ type SerializableChessBoardProps = SerializableProps<{
58
+ fen: string;
59
+ orientation?: 'white' | 'black';
60
+ selectedSquare?: string | null;
61
+ legalTargets?: readonly string[];
62
+ lastMove?: {
63
+ from: string;
64
+ to: string;
65
+ promotion?: 'q' | 'r' | 'b' | 'n';
66
+ } | null;
67
+ disabled?: boolean;
68
+ showCoordinates?: boolean;
69
+ validateMoves?: boolean;
70
+ testID?: string;
71
+ }>;
66
72
  export interface ZoraNodePropsByType {
67
- AuthLayout: SerializableAuthLayoutProps;
68
73
  Button: SerializableButtonProps;
69
74
  Card: SerializableCardProps;
75
+ ChessBoard: SerializableChessBoardProps;
70
76
  EmptyState: SerializableEmptyStateProps;
71
77
  FormField: SerializableFormFieldProps;
72
78
  Input: SerializableInputProps;
@@ -1 +1 @@
1
- {"version":3,"file":"zora-nodes.d.ts","sourceRoot":"","sources":["../../src/internal/zora-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zora-nodes.d.ts","sourceRoot":"","sources":["../../src/internal/zora-nodes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zora-nodes.js","sourceRoot":"","sources":["../../src/internal/zora-nodes.ts"],"names":[],"mappings":"AAkIA,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,IAAW,EACX,KAAkC,EAClC,QAAqB;IAErB,OAAO;QACL,EAAE;QACF,IAAI;QACJ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"zora-nodes.js","sourceRoot":"","sources":["../../src/internal/zora-nodes.ts"],"names":[],"mappings":"AAwIA,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,IAAW,EACX,KAAkC,EAClC,QAAqB;IAErB,OAAO;QACL,EAAE;QACF,IAAI;QACJ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AppManifest } from '@ankhorage/contracts';
2
2
  import type { TemplateSeed } from '../../starter.types';
3
3
  import type { ChessScreenIds } from './chess.routes';
4
- export declare function createChessScreens(_seed: TemplateSeed, idPrefix: string, screenIds: ChessScreenIds): AppManifest['screens'];
4
+ export declare function createChessScreens(seed: TemplateSeed, idPrefix: string, screenIds: ChessScreenIds): AppManifest['screens'];
5
5
  //# sourceMappingURL=chess.screens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chess.screens.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/chess.screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,cAAc,GACxB,WAAW,CAAC,SAAS,CAAC,CAexB"}
1
+ {"version":3,"file":"chess.screens.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/chess.screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,cAAc,GACxB,WAAW,CAAC,SAAS,CAAC,CAoIxB"}
@@ -1,18 +1,106 @@
1
- import { createStarterContentScreen } from '../../../shared';
1
+ import { createScreen, createScreenRoot, createSection, createSettingsSection, createZoraNode, } from '../../../shared';
2
2
  import { chessContent } from './chess.content';
3
- export function createChessScreens(_seed, idPrefix, screenIds) {
3
+ const INITIAL_CHESS_FEN = 'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1';
4
+ export function createChessScreens(seed, idPrefix, screenIds) {
4
5
  return {
5
- [screenIds.home]: createStarterContentScreen({
6
- idPrefix,
7
- screenId: screenIds.home,
6
+ [screenIds.home]: createScreen({
7
+ id: screenIds.home,
8
8
  name: 'Home',
9
- content: chessContent.home,
9
+ title: chessContent.home.title,
10
+ description: chessContent.home.description,
11
+ root: createScreenRoot(`${idPrefix}-home-screen`, { width: 'wide' }, [
12
+ createZoraNode(`${idPrefix}-home-header`, 'SectionHeader', {
13
+ eyebrow: chessContent.home.eyebrow,
14
+ title: chessContent.home.title,
15
+ description: chessContent.home.description,
16
+ }),
17
+ createSection(`${idPrefix}-home-board-section`, {
18
+ title: 'Board',
19
+ description: 'Start from the initial position and wire move handling once app state is available.',
20
+ }, [
21
+ createZoraNode(`${idPrefix}-home-board-panel`, 'Panel', {
22
+ title: 'Interactive board',
23
+ description: 'Rendered by @ankhorage/zora-chess through the generated app extension registry.',
24
+ tone: 'subtle',
25
+ }, [
26
+ createZoraNode(`${idPrefix}-home-chessboard`, 'ChessBoard', {
27
+ fen: INITIAL_CHESS_FEN,
28
+ orientation: 'white',
29
+ showCoordinates: true,
30
+ validateMoves: true,
31
+ testID: `${idPrefix}-home-chessboard`,
32
+ }),
33
+ createZoraNode(`${idPrefix}-home-position-card`, 'Card', {
34
+ eyebrow: 'Position',
35
+ title: 'Initial position',
36
+ description: 'A static FEN is used for now. Opening-book queries and persisted study state come later via data binding.',
37
+ tone: 'outline',
38
+ }),
39
+ ]),
40
+ ]),
41
+ createSection(`${idPrefix}-home-study-section`, {
42
+ title: 'Study context',
43
+ description: 'Useful starter scaffolding around the board without hardcoding an opening-book API yet.',
44
+ }, [
45
+ createZoraNode(`${idPrefix}-home-study-panel`, 'Panel', {
46
+ title: 'Practice flow',
47
+ description: 'Keep board, position notes, and next actions together so the app can evolve into a trainer.',
48
+ tone: 'subtle',
49
+ }, [
50
+ createZoraNode(`${idPrefix}-home-line-card`, 'Card', {
51
+ eyebrow: 'Opening line',
52
+ title: 'Choose a repertoire branch',
53
+ description: 'Reserve this block for the selected opening family, variation name, and next-book moves.',
54
+ tone: 'outline',
55
+ }),
56
+ createZoraNode(`${idPrefix}-home-action-card`, 'Card', {
57
+ eyebrow: 'Next step',
58
+ title: 'Play, review, repeat',
59
+ description: 'Connect move events to local state first, then add public opening-book API data later.',
60
+ tone: 'outline',
61
+ }),
62
+ ]),
63
+ ]),
64
+ ]),
10
65
  }),
11
- [screenIds.settings]: createStarterContentScreen({
12
- idPrefix,
13
- screenId: screenIds.settings,
66
+ [screenIds.settings]: createScreen({
67
+ id: screenIds.settings,
14
68
  name: 'Settings',
15
- content: chessContent.settings,
69
+ title: chessContent.settings.title,
70
+ description: chessContent.settings.description,
71
+ root: createScreenRoot(`${idPrefix}-settings-screen`, { width: 'default' }, [
72
+ createZoraNode(`${idPrefix}-settings-header`, 'SectionHeader', {
73
+ eyebrow: chessContent.settings.eyebrow,
74
+ title: chessContent.settings.title,
75
+ description: chessContent.settings.description,
76
+ }),
77
+ createSettingsSection(`${idPrefix}-settings`, 'Board preferences', 'Prepare board display controls and study preferences before app-specific state is wired.', [
78
+ {
79
+ id: 'orientation-row',
80
+ title: 'Board orientation',
81
+ description: 'Default to White at the bottom; expose Black orientation later.',
82
+ meta: 'white',
83
+ },
84
+ {
85
+ id: 'coordinates-row',
86
+ title: 'Coordinates',
87
+ description: 'Show board coordinates by default for study and notation workflows.',
88
+ meta: 'enabled',
89
+ },
90
+ {
91
+ id: 'validation-row',
92
+ title: 'Move validation',
93
+ description: 'Use chess.js-backed validation from the chess extension component.',
94
+ meta: 'enabled',
95
+ },
96
+ {
97
+ id: 'scope-row',
98
+ title: 'Category',
99
+ description: `${seed.categoryLabel} uses an external ZORA extension component.`,
100
+ meta: 'extension',
101
+ },
102
+ ]),
103
+ ]),
16
104
  }),
17
105
  };
18
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chess.screens.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/chess.screens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,UAAU,kBAAkB,CAChC,KAAmB,EACnB,QAAgB,EAChB,SAAyB;IAEzB,OAAO;QACL,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAC;YAC3C,QAAQ;YACR,QAAQ,EAAE,SAAS,CAAC,IAAI;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY,CAAC,IAAI;SAC3B,CAAC;QACF,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;YAC/C,QAAQ;YACR,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,YAAY,CAAC,QAAQ;SAC/B,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"chess.screens.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/games/chess.screens.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/templates",
3
- "version": "1.2.16",
3
+ "version": "1.2.17",
4
4
  "description": "Reusable Ankhorage app templates, presets, and manifest generators.",
5
5
  "homepage": "https://github.com/ankhorage/templates#readme",
6
6
  "bugs": {