@ankhorage/zora 2.4.8 → 2.5.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.
@@ -0,0 +1,473 @@
1
+ export const ZORA_BINDABLE_COMPONENT_META = {
2
+ Text: {
3
+ name: 'Text',
4
+ category: 'component',
5
+ description: 'Displays app-facing text content.',
6
+ directManifestNode: true,
7
+ allowedChildren: [],
8
+ bindings: {
9
+ props: {
10
+ text: {
11
+ label: 'Text',
12
+ description: 'Text content rendered by the component.',
13
+ value: { type: 'string' },
14
+ acceptsFallback: true,
15
+ acceptsTransforms: true,
16
+ },
17
+ },
18
+ },
19
+ props: {
20
+ text: {
21
+ type: 'string',
22
+ category: 'Content',
23
+ label: 'Text',
24
+ },
25
+ },
26
+ },
27
+ Heading: {
28
+ name: 'Heading',
29
+ category: 'component',
30
+ description: 'Displays semantic heading text.',
31
+ directManifestNode: true,
32
+ allowedChildren: [],
33
+ bindings: {
34
+ props: {
35
+ text: {
36
+ label: 'Text',
37
+ description: 'Heading text rendered by the component.',
38
+ value: { type: 'string' },
39
+ acceptsFallback: true,
40
+ acceptsTransforms: true,
41
+ },
42
+ },
43
+ },
44
+ props: {
45
+ text: {
46
+ type: 'string',
47
+ category: 'Content',
48
+ label: 'Text',
49
+ },
50
+ },
51
+ },
52
+ Button: {
53
+ name: 'Button',
54
+ category: 'component',
55
+ description: 'Runs an action when pressed.',
56
+ directManifestNode: true,
57
+ allowedChildren: [],
58
+ bindings: {
59
+ props: {
60
+ children: {
61
+ label: 'Label',
62
+ description: 'Button label text.',
63
+ value: { type: 'string' },
64
+ acceptsFallback: true,
65
+ acceptsTransforms: true,
66
+ },
67
+ disabled: {
68
+ label: 'Disabled',
69
+ description: 'Whether the button is disabled.',
70
+ value: { type: 'boolean' },
71
+ acceptsFallback: true,
72
+ acceptsTransforms: true,
73
+ },
74
+ },
75
+ events: {
76
+ press: {
77
+ label: 'Press',
78
+ description: 'Runs when the button is pressed.',
79
+ payload: {
80
+ eventType: 'button.press',
81
+ fields: [],
82
+ },
83
+ },
84
+ },
85
+ },
86
+ events: {
87
+ press: {
88
+ label: 'Press',
89
+ eventType: 'button.press',
90
+ description: 'Emitted when the button action runs.',
91
+ payloadFields: [],
92
+ },
93
+ },
94
+ props: {
95
+ children: {
96
+ type: 'string',
97
+ category: 'Content',
98
+ label: 'Label',
99
+ },
100
+ disabled: {
101
+ type: 'boolean',
102
+ category: 'State',
103
+ label: 'Disabled',
104
+ },
105
+ },
106
+ },
107
+ Image: {
108
+ name: 'Image',
109
+ category: 'component',
110
+ description: 'Displays an image asset or remote image source.',
111
+ directManifestNode: true,
112
+ allowedChildren: [],
113
+ bindings: {
114
+ props: {
115
+ source: {
116
+ label: 'Source',
117
+ description: 'Image source or asset descriptor.',
118
+ value: {
119
+ type: 'imageAsset',
120
+ fields: [
121
+ { path: 'uri', type: 'string', label: 'URI' },
122
+ { path: 'width', type: 'number', label: 'Width' },
123
+ { path: 'height', type: 'number', label: 'Height' },
124
+ { path: 'alt', type: 'string', label: 'Alt text' },
125
+ ],
126
+ },
127
+ acceptsFallback: true,
128
+ acceptsTransforms: true,
129
+ },
130
+ },
131
+ },
132
+ props: {
133
+ source: {
134
+ type: 'imageAsset',
135
+ category: 'Content',
136
+ label: 'Source',
137
+ },
138
+ },
139
+ },
140
+ Input: {
141
+ name: 'Input',
142
+ category: 'component',
143
+ description: 'Captures a single-line string value.',
144
+ directManifestNode: true,
145
+ allowedChildren: [],
146
+ bindings: {
147
+ props: {
148
+ value: {
149
+ label: 'Value',
150
+ description: 'Current input value.',
151
+ value: { type: 'string' },
152
+ acceptsFallback: true,
153
+ acceptsTransforms: true,
154
+ },
155
+ disabled: {
156
+ label: 'Disabled',
157
+ description: 'Whether the input is disabled.',
158
+ value: { type: 'boolean' },
159
+ acceptsFallback: true,
160
+ acceptsTransforms: true,
161
+ },
162
+ },
163
+ events: {
164
+ changeText: {
165
+ label: 'Change text',
166
+ description: 'Runs when the input value changes.',
167
+ payload: {
168
+ eventType: 'input.changeText',
169
+ fields: [{ path: 'value', type: 'string', label: 'Value' }],
170
+ },
171
+ },
172
+ },
173
+ },
174
+ events: {
175
+ changeText: {
176
+ label: 'Change text',
177
+ eventType: 'input.changeText',
178
+ description: 'Emitted when the input value changes.',
179
+ payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],
180
+ },
181
+ },
182
+ props: {
183
+ value: {
184
+ type: 'string',
185
+ category: 'Content',
186
+ label: 'Value',
187
+ },
188
+ disabled: {
189
+ type: 'boolean',
190
+ category: 'State',
191
+ label: 'Disabled',
192
+ },
193
+ },
194
+ },
195
+ Textarea: {
196
+ name: 'Textarea',
197
+ category: 'component',
198
+ description: 'Captures a multiline string value.',
199
+ directManifestNode: true,
200
+ allowedChildren: [],
201
+ bindings: {
202
+ props: {
203
+ value: {
204
+ label: 'Value',
205
+ description: 'Current textarea value.',
206
+ value: { type: 'string' },
207
+ acceptsFallback: true,
208
+ acceptsTransforms: true,
209
+ },
210
+ disabled: {
211
+ label: 'Disabled',
212
+ description: 'Whether the textarea is disabled.',
213
+ value: { type: 'boolean' },
214
+ acceptsFallback: true,
215
+ acceptsTransforms: true,
216
+ },
217
+ },
218
+ events: {
219
+ changeText: {
220
+ label: 'Change text',
221
+ description: 'Runs when the textarea value changes.',
222
+ payload: {
223
+ eventType: 'textarea.changeText',
224
+ fields: [{ path: 'value', type: 'string', label: 'Value' }],
225
+ },
226
+ },
227
+ },
228
+ },
229
+ events: {
230
+ changeText: {
231
+ label: 'Change text',
232
+ eventType: 'textarea.changeText',
233
+ description: 'Emitted when the textarea value changes.',
234
+ payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],
235
+ },
236
+ },
237
+ props: {
238
+ value: {
239
+ type: 'string',
240
+ category: 'Content',
241
+ label: 'Value',
242
+ },
243
+ disabled: {
244
+ type: 'boolean',
245
+ category: 'State',
246
+ label: 'Disabled',
247
+ },
248
+ },
249
+ },
250
+ Select: {
251
+ name: 'Select',
252
+ category: 'component',
253
+ description: 'Captures one selected string value.',
254
+ directManifestNode: false,
255
+ allowedChildren: [],
256
+ bindings: {
257
+ props: {
258
+ value: {
259
+ label: 'Value',
260
+ description: 'Current selected value.',
261
+ value: { type: 'string' },
262
+ acceptsFallback: true,
263
+ acceptsTransforms: true,
264
+ },
265
+ disabled: {
266
+ label: 'Disabled',
267
+ description: 'Whether the select is disabled.',
268
+ value: { type: 'boolean' },
269
+ acceptsFallback: true,
270
+ acceptsTransforms: true,
271
+ },
272
+ },
273
+ events: {
274
+ valueChange: {
275
+ label: 'Value change',
276
+ description: 'Runs when the selected value changes.',
277
+ payload: {
278
+ eventType: 'select.valueChange',
279
+ fields: [{ path: 'value', type: 'string', label: 'Value' }],
280
+ },
281
+ },
282
+ },
283
+ },
284
+ events: {
285
+ valueChange: {
286
+ label: 'Value change',
287
+ eventType: 'select.valueChange',
288
+ description: 'Emitted when the selected value changes.',
289
+ payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],
290
+ },
291
+ },
292
+ note: 'Form control component; not represented as a manifest node in v1.',
293
+ props: {
294
+ value: {
295
+ type: 'string',
296
+ category: 'Content',
297
+ label: 'Value',
298
+ },
299
+ disabled: {
300
+ type: 'boolean',
301
+ category: 'State',
302
+ label: 'Disabled',
303
+ },
304
+ },
305
+ },
306
+ Checkbox: {
307
+ name: 'Checkbox',
308
+ category: 'component',
309
+ description: 'Captures a boolean checked state.',
310
+ directManifestNode: true,
311
+ allowedChildren: [],
312
+ bindings: {
313
+ props: {
314
+ checked: {
315
+ label: 'Checked',
316
+ description: 'Current checked state.',
317
+ value: { type: 'boolean' },
318
+ acceptsFallback: true,
319
+ acceptsTransforms: true,
320
+ },
321
+ disabled: {
322
+ label: 'Disabled',
323
+ description: 'Whether the checkbox is disabled.',
324
+ value: { type: 'boolean' },
325
+ acceptsFallback: true,
326
+ acceptsTransforms: true,
327
+ },
328
+ },
329
+ events: {
330
+ checkedChange: {
331
+ label: 'Checked change',
332
+ description: 'Runs when checked state changes.',
333
+ payload: {
334
+ eventType: 'checkbox.checkedChange',
335
+ fields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],
336
+ },
337
+ },
338
+ },
339
+ },
340
+ events: {
341
+ checkedChange: {
342
+ label: 'Checked change',
343
+ eventType: 'checkbox.checkedChange',
344
+ description: 'Emitted when the checked state changes.',
345
+ payloadFields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],
346
+ },
347
+ },
348
+ props: {
349
+ checked: {
350
+ type: 'boolean',
351
+ category: 'State',
352
+ label: 'Checked',
353
+ },
354
+ disabled: {
355
+ type: 'boolean',
356
+ category: 'State',
357
+ label: 'Disabled',
358
+ },
359
+ },
360
+ },
361
+ SwitchField: {
362
+ name: 'SwitchField',
363
+ category: 'pattern',
364
+ description: 'Captures a boolean switch value with a label.',
365
+ directManifestNode: true,
366
+ allowedChildren: [],
367
+ bindings: {
368
+ props: {
369
+ value: {
370
+ label: 'Value',
371
+ description: 'Current switch value.',
372
+ value: { type: 'boolean' },
373
+ acceptsFallback: true,
374
+ acceptsTransforms: true,
375
+ },
376
+ disabled: {
377
+ label: 'Disabled',
378
+ description: 'Whether the switch is disabled.',
379
+ value: { type: 'boolean' },
380
+ acceptsFallback: true,
381
+ acceptsTransforms: true,
382
+ },
383
+ },
384
+ events: {
385
+ valueChange: {
386
+ label: 'Value change',
387
+ description: 'Runs when the switch value changes.',
388
+ payload: {
389
+ eventType: 'switchField.valueChange',
390
+ fields: [{ path: 'value', type: 'boolean', label: 'Value' }],
391
+ },
392
+ },
393
+ },
394
+ },
395
+ events: {
396
+ valueChange: {
397
+ label: 'Value change',
398
+ eventType: 'switchField.valueChange',
399
+ description: 'Emitted when the switch value changes.',
400
+ payloadFields: [{ path: 'value', type: 'boolean', label: 'Value' }],
401
+ },
402
+ },
403
+ props: {
404
+ value: {
405
+ type: 'boolean',
406
+ category: 'State',
407
+ label: 'Value',
408
+ },
409
+ disabled: {
410
+ type: 'boolean',
411
+ category: 'State',
412
+ label: 'Disabled',
413
+ },
414
+ },
415
+ },
416
+ List: {
417
+ name: 'List',
418
+ category: 'pattern',
419
+ description: 'Renders a collection of list items.',
420
+ directManifestNode: true,
421
+ allowedChildren: ['ListSection', 'ListRow'],
422
+ bindings: {
423
+ props: {
424
+ items: {
425
+ label: 'Items',
426
+ description: 'Collection rendered by the list.',
427
+ value: {
428
+ type: 'array',
429
+ itemType: 'object',
430
+ },
431
+ acceptsFallback: true,
432
+ acceptsTransforms: true,
433
+ },
434
+ },
435
+ },
436
+ props: {
437
+ items: {
438
+ type: 'array',
439
+ category: 'Data',
440
+ label: 'Items',
441
+ },
442
+ },
443
+ },
444
+ DataTable: {
445
+ name: 'DataTable',
446
+ category: 'component',
447
+ description: 'Renders tabular records.',
448
+ directManifestNode: true,
449
+ allowedChildren: [],
450
+ bindings: {
451
+ props: {
452
+ rows: {
453
+ label: 'Rows',
454
+ description: 'Rows rendered by the table.',
455
+ value: {
456
+ type: 'array',
457
+ itemType: 'record',
458
+ },
459
+ acceptsFallback: true,
460
+ acceptsTransforms: true,
461
+ },
462
+ },
463
+ },
464
+ props: {
465
+ rows: {
466
+ type: 'array',
467
+ category: 'Data',
468
+ label: 'Rows',
469
+ },
470
+ },
471
+ },
472
+ };
473
+ //# sourceMappingURL=bindableComponentMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindableComponentMeta.js","sourceRoot":"","sources":["../../src/metadata/bindableComponentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { UiComponentMetaRegistry } from '@ankhorage/contracts';\n\nexport const ZORA_BINDABLE_COMPONENT_META = {\n Text: {\n name: 'Text',\n category: 'component',\n description: 'Displays app-facing text content.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n text: {\n label: 'Text',\n description: 'Text content rendered by the component.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n },\n },\n Heading: {\n name: 'Heading',\n category: 'component',\n description: 'Displays semantic heading text.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n text: {\n label: 'Text',\n description: 'Heading text rendered by the component.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n },\n },\n Button: {\n name: 'Button',\n category: 'component',\n description: 'Runs an action when pressed.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n children: {\n label: 'Label',\n description: 'Button label text.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the button is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n press: {\n label: 'Press',\n description: 'Runs when the button is pressed.',\n payload: {\n eventType: 'button.press',\n fields: [],\n },\n },\n },\n },\n events: {\n press: {\n label: 'Press',\n eventType: 'button.press',\n description: 'Emitted when the button action runs.',\n payloadFields: [],\n },\n },\n props: {\n children: {\n type: 'string',\n category: 'Content',\n label: 'Label',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Image: {\n name: 'Image',\n category: 'component',\n description: 'Displays an image asset or remote image source.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n source: {\n label: 'Source',\n description: 'Image source or asset descriptor.',\n value: {\n type: 'imageAsset',\n fields: [\n { path: 'uri', type: 'string', label: 'URI' },\n { path: 'width', type: 'number', label: 'Width' },\n { path: 'height', type: 'number', label: 'Height' },\n { path: 'alt', type: 'string', label: 'Alt text' },\n ],\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n source: {\n type: 'imageAsset',\n category: 'Content',\n label: 'Source',\n },\n },\n },\n Input: {\n name: 'Input',\n category: 'component',\n description: 'Captures a single-line string value.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current input value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the input is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n description: 'Runs when the input value changes.',\n payload: {\n eventType: 'input.changeText',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n eventType: 'input.changeText',\n description: 'Emitted when the input value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Textarea: {\n name: 'Textarea',\n category: 'component',\n description: 'Captures a multiline string value.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current textarea value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the textarea is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n description: 'Runs when the textarea value changes.',\n payload: {\n eventType: 'textarea.changeText',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n eventType: 'textarea.changeText',\n description: 'Emitted when the textarea value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Select: {\n name: 'Select',\n category: 'component',\n description: 'Captures one selected string value.',\n directManifestNode: false,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current selected value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the select is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n description: 'Runs when the selected value changes.',\n payload: {\n eventType: 'select.valueChange',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'select.valueChange',\n description: 'Emitted when the selected value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n note: 'Form control component; not represented as a manifest node in v1.',\n props: {\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Checkbox: {\n name: 'Checkbox',\n category: 'component',\n description: 'Captures a boolean checked state.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n checked: {\n label: 'Checked',\n description: 'Current checked state.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the checkbox is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n description: 'Runs when checked state changes.',\n payload: {\n eventType: 'checkbox.checkedChange',\n fields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n eventType: 'checkbox.checkedChange',\n description: 'Emitted when the checked state changes.',\n payloadFields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n props: {\n checked: {\n type: 'boolean',\n category: 'State',\n label: 'Checked',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n SwitchField: {\n name: 'SwitchField',\n category: 'pattern',\n description: 'Captures a boolean switch value with a label.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current switch value.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the switch is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n description: 'Runs when the switch value changes.',\n payload: {\n eventType: 'switchField.valueChange',\n fields: [{ path: 'value', type: 'boolean', label: 'Value' }],\n },\n },\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'switchField.valueChange',\n description: 'Emitted when the switch value changes.',\n payloadFields: [{ path: 'value', type: 'boolean', label: 'Value' }],\n },\n },\n props: {\n value: {\n type: 'boolean',\n category: 'State',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n List: {\n name: 'List',\n category: 'pattern',\n description: 'Renders a collection of list items.',\n directManifestNode: true,\n allowedChildren: ['ListSection', 'ListRow'],\n bindings: {\n props: {\n items: {\n label: 'Items',\n description: 'Collection rendered by the list.',\n value: {\n type: 'array',\n itemType: 'object',\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n items: {\n type: 'array',\n category: 'Data',\n label: 'Items',\n },\n },\n },\n DataTable: {\n name: 'DataTable',\n category: 'component',\n description: 'Renders tabular records.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n rows: {\n label: 'Rows',\n description: 'Rows rendered by the table.',\n value: {\n type: 'array',\n itemType: 'record',\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n rows: {\n type: 'array',\n category: 'Data',\n label: 'Rows',\n },\n },\n },\n} as const satisfies UiComponentMetaRegistry;\n\nexport type ZoraBindableComponentType = keyof typeof ZORA_BINDABLE_COMPONENT_META;\n"]}
@@ -1,3 +1,5 @@
1
+ export type { ZoraBindableComponentType } from './bindableComponentMeta';
2
+ export { ZORA_BINDABLE_COMPONENT_META } from './bindableComponentMeta';
1
3
  export { ZORA_COMPONENT_META } from './componentMeta';
