@ankhorage/zora-tabletop 0.0.7 → 0.1.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.
- package/CHANGELOG.md +22 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/meta.d.ts +145 -0
- package/dist/meta.d.ts.map +1 -0
- package/dist/meta.js +115 -0
- package/dist/meta.js.map +1 -0
- package/dist/plugin.d.ts +162 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +8 -0
- package/dist/plugin.js.map +1 -0
- package/dist/registry.d.ts +301 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +14 -0
- package/dist/registry.js.map +1 -0
- package/package.json +13 -6
- package/src/index.ts +3 -0
- package/src/meta.test.ts +28 -0
- package/src/meta.ts +114 -0
- package/src/plugin.ts +9 -0
- package/src/registry.ts +15 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @ankhorage/zora-tabletop
|
|
2
2
|
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 39484a1: Expose TabletopTable through the canonical ZORA plugin descriptor with Studio authoring metadata.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 91312b8: Update Ankhorage dependencies: `@ankhorage/zora`.
|
|
12
|
+
|
|
13
|
+
## 0.0.9
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 5db2cd7: Update Ankhorage dependencies: `@ankhorage/zora`.
|
|
18
|
+
|
|
19
|
+
## 0.0.8
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- 16a505b: Update Ankhorage dependencies: `@ankhorage/zora`.
|
|
24
|
+
|
|
3
25
|
## 0.0.7
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +8,8 @@ export type { PlayingCardProps } from './components/playing-card';
|
|
|
8
8
|
export { PlayingCard } from './components/playing-card';
|
|
9
9
|
export type { TabletopTableProps } from './components/tabletop-table';
|
|
10
10
|
export { TabletopTable } from './components/tabletop-table';
|
|
11
|
+
export { tabletopTableMeta } from './meta';
|
|
12
|
+
export { ZORA_TABLETOP_COMPONENT_REGISTRY, ZORA_TABLETOP_PLUGIN } from './plugin';
|
|
13
|
+
export { ZORA_PLUGIN_METADATA, ZORA_TABLETOP_COMPONENT_META } from './registry';
|
|
11
14
|
export type { PlayingCardSuit, PlayingCardValue, TabletopCardSize, TabletopSeatCount, TabletopSeatState, TabletopShape, } from './types';
|
|
12
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,gCAAgC,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAChF,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,4 +3,7 @@ export { CardBack } from './components/card-back';
|
|
|
3
3
|
export { CardHand } from './components/card-hand';
|
|
4
4
|
export { PlayingCard } from './components/playing-card';
|
|
5
5
|
export { TabletopTable } from './components/tabletop-table';
|
|
6
|
+
export { tabletopTableMeta } from './meta';
|
|
7
|
+
export { ZORA_TABLETOP_COMPONENT_REGISTRY, ZORA_TABLETOP_PLUGIN } from './plugin';
|
|
8
|
+
export { ZORA_PLUGIN_METADATA, ZORA_TABLETOP_COMPONENT_META } from './registry';
|
|
6
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["export type { TabletopColorOverrides, TabletopColorScheme } from './colors';\nexport { createTabletopColorScheme } from './colors';\nexport type { CardBackProps } from './components/card-back';\nexport { CardBack } from './components/card-back';\nexport type { CardHandProps } from './components/card-hand';\nexport { CardHand } from './components/card-hand';\nexport type { PlayingCardProps } from './components/playing-card';\nexport { PlayingCard } from './components/playing-card';\nexport type { TabletopTableProps } from './components/tabletop-table';\nexport { TabletopTable } from './components/tabletop-table';\nexport type {\n PlayingCardSuit,\n PlayingCardValue,\n TabletopCardSize,\n TabletopSeatCount,\n TabletopSeatState,\n TabletopShape,\n} from './types';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,gCAAgC,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export type { TabletopColorOverrides, TabletopColorScheme } from './colors';\nexport { createTabletopColorScheme } from './colors';\nexport type { CardBackProps } from './components/card-back';\nexport { CardBack } from './components/card-back';\nexport type { CardHandProps } from './components/card-hand';\nexport { CardHand } from './components/card-hand';\nexport type { PlayingCardProps } from './components/playing-card';\nexport { PlayingCard } from './components/playing-card';\nexport type { TabletopTableProps } from './components/tabletop-table';\nexport { TabletopTable } from './components/tabletop-table';\nexport { tabletopTableMeta } from './meta';\nexport { ZORA_TABLETOP_COMPONENT_REGISTRY, ZORA_TABLETOP_PLUGIN } from './plugin';\nexport { ZORA_PLUGIN_METADATA, ZORA_TABLETOP_COMPONENT_META } from './registry';\nexport type {\n PlayingCardSuit,\n PlayingCardValue,\n TabletopCardSize,\n TabletopSeatCount,\n TabletopSeatState,\n TabletopShape,\n} from './types';\n"]}
|
package/dist/meta.d.ts
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
export declare const tabletopTableMeta: {
|
|
2
|
+
readonly name: "TabletopTable";
|
|
3
|
+
readonly category: "component";
|
|
4
|
+
readonly description: "Arranges player seats and shared cards around a responsive tabletop surface.";
|
|
5
|
+
readonly directManifestNode: true;
|
|
6
|
+
readonly allowedChildren: readonly [];
|
|
7
|
+
readonly blueprint: {
|
|
8
|
+
readonly label: "Tabletop table";
|
|
9
|
+
readonly defaultProps: {
|
|
10
|
+
readonly seats: readonly [];
|
|
11
|
+
readonly centerCards: readonly [];
|
|
12
|
+
readonly shape: "oval";
|
|
13
|
+
readonly cardSize: "small";
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
readonly bindings: {
|
|
17
|
+
readonly props: {
|
|
18
|
+
readonly seats: {
|
|
19
|
+
readonly label: "Seats";
|
|
20
|
+
readonly value: {
|
|
21
|
+
readonly type: "array";
|
|
22
|
+
readonly itemType: "object";
|
|
23
|
+
};
|
|
24
|
+
readonly acceptsFallback: true;
|
|
25
|
+
readonly acceptsTransforms: true;
|
|
26
|
+
};
|
|
27
|
+
readonly centerCards: {
|
|
28
|
+
readonly label: "Center cards";
|
|
29
|
+
readonly value: {
|
|
30
|
+
readonly type: "array";
|
|
31
|
+
readonly itemType: "object";
|
|
32
|
+
};
|
|
33
|
+
readonly acceptsFallback: true;
|
|
34
|
+
readonly acceptsTransforms: true;
|
|
35
|
+
};
|
|
36
|
+
readonly centerLabel: {
|
|
37
|
+
readonly label: "Center label";
|
|
38
|
+
readonly value: {
|
|
39
|
+
readonly type: "string";
|
|
40
|
+
};
|
|
41
|
+
readonly acceptsFallback: true;
|
|
42
|
+
readonly acceptsTransforms: true;
|
|
43
|
+
};
|
|
44
|
+
readonly centerSublabel: {
|
|
45
|
+
readonly label: "Center sublabel";
|
|
46
|
+
readonly value: {
|
|
47
|
+
readonly type: "string";
|
|
48
|
+
};
|
|
49
|
+
readonly acceptsFallback: true;
|
|
50
|
+
readonly acceptsTransforms: true;
|
|
51
|
+
};
|
|
52
|
+
readonly disabled: {
|
|
53
|
+
readonly label: "Disabled";
|
|
54
|
+
readonly value: {
|
|
55
|
+
readonly type: "boolean";
|
|
56
|
+
};
|
|
57
|
+
readonly acceptsFallback: true;
|
|
58
|
+
readonly acceptsTransforms: true;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
readonly props: {
|
|
63
|
+
readonly seats: {
|
|
64
|
+
readonly type: "array";
|
|
65
|
+
readonly category: "Players";
|
|
66
|
+
readonly label: "Seats";
|
|
67
|
+
readonly default: readonly [];
|
|
68
|
+
readonly authoring: {
|
|
69
|
+
readonly authority: "instance";
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly centerCards: {
|
|
73
|
+
readonly type: "array";
|
|
74
|
+
readonly category: "Table";
|
|
75
|
+
readonly label: "Center cards";
|
|
76
|
+
readonly default: readonly [];
|
|
77
|
+
readonly authoring: {
|
|
78
|
+
readonly authority: "instance";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
readonly centerLabel: {
|
|
82
|
+
readonly type: "string";
|
|
83
|
+
readonly category: "Table";
|
|
84
|
+
readonly label: "Center label";
|
|
85
|
+
readonly authoring: {
|
|
86
|
+
readonly authority: "instance";
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
readonly centerSublabel: {
|
|
90
|
+
readonly type: "string";
|
|
91
|
+
readonly category: "Table";
|
|
92
|
+
readonly label: "Center sublabel";
|
|
93
|
+
readonly authoring: {
|
|
94
|
+
readonly authority: "instance";
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
readonly shape: {
|
|
98
|
+
readonly type: "enum";
|
|
99
|
+
readonly category: "Table";
|
|
100
|
+
readonly label: "Shape";
|
|
101
|
+
readonly enum: readonly ["circle", "oval", "rounded"];
|
|
102
|
+
readonly default: "oval";
|
|
103
|
+
readonly authoring: {
|
|
104
|
+
readonly authority: "instance";
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
readonly seatCount: {
|
|
108
|
+
readonly type: "enum";
|
|
109
|
+
readonly category: "Players";
|
|
110
|
+
readonly label: "Seat count";
|
|
111
|
+
readonly enum: readonly [2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
112
|
+
readonly authoring: {
|
|
113
|
+
readonly authority: "instance";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
readonly cardSize: {
|
|
117
|
+
readonly type: "enum";
|
|
118
|
+
readonly category: "Cards";
|
|
119
|
+
readonly label: "Card size";
|
|
120
|
+
readonly enum: readonly ["small", "medium", "large"];
|
|
121
|
+
readonly default: "small";
|
|
122
|
+
readonly authoring: {
|
|
123
|
+
readonly authority: "instance";
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
readonly disabled: {
|
|
127
|
+
readonly type: "boolean";
|
|
128
|
+
readonly category: "State";
|
|
129
|
+
readonly label: "Disabled";
|
|
130
|
+
readonly default: false;
|
|
131
|
+
readonly authoring: {
|
|
132
|
+
readonly authority: "instance";
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
readonly accessibilityLabel: {
|
|
136
|
+
readonly type: "string";
|
|
137
|
+
readonly category: "Accessibility";
|
|
138
|
+
readonly label: "Accessibility label";
|
|
139
|
+
readonly authoring: {
|
|
140
|
+
readonly authority: "instance";
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHpB,CAAC"}
|
package/dist/meta.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
export const tabletopTableMeta = {
|
|
2
|
+
name: 'TabletopTable',
|
|
3
|
+
category: 'component',
|
|
4
|
+
description: 'Arranges player seats and shared cards around a responsive tabletop surface.',
|
|
5
|
+
directManifestNode: true,
|
|
6
|
+
allowedChildren: [],
|
|
7
|
+
blueprint: {
|
|
8
|
+
label: 'Tabletop table',
|
|
9
|
+
defaultProps: {
|
|
10
|
+
seats: [],
|
|
11
|
+
centerCards: [],
|
|
12
|
+
shape: 'oval',
|
|
13
|
+
cardSize: 'small',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
bindings: {
|
|
17
|
+
props: {
|
|
18
|
+
seats: {
|
|
19
|
+
label: 'Seats',
|
|
20
|
+
value: { type: 'array', itemType: 'object' },
|
|
21
|
+
acceptsFallback: true,
|
|
22
|
+
acceptsTransforms: true,
|
|
23
|
+
},
|
|
24
|
+
centerCards: {
|
|
25
|
+
label: 'Center cards',
|
|
26
|
+
value: { type: 'array', itemType: 'object' },
|
|
27
|
+
acceptsFallback: true,
|
|
28
|
+
acceptsTransforms: true,
|
|
29
|
+
},
|
|
30
|
+
centerLabel: {
|
|
31
|
+
label: 'Center label',
|
|
32
|
+
value: { type: 'string' },
|
|
33
|
+
acceptsFallback: true,
|
|
34
|
+
acceptsTransforms: true,
|
|
35
|
+
},
|
|
36
|
+
centerSublabel: {
|
|
37
|
+
label: 'Center sublabel',
|
|
38
|
+
value: { type: 'string' },
|
|
39
|
+
acceptsFallback: true,
|
|
40
|
+
acceptsTransforms: true,
|
|
41
|
+
},
|
|
42
|
+
disabled: {
|
|
43
|
+
label: 'Disabled',
|
|
44
|
+
value: { type: 'boolean' },
|
|
45
|
+
acceptsFallback: true,
|
|
46
|
+
acceptsTransforms: true,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
props: {
|
|
51
|
+
seats: {
|
|
52
|
+
type: 'array',
|
|
53
|
+
category: 'Players',
|
|
54
|
+
label: 'Seats',
|
|
55
|
+
default: [],
|
|
56
|
+
authoring: { authority: 'instance' },
|
|
57
|
+
},
|
|
58
|
+
centerCards: {
|
|
59
|
+
type: 'array',
|
|
60
|
+
category: 'Table',
|
|
61
|
+
label: 'Center cards',
|
|
62
|
+
default: [],
|
|
63
|
+
authoring: { authority: 'instance' },
|
|
64
|
+
},
|
|
65
|
+
centerLabel: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
category: 'Table',
|
|
68
|
+
label: 'Center label',
|
|
69
|
+
authoring: { authority: 'instance' },
|
|
70
|
+
},
|
|
71
|
+
centerSublabel: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
category: 'Table',
|
|
74
|
+
label: 'Center sublabel',
|
|
75
|
+
authoring: { authority: 'instance' },
|
|
76
|
+
},
|
|
77
|
+
shape: {
|
|
78
|
+
type: 'enum',
|
|
79
|
+
category: 'Table',
|
|
80
|
+
label: 'Shape',
|
|
81
|
+
enum: ['circle', 'oval', 'rounded'],
|
|
82
|
+
default: 'oval',
|
|
83
|
+
authoring: { authority: 'instance' },
|
|
84
|
+
},
|
|
85
|
+
seatCount: {
|
|
86
|
+
type: 'enum',
|
|
87
|
+
category: 'Players',
|
|
88
|
+
label: 'Seat count',
|
|
89
|
+
enum: [2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
90
|
+
authoring: { authority: 'instance' },
|
|
91
|
+
},
|
|
92
|
+
cardSize: {
|
|
93
|
+
type: 'enum',
|
|
94
|
+
category: 'Cards',
|
|
95
|
+
label: 'Card size',
|
|
96
|
+
enum: ['small', 'medium', 'large'],
|
|
97
|
+
default: 'small',
|
|
98
|
+
authoring: { authority: 'instance' },
|
|
99
|
+
},
|
|
100
|
+
disabled: {
|
|
101
|
+
type: 'boolean',
|
|
102
|
+
category: 'State',
|
|
103
|
+
label: 'Disabled',
|
|
104
|
+
default: false,
|
|
105
|
+
authoring: { authority: 'instance' },
|
|
106
|
+
},
|
|
107
|
+
accessibilityLabel: {
|
|
108
|
+
type: 'string',
|
|
109
|
+
category: 'Accessibility',
|
|
110
|
+
label: 'Accessibility label',
|
|
111
|
+
authoring: { authority: 'instance' },
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=meta.js.map
|
package/dist/meta.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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","sourcesContent":["export const tabletopTableMeta = {\n name: 'TabletopTable',\n category: 'component',\n description: 'Arranges player seats and shared cards around a responsive tabletop surface.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Tabletop table',\n defaultProps: {\n seats: [],\n centerCards: [],\n shape: 'oval',\n cardSize: 'small',\n },\n },\n bindings: {\n props: {\n seats: {\n label: 'Seats',\n value: { type: 'array', itemType: 'object' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n centerCards: {\n label: 'Center cards',\n value: { type: 'array', itemType: 'object' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n centerLabel: {\n label: 'Center label',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n centerSublabel: {\n label: 'Center sublabel',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n seats: {\n type: 'array',\n category: 'Players',\n label: 'Seats',\n default: [],\n authoring: { authority: 'instance' },\n },\n centerCards: {\n type: 'array',\n category: 'Table',\n label: 'Center cards',\n default: [],\n authoring: { authority: 'instance' },\n },\n centerLabel: {\n type: 'string',\n category: 'Table',\n label: 'Center label',\n authoring: { authority: 'instance' },\n },\n centerSublabel: {\n type: 'string',\n category: 'Table',\n label: 'Center sublabel',\n authoring: { authority: 'instance' },\n },\n shape: {\n type: 'enum',\n category: 'Table',\n label: 'Shape',\n enum: ['circle', 'oval', 'rounded'],\n default: 'oval',\n authoring: { authority: 'instance' },\n },\n seatCount: {\n type: 'enum',\n category: 'Players',\n label: 'Seat count',\n enum: [2, 3, 4, 5, 6, 7, 8, 9, 10],\n authoring: { authority: 'instance' },\n },\n cardSize: {\n type: 'enum',\n category: 'Cards',\n label: 'Card size',\n enum: ['small', 'medium', 'large'],\n default: 'small',\n authoring: { authority: 'instance' },\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n default: false,\n authoring: { authority: 'instance' },\n },\n accessibilityLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Accessibility label',\n authoring: { authority: 'instance' },\n },\n },\n} as const;\n"]}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { TabletopTable } from './components/tabletop-table';
|
|
2
|
+
export declare const ZORA_TABLETOP_COMPONENT_REGISTRY: {
|
|
3
|
+
readonly TabletopTable: typeof TabletopTable;
|
|
4
|
+
};
|
|
5
|
+
export declare const ZORA_TABLETOP_PLUGIN: {
|
|
6
|
+
readonly componentRegistry: {
|
|
7
|
+
readonly TabletopTable: typeof TabletopTable;
|
|
8
|
+
};
|
|
9
|
+
readonly packageName: "@ankhorage/zora-tabletop";
|
|
10
|
+
readonly displayName: "ZORA Tabletop";
|
|
11
|
+
readonly componentMeta: {
|
|
12
|
+
readonly TabletopTable: {
|
|
13
|
+
readonly name: "TabletopTable";
|
|
14
|
+
readonly category: "component";
|
|
15
|
+
readonly description: "Arranges player seats and shared cards around a responsive tabletop surface.";
|
|
16
|
+
readonly directManifestNode: true;
|
|
17
|
+
readonly allowedChildren: readonly [];
|
|
18
|
+
readonly blueprint: {
|
|
19
|
+
readonly label: "Tabletop table";
|
|
20
|
+
readonly defaultProps: {
|
|
21
|
+
readonly seats: readonly [];
|
|
22
|
+
readonly centerCards: readonly [];
|
|
23
|
+
readonly shape: "oval";
|
|
24
|
+
readonly cardSize: "small";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
readonly bindings: {
|
|
28
|
+
readonly props: {
|
|
29
|
+
readonly seats: {
|
|
30
|
+
readonly label: "Seats";
|
|
31
|
+
readonly value: {
|
|
32
|
+
readonly type: "array";
|
|
33
|
+
readonly itemType: "object";
|
|
34
|
+
};
|
|
35
|
+
readonly acceptsFallback: true;
|
|
36
|
+
readonly acceptsTransforms: true;
|
|
37
|
+
};
|
|
38
|
+
readonly centerCards: {
|
|
39
|
+
readonly label: "Center cards";
|
|
40
|
+
readonly value: {
|
|
41
|
+
readonly type: "array";
|
|
42
|
+
readonly itemType: "object";
|
|
43
|
+
};
|
|
44
|
+
readonly acceptsFallback: true;
|
|
45
|
+
readonly acceptsTransforms: true;
|
|
46
|
+
};
|
|
47
|
+
readonly centerLabel: {
|
|
48
|
+
readonly label: "Center label";
|
|
49
|
+
readonly value: {
|
|
50
|
+
readonly type: "string";
|
|
51
|
+
};
|
|
52
|
+
readonly acceptsFallback: true;
|
|
53
|
+
readonly acceptsTransforms: true;
|
|
54
|
+
};
|
|
55
|
+
readonly centerSublabel: {
|
|
56
|
+
readonly label: "Center sublabel";
|
|
57
|
+
readonly value: {
|
|
58
|
+
readonly type: "string";
|
|
59
|
+
};
|
|
60
|
+
readonly acceptsFallback: true;
|
|
61
|
+
readonly acceptsTransforms: true;
|
|
62
|
+
};
|
|
63
|
+
readonly disabled: {
|
|
64
|
+
readonly label: "Disabled";
|
|
65
|
+
readonly value: {
|
|
66
|
+
readonly type: "boolean";
|
|
67
|
+
};
|
|
68
|
+
readonly acceptsFallback: true;
|
|
69
|
+
readonly acceptsTransforms: true;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
readonly props: {
|
|
74
|
+
readonly seats: {
|
|
75
|
+
readonly type: "array";
|
|
76
|
+
readonly category: "Players";
|
|
77
|
+
readonly label: "Seats";
|
|
78
|
+
readonly default: readonly [];
|
|
79
|
+
readonly authoring: {
|
|
80
|
+
readonly authority: "instance";
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
readonly centerCards: {
|
|
84
|
+
readonly type: "array";
|
|
85
|
+
readonly category: "Table";
|
|
86
|
+
readonly label: "Center cards";
|
|
87
|
+
readonly default: readonly [];
|
|
88
|
+
readonly authoring: {
|
|
89
|
+
readonly authority: "instance";
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly centerLabel: {
|
|
93
|
+
readonly type: "string";
|
|
94
|
+
readonly category: "Table";
|
|
95
|
+
readonly label: "Center label";
|
|
96
|
+
readonly authoring: {
|
|
97
|
+
readonly authority: "instance";
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
readonly centerSublabel: {
|
|
101
|
+
readonly type: "string";
|
|
102
|
+
readonly category: "Table";
|
|
103
|
+
readonly label: "Center sublabel";
|
|
104
|
+
readonly authoring: {
|
|
105
|
+
readonly authority: "instance";
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
readonly shape: {
|
|
109
|
+
readonly type: "enum";
|
|
110
|
+
readonly category: "Table";
|
|
111
|
+
readonly label: "Shape";
|
|
112
|
+
readonly enum: readonly ["circle", "oval", "rounded"];
|
|
113
|
+
readonly default: "oval";
|
|
114
|
+
readonly authoring: {
|
|
115
|
+
readonly authority: "instance";
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
readonly seatCount: {
|
|
119
|
+
readonly type: "enum";
|
|
120
|
+
readonly category: "Players";
|
|
121
|
+
readonly label: "Seat count";
|
|
122
|
+
readonly enum: readonly [2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
123
|
+
readonly authoring: {
|
|
124
|
+
readonly authority: "instance";
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
readonly cardSize: {
|
|
128
|
+
readonly type: "enum";
|
|
129
|
+
readonly category: "Cards";
|
|
130
|
+
readonly label: "Card size";
|
|
131
|
+
readonly enum: readonly ["small", "medium", "large"];
|
|
132
|
+
readonly default: "small";
|
|
133
|
+
readonly authoring: {
|
|
134
|
+
readonly authority: "instance";
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
readonly disabled: {
|
|
138
|
+
readonly type: "boolean";
|
|
139
|
+
readonly category: "State";
|
|
140
|
+
readonly label: "Disabled";
|
|
141
|
+
readonly default: false;
|
|
142
|
+
readonly authoring: {
|
|
143
|
+
readonly authority: "instance";
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
readonly accessibilityLabel: {
|
|
147
|
+
readonly type: "string";
|
|
148
|
+
readonly category: "Accessibility";
|
|
149
|
+
readonly label: "Accessibility label";
|
|
150
|
+
readonly authoring: {
|
|
151
|
+
readonly authority: "instance";
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
readonly placements: readonly [{
|
|
158
|
+
readonly child: "TabletopTable";
|
|
159
|
+
readonly parents: readonly ["Box", "Card", "Container", "Grid", "Panel", "Screen", "ScreenSection", "Stack"];
|
|
160
|
+
}];
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,eAAO,MAAM,gCAAgC;;CAA6B,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvB,CAAC"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TabletopTable } from './components/tabletop-table';
|
|
2
|
+
import { ZORA_PLUGIN_METADATA } from './registry';
|
|
3
|
+
export const ZORA_TABLETOP_COMPONENT_REGISTRY = { TabletopTable };
|
|
4
|
+
export const ZORA_TABLETOP_PLUGIN = {
|
|
5
|
+
...ZORA_PLUGIN_METADATA,
|
|
6
|
+
componentRegistry: ZORA_TABLETOP_COMPONENT_REGISTRY,
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,aAAa,EAAW,CAAC;AAE3E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,oBAAoB;IACvB,iBAAiB,EAAE,gCAAgC;CAC3C,CAAC","sourcesContent":["import { TabletopTable } from './components/tabletop-table';\nimport { ZORA_PLUGIN_METADATA } from './registry';\n\nexport const ZORA_TABLETOP_COMPONENT_REGISTRY = { TabletopTable } as const;\n\nexport const ZORA_TABLETOP_PLUGIN = {\n ...ZORA_PLUGIN_METADATA,\n componentRegistry: ZORA_TABLETOP_COMPONENT_REGISTRY,\n} as const;\n"]}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
export declare const ZORA_TABLETOP_COMPONENT_META: {
|
|
2
|
+
readonly TabletopTable: {
|
|
3
|
+
readonly name: "TabletopTable";
|
|
4
|
+
readonly category: "component";
|
|
5
|
+
readonly description: "Arranges player seats and shared cards around a responsive tabletop surface.";
|
|
6
|
+
readonly directManifestNode: true;
|
|
7
|
+
readonly allowedChildren: readonly [];
|
|
8
|
+
readonly blueprint: {
|
|
9
|
+
readonly label: "Tabletop table";
|
|
10
|
+
readonly defaultProps: {
|
|
11
|
+
readonly seats: readonly [];
|
|
12
|
+
readonly centerCards: readonly [];
|
|
13
|
+
readonly shape: "oval";
|
|
14
|
+
readonly cardSize: "small";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
readonly bindings: {
|
|
18
|
+
readonly props: {
|
|
19
|
+
readonly seats: {
|
|
20
|
+
readonly label: "Seats";
|
|
21
|
+
readonly value: {
|
|
22
|
+
readonly type: "array";
|
|
23
|
+
readonly itemType: "object";
|
|
24
|
+
};
|
|
25
|
+
readonly acceptsFallback: true;
|
|
26
|
+
readonly acceptsTransforms: true;
|
|
27
|
+
};
|
|
28
|
+
readonly centerCards: {
|
|
29
|
+
readonly label: "Center cards";
|
|
30
|
+
readonly value: {
|
|
31
|
+
readonly type: "array";
|
|
32
|
+
readonly itemType: "object";
|
|
33
|
+
};
|
|
34
|
+
readonly acceptsFallback: true;
|
|
35
|
+
readonly acceptsTransforms: true;
|
|
36
|
+
};
|
|
37
|
+
readonly centerLabel: {
|
|
38
|
+
readonly label: "Center label";
|
|
39
|
+
readonly value: {
|
|
40
|
+
readonly type: "string";
|
|
41
|
+
};
|
|
42
|
+
readonly acceptsFallback: true;
|
|
43
|
+
readonly acceptsTransforms: true;
|
|
44
|
+
};
|
|
45
|
+
readonly centerSublabel: {
|
|
46
|
+
readonly label: "Center sublabel";
|
|
47
|
+
readonly value: {
|
|
48
|
+
readonly type: "string";
|
|
49
|
+
};
|
|
50
|
+
readonly acceptsFallback: true;
|
|
51
|
+
readonly acceptsTransforms: true;
|
|
52
|
+
};
|
|
53
|
+
readonly disabled: {
|
|
54
|
+
readonly label: "Disabled";
|
|
55
|
+
readonly value: {
|
|
56
|
+
readonly type: "boolean";
|
|
57
|
+
};
|
|
58
|
+
readonly acceptsFallback: true;
|
|
59
|
+
readonly acceptsTransforms: true;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
readonly props: {
|
|
64
|
+
readonly seats: {
|
|
65
|
+
readonly type: "array";
|
|
66
|
+
readonly category: "Players";
|
|
67
|
+
readonly label: "Seats";
|
|
68
|
+
readonly default: readonly [];
|
|
69
|
+
readonly authoring: {
|
|
70
|
+
readonly authority: "instance";
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
readonly centerCards: {
|
|
74
|
+
readonly type: "array";
|
|
75
|
+
readonly category: "Table";
|
|
76
|
+
readonly label: "Center cards";
|
|
77
|
+
readonly default: readonly [];
|
|
78
|
+
readonly authoring: {
|
|
79
|
+
readonly authority: "instance";
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
readonly centerLabel: {
|
|
83
|
+
readonly type: "string";
|
|
84
|
+
readonly category: "Table";
|
|
85
|
+
readonly label: "Center label";
|
|
86
|
+
readonly authoring: {
|
|
87
|
+
readonly authority: "instance";
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
readonly centerSublabel: {
|
|
91
|
+
readonly type: "string";
|
|
92
|
+
readonly category: "Table";
|
|
93
|
+
readonly label: "Center sublabel";
|
|
94
|
+
readonly authoring: {
|
|
95
|
+
readonly authority: "instance";
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
readonly shape: {
|
|
99
|
+
readonly type: "enum";
|
|
100
|
+
readonly category: "Table";
|
|
101
|
+
readonly label: "Shape";
|
|
102
|
+
readonly enum: readonly ["circle", "oval", "rounded"];
|
|
103
|
+
readonly default: "oval";
|
|
104
|
+
readonly authoring: {
|
|
105
|
+
readonly authority: "instance";
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
readonly seatCount: {
|
|
109
|
+
readonly type: "enum";
|
|
110
|
+
readonly category: "Players";
|
|
111
|
+
readonly label: "Seat count";
|
|
112
|
+
readonly enum: readonly [2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
113
|
+
readonly authoring: {
|
|
114
|
+
readonly authority: "instance";
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
readonly cardSize: {
|
|
118
|
+
readonly type: "enum";
|
|
119
|
+
readonly category: "Cards";
|
|
120
|
+
readonly label: "Card size";
|
|
121
|
+
readonly enum: readonly ["small", "medium", "large"];
|
|
122
|
+
readonly default: "small";
|
|
123
|
+
readonly authoring: {
|
|
124
|
+
readonly authority: "instance";
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
readonly disabled: {
|
|
128
|
+
readonly type: "boolean";
|
|
129
|
+
readonly category: "State";
|
|
130
|
+
readonly label: "Disabled";
|
|
131
|
+
readonly default: false;
|
|
132
|
+
readonly authoring: {
|
|
133
|
+
readonly authority: "instance";
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
readonly accessibilityLabel: {
|
|
137
|
+
readonly type: "string";
|
|
138
|
+
readonly category: "Accessibility";
|
|
139
|
+
readonly label: "Accessibility label";
|
|
140
|
+
readonly authoring: {
|
|
141
|
+
readonly authority: "instance";
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export declare const ZORA_PLUGIN_METADATA: {
|
|
148
|
+
readonly packageName: "@ankhorage/zora-tabletop";
|
|
149
|
+
readonly displayName: "ZORA Tabletop";
|
|
150
|
+
readonly componentMeta: {
|
|
151
|
+
readonly TabletopTable: {
|
|
152
|
+
readonly name: "TabletopTable";
|
|
153
|
+
readonly category: "component";
|
|
154
|
+
readonly description: "Arranges player seats and shared cards around a responsive tabletop surface.";
|
|
155
|
+
readonly directManifestNode: true;
|
|
156
|
+
readonly allowedChildren: readonly [];
|
|
157
|
+
readonly blueprint: {
|
|
158
|
+
readonly label: "Tabletop table";
|
|
159
|
+
readonly defaultProps: {
|
|
160
|
+
readonly seats: readonly [];
|
|
161
|
+
readonly centerCards: readonly [];
|
|
162
|
+
readonly shape: "oval";
|
|
163
|
+
readonly cardSize: "small";
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
readonly bindings: {
|
|
167
|
+
readonly props: {
|
|
168
|
+
readonly seats: {
|
|
169
|
+
readonly label: "Seats";
|
|
170
|
+
readonly value: {
|
|
171
|
+
readonly type: "array";
|
|
172
|
+
readonly itemType: "object";
|
|
173
|
+
};
|
|
174
|
+
readonly acceptsFallback: true;
|
|
175
|
+
readonly acceptsTransforms: true;
|
|
176
|
+
};
|
|
177
|
+
readonly centerCards: {
|
|
178
|
+
readonly label: "Center cards";
|
|
179
|
+
readonly value: {
|
|
180
|
+
readonly type: "array";
|
|
181
|
+
readonly itemType: "object";
|
|
182
|
+
};
|
|
183
|
+
readonly acceptsFallback: true;
|
|
184
|
+
readonly acceptsTransforms: true;
|
|
185
|
+
};
|
|
186
|
+
readonly centerLabel: {
|
|
187
|
+
readonly label: "Center label";
|
|
188
|
+
readonly value: {
|
|
189
|
+
readonly type: "string";
|
|
190
|
+
};
|
|
191
|
+
readonly acceptsFallback: true;
|
|
192
|
+
readonly acceptsTransforms: true;
|
|
193
|
+
};
|
|
194
|
+
readonly centerSublabel: {
|
|
195
|
+
readonly label: "Center sublabel";
|
|
196
|
+
readonly value: {
|
|
197
|
+
readonly type: "string";
|
|
198
|
+
};
|
|
199
|
+
readonly acceptsFallback: true;
|
|
200
|
+
readonly acceptsTransforms: true;
|
|
201
|
+
};
|
|
202
|
+
readonly disabled: {
|
|
203
|
+
readonly label: "Disabled";
|
|
204
|
+
readonly value: {
|
|
205
|
+
readonly type: "boolean";
|
|
206
|
+
};
|
|
207
|
+
readonly acceptsFallback: true;
|
|
208
|
+
readonly acceptsTransforms: true;
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
readonly props: {
|
|
213
|
+
readonly seats: {
|
|
214
|
+
readonly type: "array";
|
|
215
|
+
readonly category: "Players";
|
|
216
|
+
readonly label: "Seats";
|
|
217
|
+
readonly default: readonly [];
|
|
218
|
+
readonly authoring: {
|
|
219
|
+
readonly authority: "instance";
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
readonly centerCards: {
|
|
223
|
+
readonly type: "array";
|
|
224
|
+
readonly category: "Table";
|
|
225
|
+
readonly label: "Center cards";
|
|
226
|
+
readonly default: readonly [];
|
|
227
|
+
readonly authoring: {
|
|
228
|
+
readonly authority: "instance";
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
readonly centerLabel: {
|
|
232
|
+
readonly type: "string";
|
|
233
|
+
readonly category: "Table";
|
|
234
|
+
readonly label: "Center label";
|
|
235
|
+
readonly authoring: {
|
|
236
|
+
readonly authority: "instance";
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
readonly centerSublabel: {
|
|
240
|
+
readonly type: "string";
|
|
241
|
+
readonly category: "Table";
|
|
242
|
+
readonly label: "Center sublabel";
|
|
243
|
+
readonly authoring: {
|
|
244
|
+
readonly authority: "instance";
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
readonly shape: {
|
|
248
|
+
readonly type: "enum";
|
|
249
|
+
readonly category: "Table";
|
|
250
|
+
readonly label: "Shape";
|
|
251
|
+
readonly enum: readonly ["circle", "oval", "rounded"];
|
|
252
|
+
readonly default: "oval";
|
|
253
|
+
readonly authoring: {
|
|
254
|
+
readonly authority: "instance";
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
readonly seatCount: {
|
|
258
|
+
readonly type: "enum";
|
|
259
|
+
readonly category: "Players";
|
|
260
|
+
readonly label: "Seat count";
|
|
261
|
+
readonly enum: readonly [2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
262
|
+
readonly authoring: {
|
|
263
|
+
readonly authority: "instance";
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
readonly cardSize: {
|
|
267
|
+
readonly type: "enum";
|
|
268
|
+
readonly category: "Cards";
|
|
269
|
+
readonly label: "Card size";
|
|
270
|
+
readonly enum: readonly ["small", "medium", "large"];
|
|
271
|
+
readonly default: "small";
|
|
272
|
+
readonly authoring: {
|
|
273
|
+
readonly authority: "instance";
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
readonly disabled: {
|
|
277
|
+
readonly type: "boolean";
|
|
278
|
+
readonly category: "State";
|
|
279
|
+
readonly label: "Disabled";
|
|
280
|
+
readonly default: false;
|
|
281
|
+
readonly authoring: {
|
|
282
|
+
readonly authority: "instance";
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
readonly accessibilityLabel: {
|
|
286
|
+
readonly type: "string";
|
|
287
|
+
readonly category: "Accessibility";
|
|
288
|
+
readonly label: "Accessibility label";
|
|
289
|
+
readonly authoring: {
|
|
290
|
+
readonly authority: "instance";
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
readonly placements: readonly [{
|
|
297
|
+
readonly child: "TabletopTable";
|
|
298
|
+
readonly parents: readonly ["Box", "Card", "Container", "Grid", "Panel", "Screen", "ScreenSection", "Stack"];
|
|
299
|
+
}];
|
|
300
|
+
};
|
|
301
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgD,CAAC;AAE1F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUvB,CAAC"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { tabletopTableMeta } from './meta';
|
|
2
|
+
export const ZORA_TABLETOP_COMPONENT_META = { TabletopTable: tabletopTableMeta };
|
|
3
|
+
export const ZORA_PLUGIN_METADATA = {
|
|
4
|
+
packageName: '@ankhorage/zora-tabletop',
|
|
5
|
+
displayName: 'ZORA Tabletop',
|
|
6
|
+
componentMeta: ZORA_TABLETOP_COMPONENT_META,
|
|
7
|
+
placements: [
|
|
8
|
+
{
|
|
9
|
+
child: 'TabletopTable',
|
|
10
|
+
parents: ['Box', 'Card', 'Container', 'Grid', 'Panel', 'Screen', 'ScreenSection', 'Stack'],
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAW,CAAC;AAE1F,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,4BAA4B;IAC3C,UAAU,EAAE;QACV;YACE,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC;SAC3F;KACF;CACO,CAAC","sourcesContent":["import { tabletopTableMeta } from './meta';\n\nexport const ZORA_TABLETOP_COMPONENT_META = { TabletopTable: tabletopTableMeta } as const;\n\nexport const ZORA_PLUGIN_METADATA = {\n packageName: '@ankhorage/zora-tabletop',\n displayName: 'ZORA Tabletop',\n componentMeta: ZORA_TABLETOP_COMPONENT_META,\n placements: [\n {\n child: 'TabletopTable',\n parents: ['Box', 'Card', 'Container', 'Grid', 'Panel', 'Screen', 'ScreenSection', 'Stack'],\n },\n ],\n} as const;\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/zora-tabletop",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0",
|
|
5
5
|
"description": "Tabletop and card-game UI primitives for React Native and React Native Web, built on ZORA.",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/zora-tabletop#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -41,6 +41,13 @@
|
|
|
41
41
|
"import": "./dist/index.js",
|
|
42
42
|
"default": "./dist/index.js"
|
|
43
43
|
},
|
|
44
|
+
"./metadata": {
|
|
45
|
+
"react-native": "./src/registry.ts",
|
|
46
|
+
"browser": "./src/registry.ts",
|
|
47
|
+
"types": "./dist/registry.d.ts",
|
|
48
|
+
"import": "./dist/registry.js",
|
|
49
|
+
"default": "./dist/registry.js"
|
|
50
|
+
},
|
|
44
51
|
"./package.json": "./package.json"
|
|
45
52
|
},
|
|
46
53
|
"publishConfig": {
|
|
@@ -62,20 +69,20 @@
|
|
|
62
69
|
"knip:check": "ankhorage-knip"
|
|
63
70
|
},
|
|
64
71
|
"peerDependencies": {
|
|
65
|
-
"@ankhorage/zora": ">=
|
|
72
|
+
"@ankhorage/zora": ">=4.2.2",
|
|
66
73
|
"react": ">=18.2.0",
|
|
67
74
|
"react-native": ">=0.72.0"
|
|
68
75
|
},
|
|
69
76
|
"devDependencies": {
|
|
70
|
-
"@ankhorage/devtools": "^1.
|
|
77
|
+
"@ankhorage/devtools": "^1.11.11",
|
|
71
78
|
"@ankhorage/paradox": "^0.1.24",
|
|
72
|
-
"@ankhorage/zora": "^
|
|
79
|
+
"@ankhorage/zora": "^4.2.2",
|
|
73
80
|
"@react-native-picker/picker": "2.11.4",
|
|
74
81
|
"@react-native-vector-icons/fontawesome": "^13.1.3",
|
|
75
82
|
"@react-native-vector-icons/fontawesome5": "^13.1.3",
|
|
76
83
|
"@react-native-vector-icons/fontawesome6": "^13.1.3",
|
|
77
84
|
"@react-native-vector-icons/ionicons": "^13.1.3",
|
|
78
|
-
"@types/bun": "^1.4.
|
|
85
|
+
"@types/bun": "^1.4.1",
|
|
79
86
|
"@types/node": "^24.13.3",
|
|
80
87
|
"@types/react": "^19.2.18",
|
|
81
88
|
"@types/react-dom": "^19.2.4",
|
|
@@ -86,5 +93,5 @@
|
|
|
86
93
|
"react-native-web": "~0.21.0",
|
|
87
94
|
"typescript": "~6.0.3"
|
|
88
95
|
},
|
|
89
|
-
"packageManager": "bun@1.4.
|
|
96
|
+
"packageManager": "bun@1.4.2"
|
|
90
97
|
}
|
package/src/index.ts
CHANGED
|
@@ -8,6 +8,9 @@ export type { PlayingCardProps } from './components/playing-card';
|
|
|
8
8
|
export { PlayingCard } from './components/playing-card';
|
|
9
9
|
export type { TabletopTableProps } from './components/tabletop-table';
|
|
10
10
|
export { TabletopTable } from './components/tabletop-table';
|
|
11
|
+
export { tabletopTableMeta } from './meta';
|
|
12
|
+
export { ZORA_TABLETOP_COMPONENT_REGISTRY, ZORA_TABLETOP_PLUGIN } from './plugin';
|
|
13
|
+
export { ZORA_PLUGIN_METADATA, ZORA_TABLETOP_COMPONENT_META } from './registry';
|
|
11
14
|
export type {
|
|
12
15
|
PlayingCardSuit,
|
|
13
16
|
PlayingCardValue,
|
package/src/meta.test.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, expect, test } from 'bun:test';
|
|
2
|
+
|
|
3
|
+
import { tabletopTableMeta } from './meta';
|
|
4
|
+
|
|
5
|
+
describe('ZORA tabletop component metadata', () => {
|
|
6
|
+
test('exposes TabletopTable as a directly authorable manifest node', () => {
|
|
7
|
+
expect(tabletopTableMeta.directManifestNode).toBe(true);
|
|
8
|
+
expect(tabletopTableMeta.blueprint.defaultProps).toMatchObject({
|
|
9
|
+
seats: [],
|
|
10
|
+
shape: 'oval',
|
|
11
|
+
});
|
|
12
|
+
expect(tabletopTableMeta.bindings.props.seats.value).toEqual({
|
|
13
|
+
type: 'array',
|
|
14
|
+
itemType: 'object',
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
test('exports one canonical plugin descriptor from the public API', async () => {
|
|
19
|
+
const source = await Bun.file('src/plugin.ts').text();
|
|
20
|
+
const metadataSource = await Bun.file('src/registry.ts').text();
|
|
21
|
+
const publicSource = await Bun.file('src/index.ts').text();
|
|
22
|
+
|
|
23
|
+
expect(metadataSource).toContain("packageName: '@ankhorage/zora-tabletop'");
|
|
24
|
+
expect(source).toContain('componentRegistry: ZORA_TABLETOP_COMPONENT_REGISTRY');
|
|
25
|
+
expect(metadataSource).toContain('componentMeta: ZORA_TABLETOP_COMPONENT_META');
|
|
26
|
+
expect(publicSource).toContain('ZORA_TABLETOP_PLUGIN');
|
|
27
|
+
});
|
|
28
|
+
});
|
package/src/meta.ts
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export const tabletopTableMeta = {
|
|
2
|
+
name: 'TabletopTable',
|
|
3
|
+
category: 'component',
|
|
4
|
+
description: 'Arranges player seats and shared cards around a responsive tabletop surface.',
|
|
5
|
+
directManifestNode: true,
|
|
6
|
+
allowedChildren: [],
|
|
7
|
+
blueprint: {
|
|
8
|
+
label: 'Tabletop table',
|
|
9
|
+
defaultProps: {
|
|
10
|
+
seats: [],
|
|
11
|
+
centerCards: [],
|
|
12
|
+
shape: 'oval',
|
|
13
|
+
cardSize: 'small',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
bindings: {
|
|
17
|
+
props: {
|
|
18
|
+
seats: {
|
|
19
|
+
label: 'Seats',
|
|
20
|
+
value: { type: 'array', itemType: 'object' },
|
|
21
|
+
acceptsFallback: true,
|
|
22
|
+
acceptsTransforms: true,
|
|
23
|
+
},
|
|
24
|
+
centerCards: {
|
|
25
|
+
label: 'Center cards',
|
|
26
|
+
value: { type: 'array', itemType: 'object' },
|
|
27
|
+
acceptsFallback: true,
|
|
28
|
+
acceptsTransforms: true,
|
|
29
|
+
},
|
|
30
|
+
centerLabel: {
|
|
31
|
+
label: 'Center label',
|
|
32
|
+
value: { type: 'string' },
|
|
33
|
+
acceptsFallback: true,
|
|
34
|
+
acceptsTransforms: true,
|
|
35
|
+
},
|
|
36
|
+
centerSublabel: {
|
|
37
|
+
label: 'Center sublabel',
|
|
38
|
+
value: { type: 'string' },
|
|
39
|
+
acceptsFallback: true,
|
|
40
|
+
acceptsTransforms: true,
|
|
41
|
+
},
|
|
42
|
+
disabled: {
|
|
43
|
+
label: 'Disabled',
|
|
44
|
+
value: { type: 'boolean' },
|
|
45
|
+
acceptsFallback: true,
|
|
46
|
+
acceptsTransforms: true,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
props: {
|
|
51
|
+
seats: {
|
|
52
|
+
type: 'array',
|
|
53
|
+
category: 'Players',
|
|
54
|
+
label: 'Seats',
|
|
55
|
+
default: [],
|
|
56
|
+
authoring: { authority: 'instance' },
|
|
57
|
+
},
|
|
58
|
+
centerCards: {
|
|
59
|
+
type: 'array',
|
|
60
|
+
category: 'Table',
|
|
61
|
+
label: 'Center cards',
|
|
62
|
+
default: [],
|
|
63
|
+
authoring: { authority: 'instance' },
|
|
64
|
+
},
|
|
65
|
+
centerLabel: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
category: 'Table',
|
|
68
|
+
label: 'Center label',
|
|
69
|
+
authoring: { authority: 'instance' },
|
|
70
|
+
},
|
|
71
|
+
centerSublabel: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
category: 'Table',
|
|
74
|
+
label: 'Center sublabel',
|
|
75
|
+
authoring: { authority: 'instance' },
|
|
76
|
+
},
|
|
77
|
+
shape: {
|
|
78
|
+
type: 'enum',
|
|
79
|
+
category: 'Table',
|
|
80
|
+
label: 'Shape',
|
|
81
|
+
enum: ['circle', 'oval', 'rounded'],
|
|
82
|
+
default: 'oval',
|
|
83
|
+
authoring: { authority: 'instance' },
|
|
84
|
+
},
|
|
85
|
+
seatCount: {
|
|
86
|
+
type: 'enum',
|
|
87
|
+
category: 'Players',
|
|
88
|
+
label: 'Seat count',
|
|
89
|
+
enum: [2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
90
|
+
authoring: { authority: 'instance' },
|
|
91
|
+
},
|
|
92
|
+
cardSize: {
|
|
93
|
+
type: 'enum',
|
|
94
|
+
category: 'Cards',
|
|
95
|
+
label: 'Card size',
|
|
96
|
+
enum: ['small', 'medium', 'large'],
|
|
97
|
+
default: 'small',
|
|
98
|
+
authoring: { authority: 'instance' },
|
|
99
|
+
},
|
|
100
|
+
disabled: {
|
|
101
|
+
type: 'boolean',
|
|
102
|
+
category: 'State',
|
|
103
|
+
label: 'Disabled',
|
|
104
|
+
default: false,
|
|
105
|
+
authoring: { authority: 'instance' },
|
|
106
|
+
},
|
|
107
|
+
accessibilityLabel: {
|
|
108
|
+
type: 'string',
|
|
109
|
+
category: 'Accessibility',
|
|
110
|
+
label: 'Accessibility label',
|
|
111
|
+
authoring: { authority: 'instance' },
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
} as const;
|
package/src/plugin.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TabletopTable } from './components/tabletop-table';
|
|
2
|
+
import { ZORA_PLUGIN_METADATA } from './registry';
|
|
3
|
+
|
|
4
|
+
export const ZORA_TABLETOP_COMPONENT_REGISTRY = { TabletopTable } as const;
|
|
5
|
+
|
|
6
|
+
export const ZORA_TABLETOP_PLUGIN = {
|
|
7
|
+
...ZORA_PLUGIN_METADATA,
|
|
8
|
+
componentRegistry: ZORA_TABLETOP_COMPONENT_REGISTRY,
|
|
9
|
+
} as const;
|
package/src/registry.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tabletopTableMeta } from './meta';
|
|
2
|
+
|
|
3
|
+
export const ZORA_TABLETOP_COMPONENT_META = { TabletopTable: tabletopTableMeta } as const;
|
|
4
|
+
|
|
5
|
+
export const ZORA_PLUGIN_METADATA = {
|
|
6
|
+
packageName: '@ankhorage/zora-tabletop',
|
|
7
|
+
displayName: 'ZORA Tabletop',
|
|
8
|
+
componentMeta: ZORA_TABLETOP_COMPONENT_META,
|
|
9
|
+
placements: [
|
|
10
|
+
{
|
|
11
|
+
child: 'TabletopTable',
|
|
12
|
+
parents: ['Box', 'Card', 'Container', 'Grid', 'Panel', 'Screen', 'ScreenSection', 'Stack'],
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
} as const;
|