@json-render/react-native 0.5.1 → 0.6.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/README.md +12 -8
- package/dist/catalog.d.mts +60 -11
- package/dist/catalog.d.ts +60 -11
- package/dist/catalog.js +51 -32
- package/dist/catalog.js.map +1 -1
- package/dist/catalog.mjs +1 -1
- package/dist/{chunk-MP3Y6GEF.mjs → chunk-QYY3Q42V.mjs} +52 -33
- package/dist/chunk-QYY3Q42V.mjs.map +1 -0
- package/dist/chunk-T27PQA6P.mjs +83 -0
- package/dist/chunk-T27PQA6P.mjs.map +1 -0
- package/dist/index.d.mts +50 -51
- package/dist/index.d.ts +50 -51
- package/dist/index.js +1311 -1321
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1464 -1491
- package/dist/index.mjs.map +1 -1
- package/dist/schema.d.mts +4 -0
- package/dist/schema.d.ts +4 -0
- package/dist/schema.js +18 -16
- package/dist/schema.js.map +1 -1
- package/dist/schema.mjs +1 -1
- package/package.json +2 -2
- package/dist/chunk-MP3Y6GEF.mjs.map +0 -1
- package/dist/chunk-VBNJFRLI.mjs +0 -81
- package/dist/chunk-VBNJFRLI.mjs.map +0 -1
package/dist/catalog.js
CHANGED
|
@@ -40,7 +40,8 @@ var standardComponentDefinitions = {
|
|
|
40
40
|
flex: import_zod.z.number().nullable()
|
|
41
41
|
}),
|
|
42
42
|
slots: ["default"],
|
|
43
|
-
description: "Generic container wrapper. Use for grouping elements with padding, margin, and background color."
|
|
43
|
+
description: "Generic container wrapper. Use for grouping elements with padding, margin, and background color.",
|
|
44
|
+
example: { padding: 16, backgroundColor: "#FFFFFF" }
|
|
44
45
|
},
|
|
45
46
|
Row: {
|
|
46
47
|
props: import_zod.z.object({
|
|
@@ -59,7 +60,8 @@ var standardComponentDefinitions = {
|
|
|
59
60
|
flex: import_zod.z.number().nullable()
|
|
60
61
|
}),
|
|
61
62
|
slots: ["default"],
|
|
62
|
-
description: "Horizontal flex layout. Use for placing elements side by side."
|
|
63
|
+
description: "Horizontal flex layout. Use for placing elements side by side.",
|
|
64
|
+
example: { gap: 12, alignItems: "center" }
|
|
63
65
|
},
|
|
64
66
|
Column: {
|
|
65
67
|
props: import_zod.z.object({
|
|
@@ -77,7 +79,8 @@ var standardComponentDefinitions = {
|
|
|
77
79
|
flex: import_zod.z.number().nullable()
|
|
78
80
|
}),
|
|
79
81
|
slots: ["default"],
|
|
80
|
-
description: "Vertical flex layout. Use for stacking elements top to bottom."
|
|
82
|
+
description: "Vertical flex layout. Use for stacking elements top to bottom.",
|
|
83
|
+
example: { gap: 12, padding: 16 }
|
|
81
84
|
},
|
|
82
85
|
ScrollContainer: {
|
|
83
86
|
props: import_zod.z.object({
|
|
@@ -131,7 +134,8 @@ var standardComponentDefinitions = {
|
|
|
131
134
|
align: import_zod.z.enum(["left", "center", "right"]).nullable()
|
|
132
135
|
}),
|
|
133
136
|
slots: [],
|
|
134
|
-
description: "Heading text at various levels. h1 is largest, h4 is smallest."
|
|
137
|
+
description: "Heading text at various levels. h1 is largest, h4 is smallest.",
|
|
138
|
+
example: { text: "Welcome", level: "h1" }
|
|
135
139
|
},
|
|
136
140
|
Paragraph: {
|
|
137
141
|
props: import_zod.z.object({
|
|
@@ -142,7 +146,8 @@ var standardComponentDefinitions = {
|
|
|
142
146
|
fontSize: import_zod.z.number().nullable()
|
|
143
147
|
}),
|
|
144
148
|
slots: [],
|
|
145
|
-
description: "Body text paragraph. Use for descriptions and longer content."
|
|
149
|
+
description: "Body text paragraph. Use for descriptions and longer content.",
|
|
150
|
+
example: { text: "This is a paragraph of body text." }
|
|
146
151
|
},
|
|
147
152
|
Label: {
|
|
148
153
|
props: import_zod.z.object({
|
|
@@ -152,7 +157,8 @@ var standardComponentDefinitions = {
|
|
|
152
157
|
size: import_zod.z.enum(["xs", "sm", "md"]).nullable()
|
|
153
158
|
}),
|
|
154
159
|
slots: [],
|
|
155
|
-
description: "Small utility text. Use for captions, form labels, and secondary information."
|
|
160
|
+
description: "Small utility text. Use for captions, form labels, and secondary information.",
|
|
161
|
+
example: { text: "Status", size: "sm" }
|
|
156
162
|
},
|
|
157
163
|
Image: {
|
|
158
164
|
props: import_zod.z.object({
|
|
@@ -164,7 +170,13 @@ var standardComponentDefinitions = {
|
|
|
164
170
|
borderRadius: import_zod.z.number().nullable()
|
|
165
171
|
}),
|
|
166
172
|
slots: [],
|
|
167
|
-
description: "Image display. Provide a source URL and optional dimensions."
|
|
173
|
+
description: "Image display. Provide a source URL and optional dimensions.",
|
|
174
|
+
example: {
|
|
175
|
+
src: "https://picsum.photos/300/200",
|
|
176
|
+
alt: "Photo",
|
|
177
|
+
width: 300,
|
|
178
|
+
height: 200
|
|
179
|
+
}
|
|
168
180
|
},
|
|
169
181
|
Avatar: {
|
|
170
182
|
props: import_zod.z.object({
|
|
@@ -174,7 +186,8 @@ var standardComponentDefinitions = {
|
|
|
174
186
|
backgroundColor: import_zod.z.string().nullable()
|
|
175
187
|
}),
|
|
176
188
|
slots: [],
|
|
177
|
-
description: "Circular avatar showing an image or initials. Use for user profiles and contacts."
|
|
189
|
+
description: "Circular avatar showing an image or initials. Use for user profiles and contacts.",
|
|
190
|
+
example: { initials: "JD", size: "md" }
|
|
178
191
|
},
|
|
179
192
|
Badge: {
|
|
180
193
|
props: import_zod.z.object({
|
|
@@ -182,7 +195,8 @@ var standardComponentDefinitions = {
|
|
|
182
195
|
variant: import_zod.z.enum(["default", "info", "success", "warning", "error"]).nullable()
|
|
183
196
|
}),
|
|
184
197
|
slots: [],
|
|
185
|
-
description: "Small colored indicator with a label. Use for status, counts, and categories."
|
|
198
|
+
description: "Small colored indicator with a label. Use for status, counts, and categories.",
|
|
199
|
+
example: { label: "New", variant: "info" }
|
|
186
200
|
},
|
|
187
201
|
Chip: {
|
|
188
202
|
props: import_zod.z.object({
|
|
@@ -207,13 +221,13 @@ var standardComponentDefinitions = {
|
|
|
207
221
|
}),
|
|
208
222
|
events: ["press"],
|
|
209
223
|
slots: [],
|
|
210
|
-
description: "Pressable button with label. Set variant for styling. Bind on.press for the handler to call on press."
|
|
224
|
+
description: "Pressable button with label. Set variant for styling. Bind on.press for the handler to call on press.",
|
|
225
|
+
example: { label: "Submit", variant: "primary" }
|
|
211
226
|
},
|
|
212
227
|
TextInput: {
|
|
213
228
|
props: import_zod.z.object({
|
|
214
229
|
placeholder: import_zod.z.string().nullable(),
|
|
215
230
|
value: import_zod.z.string().nullable(),
|
|
216
|
-
statePath: import_zod.z.string().nullable(),
|
|
217
231
|
secureTextEntry: import_zod.z.boolean().nullable(),
|
|
218
232
|
keyboardType: import_zod.z.enum(["default", "email-address", "numeric", "phone-pad", "url"]).nullable(),
|
|
219
233
|
multiline: import_zod.z.boolean().nullable(),
|
|
@@ -223,29 +237,31 @@ var standardComponentDefinitions = {
|
|
|
223
237
|
}),
|
|
224
238
|
events: ["submit", "focus", "blur"],
|
|
225
239
|
slots: [],
|
|
226
|
-
description: "Text input field. Use
|
|
240
|
+
description: "Text input field. Use $bindState to bind to the state model for two-way binding. The value typed by the user is stored at the bound path.",
|
|
241
|
+
example: {
|
|
242
|
+
placeholder: "Enter text...",
|
|
243
|
+
label: "Name"
|
|
244
|
+
}
|
|
227
245
|
},
|
|
228
246
|
Switch: {
|
|
229
247
|
props: import_zod.z.object({
|
|
230
|
-
|
|
231
|
-
statePath: import_zod.z.string().nullable(),
|
|
248
|
+
checked: import_zod.z.boolean().nullable(),
|
|
232
249
|
label: import_zod.z.string().nullable(),
|
|
233
250
|
disabled: import_zod.z.boolean().nullable()
|
|
234
251
|
}),
|
|
235
252
|
events: ["change"],
|
|
236
253
|
slots: [],
|
|
237
|
-
description: "Toggle switch. Use
|
|
254
|
+
description: "Toggle switch. Use $bindState to bind to the state model."
|
|
238
255
|
},
|
|
239
256
|
Checkbox: {
|
|
240
257
|
props: import_zod.z.object({
|
|
241
258
|
checked: import_zod.z.boolean().nullable(),
|
|
242
|
-
statePath: import_zod.z.string().nullable(),
|
|
243
259
|
label: import_zod.z.string().nullable(),
|
|
244
260
|
disabled: import_zod.z.boolean().nullable()
|
|
245
261
|
}),
|
|
246
262
|
events: ["change"],
|
|
247
263
|
slots: [],
|
|
248
|
-
description: "Checkbox for boolean selections. Use
|
|
264
|
+
description: "Checkbox for boolean selections. Use $bindState to bind to the state model."
|
|
249
265
|
},
|
|
250
266
|
Slider: {
|
|
251
267
|
props: import_zod.z.object({
|
|
@@ -253,18 +269,16 @@ var standardComponentDefinitions = {
|
|
|
253
269
|
max: import_zod.z.number().nullable(),
|
|
254
270
|
step: import_zod.z.number().nullable(),
|
|
255
271
|
value: import_zod.z.number().nullable(),
|
|
256
|
-
statePath: import_zod.z.string().nullable(),
|
|
257
272
|
label: import_zod.z.string().nullable(),
|
|
258
273
|
color: import_zod.z.string().nullable()
|
|
259
274
|
}),
|
|
260
275
|
slots: [],
|
|
261
|
-
description: "Range slider for numeric values. Use
|
|
276
|
+
description: "Range slider for numeric values. Use $bindState to bind to the state model."
|
|
262
277
|
},
|
|
263
278
|
SearchBar: {
|
|
264
279
|
props: import_zod.z.object({
|
|
265
280
|
placeholder: import_zod.z.string().nullable(),
|
|
266
|
-
value: import_zod.z.string().nullable()
|
|
267
|
-
statePath: import_zod.z.string().nullable()
|
|
281
|
+
value: import_zod.z.string().nullable()
|
|
268
282
|
}),
|
|
269
283
|
events: ["submit"],
|
|
270
284
|
slots: [],
|
|
@@ -304,7 +318,8 @@ var standardComponentDefinitions = {
|
|
|
304
318
|
elevated: import_zod.z.boolean().nullable()
|
|
305
319
|
}),
|
|
306
320
|
slots: ["default"],
|
|
307
|
-
description: "Elevated card container with optional title. Use for grouping related content."
|
|
321
|
+
description: "Elevated card container with optional title. Use for grouping related content.",
|
|
322
|
+
example: { title: "Details", padding: 16, elevated: true }
|
|
308
323
|
},
|
|
309
324
|
ListItem: {
|
|
310
325
|
props: import_zod.z.object({
|
|
@@ -316,17 +331,21 @@ var standardComponentDefinitions = {
|
|
|
316
331
|
}),
|
|
317
332
|
events: ["press"],
|
|
318
333
|
slots: [],
|
|
319
|
-
description: "List row with title, subtitle, and optional leading/trailing text. Bind on.press for the press handler."
|
|
334
|
+
description: "List row with title, subtitle, and optional leading/trailing text. Bind on.press for the press handler.",
|
|
335
|
+
example: {
|
|
336
|
+
title: "Settings",
|
|
337
|
+
subtitle: "Manage your preferences",
|
|
338
|
+
showChevron: true
|
|
339
|
+
}
|
|
320
340
|
},
|
|
321
341
|
Modal: {
|
|
322
342
|
props: import_zod.z.object({
|
|
323
343
|
visible: import_zod.z.boolean(),
|
|
324
344
|
title: import_zod.z.string().nullable(),
|
|
325
|
-
animationType: import_zod.z.enum(["slide", "fade", "none"]).nullable()
|
|
326
|
-
statePath: import_zod.z.string().nullable()
|
|
345
|
+
animationType: import_zod.z.enum(["slide", "fade", "none"]).nullable()
|
|
327
346
|
}),
|
|
328
347
|
slots: ["default"],
|
|
329
|
-
description: "Modal overlay dialog. Use
|
|
348
|
+
description: "Modal overlay dialog. Use $bindState on visible to bind visibility to the state model."
|
|
330
349
|
}
|
|
331
350
|
};
|
|
332
351
|
var standardActionDefinitions = {
|
|
@@ -371,22 +390,22 @@ var standardActionDefinitions = {
|
|
|
371
390
|
},
|
|
372
391
|
setState: {
|
|
373
392
|
params: import_zod.z.object({
|
|
374
|
-
|
|
393
|
+
statePath: import_zod.z.string(),
|
|
375
394
|
value: import_zod.z.unknown()
|
|
376
395
|
}),
|
|
377
|
-
description: "Update a value in the state model at the given
|
|
396
|
+
description: "Update a value in the state model at the given statePath."
|
|
378
397
|
},
|
|
379
398
|
pushState: {
|
|
380
399
|
params: import_zod.z.object({
|
|
381
|
-
|
|
400
|
+
statePath: import_zod.z.string(),
|
|
382
401
|
value: import_zod.z.unknown(),
|
|
383
|
-
|
|
402
|
+
clearStatePath: import_zod.z.string().optional()
|
|
384
403
|
}),
|
|
385
|
-
description: 'Append an item to an array in the state model. The value can contain {
|
|
404
|
+
description: 'Append an item to an array in the state model. The value can contain { $state: "/statePath" } references to read from current state, and "$id" to auto-generate a unique ID. Use clearStatePath to reset another path after pushing (e.g. clear an input field). Example: { statePath: "/todos", value: { id: "$id", title: { $state: "/newTodoText" }, completed: false }, clearStatePath: "/newTodoText" }.'
|
|
386
405
|
},
|
|
387
406
|
removeState: {
|
|
388
407
|
params: import_zod.z.object({
|
|
389
|
-
|
|
408
|
+
statePath: import_zod.z.string(),
|
|
390
409
|
index: import_zod.z.number()
|
|
391
410
|
}),
|
|
392
411
|
description: "Remove an item from an array in the state model at the given index."
|
package/dist/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/catalog.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// =============================================================================\n// Standard Component Definitions for React Native\n// =============================================================================\n\n/**\n * Standard component definitions for React Native catalogs.\n *\n * These can be used directly or extended with custom components.\n * All components are built using React Native core primitives only.\n */\nexport const standardComponentDefinitions = {\n // ==========================================================================\n // Layout Components\n // ==========================================================================\n\n Container: {\n props: z.object({\n padding: z.number().nullable(),\n paddingHorizontal: z.number().nullable(),\n paddingVertical: z.number().nullable(),\n margin: z.number().nullable(),\n backgroundColor: z.string().nullable(),\n borderRadius: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Generic container wrapper. Use for grouping elements with padding, margin, and background color.\",\n },\n\n Row: {\n props: z.object({\n gap: z.number().nullable(),\n alignItems: z\n .enum([\"flex-start\", \"center\", \"flex-end\", \"stretch\", \"baseline\"])\n .nullable(),\n justifyContent: z\n .enum([\n \"flex-start\",\n \"center\",\n \"flex-end\",\n \"space-between\",\n \"space-around\",\n \"space-evenly\",\n ])\n .nullable(),\n flexWrap: z.enum([\"wrap\", \"nowrap\"]).nullable(),\n padding: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Horizontal flex layout. Use for placing elements side by side.\",\n },\n\n Column: {\n props: z.object({\n gap: z.number().nullable(),\n alignItems: z\n .enum([\"flex-start\", \"center\", \"flex-end\", \"stretch\", \"baseline\"])\n .nullable(),\n justifyContent: z\n .enum([\n \"flex-start\",\n \"center\",\n \"flex-end\",\n \"space-between\",\n \"space-around\",\n \"space-evenly\",\n ])\n .nullable(),\n padding: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Vertical flex layout. Use for stacking elements top to bottom.\",\n },\n\n ScrollContainer: {\n props: z.object({\n horizontal: z.boolean().nullable(),\n showsScrollIndicator: z.boolean().nullable(),\n padding: z.number().nullable(),\n backgroundColor: z.string().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Scrollable container. Use for content that may overflow the screen.\",\n },\n\n SafeArea: {\n props: z.object({\n backgroundColor: z.string().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Safe area container that respects device notches and system bars. Use as the outermost wrapper for screens.\",\n },\n\n Spacer: {\n props: z.object({\n size: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [],\n description:\n \"Empty space between elements. Set size for fixed spacing or flex for flexible spacing.\",\n },\n\n Pressable: {\n props: z.object({}),\n events: [\"press\", \"longPress\"],\n slots: [\"default\"],\n description:\n \"Touchable wrapper that triggers events on press. Wrap any element to make it tappable. Bind on.press to setState to update state for visibility-driven UIs like tabs.\",\n },\n\n Divider: {\n props: z.object({\n direction: z.enum([\"horizontal\", \"vertical\"]).nullable(),\n color: z.string().nullable(),\n thickness: z.number().nullable(),\n margin: z.number().nullable(),\n }),\n slots: [],\n description: \"Thin line separator between content sections.\",\n },\n\n // ==========================================================================\n // Content Components\n // ==========================================================================\n\n Heading: {\n props: z.object({\n text: z.string(),\n level: z.enum([\"h1\", \"h2\", \"h3\", \"h4\"]).nullable(),\n color: z.string().nullable(),\n align: z.enum([\"left\", \"center\", \"right\"]).nullable(),\n }),\n slots: [],\n description:\n \"Heading text at various levels. h1 is largest, h4 is smallest.\",\n },\n\n Paragraph: {\n props: z.object({\n text: z.string(),\n color: z.string().nullable(),\n align: z.enum([\"left\", \"center\", \"right\"]).nullable(),\n numberOfLines: z.number().nullable(),\n fontSize: z.number().nullable(),\n }),\n slots: [],\n description:\n \"Body text paragraph. Use for descriptions and longer content.\",\n },\n\n Label: {\n props: z.object({\n text: z.string(),\n color: z.string().nullable(),\n bold: z.boolean().nullable(),\n size: z.enum([\"xs\", \"sm\", \"md\"]).nullable(),\n }),\n slots: [],\n description:\n \"Small utility text. Use for captions, form labels, and secondary information.\",\n },\n\n Image: {\n props: z.object({\n src: z.string(),\n alt: z.string().nullable(),\n width: z.number().nullable(),\n height: z.number().nullable(),\n resizeMode: z.enum([\"cover\", \"contain\", \"stretch\", \"center\"]).nullable(),\n borderRadius: z.number().nullable(),\n }),\n slots: [],\n description: \"Image display. Provide a source URL and optional dimensions.\",\n },\n\n Avatar: {\n props: z.object({\n src: z.string().nullable(),\n initials: z.string().nullable(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).nullable(),\n backgroundColor: z.string().nullable(),\n }),\n slots: [],\n description:\n \"Circular avatar showing an image or initials. Use for user profiles and contacts.\",\n },\n\n Badge: {\n props: z.object({\n label: z.string(),\n variant: z\n .enum([\"default\", \"info\", \"success\", \"warning\", \"error\"])\n .nullable(),\n }),\n slots: [],\n description:\n \"Small colored indicator with a label. Use for status, counts, and categories.\",\n },\n\n Chip: {\n props: z.object({\n label: z.string(),\n selected: z.boolean().nullable(),\n backgroundColor: z.string().nullable(),\n }),\n events: [\"press\", \"remove\"],\n slots: [],\n description:\n \"Tag or filter chip. Bind on.remove for removable chips, on.press for selectable chips.\",\n },\n\n // ==========================================================================\n // Input Components\n // ==========================================================================\n\n Button: {\n props: z.object({\n label: z.string(),\n variant: z\n .enum([\"primary\", \"secondary\", \"danger\", \"outline\", \"ghost\"])\n .nullable(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).nullable(),\n disabled: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n }),\n events: [\"press\"],\n slots: [],\n description:\n \"Pressable button with label. Set variant for styling. Bind on.press for the handler to call on press.\",\n },\n\n TextInput: {\n props: z.object({\n placeholder: z.string().nullable(),\n value: z.string().nullable(),\n statePath: z.string().nullable(),\n secureTextEntry: z.boolean().nullable(),\n keyboardType: z\n .enum([\"default\", \"email-address\", \"numeric\", \"phone-pad\", \"url\"])\n .nullable(),\n multiline: z.boolean().nullable(),\n numberOfLines: z.number().nullable(),\n label: z.string().nullable(),\n flex: z.number().nullable(),\n }),\n events: [\"submit\", \"focus\", \"blur\"],\n slots: [],\n description:\n \"Text input field. Use statePath to bind to the state model for two-way binding. The value typed by the user is stored at the statePath.\",\n },\n\n Switch: {\n props: z.object({\n value: z.boolean().nullable(),\n statePath: z.string().nullable(),\n label: z.string().nullable(),\n disabled: z.boolean().nullable(),\n }),\n events: [\"change\"],\n slots: [],\n description: \"Toggle switch. Use statePath to bind to the state model.\",\n },\n\n Checkbox: {\n props: z.object({\n checked: z.boolean().nullable(),\n statePath: z.string().nullable(),\n label: z.string().nullable(),\n disabled: z.boolean().nullable(),\n }),\n events: [\"change\"],\n slots: [],\n description:\n \"Checkbox for boolean selections. Use statePath to bind to the state model.\",\n },\n\n Slider: {\n props: z.object({\n min: z.number().nullable(),\n max: z.number().nullable(),\n step: z.number().nullable(),\n value: z.number().nullable(),\n statePath: z.string().nullable(),\n label: z.string().nullable(),\n color: z.string().nullable(),\n }),\n slots: [],\n description:\n \"Range slider for numeric values. Use statePath to bind to the state model.\",\n },\n\n SearchBar: {\n props: z.object({\n placeholder: z.string().nullable(),\n value: z.string().nullable(),\n statePath: z.string().nullable(),\n }),\n events: [\"submit\"],\n slots: [],\n description:\n \"Search input with icon. Bind on.submit to trigger search on submit.\",\n },\n\n // ==========================================================================\n // Feedback Components\n // ==========================================================================\n\n Spinner: {\n props: z.object({\n size: z.enum([\"small\", \"large\"]).nullable(),\n color: z.string().nullable(),\n }),\n slots: [],\n description: \"Loading spinner indicator. Use while content is loading.\",\n },\n\n ProgressBar: {\n props: z.object({\n progress: z.number(),\n color: z.string().nullable(),\n trackColor: z.string().nullable(),\n height: z.number().nullable(),\n }),\n slots: [],\n description: \"Horizontal progress bar. Set progress from 0 to 1.\",\n },\n\n // ==========================================================================\n // Composite Components\n // ==========================================================================\n\n Card: {\n props: z.object({\n title: z.string().nullable(),\n subtitle: z.string().nullable(),\n padding: z.number().nullable(),\n backgroundColor: z.string().nullable(),\n borderRadius: z.number().nullable(),\n elevated: z.boolean().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Elevated card container with optional title. Use for grouping related content.\",\n },\n\n ListItem: {\n props: z.object({\n title: z.string(),\n subtitle: z.string().nullable(),\n leading: z.string().nullable(),\n trailing: z.string().nullable(),\n showChevron: z.boolean().nullable(),\n }),\n events: [\"press\"],\n slots: [],\n description:\n \"List row with title, subtitle, and optional leading/trailing text. Bind on.press for the press handler.\",\n },\n\n Modal: {\n props: z.object({\n visible: z.boolean(),\n title: z.string().nullable(),\n animationType: z.enum([\"slide\", \"fade\", \"none\"]).nullable(),\n statePath: z.string().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Modal overlay dialog. Use statePath to bind visibility to the state model.\",\n },\n};\n\n// =============================================================================\n// Standard Action Definitions for React Native\n// =============================================================================\n\n/**\n * Standard action definitions for React Native catalogs.\n *\n * These use React Native core APIs (Alert, Share, Linking) and\n * user-provided functions (navigate).\n */\nexport const standardActionDefinitions = {\n navigate: {\n params: z.object({\n screen: z.string(),\n params: z.record(z.string(), z.unknown()).nullable(),\n }),\n description:\n \"Navigate to a screen. Calls the user-provided navigation function.\",\n },\n\n goBack: {\n params: z.object({}),\n description: \"Navigate back to the previous screen.\",\n },\n\n showAlert: {\n params: z.object({\n title: z.string(),\n message: z.string().nullable(),\n buttons: z\n .array(\n z.object({\n text: z.string(),\n style: z.enum([\"default\", \"cancel\", \"destructive\"]).nullable(),\n action: z.string().nullable(),\n }),\n )\n .nullable(),\n }),\n description: \"Show a native alert dialog using Alert.alert().\",\n },\n\n share: {\n params: z.object({\n message: z.string(),\n url: z.string().nullable(),\n title: z.string().nullable(),\n }),\n description: \"Open the native share sheet using Share.share().\",\n },\n\n openURL: {\n params: z.object({\n url: z.string(),\n }),\n description: \"Open a URL in the default browser using Linking.openURL().\",\n },\n\n setState: {\n params: z.object({\n path: z.string(),\n value: z.unknown(),\n }),\n description: \"Update a value in the state model at the given path.\",\n },\n\n pushState: {\n params: z.object({\n path: z.string(),\n value: z.unknown(),\n clearPath: z.string().optional(),\n }),\n description:\n 'Append an item to an array in the state model. The value can contain { path: \"/statePath\" } references to read from current state, and \"$id\" to auto-generate a unique ID. Use clearPath to reset another path after pushing (e.g. clear an input field). Example: { path: \"/todos\", value: { id: \"$id\", title: { path: \"/newTodoText\" }, completed: false }, clearPath: \"/newTodoText\" }.',\n },\n\n removeState: {\n params: z.object({\n path: z.string(),\n index: z.number(),\n }),\n description:\n \"Remove an item from an array in the state model at the given index.\",\n },\n\n refresh: {\n params: z.object({\n target: z.string().nullable(),\n }),\n description:\n \"Trigger a data refresh. Optionally specify a target to refresh.\",\n },\n};\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * Type for a component definition\n */\nexport type ComponentDefinition = {\n props: z.ZodType;\n slots: string[];\n events?: string[];\n description: string;\n};\n\n/**\n * Type for an action definition\n */\nexport type ActionDefinition = {\n params: z.ZodType;\n description: string;\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/catalog.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// =============================================================================\n// Standard Component Definitions for React Native\n// =============================================================================\n\n/**\n * Standard component definitions for React Native catalogs.\n *\n * These can be used directly or extended with custom components.\n * All components are built using React Native core primitives only.\n */\nexport const standardComponentDefinitions = {\n // ==========================================================================\n // Layout Components\n // ==========================================================================\n\n Container: {\n props: z.object({\n padding: z.number().nullable(),\n paddingHorizontal: z.number().nullable(),\n paddingVertical: z.number().nullable(),\n margin: z.number().nullable(),\n backgroundColor: z.string().nullable(),\n borderRadius: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Generic container wrapper. Use for grouping elements with padding, margin, and background color.\",\n example: { padding: 16, backgroundColor: \"#FFFFFF\" },\n },\n\n Row: {\n props: z.object({\n gap: z.number().nullable(),\n alignItems: z\n .enum([\"flex-start\", \"center\", \"flex-end\", \"stretch\", \"baseline\"])\n .nullable(),\n justifyContent: z\n .enum([\n \"flex-start\",\n \"center\",\n \"flex-end\",\n \"space-between\",\n \"space-around\",\n \"space-evenly\",\n ])\n .nullable(),\n flexWrap: z.enum([\"wrap\", \"nowrap\"]).nullable(),\n padding: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Horizontal flex layout. Use for placing elements side by side.\",\n example: { gap: 12, alignItems: \"center\" },\n },\n\n Column: {\n props: z.object({\n gap: z.number().nullable(),\n alignItems: z\n .enum([\"flex-start\", \"center\", \"flex-end\", \"stretch\", \"baseline\"])\n .nullable(),\n justifyContent: z\n .enum([\n \"flex-start\",\n \"center\",\n \"flex-end\",\n \"space-between\",\n \"space-around\",\n \"space-evenly\",\n ])\n .nullable(),\n padding: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Vertical flex layout. Use for stacking elements top to bottom.\",\n example: { gap: 12, padding: 16 },\n },\n\n ScrollContainer: {\n props: z.object({\n horizontal: z.boolean().nullable(),\n showsScrollIndicator: z.boolean().nullable(),\n padding: z.number().nullable(),\n backgroundColor: z.string().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Scrollable container. Use for content that may overflow the screen.\",\n },\n\n SafeArea: {\n props: z.object({\n backgroundColor: z.string().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Safe area container that respects device notches and system bars. Use as the outermost wrapper for screens.\",\n },\n\n Spacer: {\n props: z.object({\n size: z.number().nullable(),\n flex: z.number().nullable(),\n }),\n slots: [],\n description:\n \"Empty space between elements. Set size for fixed spacing or flex for flexible spacing.\",\n },\n\n Pressable: {\n props: z.object({}),\n events: [\"press\", \"longPress\"],\n slots: [\"default\"],\n description:\n \"Touchable wrapper that triggers events on press. Wrap any element to make it tappable. Bind on.press to setState to update state for visibility-driven UIs like tabs.\",\n },\n\n Divider: {\n props: z.object({\n direction: z.enum([\"horizontal\", \"vertical\"]).nullable(),\n color: z.string().nullable(),\n thickness: z.number().nullable(),\n margin: z.number().nullable(),\n }),\n slots: [],\n description: \"Thin line separator between content sections.\",\n },\n\n // ==========================================================================\n // Content Components\n // ==========================================================================\n\n Heading: {\n props: z.object({\n text: z.string(),\n level: z.enum([\"h1\", \"h2\", \"h3\", \"h4\"]).nullable(),\n color: z.string().nullable(),\n align: z.enum([\"left\", \"center\", \"right\"]).nullable(),\n }),\n slots: [],\n description:\n \"Heading text at various levels. h1 is largest, h4 is smallest.\",\n example: { text: \"Welcome\", level: \"h1\" },\n },\n\n Paragraph: {\n props: z.object({\n text: z.string(),\n color: z.string().nullable(),\n align: z.enum([\"left\", \"center\", \"right\"]).nullable(),\n numberOfLines: z.number().nullable(),\n fontSize: z.number().nullable(),\n }),\n slots: [],\n description:\n \"Body text paragraph. Use for descriptions and longer content.\",\n example: { text: \"This is a paragraph of body text.\" },\n },\n\n Label: {\n props: z.object({\n text: z.string(),\n color: z.string().nullable(),\n bold: z.boolean().nullable(),\n size: z.enum([\"xs\", \"sm\", \"md\"]).nullable(),\n }),\n slots: [],\n description:\n \"Small utility text. Use for captions, form labels, and secondary information.\",\n example: { text: \"Status\", size: \"sm\" },\n },\n\n Image: {\n props: z.object({\n src: z.string(),\n alt: z.string().nullable(),\n width: z.number().nullable(),\n height: z.number().nullable(),\n resizeMode: z.enum([\"cover\", \"contain\", \"stretch\", \"center\"]).nullable(),\n borderRadius: z.number().nullable(),\n }),\n slots: [],\n description: \"Image display. Provide a source URL and optional dimensions.\",\n example: {\n src: \"https://picsum.photos/300/200\",\n alt: \"Photo\",\n width: 300,\n height: 200,\n },\n },\n\n Avatar: {\n props: z.object({\n src: z.string().nullable(),\n initials: z.string().nullable(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).nullable(),\n backgroundColor: z.string().nullable(),\n }),\n slots: [],\n description:\n \"Circular avatar showing an image or initials. Use for user profiles and contacts.\",\n example: { initials: \"JD\", size: \"md\" },\n },\n\n Badge: {\n props: z.object({\n label: z.string(),\n variant: z\n .enum([\"default\", \"info\", \"success\", \"warning\", \"error\"])\n .nullable(),\n }),\n slots: [],\n description:\n \"Small colored indicator with a label. Use for status, counts, and categories.\",\n example: { label: \"New\", variant: \"info\" },\n },\n\n Chip: {\n props: z.object({\n label: z.string(),\n selected: z.boolean().nullable(),\n backgroundColor: z.string().nullable(),\n }),\n events: [\"press\", \"remove\"],\n slots: [],\n description:\n \"Tag or filter chip. Bind on.remove for removable chips, on.press for selectable chips.\",\n },\n\n // ==========================================================================\n // Input Components\n // ==========================================================================\n\n Button: {\n props: z.object({\n label: z.string(),\n variant: z\n .enum([\"primary\", \"secondary\", \"danger\", \"outline\", \"ghost\"])\n .nullable(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).nullable(),\n disabled: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n }),\n events: [\"press\"],\n slots: [],\n description:\n \"Pressable button with label. Set variant for styling. Bind on.press for the handler to call on press.\",\n example: { label: \"Submit\", variant: \"primary\" },\n },\n\n TextInput: {\n props: z.object({\n placeholder: z.string().nullable(),\n value: z.string().nullable(),\n secureTextEntry: z.boolean().nullable(),\n keyboardType: z\n .enum([\"default\", \"email-address\", \"numeric\", \"phone-pad\", \"url\"])\n .nullable(),\n multiline: z.boolean().nullable(),\n numberOfLines: z.number().nullable(),\n label: z.string().nullable(),\n flex: z.number().nullable(),\n }),\n events: [\"submit\", \"focus\", \"blur\"],\n slots: [],\n description:\n \"Text input field. Use $bindState to bind to the state model for two-way binding. The value typed by the user is stored at the bound path.\",\n example: {\n placeholder: \"Enter text...\",\n label: \"Name\",\n },\n },\n\n Switch: {\n props: z.object({\n checked: z.boolean().nullable(),\n label: z.string().nullable(),\n disabled: z.boolean().nullable(),\n }),\n events: [\"change\"],\n slots: [],\n description: \"Toggle switch. Use $bindState to bind to the state model.\",\n },\n\n Checkbox: {\n props: z.object({\n checked: z.boolean().nullable(),\n label: z.string().nullable(),\n disabled: z.boolean().nullable(),\n }),\n events: [\"change\"],\n slots: [],\n description:\n \"Checkbox for boolean selections. Use $bindState to bind to the state model.\",\n },\n\n Slider: {\n props: z.object({\n min: z.number().nullable(),\n max: z.number().nullable(),\n step: z.number().nullable(),\n value: z.number().nullable(),\n label: z.string().nullable(),\n color: z.string().nullable(),\n }),\n slots: [],\n description:\n \"Range slider for numeric values. Use $bindState to bind to the state model.\",\n },\n\n SearchBar: {\n props: z.object({\n placeholder: z.string().nullable(),\n value: z.string().nullable(),\n }),\n events: [\"submit\"],\n slots: [],\n description:\n \"Search input with icon. Bind on.submit to trigger search on submit.\",\n },\n\n // ==========================================================================\n // Feedback Components\n // ==========================================================================\n\n Spinner: {\n props: z.object({\n size: z.enum([\"small\", \"large\"]).nullable(),\n color: z.string().nullable(),\n }),\n slots: [],\n description: \"Loading spinner indicator. Use while content is loading.\",\n },\n\n ProgressBar: {\n props: z.object({\n progress: z.number(),\n color: z.string().nullable(),\n trackColor: z.string().nullable(),\n height: z.number().nullable(),\n }),\n slots: [],\n description: \"Horizontal progress bar. Set progress from 0 to 1.\",\n },\n\n // ==========================================================================\n // Composite Components\n // ==========================================================================\n\n Card: {\n props: z.object({\n title: z.string().nullable(),\n subtitle: z.string().nullable(),\n padding: z.number().nullable(),\n backgroundColor: z.string().nullable(),\n borderRadius: z.number().nullable(),\n elevated: z.boolean().nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Elevated card container with optional title. Use for grouping related content.\",\n example: { title: \"Details\", padding: 16, elevated: true },\n },\n\n ListItem: {\n props: z.object({\n title: z.string(),\n subtitle: z.string().nullable(),\n leading: z.string().nullable(),\n trailing: z.string().nullable(),\n showChevron: z.boolean().nullable(),\n }),\n events: [\"press\"],\n slots: [],\n description:\n \"List row with title, subtitle, and optional leading/trailing text. Bind on.press for the press handler.\",\n example: {\n title: \"Settings\",\n subtitle: \"Manage your preferences\",\n showChevron: true,\n },\n },\n\n Modal: {\n props: z.object({\n visible: z.boolean(),\n title: z.string().nullable(),\n animationType: z.enum([\"slide\", \"fade\", \"none\"]).nullable(),\n }),\n slots: [\"default\"],\n description:\n \"Modal overlay dialog. Use $bindState on visible to bind visibility to the state model.\",\n },\n};\n\n// =============================================================================\n// Standard Action Definitions for React Native\n// =============================================================================\n\n/**\n * Standard action definitions for React Native catalogs.\n *\n * These use React Native core APIs (Alert, Share, Linking) and\n * user-provided functions (navigate).\n */\nexport const standardActionDefinitions = {\n navigate: {\n params: z.object({\n screen: z.string(),\n params: z.record(z.string(), z.unknown()).nullable(),\n }),\n description:\n \"Navigate to a screen. Calls the user-provided navigation function.\",\n },\n\n goBack: {\n params: z.object({}),\n description: \"Navigate back to the previous screen.\",\n },\n\n showAlert: {\n params: z.object({\n title: z.string(),\n message: z.string().nullable(),\n buttons: z\n .array(\n z.object({\n text: z.string(),\n style: z.enum([\"default\", \"cancel\", \"destructive\"]).nullable(),\n action: z.string().nullable(),\n }),\n )\n .nullable(),\n }),\n description: \"Show a native alert dialog using Alert.alert().\",\n },\n\n share: {\n params: z.object({\n message: z.string(),\n url: z.string().nullable(),\n title: z.string().nullable(),\n }),\n description: \"Open the native share sheet using Share.share().\",\n },\n\n openURL: {\n params: z.object({\n url: z.string(),\n }),\n description: \"Open a URL in the default browser using Linking.openURL().\",\n },\n\n setState: {\n params: z.object({\n statePath: z.string(),\n value: z.unknown(),\n }),\n description: \"Update a value in the state model at the given statePath.\",\n },\n\n pushState: {\n params: z.object({\n statePath: z.string(),\n value: z.unknown(),\n clearStatePath: z.string().optional(),\n }),\n description:\n 'Append an item to an array in the state model. The value can contain { $state: \"/statePath\" } references to read from current state, and \"$id\" to auto-generate a unique ID. Use clearStatePath to reset another path after pushing (e.g. clear an input field). Example: { statePath: \"/todos\", value: { id: \"$id\", title: { $state: \"/newTodoText\" }, completed: false }, clearStatePath: \"/newTodoText\" }.',\n },\n\n removeState: {\n params: z.object({\n statePath: z.string(),\n index: z.number(),\n }),\n description:\n \"Remove an item from an array in the state model at the given index.\",\n },\n\n refresh: {\n params: z.object({\n target: z.string().nullable(),\n }),\n description:\n \"Trigger a data refresh. Optionally specify a target to refresh.\",\n },\n};\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * Type for a component definition\n */\nexport type ComponentDefinition = {\n props: z.ZodType;\n slots: string[];\n events?: string[];\n description: string;\n};\n\n/**\n * Type for an action definition\n */\nexport type ActionDefinition = {\n params: z.ZodType;\n description: string;\n};\n"],"mappings":"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","names":[]}
|
package/dist/catalog.mjs
CHANGED
|
@@ -15,7 +15,8 @@ var standardComponentDefinitions = {
|
|
|
15
15
|
flex: z.number().nullable()
|
|
16
16
|
}),
|
|
17
17
|
slots: ["default"],
|
|
18
|
-
description: "Generic container wrapper. Use for grouping elements with padding, margin, and background color."
|
|
18
|
+
description: "Generic container wrapper. Use for grouping elements with padding, margin, and background color.",
|
|
19
|
+
example: { padding: 16, backgroundColor: "#FFFFFF" }
|
|
19
20
|
},
|
|
20
21
|
Row: {
|
|
21
22
|
props: z.object({
|
|
@@ -34,7 +35,8 @@ var standardComponentDefinitions = {
|
|
|
34
35
|
flex: z.number().nullable()
|
|
35
36
|
}),
|
|
36
37
|
slots: ["default"],
|
|
37
|
-
description: "Horizontal flex layout. Use for placing elements side by side."
|
|
38
|
+
description: "Horizontal flex layout. Use for placing elements side by side.",
|
|
39
|
+
example: { gap: 12, alignItems: "center" }
|
|
38
40
|
},
|
|
39
41
|
Column: {
|
|
40
42
|
props: z.object({
|
|
@@ -52,7 +54,8 @@ var standardComponentDefinitions = {
|
|
|
52
54
|
flex: z.number().nullable()
|
|
53
55
|
}),
|
|
54
56
|
slots: ["default"],
|
|
55
|
-
description: "Vertical flex layout. Use for stacking elements top to bottom."
|
|
57
|
+
description: "Vertical flex layout. Use for stacking elements top to bottom.",
|
|
58
|
+
example: { gap: 12, padding: 16 }
|
|
56
59
|
},
|
|
57
60
|
ScrollContainer: {
|
|
58
61
|
props: z.object({
|
|
@@ -106,7 +109,8 @@ var standardComponentDefinitions = {
|
|
|
106
109
|
align: z.enum(["left", "center", "right"]).nullable()
|
|
107
110
|
}),
|
|
108
111
|
slots: [],
|
|
109
|
-
description: "Heading text at various levels. h1 is largest, h4 is smallest."
|
|
112
|
+
description: "Heading text at various levels. h1 is largest, h4 is smallest.",
|
|
113
|
+
example: { text: "Welcome", level: "h1" }
|
|
110
114
|
},
|
|
111
115
|
Paragraph: {
|
|
112
116
|
props: z.object({
|
|
@@ -117,7 +121,8 @@ var standardComponentDefinitions = {
|
|
|
117
121
|
fontSize: z.number().nullable()
|
|
118
122
|
}),
|
|
119
123
|
slots: [],
|
|
120
|
-
description: "Body text paragraph. Use for descriptions and longer content."
|
|
124
|
+
description: "Body text paragraph. Use for descriptions and longer content.",
|
|
125
|
+
example: { text: "This is a paragraph of body text." }
|
|
121
126
|
},
|
|
122
127
|
Label: {
|
|
123
128
|
props: z.object({
|
|
@@ -127,7 +132,8 @@ var standardComponentDefinitions = {
|
|
|
127
132
|
size: z.enum(["xs", "sm", "md"]).nullable()
|
|
128
133
|
}),
|
|
129
134
|
slots: [],
|
|
130
|
-
description: "Small utility text. Use for captions, form labels, and secondary information."
|
|
135
|
+
description: "Small utility text. Use for captions, form labels, and secondary information.",
|
|
136
|
+
example: { text: "Status", size: "sm" }
|
|
131
137
|
},
|
|
132
138
|
Image: {
|
|
133
139
|
props: z.object({
|
|
@@ -139,7 +145,13 @@ var standardComponentDefinitions = {
|
|
|
139
145
|
borderRadius: z.number().nullable()
|
|
140
146
|
}),
|
|
141
147
|
slots: [],
|
|
142
|
-
description: "Image display. Provide a source URL and optional dimensions."
|
|
148
|
+
description: "Image display. Provide a source URL and optional dimensions.",
|
|
149
|
+
example: {
|
|
150
|
+
src: "https://picsum.photos/300/200",
|
|
151
|
+
alt: "Photo",
|
|
152
|
+
width: 300,
|
|
153
|
+
height: 200
|
|
154
|
+
}
|
|
143
155
|
},
|
|
144
156
|
Avatar: {
|
|
145
157
|
props: z.object({
|
|
@@ -149,7 +161,8 @@ var standardComponentDefinitions = {
|
|
|
149
161
|
backgroundColor: z.string().nullable()
|
|
150
162
|
}),
|
|
151
163
|
slots: [],
|
|
152
|
-
description: "Circular avatar showing an image or initials. Use for user profiles and contacts."
|
|
164
|
+
description: "Circular avatar showing an image or initials. Use for user profiles and contacts.",
|
|
165
|
+
example: { initials: "JD", size: "md" }
|
|
153
166
|
},
|
|
154
167
|
Badge: {
|
|
155
168
|
props: z.object({
|
|
@@ -157,7 +170,8 @@ var standardComponentDefinitions = {
|
|
|
157
170
|
variant: z.enum(["default", "info", "success", "warning", "error"]).nullable()
|
|
158
171
|
}),
|
|
159
172
|
slots: [],
|
|
160
|
-
description: "Small colored indicator with a label. Use for status, counts, and categories."
|
|
173
|
+
description: "Small colored indicator with a label. Use for status, counts, and categories.",
|
|
174
|
+
example: { label: "New", variant: "info" }
|
|
161
175
|
},
|
|
162
176
|
Chip: {
|
|
163
177
|
props: z.object({
|
|
@@ -182,13 +196,13 @@ var standardComponentDefinitions = {
|
|
|
182
196
|
}),
|
|
183
197
|
events: ["press"],
|
|
184
198
|
slots: [],
|
|
185
|
-
description: "Pressable button with label. Set variant for styling. Bind on.press for the handler to call on press."
|
|
199
|
+
description: "Pressable button with label. Set variant for styling. Bind on.press for the handler to call on press.",
|
|
200
|
+
example: { label: "Submit", variant: "primary" }
|
|
186
201
|
},
|
|
187
202
|
TextInput: {
|
|
188
203
|
props: z.object({
|
|
189
204
|
placeholder: z.string().nullable(),
|
|
190
205
|
value: z.string().nullable(),
|
|
191
|
-
statePath: z.string().nullable(),
|
|
192
206
|
secureTextEntry: z.boolean().nullable(),
|
|
193
207
|
keyboardType: z.enum(["default", "email-address", "numeric", "phone-pad", "url"]).nullable(),
|
|
194
208
|
multiline: z.boolean().nullable(),
|
|
@@ -198,29 +212,31 @@ var standardComponentDefinitions = {
|
|
|
198
212
|
}),
|
|
199
213
|
events: ["submit", "focus", "blur"],
|
|
200
214
|
slots: [],
|
|
201
|
-
description: "Text input field. Use
|
|
215
|
+
description: "Text input field. Use $bindState to bind to the state model for two-way binding. The value typed by the user is stored at the bound path.",
|
|
216
|
+
example: {
|
|
217
|
+
placeholder: "Enter text...",
|
|
218
|
+
label: "Name"
|
|
219
|
+
}
|
|
202
220
|
},
|
|
203
221
|
Switch: {
|
|
204
222
|
props: z.object({
|
|
205
|
-
|
|
206
|
-
statePath: z.string().nullable(),
|
|
223
|
+
checked: z.boolean().nullable(),
|
|
207
224
|
label: z.string().nullable(),
|
|
208
225
|
disabled: z.boolean().nullable()
|
|
209
226
|
}),
|
|
210
227
|
events: ["change"],
|
|
211
228
|
slots: [],
|
|
212
|
-
description: "Toggle switch. Use
|
|
229
|
+
description: "Toggle switch. Use $bindState to bind to the state model."
|
|
213
230
|
},
|
|
214
231
|
Checkbox: {
|
|
215
232
|
props: z.object({
|
|
216
233
|
checked: z.boolean().nullable(),
|
|
217
|
-
statePath: z.string().nullable(),
|
|
218
234
|
label: z.string().nullable(),
|
|
219
235
|
disabled: z.boolean().nullable()
|
|
220
236
|
}),
|
|
221
237
|
events: ["change"],
|
|
222
238
|
slots: [],
|
|
223
|
-
description: "Checkbox for boolean selections. Use
|
|
239
|
+
description: "Checkbox for boolean selections. Use $bindState to bind to the state model."
|
|
224
240
|
},
|
|
225
241
|
Slider: {
|
|
226
242
|
props: z.object({
|
|
@@ -228,18 +244,16 @@ var standardComponentDefinitions = {
|
|
|
228
244
|
max: z.number().nullable(),
|
|
229
245
|
step: z.number().nullable(),
|
|
230
246
|
value: z.number().nullable(),
|
|
231
|
-
statePath: z.string().nullable(),
|
|
232
247
|
label: z.string().nullable(),
|
|
233
248
|
color: z.string().nullable()
|
|
234
249
|
}),
|
|
235
250
|
slots: [],
|
|
236
|
-
description: "Range slider for numeric values. Use
|
|
251
|
+
description: "Range slider for numeric values. Use $bindState to bind to the state model."
|
|
237
252
|
},
|
|
238
253
|
SearchBar: {
|
|
239
254
|
props: z.object({
|
|
240
255
|
placeholder: z.string().nullable(),
|
|
241
|
-
value: z.string().nullable()
|
|
242
|
-
statePath: z.string().nullable()
|
|
256
|
+
value: z.string().nullable()
|
|
243
257
|
}),
|
|
244
258
|
events: ["submit"],
|
|
245
259
|
slots: [],
|
|
@@ -279,7 +293,8 @@ var standardComponentDefinitions = {
|
|
|
279
293
|
elevated: z.boolean().nullable()
|
|
280
294
|
}),
|
|
281
295
|
slots: ["default"],
|
|
282
|
-
description: "Elevated card container with optional title. Use for grouping related content."
|
|
296
|
+
description: "Elevated card container with optional title. Use for grouping related content.",
|
|
297
|
+
example: { title: "Details", padding: 16, elevated: true }
|
|
283
298
|
},
|
|
284
299
|
ListItem: {
|
|
285
300
|
props: z.object({
|
|
@@ -291,17 +306,21 @@ var standardComponentDefinitions = {
|
|
|
291
306
|
}),
|
|
292
307
|
events: ["press"],
|
|
293
308
|
slots: [],
|
|
294
|
-
description: "List row with title, subtitle, and optional leading/trailing text. Bind on.press for the press handler."
|
|
309
|
+
description: "List row with title, subtitle, and optional leading/trailing text. Bind on.press for the press handler.",
|
|
310
|
+
example: {
|
|
311
|
+
title: "Settings",
|
|
312
|
+
subtitle: "Manage your preferences",
|
|
313
|
+
showChevron: true
|
|
314
|
+
}
|
|
295
315
|
},
|
|
296
316
|
Modal: {
|
|
297
317
|
props: z.object({
|
|
298
318
|
visible: z.boolean(),
|
|
299
319
|
title: z.string().nullable(),
|
|
300
|
-
animationType: z.enum(["slide", "fade", "none"]).nullable()
|
|
301
|
-
statePath: z.string().nullable()
|
|
320
|
+
animationType: z.enum(["slide", "fade", "none"]).nullable()
|
|
302
321
|
}),
|
|
303
322
|
slots: ["default"],
|
|
304
|
-
description: "Modal overlay dialog. Use
|
|
323
|
+
description: "Modal overlay dialog. Use $bindState on visible to bind visibility to the state model."
|
|
305
324
|
}
|
|
306
325
|
};
|
|
307
326
|
var standardActionDefinitions = {
|
|
@@ -346,22 +365,22 @@ var standardActionDefinitions = {
|
|
|
346
365
|
},
|
|
347
366
|
setState: {
|
|
348
367
|
params: z.object({
|
|
349
|
-
|
|
368
|
+
statePath: z.string(),
|
|
350
369
|
value: z.unknown()
|
|
351
370
|
}),
|
|
352
|
-
description: "Update a value in the state model at the given
|
|
371
|
+
description: "Update a value in the state model at the given statePath."
|
|
353
372
|
},
|
|
354
373
|
pushState: {
|
|
355
374
|
params: z.object({
|
|
356
|
-
|
|
375
|
+
statePath: z.string(),
|
|
357
376
|
value: z.unknown(),
|
|
358
|
-
|
|
377
|
+
clearStatePath: z.string().optional()
|
|
359
378
|
}),
|
|
360
|
-
description: 'Append an item to an array in the state model. The value can contain {
|
|
379
|
+
description: 'Append an item to an array in the state model. The value can contain { $state: "/statePath" } references to read from current state, and "$id" to auto-generate a unique ID. Use clearStatePath to reset another path after pushing (e.g. clear an input field). Example: { statePath: "/todos", value: { id: "$id", title: { $state: "/newTodoText" }, completed: false }, clearStatePath: "/newTodoText" }.'
|
|
361
380
|
},
|
|
362
381
|
removeState: {
|
|
363
382
|
params: z.object({
|
|
364
|
-
|
|
383
|
+
statePath: z.string(),
|
|
365
384
|
index: z.number()
|
|
366
385
|
}),
|
|
367
386
|
description: "Remove an item from an array in the state model at the given index."
|
|
@@ -378,4 +397,4 @@ export {
|
|
|
378
397
|
standardComponentDefinitions,
|
|
379
398
|
standardActionDefinitions
|
|
380
399
|
};
|
|
381
|
-
//# sourceMappingURL=chunk-
|
|
400
|
+
//# sourceMappingURL=chunk-QYY3Q42V.mjs.map
|