2
4
  export type { ZoraComponentBlueprint, ZoraComponentCategory, ZoraComponentEventMeta, ZoraComponentEventPayloadFieldMeta, ZoraComponentEventPayloadFieldType, ZoraComponentEventPayloadKind, ZoraComponentI18nMeta, ZoraComponentMeta, ZoraComponentMetaRegistry, ZoraComponentPropArrayItemSchema, ZoraComponentPropSchema, ZoraComponentPropType, ZoraComponentPropValue, ZoraComponentSlotMeta, } from './types';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,kCAAkC,EAClC,6BAA6B,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,kCAAkC,EAClC,6BAA6B,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -1,2 +1,3 @@
1
+ export { ZORA_BINDABLE_COMPONENT_META } from './bindableComponentMeta';
1
2
  export { ZORA_COMPONENT_META } from './componentMeta';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { ZORA_COMPONENT_META } from './componentMeta';\nexport type {\n ZoraComponentBlueprint,\n ZoraComponentCategory,\n ZoraComponentEventMeta,\n ZoraComponentEventPayloadFieldMeta,\n ZoraComponentEventPayloadFieldType,\n ZoraComponentEventPayloadKind,\n ZoraComponentI18nMeta,\n ZoraComponentMeta,\n ZoraComponentMetaRegistry,\n ZoraComponentPropArrayItemSchema,\n ZoraComponentPropSchema,\n ZoraComponentPropType,\n ZoraComponentPropValue,\n ZoraComponentSlotMeta,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export type { ZoraBindableComponentType } from './bindableComponentMeta';\nexport { ZORA_BINDABLE_COMPONENT_META } from './bindableComponentMeta';\nexport { ZORA_COMPONENT_META } from './componentMeta';\nexport type {\n ZoraComponentBlueprint,\n ZoraComponentCategory,\n ZoraComponentEventMeta,\n ZoraComponentEventPayloadFieldMeta,\n ZoraComponentEventPayloadFieldType,\n ZoraComponentEventPayloadKind,\n ZoraComponentI18nMeta,\n ZoraComponentMeta,\n ZoraComponentMetaRegistry,\n ZoraComponentPropArrayItemSchema,\n ZoraComponentPropSchema,\n ZoraComponentPropType,\n ZoraComponentPropValue,\n ZoraComponentSlotMeta,\n} from './types';\n"]}
@@ -1,7 +1,7 @@
1
1
  export declare function useZoraTheme(): {
2
2
  theme: import("@ankhorage/surface").SurfaceTheme;
3
3
  mode: "light" | "dark";
4
- setThemeConfig: (config: Partial<import("@ankhorage/contracts").ThemeConfig>) => void;
4
+ setThemeConfig: (config: Partial<import("@ankhorage/surface").ThemeConfig>) => void;
5
5
  setMode: (mode: "light" | "dark") => void;
6
6
  _hasProvider?: boolean;
7
7
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ankhorage/zora",
3
3
  "type": "module",
4
- "version": "2.4.8",
4
+ "version": "2.5.0",
5
5
  "description": "Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.",
6
6
  "homepage": "https://github.com/ankhorage/zora#readme",
7
7
  "bugs": {
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@ankhorage/color-theory": "^0.0.7",
47
- "@ankhorage/contracts": "^1.7.0",
47
+ "@ankhorage/contracts": "^1.12.0",
48
48
  "@ankhorage/surface": "^2.0.2"
49
49
  },
50
50
  "files": [
@@ -63,6 +63,13 @@
63
63
  "import": "./dist/index.js",
64
64
  "default": "./dist/index.js"
65
65
  },
66
+ "./metadata": {
67
+ "react-native": "./src/metadata/index.ts",
68
+ "browser": "./src/metadata/index.ts",
69
+ "types": "./dist/metadata/index.d.ts",
70
+ "import": "./dist/metadata/index.js",
71
+ "default": "./dist/metadata/index.js"
72
+ },
66
73
  "./package.json": "./package.json"
67
74
  },
68
75
  "publishConfig": {
package/src/index.ts CHANGED
@@ -194,6 +194,7 @@ export { SidebarLayout } from './layout/sidebar-layout';
194
194
  export type { TopbarLayoutProps } from './layout/topbar-layout';
195
195
  export { TopbarLayout } from './layout/topbar-layout';
196
196
  export type {
197
+ ZoraBindableComponentType,
197
198
  ZoraComponentBlueprint,
198
199
  ZoraComponentCategory,
199
200
  ZoraComponentEventMeta,
@@ -209,7 +210,7 @@ export type {
209
210
  ZoraComponentPropValue,
210
211
  ZoraComponentSlotMeta,
211
212
  } from './metadata';
212
- export { ZORA_COMPONENT_META } from './metadata';
213
+ export { ZORA_BINDABLE_COMPONENT_META, ZORA_COMPONENT_META } from './metadata';
213
214
  export type {
214
215
  AuthFormBaseProps,
215
216
  AuthIdentifierKind,
@@ -0,0 +1,18 @@
1
+ import type { UiComponentMetaRegistry } from '@ankhorage/contracts';
2
+ import { describe, expect, it } from 'bun:test';
3
+
4
+ import { ZORA_BINDABLE_COMPONENT_META } from './bindableComponentMeta';
5
+
6
+ describe('ZORA bindable component metadata', () => {
7
+ it('matches the shared UI metadata registry shape', () => {
8
+ const registry: UiComponentMetaRegistry = ZORA_BINDABLE_COMPONENT_META;
9
+
10
+ expect(registry.Text?.bindings?.props?.text?.value.type).toBe('string');
11
+ expect(registry.Heading?.bindings?.props?.text?.value.type).toBe('string');
12
+ expect(registry.Button?.bindings?.props?.children?.value.type).toBe('string');
13
+ expect(registry.Input?.bindings?.props?.value?.value.type).toBe('string');
14
+ expect(registry.Select?.bindings?.props?.value?.value.type).toBe('string');
15
+ expect(registry.Image?.bindings?.props?.source?.value.type).toBe('imageAsset');
16
+ expect(registry.DataTable?.bindings?.props?.rows?.value.type).toBe('array');
17
+ });
18
+ });