@optiaxiom/proteus 0.3.0 → 1.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.
Files changed (64) hide show
  1. package/dist/esm/_virtual/_openai-shim-script.js +3 -2
  2. package/dist/esm/assets/src/proteus-chart/{ProteusChart.css.ts.vanilla-DNE5j3uT.css → ProteusChart.css.ts.vanilla-yGx8JdKz.css} +2 -2
  3. package/dist/esm/assets/src/proteus-chart/{ProteusChartTooltipContent.css.ts.vanilla-DM8u1icS.css → ProteusChartTooltipContent.css.ts.vanilla-HapBe2oo.css} +2 -2
  4. package/dist/esm/assets/src/proteus-document/{ProteusDocumentShell.css.ts.vanilla-DjZJuQ2A.css → ProteusDocumentShell.css.ts.vanilla-BPytQ9pT.css} +2 -2
  5. package/dist/esm/assets/src/proteus-image-carousel/{ProteusImageCarousel.css.ts.vanilla-CIwMJ4Cg.css → ProteusImageCarousel.css.ts.vanilla-DnlXoyv1.css} +2 -2
  6. package/dist/esm/assets/src/proteus-question/{ProteusQuestion.css.ts.vanilla-DiCe_bxf.css → ProteusQuestion.css.ts.vanilla-CpDgoW0l.css} +2 -2
  7. package/dist/esm/hooks/useEffectEvent.js +11 -10
  8. package/dist/esm/hooks/useObserveValue.js +24 -30
  9. package/dist/esm/icons/IconAngleLeft.js +13 -19
  10. package/dist/esm/icons/IconAngleRight.js +13 -19
  11. package/dist/esm/icons/IconX.js +10 -18
  12. package/dist/esm/icons/withIcon.js +17 -28
  13. package/dist/esm/index.js +22 -17
  14. package/dist/esm/proteus-action/ProteusAction.js +44 -39
  15. package/dist/esm/proteus-bridge/ProteusBridge.js +71 -85
  16. package/dist/esm/proteus-card-link/ProteusCardLink.js +24 -37
  17. package/dist/esm/proteus-chart/ProteusChart-css.js +14 -5
  18. package/dist/esm/proteus-chart/ProteusChart.js +86 -84
  19. package/dist/esm/proteus-chart/ProteusChartContext.js +3 -3
  20. package/dist/esm/proteus-chart/ProteusChartTooltipContent-css.js +23 -6
  21. package/dist/esm/proteus-chart/ProteusChartTooltipContent.js +52 -66
  22. package/dist/esm/proteus-data-table/ProteusDataTable.js +28 -29
  23. package/dist/esm/proteus-date-input/ProteusDateInput.js +23 -0
  24. package/dist/esm/proteus-document/ProteusDocumentContext.js +4 -3
  25. package/dist/esm/proteus-document/ProteusDocumentPathContext.js +6 -5
  26. package/dist/esm/proteus-document/ProteusDocumentRenderer.js +25 -33
  27. package/dist/esm/proteus-document/ProteusDocumentShell-css.js +32 -6
  28. package/dist/esm/proteus-document/ProteusDocumentShell.js +226 -219
  29. package/dist/esm/proteus-document/getProteusValue.js +28 -42
  30. package/dist/esm/proteus-document/resolveProteusProp.js +31 -49
  31. package/dist/esm/proteus-document/resolveProteusValue.js +73 -136
  32. package/dist/esm/proteus-document/schemas.js +42 -45
  33. package/dist/esm/proteus-document/useResolveProteusValues.js +10 -16
  34. package/dist/esm/proteus-element/ProteusElement.js +114 -180
  35. package/dist/esm/proteus-federated/ProteusFederated.js +51 -52
  36. package/dist/esm/proteus-file-icon/ProteusFileIcon.js +29 -38
  37. package/dist/esm/proteus-file-upload/ProteusFileUpload.js +107 -133
  38. package/dist/esm/proteus-image/ProteusImage.js +99 -106
  39. package/dist/esm/proteus-image/downloadFile.js +3 -2
  40. package/dist/esm/proteus-image-carousel/ProteusImageCarousel-css.js +49 -11
  41. package/dist/esm/proteus-image-carousel/ProteusImageCarousel.js +151 -163
  42. package/dist/esm/proteus-input/ProteusInput.js +19 -27
  43. package/dist/esm/proteus-length/ProteusLength.js +10 -0
  44. package/dist/esm/proteus-map/ProteusMap.js +18 -31
  45. package/dist/esm/proteus-map-index/ProteusMapIndex.js +11 -0
  46. package/dist/esm/proteus-pill-menu/ProteusPillMenu.js +65 -0
  47. package/dist/esm/proteus-pill-menu/useInputValueChangeInteraction.js +36 -0
  48. package/dist/esm/proteus-question/ProteusQuestion-css.js +40 -8
  49. package/dist/esm/proteus-question/ProteusQuestion.js +324 -400
  50. package/dist/esm/proteus-select/ProteusSelect.js +25 -40
  51. package/dist/esm/proteus-show/ProteusShow.js +10 -18
  52. package/dist/esm/proteus-switch/ProteusSwitch.js +33 -36
  53. package/dist/esm/proteus-textarea/ProteusTextarea.js +18 -27
  54. package/dist/esm/proteus-value/ProteusValue.js +4 -4
  55. package/dist/esm/schema/public-schema.js +4537 -0
  56. package/dist/esm/schema/runtime-schema.js +4460 -0
  57. package/dist/esm/spec.js +5 -1
  58. package/dist/esm/use-proteus-value/useProteusValue.js +8 -12
  59. package/dist/index.d.ts +516 -347
  60. package/dist/spec.d.ts +5 -9952
  61. package/package.json +5 -5
  62. package/dist/esm/icons/IconCalendar.js +0 -20
  63. package/dist/esm/schema/public-schema.json.js +0 -9041
  64. package/dist/esm/schema/runtime-schema.json.js +0 -8974
@@ -0,0 +1,4460 @@
1
+ //#region src/schema/runtime-schema.json
2
+ var definitions = {
3
+ "SprinkleProp_alignItems": {
4
+ "anyOf": [
5
+ { "const": "stretch" },
6
+ { "const": "center" },
7
+ { "const": "end" },
8
+ { "const": "start" },
9
+ { "const": "normal" },
10
+ { "$ref": "#/definitions/ProteusExpression" }
11
+ ],
12
+ "description": "Set the element's `align-items` CSS property"
13
+ },
14
+ "SprinkleProp_alignSelf": {
15
+ "anyOf": [
16
+ { "const": "stretch" },
17
+ { "const": "center" },
18
+ { "const": "end" },
19
+ { "const": "start" },
20
+ { "const": "normal" },
21
+ { "$ref": "#/definitions/ProteusExpression" }
22
+ ],
23
+ "description": "Set the element's `align-self` CSS property"
24
+ },
25
+ "SprinkleProp_animation": {
26
+ "anyOf": [
27
+ { "const": "ping" },
28
+ { "const": "pulse" },
29
+ { "const": "spin" },
30
+ { "$ref": "#/definitions/ProteusExpression" }
31
+ ],
32
+ "description": "Animate element with CSS animations"
33
+ },
34
+ "SprinkleProp_backgroundImage": {
35
+ "anyOf": [{ "const": "gradient.opal" }, { "$ref": "#/definitions/ProteusExpression" }],
36
+ "description": "Set the element's `background-image` CSS property"
37
+ },
38
+ "SprinkleProp_bg": {
39
+ "anyOf": [
40
+ { "const": "transparent" },
41
+ { "const": "bg.accent" },
42
+ { "const": "bg.accent.hovered" },
43
+ { "const": "bg.accent.light" },
44
+ { "const": "bg.accent.pressed" },
45
+ { "const": "bg.accent.subtle" },
46
+ { "const": "bg.avatar.neutral" },
47
+ { "const": "bg.avatar.purple" },
48
+ { "const": "bg.default" },
49
+ { "const": "bg.default.hovered" },
50
+ { "const": "bg.default.inverse" },
51
+ { "const": "bg.default.inverse.hovered" },
52
+ { "const": "bg.default.inverse.pressed" },
53
+ { "const": "bg.default.pressed" },
54
+ { "const": "bg.error" },
55
+ { "const": "bg.error.hovered" },
56
+ { "const": "bg.error.light" },
57
+ { "const": "bg.error.pressed" },
58
+ { "const": "bg.error.subtle" },
59
+ { "const": "bg.error.subtlest" },
60
+ { "const": "bg.information" },
61
+ { "const": "bg.information.light" },
62
+ { "const": "bg.information.subtle" },
63
+ { "const": "bg.overlay" },
64
+ { "const": "bg.page" },
65
+ { "const": "bg.secondary" },
66
+ { "const": "bg.secondary.hovered" },
67
+ { "const": "bg.spinner.default" },
68
+ { "const": "bg.spinner.inverse" },
69
+ { "const": "bg.success" },
70
+ { "const": "bg.success.hovered" },
71
+ { "const": "bg.success.light" },
72
+ { "const": "bg.success.subtle" },
73
+ { "const": "bg.tertiary" },
74
+ { "const": "bg.tertiary.hovered" },
75
+ { "const": "bg.warning" },
76
+ { "const": "bg.warning.hovered" },
77
+ { "const": "bg.warning.light" },
78
+ { "const": "bg.warning.subtle" },
79
+ { "const": "current" },
80
+ { "$ref": "#/definitions/ProteusExpression" }
81
+ ],
82
+ "description": "Set the element's background color. Only accepts predefined color tokens starting with `bg.` (e.g., `bg.default`, `bg.accent`, `bg.error`), or the special values `current` and `transparent`."
83
+ },
84
+ "SprinkleProp_border": {
85
+ "anyOf": [
86
+ { "const": "2" },
87
+ { "const": "0" },
88
+ { "const": "1" },
89
+ { "$ref": "#/definitions/ProteusExpression" }
90
+ ],
91
+ "description": "Set the element's `border-width` CSS property"
92
+ },
93
+ "SprinkleProp_borderB": {
94
+ "anyOf": [
95
+ { "const": "2" },
96
+ { "const": "0" },
97
+ { "const": "1" },
98
+ { "$ref": "#/definitions/ProteusExpression" }
99
+ ],
100
+ "description": "Set the element's `border-bottom-width` CSS property"
101
+ },
102
+ "SprinkleProp_borderColor": {
103
+ "anyOf": [
104
+ { "const": "transparent" },
105
+ { "const": "border.accent" },
106
+ { "const": "border.control" },
107
+ { "const": "border.control.hovered" },
108
+ { "const": "border.default" },
109
+ { "const": "border.disabled" },
110
+ { "const": "border.error" },
111
+ { "const": "border.focus" },
112
+ { "const": "border.focus.error" },
113
+ { "const": "border.secondary" },
114
+ { "const": "border.success" },
115
+ { "const": "border.tertiary" },
116
+ { "const": "border.warning" },
117
+ { "const": "current" },
118
+ { "$ref": "#/definitions/ProteusExpression" }
119
+ ],
120
+ "description": "Set the element's border color. Only accepts predefined color tokens starting with `border.` (e.g., `border.default`, `border.accent`, `border.error`), or the special values `current` and `transparent`."
121
+ },
122
+ "SprinkleProp_borderL": {
123
+ "anyOf": [
124
+ { "const": "2" },
125
+ { "const": "0" },
126
+ { "const": "1" },
127
+ { "$ref": "#/definitions/ProteusExpression" }
128
+ ],
129
+ "description": "Set the element's `border-left-width` CSS property"
130
+ },
131
+ "SprinkleProp_borderR": {
132
+ "anyOf": [
133
+ { "const": "2" },
134
+ { "const": "0" },
135
+ { "const": "1" },
136
+ { "$ref": "#/definitions/ProteusExpression" }
137
+ ],
138
+ "description": "Set the element's `border-right-width` CSS property"
139
+ },
140
+ "SprinkleProp_borderT": {
141
+ "anyOf": [
142
+ { "const": "2" },
143
+ { "const": "0" },
144
+ { "const": "1" },
145
+ { "$ref": "#/definitions/ProteusExpression" }
146
+ ],
147
+ "description": "Set the element's `border-top-width` CSS property"
148
+ },
149
+ "SprinkleProp_color": {
150
+ "anyOf": [
151
+ { "const": "transparent" },
152
+ { "const": "fg.accent" },
153
+ { "const": "fg.accent.hovered" },
154
+ { "const": "fg.accent.strong" },
155
+ { "const": "fg.avatar.neutral" },
156
+ { "const": "fg.avatar.purple" },
157
+ { "const": "fg.default" },
158
+ { "const": "fg.default.inverse" },
159
+ { "const": "fg.disabled" },
160
+ { "const": "fg.error" },
161
+ { "const": "fg.error.hovered" },
162
+ { "const": "fg.error.light" },
163
+ { "const": "fg.error.strong" },
164
+ { "const": "fg.information" },
165
+ { "const": "fg.information.light" },
166
+ { "const": "fg.information.strong" },
167
+ { "const": "fg.link.default" },
168
+ { "const": "fg.link.default.hovered" },
169
+ { "const": "fg.link.inverse" },
170
+ { "const": "fg.link.subtle" },
171
+ { "const": "fg.link.visited" },
172
+ { "const": "fg.secondary" },
173
+ { "const": "fg.spinner.default" },
174
+ { "const": "fg.spinner.inverse" },
175
+ { "const": "fg.success" },
176
+ { "const": "fg.success.hovered" },
177
+ { "const": "fg.success.light" },
178
+ { "const": "fg.success.strong" },
179
+ { "const": "fg.tertiary" },
180
+ { "const": "fg.warning" },
181
+ { "const": "fg.warning.hovered" },
182
+ { "const": "fg.warning.inverse" },
183
+ { "const": "fg.warning.light" },
184
+ { "const": "fg.warning.strong" },
185
+ { "const": "fg.white" },
186
+ { "const": "current" },
187
+ { "$ref": "#/definitions/ProteusExpression" }
188
+ ],
189
+ "description": "Set the element's text color. Only accepts predefined color tokens starting with `fg.` (e.g., `fg.default`, `fg.accent`, `fg.error`), or the special values `current` and `transparent`."
190
+ },
191
+ "SprinkleProp_cursor": {
192
+ "anyOf": [
193
+ { "const": "text" },
194
+ { "const": "default" },
195
+ { "const": "pointer" },
196
+ { "$ref": "#/definitions/ProteusExpression" }
197
+ ],
198
+ "description": "Set the element's `cursor` CSS property"
199
+ },
200
+ "SprinkleProp_display": {
201
+ "anyOf": [
202
+ { "const": "flex" },
203
+ { "const": "grid" },
204
+ { "const": "none" },
205
+ { "const": "block" },
206
+ { "const": "inline" },
207
+ { "const": "table" },
208
+ { "const": "table-cell" },
209
+ { "const": "table-row" },
210
+ { "const": "inline-block" },
211
+ { "const": "inline-flex" },
212
+ { "$ref": "#/definitions/ProteusExpression" }
213
+ ],
214
+ "description": "Set the element's `display` CSS property"
215
+ },
216
+ "SprinkleProp_flex": {
217
+ "anyOf": [
218
+ { "const": "initial" },
219
+ { "const": "none" },
220
+ { "const": "auto" },
221
+ { "const": "1" },
222
+ { "$ref": "#/definitions/ProteusExpression" }
223
+ ],
224
+ "description": "Set the element's `flex` CSS property"
225
+ },
226
+ "SprinkleProp_flexDirection": {
227
+ "anyOf": [
228
+ { "const": "column" },
229
+ { "const": "column-reverse" },
230
+ { "const": "row" },
231
+ { "const": "row-reverse" },
232
+ { "$ref": "#/definitions/ProteusExpression" }
233
+ ],
234
+ "description": "Set the element's `flex-direction` CSS property"
235
+ },
236
+ "SprinkleProp_flexWrap": {
237
+ "anyOf": [
238
+ { "const": "nowrap" },
239
+ { "const": "wrap" },
240
+ { "$ref": "#/definitions/ProteusExpression" }
241
+ ],
242
+ "description": "Set the element's `flex-wrap` CSS property"
243
+ },
244
+ "SprinkleProp_fontFamily": {
245
+ "anyOf": [
246
+ { "const": "mono" },
247
+ { "const": "sans" },
248
+ { "$ref": "#/definitions/ProteusExpression" }
249
+ ],
250
+ "description": "Set the element's font family. Only accepts predefined fontFamily tokens."
251
+ },
252
+ "SprinkleProp_fontSize": {
253
+ "anyOf": [
254
+ { "const": "inherit" },
255
+ { "const": "xs" },
256
+ { "const": "sm" },
257
+ { "const": "md" },
258
+ { "const": "lg" },
259
+ { "const": "xl" },
260
+ { "const": "2xl" },
261
+ { "const": "3xl" },
262
+ { "const": "4xl" },
263
+ { "$ref": "#/definitions/ProteusExpression" }
264
+ ],
265
+ "description": "Set the element's font size and line height (both properties are set together). Only accepts predefined fontSize tokens."
266
+ },
267
+ "SprinkleProp_fontWeight": {
268
+ "anyOf": [
269
+ { "const": "inherit" },
270
+ { "const": "600" },
271
+ { "const": "400" },
272
+ { "const": "500" },
273
+ { "const": "700" },
274
+ { "$ref": "#/definitions/ProteusExpression" }
275
+ ],
276
+ "description": "Set the element's `font-weight` CSS property"
277
+ },
278
+ "SprinkleProp_gap": {
279
+ "anyOf": [
280
+ { "const": "2" },
281
+ { "const": "4" },
282
+ { "const": "6" },
283
+ { "const": "8" },
284
+ { "const": "12" },
285
+ { "const": "10" },
286
+ { "const": "16" },
287
+ { "const": "20" },
288
+ { "const": "24" },
289
+ { "const": "32" },
290
+ { "const": "40" },
291
+ { "const": "48" },
292
+ { "const": "80" },
293
+ { "const": "0" },
294
+ { "const": "64" },
295
+ { "$ref": "#/definitions/ProteusExpression" }
296
+ ],
297
+ "description": "Set the element's `gap` CSS property"
298
+ },
299
+ "SprinkleProp_gridAutoRows": {
300
+ "anyOf": [{ "const": "fr" }, { "$ref": "#/definitions/ProteusExpression" }],
301
+ "description": "Set the element's `grid-auto-rows` CSS property"
302
+ },
303
+ "SprinkleProp_gridColumn": {
304
+ "anyOf": [
305
+ { "const": "2" },
306
+ { "const": "4" },
307
+ { "const": "1" },
308
+ { "const": "3" },
309
+ { "$ref": "#/definitions/ProteusExpression" }
310
+ ],
311
+ "description": "Set the element's size across grid columns"
312
+ },
313
+ "SprinkleProp_gridTemplateColumns": {
314
+ "anyOf": [
315
+ { "const": "2" },
316
+ { "const": "4" },
317
+ { "const": "1" },
318
+ { "const": "3" },
319
+ { "$ref": "#/definitions/ProteusExpression" }
320
+ ],
321
+ "description": "Control number of columns in a grid layout"
322
+ },
323
+ "SprinkleProp_h": {
324
+ "anyOf": [
325
+ { "const": "auto" },
326
+ { "const": "12" },
327
+ { "const": "10" },
328
+ { "const": "16" },
329
+ { "const": "20" },
330
+ { "const": "24" },
331
+ { "const": "32" },
332
+ { "const": "40" },
333
+ { "const": "384" },
334
+ { "const": "48" },
335
+ { "const": "80" },
336
+ { "const": "xs" },
337
+ { "const": "sm" },
338
+ { "const": "md" },
339
+ { "const": "lg" },
340
+ { "const": "xl" },
341
+ { "const": "full" },
342
+ { "const": "3xl" },
343
+ { "const": "2xs" },
344
+ { "const": "0" },
345
+ { "const": "64" },
346
+ { "const": "56" },
347
+ { "const": "224" },
348
+ { "const": "1/2" },
349
+ { "const": "1/3" },
350
+ { "const": "2/3" },
351
+ { "const": "1/4" },
352
+ { "const": "3/4" },
353
+ { "const": "fit" },
354
+ { "const": "max" },
355
+ { "const": "min" },
356
+ { "$ref": "#/definitions/ProteusExpression" }
357
+ ],
358
+ "description": "Set the element's height. Only accepts predefined size tokens."
359
+ },
360
+ "SprinkleProp_justifyContent": {
361
+ "anyOf": [
362
+ { "const": "space-around" },
363
+ { "const": "space-between" },
364
+ { "const": "space-evenly" },
365
+ { "const": "stretch" },
366
+ { "const": "center" },
367
+ { "const": "end" },
368
+ { "const": "flex-end" },
369
+ { "const": "flex-start" },
370
+ { "const": "start" },
371
+ { "const": "normal" },
372
+ { "$ref": "#/definitions/ProteusExpression" }
373
+ ],
374
+ "description": "Set the element's `justify-content` CSS property"
375
+ },
376
+ "SprinkleProp_justifyItems": {
377
+ "anyOf": [
378
+ { "const": "stretch" },
379
+ { "const": "center" },
380
+ { "const": "end" },
381
+ { "const": "start" },
382
+ { "const": "normal" },
383
+ { "$ref": "#/definitions/ProteusExpression" }
384
+ ],
385
+ "description": "Set the element's `justify-items` CSS property"
386
+ },
387
+ "SprinkleProp_m": {
388
+ "anyOf": [
389
+ { "const": "auto" },
390
+ { "const": "2" },
391
+ { "const": "4" },
392
+ { "const": "6" },
393
+ { "const": "8" },
394
+ { "const": "12" },
395
+ { "const": "10" },
396
+ { "const": "16" },
397
+ { "const": "20" },
398
+ { "const": "24" },
399
+ { "const": "32" },
400
+ { "const": "40" },
401
+ { "const": "48" },
402
+ { "const": "80" },
403
+ { "const": "0" },
404
+ { "const": "64" },
405
+ { "$ref": "#/definitions/ProteusExpression" }
406
+ ],
407
+ "description": "Set the element's margin on all sides. Only accepts predefined spacing tokens."
408
+ },
409
+ "SprinkleProp_maxH": {
410
+ "anyOf": [
411
+ { "const": "xs" },
412
+ { "const": "sm" },
413
+ { "const": "md" },
414
+ { "const": "lg" },
415
+ { "const": "full" },
416
+ { "$ref": "#/definitions/ProteusExpression" }
417
+ ],
418
+ "description": "Set the element's maximum height. Only accepts predefined maxSize tokens."
419
+ },
420
+ "SprinkleProp_maxW": {
421
+ "anyOf": [
422
+ { "const": "xs" },
423
+ { "const": "sm" },
424
+ { "const": "md" },
425
+ { "const": "lg" },
426
+ { "const": "full" },
427
+ { "$ref": "#/definitions/ProteusExpression" }
428
+ ],
429
+ "description": "Set the element's maximum width. Only accepts predefined maxSize tokens."
430
+ },
431
+ "SprinkleProp_mb": {
432
+ "anyOf": [
433
+ { "const": "auto" },
434
+ { "const": "2" },
435
+ { "const": "4" },
436
+ { "const": "6" },
437
+ { "const": "8" },
438
+ { "const": "12" },
439
+ { "const": "10" },
440
+ { "const": "16" },
441
+ { "const": "20" },
442
+ { "const": "24" },
443
+ { "const": "32" },
444
+ { "const": "40" },
445
+ { "const": "48" },
446
+ { "const": "80" },
447
+ { "const": "0" },
448
+ { "const": "64" },
449
+ { "$ref": "#/definitions/ProteusExpression" }
450
+ ],
451
+ "description": "Set the element's bottom margin. Only accepts predefined spacing tokens."
452
+ },
453
+ "SprinkleProp_ml": {
454
+ "anyOf": [
455
+ { "const": "auto" },
456
+ { "const": "2" },
457
+ { "const": "4" },
458
+ { "const": "6" },
459
+ { "const": "8" },
460
+ { "const": "12" },
461
+ { "const": "10" },
462
+ { "const": "16" },
463
+ { "const": "20" },
464
+ { "const": "24" },
465
+ { "const": "32" },
466
+ { "const": "40" },
467
+ { "const": "48" },
468
+ { "const": "80" },
469
+ { "const": "0" },
470
+ { "const": "64" },
471
+ { "$ref": "#/definitions/ProteusExpression" }
472
+ ],
473
+ "description": "Set the element's left margin. Only accepts predefined spacing tokens."
474
+ },
475
+ "SprinkleProp_mr": {
476
+ "anyOf": [
477
+ { "const": "auto" },
478
+ { "const": "2" },
479
+ { "const": "4" },
480
+ { "const": "6" },
481
+ { "const": "8" },
482
+ { "const": "12" },
483
+ { "const": "10" },
484
+ { "const": "16" },
485
+ { "const": "20" },
486
+ { "const": "24" },
487
+ { "const": "32" },
488
+ { "const": "40" },
489
+ { "const": "48" },
490
+ { "const": "80" },
491
+ { "const": "0" },
492
+ { "const": "64" },
493
+ { "$ref": "#/definitions/ProteusExpression" }
494
+ ],
495
+ "description": "Set the element's right margin. Only accepts predefined spacing tokens."
496
+ },
497
+ "SprinkleProp_mt": {
498
+ "anyOf": [
499
+ { "const": "auto" },
500
+ { "const": "2" },
501
+ { "const": "4" },
502
+ { "const": "6" },
503
+ { "const": "8" },
504
+ { "const": "12" },
505
+ { "const": "10" },
506
+ { "const": "16" },
507
+ { "const": "20" },
508
+ { "const": "24" },
509
+ { "const": "32" },
510
+ { "const": "40" },
511
+ { "const": "48" },
512
+ { "const": "80" },
513
+ { "const": "0" },
514
+ { "const": "64" },
515
+ { "$ref": "#/definitions/ProteusExpression" }
516
+ ],
517
+ "description": "Set the element's top margin. Only accepts predefined spacing tokens."
518
+ },
519
+ "SprinkleProp_mx": {
520
+ "anyOf": [
521
+ { "const": "auto" },
522
+ { "const": "2" },
523
+ { "const": "4" },
524
+ { "const": "6" },
525
+ { "const": "8" },
526
+ { "const": "12" },
527
+ { "const": "10" },
528
+ { "const": "16" },
529
+ { "const": "20" },
530
+ { "const": "24" },
531
+ { "const": "32" },
532
+ { "const": "40" },
533
+ { "const": "48" },
534
+ { "const": "80" },
535
+ { "const": "0" },
536
+ { "const": "64" },
537
+ { "$ref": "#/definitions/ProteusExpression" }
538
+ ],
539
+ "description": "Set the element's left and right margin. Only accepts predefined spacing tokens."
540
+ },
541
+ "SprinkleProp_my": {
542
+ "anyOf": [
543
+ { "const": "auto" },
544
+ { "const": "2" },
545
+ { "const": "4" },
546
+ { "const": "6" },
547
+ { "const": "8" },
548
+ { "const": "12" },
549
+ { "const": "10" },
550
+ { "const": "16" },
551
+ { "const": "20" },
552
+ { "const": "24" },
553
+ { "const": "32" },
554
+ { "const": "40" },
555
+ { "const": "48" },
556
+ { "const": "80" },
557
+ { "const": "0" },
558
+ { "const": "64" },
559
+ { "$ref": "#/definitions/ProteusExpression" }
560
+ ],
561
+ "description": "Set the element's top and bottom margin. Only accepts predefined spacing tokens."
562
+ },
563
+ "SprinkleProp_objectFit": {
564
+ "anyOf": [
565
+ { "const": "contain" },
566
+ { "const": "fill" },
567
+ { "const": "none" },
568
+ { "const": "cover" },
569
+ { "$ref": "#/definitions/ProteusExpression" }
570
+ ],
571
+ "description": "Set the element's `object-fit` CSS property"
572
+ },
573
+ "SprinkleProp_overflow": {
574
+ "anyOf": [
575
+ { "const": "auto" },
576
+ { "const": "hidden" },
577
+ { "const": "visible" },
578
+ { "$ref": "#/definitions/ProteusExpression" }
579
+ ],
580
+ "description": "Set the element's `overflow` CSS property"
581
+ },
582
+ "SprinkleProp_overflowX": {
583
+ "anyOf": [
584
+ { "const": "auto" },
585
+ { "const": "hidden" },
586
+ { "const": "visible" },
587
+ { "$ref": "#/definitions/ProteusExpression" }
588
+ ],
589
+ "description": "Set the element's `overflow-x` CSS property"
590
+ },
591
+ "SprinkleProp_overflowY": {
592
+ "anyOf": [
593
+ { "const": "auto" },
594
+ { "const": "hidden" },
595
+ { "const": "visible" },
596
+ { "$ref": "#/definitions/ProteusExpression" }
597
+ ],
598
+ "description": "Set the element's `overflow-y` CSS property"
599
+ },
600
+ "SprinkleProp_p": {
601
+ "anyOf": [
602
+ { "const": "2" },
603
+ { "const": "4" },
604
+ { "const": "6" },
605
+ { "const": "8" },
606
+ { "const": "12" },
607
+ { "const": "10" },
608
+ { "const": "16" },
609
+ { "const": "20" },
610
+ { "const": "24" },
611
+ { "const": "32" },
612
+ { "const": "40" },
613
+ { "const": "48" },
614
+ { "const": "80" },
615
+ { "const": "0" },
616
+ { "const": "64" },
617
+ { "$ref": "#/definitions/ProteusExpression" }
618
+ ],
619
+ "description": "Set the element's padding on all sides. Only accepts predefined spacing tokens."
620
+ },
621
+ "SprinkleProp_pb": {
622
+ "anyOf": [
623
+ { "const": "2" },
624
+ { "const": "4" },
625
+ { "const": "6" },
626
+ { "const": "8" },
627
+ { "const": "12" },
628
+ { "const": "10" },
629
+ { "const": "16" },
630
+ { "const": "20" },
631
+ { "const": "24" },
632
+ { "const": "32" },
633
+ { "const": "40" },
634
+ { "const": "48" },
635
+ { "const": "80" },
636
+ { "const": "0" },
637
+ { "const": "64" },
638
+ { "$ref": "#/definitions/ProteusExpression" }
639
+ ],
640
+ "description": "Set the element's bottom padding. Only accepts predefined spacing tokens."
641
+ },
642
+ "SprinkleProp_pl": {
643
+ "anyOf": [
644
+ { "const": "2" },
645
+ { "const": "4" },
646
+ { "const": "6" },
647
+ { "const": "8" },
648
+ { "const": "12" },
649
+ { "const": "10" },
650
+ { "const": "16" },
651
+ { "const": "20" },
652
+ { "const": "24" },
653
+ { "const": "32" },
654
+ { "const": "40" },
655
+ { "const": "48" },
656
+ { "const": "80" },
657
+ { "const": "0" },
658
+ { "const": "64" },
659
+ { "$ref": "#/definitions/ProteusExpression" }
660
+ ],
661
+ "description": "Set the element's left padding. Only accepts predefined spacing tokens."
662
+ },
663
+ "SprinkleProp_placeItems": {
664
+ "anyOf": [{ "const": "center" }, { "$ref": "#/definitions/ProteusExpression" }],
665
+ "description": "Set the element's `place-items` CSS property"
666
+ },
667
+ "SprinkleProp_pointerEvents": {
668
+ "anyOf": [
669
+ { "const": "none" },
670
+ { "const": "auto" },
671
+ { "$ref": "#/definitions/ProteusExpression" }
672
+ ],
673
+ "description": "Set the element's `pointer-events` CSS property"
674
+ },
675
+ "SprinkleProp_pr": {
676
+ "anyOf": [
677
+ { "const": "2" },
678
+ { "const": "4" },
679
+ { "const": "6" },
680
+ { "const": "8" },
681
+ { "const": "12" },
682
+ { "const": "10" },
683
+ { "const": "16" },
684
+ { "const": "20" },
685
+ { "const": "24" },
686
+ { "const": "32" },
687
+ { "const": "40" },
688
+ { "const": "48" },
689
+ { "const": "80" },
690
+ { "const": "0" },
691
+ { "const": "64" },
692
+ { "$ref": "#/definitions/ProteusExpression" }
693
+ ],
694
+ "description": "Set the element's right padding. Only accepts predefined spacing tokens."
695
+ },
696
+ "SprinkleProp_pt": {
697
+ "anyOf": [
698
+ { "const": "2" },
699
+ { "const": "4" },
700
+ { "const": "6" },
701
+ { "const": "8" },
702
+ { "const": "12" },
703
+ { "const": "10" },
704
+ { "const": "16" },
705
+ { "const": "20" },
706
+ { "const": "24" },
707
+ { "const": "32" },
708
+ { "const": "40" },
709
+ { "const": "48" },
710
+ { "const": "80" },
711
+ { "const": "0" },
712
+ { "const": "64" },
713
+ { "$ref": "#/definitions/ProteusExpression" }
714
+ ],
715
+ "description": "Set the element's top padding. Only accepts predefined spacing tokens."
716
+ },
717
+ "SprinkleProp_px": {
718
+ "anyOf": [
719
+ { "const": "2" },
720
+ { "const": "4" },
721
+ { "const": "6" },
722
+ { "const": "8" },
723
+ { "const": "12" },
724
+ { "const": "10" },
725
+ { "const": "16" },
726
+ { "const": "20" },
727
+ { "const": "24" },
728
+ { "const": "32" },
729
+ { "const": "40" },
730
+ { "const": "48" },
731
+ { "const": "80" },
732
+ { "const": "0" },
733
+ { "const": "64" },
734
+ { "$ref": "#/definitions/ProteusExpression" }
735
+ ],
736
+ "description": "Set the element's left and right padding. Only accepts predefined spacing tokens."
737
+ },
738
+ "SprinkleProp_py": {
739
+ "anyOf": [
740
+ { "const": "2" },
741
+ { "const": "4" },
742
+ { "const": "6" },
743
+ { "const": "8" },
744
+ { "const": "12" },
745
+ { "const": "10" },
746
+ { "const": "16" },
747
+ { "const": "20" },
748
+ { "const": "24" },
749
+ { "const": "32" },
750
+ { "const": "40" },
751
+ { "const": "48" },
752
+ { "const": "80" },
753
+ { "const": "0" },
754
+ { "const": "64" },
755
+ { "$ref": "#/definitions/ProteusExpression" }
756
+ ],
757
+ "description": "Set the element's top and bottom padding. Only accepts predefined spacing tokens."
758
+ },
759
+ "SprinkleProp_rounded": {
760
+ "anyOf": [
761
+ { "const": "inherit" },
762
+ { "const": "none" },
763
+ { "const": "xs" },
764
+ { "const": "sm" },
765
+ { "const": "md" },
766
+ { "const": "lg" },
767
+ { "const": "xl" },
768
+ { "const": "full" },
769
+ { "$ref": "#/definitions/ProteusExpression" }
770
+ ],
771
+ "description": "Set the element's border radius. Only accepts predefined borderRadius tokens."
772
+ },
773
+ "SprinkleProp_shadow": {
774
+ "anyOf": [
775
+ { "const": "none" },
776
+ { "const": "sm" },
777
+ { "const": "md" },
778
+ { "const": "lg" },
779
+ { "const": "xl" },
780
+ { "$ref": "#/definitions/ProteusExpression" }
781
+ ],
782
+ "description": "Set the element's box shadow. Only accepts predefined boxShadow tokens."
783
+ },
784
+ "SprinkleProp_size": {
785
+ "anyOf": [
786
+ { "const": "auto" },
787
+ { "const": "12" },
788
+ { "const": "10" },
789
+ { "const": "16" },
790
+ { "const": "20" },
791
+ { "const": "24" },
792
+ { "const": "32" },
793
+ { "const": "40" },
794
+ { "const": "384" },
795
+ { "const": "48" },
796
+ { "const": "80" },
797
+ { "const": "xs" },
798
+ { "const": "sm" },
799
+ { "const": "md" },
800
+ { "const": "lg" },
801
+ { "const": "xl" },
802
+ { "const": "full" },
803
+ { "const": "3xl" },
804
+ { "const": "2xs" },
805
+ { "const": "0" },
806
+ { "const": "64" },
807
+ { "const": "56" },
808
+ { "const": "224" },
809
+ { "const": "1/2" },
810
+ { "const": "1/3" },
811
+ { "const": "2/3" },
812
+ { "const": "1/4" },
813
+ { "const": "3/4" },
814
+ { "const": "fit" },
815
+ { "const": "max" },
816
+ { "const": "min" },
817
+ { "$ref": "#/definitions/ProteusExpression" }
818
+ ],
819
+ "description": "Set the element's width and height. Only accepts predefined size tokens.\n\nWhen width and height are the same, use `size` instead of setting both\n`w` and `h` separately (e.g., prefer `size=\"24\"` over `w=\"24\" h=\"24\"`)."
820
+ },
821
+ "SprinkleProp_textAlign": {
822
+ "anyOf": [
823
+ { "const": "center" },
824
+ { "const": "end" },
825
+ { "const": "start" },
826
+ { "const": "justify" },
827
+ { "$ref": "#/definitions/ProteusExpression" }
828
+ ],
829
+ "description": "Set the element's `text-align` CSS property"
830
+ },
831
+ "SprinkleProp_textTransform": {
832
+ "anyOf": [
833
+ { "const": "none" },
834
+ { "const": "capitalize" },
835
+ { "const": "uppercase" },
836
+ { "$ref": "#/definitions/ProteusExpression" }
837
+ ],
838
+ "description": "Set the element's `text-transform` CSS property"
839
+ },
840
+ "SprinkleProp_transition": {
841
+ "anyOf": [
842
+ { "const": "opacity" },
843
+ { "const": "transform" },
844
+ { "const": "all" },
845
+ { "const": "none" },
846
+ { "const": "colors" },
847
+ { "$ref": "#/definitions/ProteusExpression" }
848
+ ],
849
+ "description": "Control which CSS properties should transition"
850
+ },
851
+ "SprinkleProp_w": {
852
+ "anyOf": [
853
+ { "const": "auto" },
854
+ { "const": "12" },
855
+ { "const": "10" },
856
+ { "const": "16" },
857
+ { "const": "20" },
858
+ { "const": "24" },
859
+ { "const": "32" },
860
+ { "const": "40" },
861
+ { "const": "384" },
862
+ { "const": "48" },
863
+ { "const": "80" },
864
+ { "const": "xs" },
865
+ { "const": "sm" },
866
+ { "const": "md" },
867
+ { "const": "lg" },
868
+ { "const": "xl" },
869
+ { "const": "full" },
870
+ { "const": "3xl" },
871
+ { "const": "2xs" },
872
+ { "const": "0" },
873
+ { "const": "64" },
874
+ { "const": "56" },
875
+ { "const": "224" },
876
+ { "const": "1/2" },
877
+ { "const": "1/3" },
878
+ { "const": "2/3" },
879
+ { "const": "1/4" },
880
+ { "const": "3/4" },
881
+ { "const": "fit" },
882
+ { "const": "max" },
883
+ { "const": "min" },
884
+ { "$ref": "#/definitions/ProteusExpression" }
885
+ ],
886
+ "description": "Set the element's width. Only accepts predefined size tokens."
887
+ },
888
+ "SprinkleProp_whiteSpace": {
889
+ "anyOf": [{ "const": "nowrap" }, { "$ref": "#/definitions/ProteusExpression" }],
890
+ "description": "Set the element's `white-space` CSS property"
891
+ },
892
+ "SprinkleProp_z": {
893
+ "anyOf": [
894
+ { "const": "auto" },
895
+ { "const": "tooltip" },
896
+ { "const": "10" },
897
+ { "const": "20" },
898
+ { "const": "popover" },
899
+ { "const": "toast" },
900
+ { "const": "0" },
901
+ { "const": "30" },
902
+ { "$ref": "#/definitions/ProteusExpression" }
903
+ ],
904
+ "description": "Set the element's stacking order. Only accepts predefined zIndex tokens (e.g., popover, toast, tooltip) or numeric values (0, 10, 20, 30, auto)."
905
+ },
906
+ "ProteusCondition": {
907
+ "anyOf": [
908
+ {
909
+ "properties": { "!=": {
910
+ "description": "Inequality comparison",
911
+ "items": { "anyOf": [
912
+ { "type": "string" },
913
+ { "type": "number" },
914
+ { "type": "boolean" },
915
+ { "type": "null" },
916
+ { "$ref": "#/definitions/ProteusLength" },
917
+ { "$ref": "#/definitions/ProteusMapIndex" },
918
+ { "$ref": "#/definitions/ProteusValue" }
919
+ ] },
920
+ "maxFiles": 2,
921
+ "minFiles": 2,
922
+ "type": "array"
923
+ } },
924
+ "required": ["!="],
925
+ "type": "object"
926
+ },
927
+ {
928
+ "properties": { "<": {
929
+ "description": "Less than comparison",
930
+ "items": { "anyOf": [
931
+ { "type": "string" },
932
+ { "type": "number" },
933
+ { "type": "boolean" },
934
+ { "type": "null" },
935
+ { "$ref": "#/definitions/ProteusLength" },
936
+ { "$ref": "#/definitions/ProteusMapIndex" },
937
+ { "$ref": "#/definitions/ProteusValue" }
938
+ ] },
939
+ "maxFiles": 2,
940
+ "minFiles": 2,
941
+ "type": "array"
942
+ } },
943
+ "required": ["<"],
944
+ "type": "object"
945
+ },
946
+ {
947
+ "properties": { "<=": {
948
+ "description": "Less than or equal comparison",
949
+ "items": { "anyOf": [
950
+ { "type": "string" },
951
+ { "type": "number" },
952
+ { "type": "boolean" },
953
+ { "type": "null" },
954
+ { "$ref": "#/definitions/ProteusLength" },
955
+ { "$ref": "#/definitions/ProteusMapIndex" },
956
+ { "$ref": "#/definitions/ProteusValue" }
957
+ ] },
958
+ "maxFiles": 2,
959
+ "minFiles": 2,
960
+ "type": "array"
961
+ } },
962
+ "required": ["<="],
963
+ "type": "object"
964
+ },
965
+ {
966
+ "properties": { "==": {
967
+ "description": "Equality comparison",
968
+ "items": { "anyOf": [
969
+ { "type": "string" },
970
+ { "type": "number" },
971
+ { "type": "boolean" },
972
+ { "type": "null" },
973
+ { "$ref": "#/definitions/ProteusLength" },
974
+ { "$ref": "#/definitions/ProteusMapIndex" },
975
+ { "$ref": "#/definitions/ProteusValue" }
976
+ ] },
977
+ "maxFiles": 2,
978
+ "minFiles": 2,
979
+ "type": "array"
980
+ } },
981
+ "required": ["=="],
982
+ "type": "object"
983
+ },
984
+ {
985
+ "properties": { ">": {
986
+ "description": "Greater than comparison",
987
+ "items": { "anyOf": [
988
+ { "type": "string" },
989
+ { "type": "number" },
990
+ { "type": "boolean" },
991
+ { "type": "null" },
992
+ { "$ref": "#/definitions/ProteusLength" },
993
+ { "$ref": "#/definitions/ProteusMapIndex" },
994
+ { "$ref": "#/definitions/ProteusValue" }
995
+ ] },
996
+ "maxFiles": 2,
997
+ "minFiles": 2,
998
+ "type": "array"
999
+ } },
1000
+ "required": [">"],
1001
+ "type": "object"
1002
+ },
1003
+ {
1004
+ "properties": { ">=": {
1005
+ "description": "Greater than or equal comparison",
1006
+ "items": { "anyOf": [
1007
+ { "type": "string" },
1008
+ { "type": "number" },
1009
+ { "type": "boolean" },
1010
+ { "type": "null" },
1011
+ { "$ref": "#/definitions/ProteusLength" },
1012
+ { "$ref": "#/definitions/ProteusMapIndex" },
1013
+ { "$ref": "#/definitions/ProteusValue" }
1014
+ ] },
1015
+ "maxFiles": 2,
1016
+ "minFiles": 2,
1017
+ "type": "array"
1018
+ } },
1019
+ "required": [">="],
1020
+ "type": "object"
1021
+ },
1022
+ {
1023
+ "properties": { "!!": {
1024
+ "anyOf": [
1025
+ { "type": "string" },
1026
+ { "type": "number" },
1027
+ { "type": "boolean" },
1028
+ { "type": "null" },
1029
+ { "$ref": "#/definitions/ProteusLength" },
1030
+ { "$ref": "#/definitions/ProteusMapIndex" },
1031
+ { "$ref": "#/definitions/ProteusValue" }
1032
+ ],
1033
+ "description": "Truthy check - returns true if value is truthy (not null, undefined, false, 0, or empty string)"
1034
+ } },
1035
+ "required": ["!!"],
1036
+ "type": "object"
1037
+ },
1038
+ {
1039
+ "properties": { "!": {
1040
+ "anyOf": [
1041
+ { "type": "string" },
1042
+ { "type": "number" },
1043
+ { "type": "boolean" },
1044
+ { "type": "null" },
1045
+ { "$ref": "#/definitions/ProteusLength" },
1046
+ { "$ref": "#/definitions/ProteusMapIndex" },
1047
+ { "$ref": "#/definitions/ProteusValue" }
1048
+ ],
1049
+ "description": "Falsy check - returns true if value is falsy (null, undefined, false, 0, or empty string)"
1050
+ } },
1051
+ "required": ["!"],
1052
+ "type": "object"
1053
+ },
1054
+ {
1055
+ "properties": { "and": {
1056
+ "description": "Logical AND - returns true if all conditions are true",
1057
+ "items": { "$ref": "#/definitions/ProteusCondition" },
1058
+ "minFiles": 1,
1059
+ "type": "array"
1060
+ } },
1061
+ "required": ["and"],
1062
+ "type": "object"
1063
+ },
1064
+ {
1065
+ "properties": { "or": {
1066
+ "description": "Logical OR - returns true if any condition is true",
1067
+ "items": { "anyOf": [{ "$ref": "#/definitions/ProteusCondition" }] },
1068
+ "minFiles": 1,
1069
+ "type": "array"
1070
+ } },
1071
+ "required": ["or"],
1072
+ "type": "object"
1073
+ }
1074
+ ],
1075
+ "description": "Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting."
1076
+ },
1077
+ "ProteusDocument": {
1078
+ "examples": [
1079
+ {
1080
+ "$type": "Document",
1081
+ "appName": "Opal",
1082
+ "body": [],
1083
+ "title": "New Document"
1084
+ },
1085
+ {
1086
+ "$type": "Document",
1087
+ "actions": [{
1088
+ "$type": "Action",
1089
+ "appearance": "primary",
1090
+ "children": "Submit",
1091
+ "onClick": { "interaction": "submit_feedback" }
1092
+ }],
1093
+ "appName": "Opal",
1094
+ "body": [{
1095
+ "$type": "Group",
1096
+ "children": [{
1097
+ "$type": "Field",
1098
+ "children": {
1099
+ "$type": "Input",
1100
+ "name": "name",
1101
+ "placeholder": "Enter your name"
1102
+ },
1103
+ "label": "Your Name"
1104
+ }, {
1105
+ "$type": "Field",
1106
+ "children": {
1107
+ "$type": "Textarea",
1108
+ "name": "feedback",
1109
+ "placeholder": "What's on your mind?",
1110
+ "rows": 4
1111
+ },
1112
+ "label": "Feedback"
1113
+ }],
1114
+ "flexDirection": "column",
1115
+ "gap": "16"
1116
+ }],
1117
+ "subtitle": "We'd love to hear from you",
1118
+ "title": "Submit Feedback"
1119
+ },
1120
+ {
1121
+ "$type": "Document",
1122
+ "actions": [{
1123
+ "$type": "Action",
1124
+ "appearance": "primary",
1125
+ "children": "Create Test Plan",
1126
+ "onClick": { "interaction": "create_test_plan" }
1127
+ }],
1128
+ "appName": "Opal",
1129
+ "body": [{
1130
+ "$type": "Group",
1131
+ "children": [
1132
+ {
1133
+ "$type": "Heading",
1134
+ "children": "1. Configure your test",
1135
+ "fontSize": "md",
1136
+ "fontWeight": "600",
1137
+ "level": "2"
1138
+ },
1139
+ {
1140
+ "$type": "Field",
1141
+ "children": {
1142
+ "$type": "Select",
1143
+ "children": [{
1144
+ "$type": "SelectTrigger",
1145
+ "w": "full"
1146
+ }, { "$type": "SelectContent" }],
1147
+ "name": "target_by",
1148
+ "options": [{
1149
+ "label": "URL",
1150
+ "value": "url"
1151
+ }, {
1152
+ "label": "CSS Selector",
1153
+ "value": "selector"
1154
+ }]
1155
+ },
1156
+ "label": "Target by"
1157
+ },
1158
+ {
1159
+ "$type": "Show",
1160
+ "children": {
1161
+ "$type": "Field",
1162
+ "children": {
1163
+ "$type": "Input",
1164
+ "name": "url",
1165
+ "placeholder": "https://example.com"
1166
+ },
1167
+ "label": "URL"
1168
+ },
1169
+ "when": { "==": [{
1170
+ "$type": "Value",
1171
+ "path": "/target_by"
1172
+ }, "url"] }
1173
+ },
1174
+ {
1175
+ "$type": "Show",
1176
+ "children": {
1177
+ "$type": "Field",
1178
+ "children": {
1179
+ "$type": "Input",
1180
+ "name": "selector",
1181
+ "placeholder": "#main-content"
1182
+ },
1183
+ "label": "CSS Selector"
1184
+ },
1185
+ "when": { "==": [{
1186
+ "$type": "Value",
1187
+ "path": "/target_by"
1188
+ }, "selector"] }
1189
+ }
1190
+ ],
1191
+ "flexDirection": "column",
1192
+ "gap": "16"
1193
+ }],
1194
+ "title": "Create Test Plan"
1195
+ }
1196
+ ],
1197
+ "properties": {
1198
+ "$type": { "const": "Document" },
1199
+ "actions": {
1200
+ "$ref": "#/definitions/ProteusNode",
1201
+ "description": "Actions available for this document"
1202
+ },
1203
+ "appearance": {
1204
+ "anyOf": [
1205
+ { "const": "default" },
1206
+ { "const": "inline" },
1207
+ { "$ref": "#/definitions/ProteusExpression" }
1208
+ ],
1209
+ "description": "Visual treatment of the document shell. 'default' renders the document as a card with background, border, and padding. 'inline' strips the surrounding chrome so the document blends into its host container."
1210
+ },
1211
+ "appIcon": {
1212
+ "description": "URL or data URI for the application icon (e.g., 'https://example.com/icon.png' or 'data:image/svg+xml,...'). Rendered as an <img> element.",
1213
+ "type": "string"
1214
+ },
1215
+ "appName": {
1216
+ "description": "The official name of the application",
1217
+ "type": "string"
1218
+ },
1219
+ "blocking": {
1220
+ "description": "If true, hides chat prompt and forces user interaction with document. User can press ESC or close to abandon.",
1221
+ "type": "boolean"
1222
+ },
1223
+ "body": {
1224
+ "$ref": "#/definitions/ProteusNode",
1225
+ "description": "The main content of the document."
1226
+ },
1227
+ "compact": {
1228
+ "description": "If true, constrains the body to a max height and makes it scrollable when content overflows.",
1229
+ "type": "boolean"
1230
+ },
1231
+ "data": {
1232
+ "additionalProperties": {},
1233
+ "description": "Initial data for the document. Not used by the renderer directly — intended for the outer component managing state to use as the starting data.",
1234
+ "type": "object"
1235
+ },
1236
+ "meta": { "description": "Additional metadata not directly consumed by Proteus. Use this to pass along any extra data." },
1237
+ "subtitle": {
1238
+ "$ref": "#/definitions/ProteusNode",
1239
+ "description": "A brief description or tagline that provides additional context about the Proteus document's purpose."
1240
+ },
1241
+ "title": {
1242
+ "$ref": "#/definitions/ProteusNode",
1243
+ "description": "A concise heading that encapsulates the essence of the Proteus document's content or intended action."
1244
+ },
1245
+ "titleIcon": {
1246
+ "description": "URL or data URI for an icon displayed alongside the title in a block-style header.",
1247
+ "type": "string"
1248
+ }
1249
+ },
1250
+ "required": ["$type", "body"],
1251
+ "type": "object"
1252
+ },
1253
+ "ProteusElement": {
1254
+ "anyOf": [
1255
+ { "$ref": "#/definitions/ProteusAction" },
1256
+ { "$ref": "#/definitions/ProteusAlert" },
1257
+ { "$ref": "#/definitions/ProteusAvatar" },
1258
+ { "$ref": "#/definitions/ProteusAvatarGroup" },
1259
+ { "$ref": "#/definitions/ProteusBadge" },
1260
+ { "$ref": "#/definitions/ProteusBridge" },
1261
+ { "$ref": "#/definitions/ProteusButton" },
1262
+ { "$ref": "#/definitions/ProteusCard" },
1263
+ { "$ref": "#/definitions/ProteusCardHeader" },
1264
+ { "$ref": "#/definitions/ProteusCardLink" },
1265
+ { "$ref": "#/definitions/ProteusChart" },
1266
+ { "$ref": "#/definitions/ProteusConcat" },
1267
+ { "$ref": "#/definitions/ProteusDataTable" },
1268
+ { "$ref": "#/definitions/ProteusDateInput" },
1269
+ { "$ref": "#/definitions/ProteusDisclosure" },
1270
+ { "$ref": "#/definitions/ProteusDisclosureContent" },
1271
+ { "$ref": "#/definitions/ProteusDisclosureTrigger" },
1272
+ { "$ref": "#/definitions/ProteusFederated" },
1273
+ { "$ref": "#/definitions/ProteusField" },
1274
+ { "$ref": "#/definitions/ProteusFileIcon" },
1275
+ { "$ref": "#/definitions/ProteusFileUpload" },
1276
+ { "$ref": "#/definitions/ProteusGroup" },
1277
+ { "$ref": "#/definitions/ProteusHeading" },
1278
+ { "$ref": "#/definitions/ProteusIcon" },
1279
+ { "$ref": "#/definitions/ProteusImage" },
1280
+ { "$ref": "#/definitions/ProteusImageCarousel" },
1281
+ { "$ref": "#/definitions/ProteusInput" },
1282
+ { "$ref": "#/definitions/ProteusLength" },
1283
+ { "$ref": "#/definitions/ProteusLink" },
1284
+ { "$ref": "#/definitions/ProteusMap" },
1285
+ { "$ref": "#/definitions/ProteusMapIndex" },
1286
+ { "$ref": "#/definitions/ProteusPillMenu" },
1287
+ { "$ref": "#/definitions/ProteusQuestion" },
1288
+ { "$ref": "#/definitions/ProteusRange" },
1289
+ { "$ref": "#/definitions/ProteusSelect" },
1290
+ { "$ref": "#/definitions/ProteusSelectContent" },
1291
+ { "$ref": "#/definitions/ProteusSelectTrigger" },
1292
+ { "$ref": "#/definitions/ProteusSeparator" },
1293
+ { "$ref": "#/definitions/ProteusShow" },
1294
+ { "$ref": "#/definitions/ProteusSwitch" },
1295
+ { "$ref": "#/definitions/ProteusText" },
1296
+ { "$ref": "#/definitions/ProteusTextarea" },
1297
+ { "$ref": "#/definitions/ProteusTime" },
1298
+ { "$ref": "#/definitions/ProteusValue" }
1299
+ ],
1300
+ "description": "A single Proteus UI component element identified by its $type discriminator"
1301
+ },
1302
+ "ProteusEventHandler": {
1303
+ "anyOf": [
1304
+ {
1305
+ "description": "Server-side interaction call",
1306
+ "properties": {
1307
+ "interaction": {
1308
+ "description": "Name of registered interaction to call",
1309
+ "type": "string"
1310
+ },
1311
+ "params": {
1312
+ "additionalProperties": {},
1313
+ "description": "Parameters to pass to the interaction handler. Values can be ProteusExpressions that resolve at call time.",
1314
+ "type": "object"
1315
+ }
1316
+ },
1317
+ "required": ["interaction"],
1318
+ "type": "object"
1319
+ },
1320
+ {
1321
+ "description": "Client-side message action",
1322
+ "properties": { "message": {
1323
+ "anyOf": [
1324
+ { "$ref": "#/definitions/ProteusExpression" },
1325
+ { "type": "string" },
1326
+ { "$ref": "#/definitions/ProteusStructuredMessage" }
1327
+ ],
1328
+ "description": "Message to send to LLM via sendNewMessage(). Can be a string, a Value reference, a Map expression, or a structured payload with parts and files."
1329
+ } },
1330
+ "required": ["message"],
1331
+ "type": "object"
1332
+ },
1333
+ {
1334
+ "description": "Client-side component action - for downloading a URL",
1335
+ "properties": {
1336
+ "action": {
1337
+ "const": "download",
1338
+ "description": "The action type",
1339
+ "type": "string"
1340
+ },
1341
+ "url": {
1342
+ "anyOf": [{ "$ref": "#/definitions/ProteusExpression" }, { "type": "string" }],
1343
+ "description": "URL to download, or a Map expression resolving to multiple URLs"
1344
+ }
1345
+ },
1346
+ "required": ["action", "url"],
1347
+ "type": "object"
1348
+ },
1349
+ {
1350
+ "description": "Client-side component action - for opening a link in a new tab",
1351
+ "properties": {
1352
+ "action": {
1353
+ "const": "openLink",
1354
+ "description": "The action type",
1355
+ "type": "string"
1356
+ },
1357
+ "url": {
1358
+ "anyOf": [{ "$ref": "#/definitions/ProteusExpression" }, { "type": "string" }],
1359
+ "description": "URL to open in a new tab"
1360
+ }
1361
+ },
1362
+ "required": ["action", "url"],
1363
+ "type": "object"
1364
+ },
1365
+ {
1366
+ "description": "Client-side component action - for previewing a file inline",
1367
+ "properties": {
1368
+ "action": {
1369
+ "const": "preview",
1370
+ "description": "The action type",
1371
+ "type": "string"
1372
+ },
1373
+ "file": {
1374
+ "anyOf": [
1375
+ { "$ref": "#/definitions/ProteusExpression" },
1376
+ { "type": "object" },
1377
+ { "type": "string" }
1378
+ ],
1379
+ "description": "The file object to preview"
1380
+ }
1381
+ },
1382
+ "required": ["action", "file"],
1383
+ "type": "object"
1384
+ },
1385
+ {
1386
+ "description": "Runtime data operation - appends `value` to the array at `path` in form data. Path resolves like `Value` (absolute `/x`, relative to current parentPath, or `''` for parentPath itself).",
1387
+ "properties": {
1388
+ "action": {
1389
+ "const": "pushValue",
1390
+ "description": "The action type",
1391
+ "type": "string"
1392
+ },
1393
+ "path": {
1394
+ "description": "JSON pointer path to the array to push onto",
1395
+ "type": "string"
1396
+ },
1397
+ "value": { "description": "The value to append; primitives or objects" }
1398
+ },
1399
+ "required": ["action", "path"],
1400
+ "type": "object"
1401
+ },
1402
+ {
1403
+ "description": "Runtime data operation - removes the array element at `path` in form data. `path` must resolve to an array index (e.g. `/urls/2`, or `''` inside a `Map` row).",
1404
+ "properties": {
1405
+ "action": {
1406
+ "const": "removeValue",
1407
+ "description": "The action type",
1408
+ "type": "string"
1409
+ },
1410
+ "path": {
1411
+ "description": "JSON pointer path to the array element to remove",
1412
+ "type": "string"
1413
+ }
1414
+ },
1415
+ "required": ["action", "path"],
1416
+ "type": "object"
1417
+ }
1418
+ ],
1419
+ "description": "Handler for user interactions - a server-side interaction call, client-side message, or client-side component action"
1420
+ },
1421
+ "ProteusExpression": {
1422
+ "anyOf": [
1423
+ { "$ref": "#/definitions/ProteusLength" },
1424
+ { "$ref": "#/definitions/ProteusMap" },
1425
+ { "$ref": "#/definitions/ProteusMapIndex" },
1426
+ { "$ref": "#/definitions/ProteusShow" },
1427
+ { "$ref": "#/definitions/ProteusValue" }
1428
+ ],
1429
+ "description": "A dynamic Proteus expression that resolves to a value at render time."
1430
+ },
1431
+ "ProteusNode": {
1432
+ "anyOf": [
1433
+ {
1434
+ "items": { "anyOf": [
1435
+ { "type": "string" },
1436
+ { "type": "number" },
1437
+ { "type": "boolean" },
1438
+ { "type": "null" },
1439
+ { "$ref": "#/definitions/ProteusElement" }
1440
+ ] },
1441
+ "type": "array"
1442
+ },
1443
+ { "type": "string" },
1444
+ { "type": "number" },
1445
+ { "type": "boolean" },
1446
+ { "type": "null" },
1447
+ { "$ref": "#/definitions/ProteusElement" }
1448
+ ],
1449
+ "description": "A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)"
1450
+ },
1451
+ "ProteusStructuredMessage": {
1452
+ "description": "Structured message payload that lets file metadata travel as a typed list alongside the text parts, instead of being joined into the text.",
1453
+ "properties": {
1454
+ "files": {
1455
+ "anyOf": [{
1456
+ "items": {
1457
+ "properties": {
1458
+ "link": { "type": "string" },
1459
+ "name": { "type": "string" }
1460
+ },
1461
+ "required": ["name", "link"],
1462
+ "type": "object"
1463
+ },
1464
+ "type": "array"
1465
+ }, { "$ref": "#/definitions/ProteusExpression" }],
1466
+ "description": "List of uploaded file metadata objects (typically the host's onUpload return value). Hosts may attach additional fields beyond `name` and `link`."
1467
+ },
1468
+ "parts": {
1469
+ "items": {
1470
+ "properties": {
1471
+ "content": { "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }] },
1472
+ "type": { "const": "text" }
1473
+ },
1474
+ "required": ["type", "content"],
1475
+ "type": "object"
1476
+ },
1477
+ "type": "array"
1478
+ }
1479
+ },
1480
+ "required": ["parts"],
1481
+ "type": "object"
1482
+ },
1483
+ "ProteusZip": {
1484
+ "description": "Zips multiple parallel arrays into an array of objects. Each key in 'sources' becomes a property in the resulting row objects.",
1485
+ "examples": [{
1486
+ "$type": "Zip",
1487
+ "sources": {
1488
+ "date": {
1489
+ "$type": "Value",
1490
+ "path": "/upserts/0/i"
1491
+ },
1492
+ "measure0": {
1493
+ "$type": "Value",
1494
+ "path": "/upserts/1/i"
1495
+ }
1496
+ }
1497
+ }],
1498
+ "properties": {
1499
+ "$type": { "const": "Zip" },
1500
+ "sources": {
1501
+ "description": "Map of output property names to array sources. Each source should resolve to an array of the same length.",
1502
+ "patternProperties": { ".*": { "anyOf": [{ "$ref": "#/definitions/ProteusExpression" }, {
1503
+ "items": {},
1504
+ "type": "array"
1505
+ }] } },
1506
+ "type": "object"
1507
+ }
1508
+ },
1509
+ "required": ["$type", "sources"],
1510
+ "type": "object"
1511
+ },
1512
+ "ProteusAction": {
1513
+ "examples": [{
1514
+ "$type": "Action",
1515
+ "appearance": "primary",
1516
+ "children": "Action"
1517
+ }],
1518
+ "properties": {
1519
+ "$type": { "const": "Action" },
1520
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
1521
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
1522
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
1523
+ "appearance": {
1524
+ "anyOf": [
1525
+ { "const": "default" },
1526
+ { "const": "danger" },
1527
+ { "const": "primary" },
1528
+ { "const": "subtle" },
1529
+ { "const": "danger-outline" },
1530
+ { "const": "default-opal" },
1531
+ { "const": "inverse" },
1532
+ { "const": "primary-opal" },
1533
+ { "$ref": "#/definitions/ProteusExpression" }
1534
+ ],
1535
+ "description": "Control the appearance by selecting between the different button types."
1536
+ },
1537
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
1538
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
1539
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
1540
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
1541
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
1542
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
1543
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
1544
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
1545
+ "children": { "$ref": "#/definitions/ProteusNode" },
1546
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
1547
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
1548
+ "disabled": {
1549
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
1550
+ "description": "Whether the button is disabled."
1551
+ },
1552
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
1553
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
1554
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
1555
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
1556
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
1557
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
1558
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
1559
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
1560
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
1561
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
1562
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
1563
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
1564
+ "icon": {
1565
+ "$ref": "#/definitions/ProteusNode",
1566
+ "description": "Display an icon before or after the button content or omit `children` to only show the icon."
1567
+ },
1568
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
1569
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
1570
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
1571
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
1572
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
1573
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
1574
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
1575
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
1576
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
1577
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
1578
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
1579
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
1580
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
1581
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
1582
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
1583
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
1584
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
1585
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
1586
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
1587
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
1588
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
1589
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
1590
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
1591
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
1592
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
1593
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
1594
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
1595
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
1596
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
1597
+ "type": {
1598
+ "anyOf": [
1599
+ { "const": "button" },
1600
+ { "const": "reset" },
1601
+ { "const": "submit" },
1602
+ { "$ref": "#/definitions/ProteusExpression" }
1603
+ ],
1604
+ "description": "The default behavior of the button."
1605
+ },
1606
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
1607
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
1608
+ "z": { "$ref": "#/definitions/SprinkleProp_z" },
1609
+ "aria-label": {
1610
+ "description": "Accessible label for screen readers. Required when the button renders an icon with no text children.",
1611
+ "type": "string"
1612
+ },
1613
+ "onClick": {
1614
+ "$ref": "#/definitions/ProteusEventHandler",
1615
+ "description": "Action triggered when button is clicked"
1616
+ }
1617
+ },
1618
+ "required": ["$type"],
1619
+ "type": "object"
1620
+ },
1621
+ "ProteusAlert": {
1622
+ "examples": [{
1623
+ "$type": "Alert",
1624
+ "children": "This is an alert",
1625
+ "intent": "information"
1626
+ }],
1627
+ "properties": {
1628
+ "$type": { "const": "Alert" },
1629
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
1630
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
1631
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
1632
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
1633
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
1634
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
1635
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
1636
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
1637
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
1638
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
1639
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
1640
+ "children": { "$ref": "#/definitions/ProteusNode" },
1641
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
1642
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
1643
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
1644
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
1645
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
1646
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
1647
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
1648
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
1649
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
1650
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
1651
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
1652
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
1653
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
1654
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
1655
+ "intent": {
1656
+ "anyOf": [
1657
+ { "const": "information" },
1658
+ { "const": "success" },
1659
+ { "const": "warning" },
1660
+ { "const": "danger" },
1661
+ { "const": "neutral" },
1662
+ { "const": "opal" },
1663
+ { "$ref": "#/definitions/ProteusExpression" }
1664
+ ],
1665
+ "description": "Control the appearance by selecting between the different alert types."
1666
+ },
1667
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
1668
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
1669
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
1670
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
1671
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
1672
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
1673
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
1674
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
1675
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
1676
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
1677
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
1678
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
1679
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
1680
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
1681
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
1682
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
1683
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
1684
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
1685
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
1686
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
1687
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
1688
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
1689
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
1690
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
1691
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
1692
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
1693
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
1694
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
1695
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
1696
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
1697
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
1698
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
1699
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
1700
+ },
1701
+ "required": ["$type"],
1702
+ "type": "object"
1703
+ },
1704
+ "ProteusAvatar": {
1705
+ "properties": {
1706
+ "$type": { "const": "Avatar" },
1707
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
1708
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
1709
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
1710
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
1711
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
1712
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
1713
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
1714
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
1715
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
1716
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
1717
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
1718
+ "children": { "$ref": "#/definitions/ProteusNode" },
1719
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
1720
+ "colorScheme": {
1721
+ "anyOf": [
1722
+ { "const": "purple" },
1723
+ { "const": "neutral" },
1724
+ { "$ref": "#/definitions/ProteusExpression" }
1725
+ ],
1726
+ "description": "Control the avatar fallback background and text colors."
1727
+ },
1728
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
1729
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
1730
+ "fallback": {
1731
+ "anyOf": [
1732
+ { "const": "opal" },
1733
+ { "const": "team" },
1734
+ { "const": "user" },
1735
+ { "$ref": "#/definitions/ProteusExpression" }
1736
+ ],
1737
+ "description": "The fallback icon to display when no name or image is given."
1738
+ },
1739
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
1740
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
1741
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
1742
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
1743
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
1744
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
1745
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
1746
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
1747
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
1748
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
1749
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
1750
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
1751
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
1752
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
1753
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
1754
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
1755
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
1756
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
1757
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
1758
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
1759
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
1760
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
1761
+ "name": {
1762
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
1763
+ "description": "Use name to generate initials to show inside the avatar."
1764
+ },
1765
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
1766
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
1767
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
1768
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
1769
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
1770
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
1771
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
1772
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
1773
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
1774
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
1775
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
1776
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
1777
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
1778
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
1779
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
1780
+ "size": {
1781
+ "anyOf": [
1782
+ { "const": "xs" },
1783
+ { "const": "sm" },
1784
+ { "const": "md" },
1785
+ { "const": "lg" },
1786
+ { "const": "xl" },
1787
+ { "const": "3xl" },
1788
+ { "const": "2xs" },
1789
+ { "$ref": "#/definitions/ProteusExpression" }
1790
+ ],
1791
+ "description": "Control the size of the avatar."
1792
+ },
1793
+ "src": {
1794
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
1795
+ "description": "Render the image inside the avatar."
1796
+ },
1797
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
1798
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
1799
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
1800
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
1801
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
1802
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
1803
+ },
1804
+ "required": ["$type"],
1805
+ "type": "object"
1806
+ },
1807
+ "ProteusAvatarGroup": {
1808
+ "properties": {
1809
+ "$type": { "const": "AvatarGroup" },
1810
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
1811
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
1812
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
1813
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
1814
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
1815
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
1816
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
1817
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
1818
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
1819
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
1820
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
1821
+ "children": { "$ref": "#/definitions/ProteusNode" },
1822
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
1823
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
1824
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
1825
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
1826
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
1827
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
1828
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
1829
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
1830
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
1831
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
1832
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
1833
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
1834
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
1835
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
1836
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
1837
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
1838
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
1839
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
1840
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
1841
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
1842
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
1843
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
1844
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
1845
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
1846
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
1847
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
1848
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
1849
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
1850
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
1851
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
1852
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
1853
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
1854
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
1855
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
1856
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
1857
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
1858
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
1859
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
1860
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
1861
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
1862
+ "size": {
1863
+ "anyOf": [
1864
+ { "const": "xs" },
1865
+ { "const": "sm" },
1866
+ { "const": "md" },
1867
+ { "const": "lg" },
1868
+ { "const": "xl" },
1869
+ { "const": "3xl" },
1870
+ { "const": "2xs" },
1871
+ { "$ref": "#/definitions/ProteusExpression" }
1872
+ ],
1873
+ "description": "Control the size of the avatars."
1874
+ },
1875
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
1876
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
1877
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
1878
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
1879
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
1880
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
1881
+ },
1882
+ "required": ["$type"],
1883
+ "type": "object"
1884
+ },
1885
+ "ProteusBadge": {
1886
+ "examples": [{
1887
+ "$type": "Badge",
1888
+ "children": "Badge",
1889
+ "intent": "success"
1890
+ }],
1891
+ "properties": {
1892
+ "$type": { "const": "Badge" },
1893
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
1894
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
1895
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
1896
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
1897
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
1898
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
1899
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
1900
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
1901
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
1902
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
1903
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
1904
+ "children": { "$ref": "#/definitions/ProteusNode" },
1905
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
1906
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
1907
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
1908
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
1909
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
1910
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
1911
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
1912
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
1913
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
1914
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
1915
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
1916
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
1917
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
1918
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
1919
+ "intent": {
1920
+ "anyOf": [
1921
+ { "const": "information" },
1922
+ { "const": "success" },
1923
+ { "const": "warning" },
1924
+ { "const": "danger" },
1925
+ { "const": "neutral" },
1926
+ { "const": "primary" },
1927
+ { "$ref": "#/definitions/ProteusExpression" }
1928
+ ],
1929
+ "description": "Control the appearance by selecting between the different badge types."
1930
+ },
1931
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
1932
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
1933
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
1934
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
1935
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
1936
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
1937
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
1938
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
1939
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
1940
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
1941
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
1942
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
1943
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
1944
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
1945
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
1946
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
1947
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
1948
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
1949
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
1950
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
1951
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
1952
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
1953
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
1954
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
1955
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
1956
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
1957
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
1958
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
1959
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
1960
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
1961
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
1962
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
1963
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
1964
+ },
1965
+ "required": ["$type"],
1966
+ "type": "object"
1967
+ },
1968
+ "ProteusBridge": {
1969
+ "examples": [{
1970
+ "$type": "Bridge",
1971
+ "height": 400,
1972
+ "resource": "ui://sample-widget"
1973
+ }],
1974
+ "properties": {
1975
+ "$type": { "const": "Bridge" },
1976
+ "fallback": {
1977
+ "$ref": "#/definitions/ProteusNode",
1978
+ "description": "Content rendered on platforms without iframe support (Teams, Slack, mobile). If omitted, a default 'View in Opal web' message is shown."
1979
+ },
1980
+ "height": {
1981
+ "description": "Height of the iframe in pixels",
1982
+ "type": "number"
1983
+ },
1984
+ "resource": {
1985
+ "description": "Resource URI identifying the MCP app to render (e.g., 'ui://sample-widget')",
1986
+ "type": "string"
1987
+ }
1988
+ },
1989
+ "required": ["$type", "resource"],
1990
+ "type": "object"
1991
+ },
1992
+ "ProteusButton": {
1993
+ "examples": [{
1994
+ "$type": "Button",
1995
+ "appearance": "primary",
1996
+ "children": "Action"
1997
+ }],
1998
+ "properties": {
1999
+ "$type": { "const": "Button" },
2000
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2001
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2002
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2003
+ "appearance": {
2004
+ "anyOf": [
2005
+ { "const": "default" },
2006
+ { "const": "danger" },
2007
+ { "const": "primary" },
2008
+ { "const": "subtle" },
2009
+ { "const": "danger-outline" },
2010
+ { "const": "default-opal" },
2011
+ { "const": "inverse" },
2012
+ { "const": "primary-opal" },
2013
+ { "$ref": "#/definitions/ProteusExpression" }
2014
+ ],
2015
+ "description": "Control the appearance by selecting between the different button types."
2016
+ },
2017
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2018
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2019
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2020
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2021
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2022
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2023
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2024
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2025
+ "children": { "$ref": "#/definitions/ProteusNode" },
2026
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2027
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2028
+ "disabled": {
2029
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
2030
+ "description": "Whether the button is disabled."
2031
+ },
2032
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2033
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2034
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2035
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2036
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2037
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2038
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2039
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2040
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2041
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2042
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2043
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2044
+ "icon": {
2045
+ "$ref": "#/definitions/ProteusNode",
2046
+ "description": "Display an icon before or after the button content or omit `children` to only show the icon."
2047
+ },
2048
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2049
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2050
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2051
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2052
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2053
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2054
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2055
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2056
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2057
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2058
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2059
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2060
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2061
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2062
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2063
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2064
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2065
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2066
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2067
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2068
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2069
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2070
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2071
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2072
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2073
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2074
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2075
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2076
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2077
+ "type": {
2078
+ "anyOf": [
2079
+ { "const": "button" },
2080
+ { "const": "reset" },
2081
+ { "const": "submit" },
2082
+ { "$ref": "#/definitions/ProteusExpression" }
2083
+ ],
2084
+ "description": "The default behavior of the button."
2085
+ },
2086
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2087
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2088
+ "z": { "$ref": "#/definitions/SprinkleProp_z" },
2089
+ "aria-label": {
2090
+ "description": "Accessible label for screen readers. Required when the button renders an icon with no text children.",
2091
+ "type": "string"
2092
+ },
2093
+ "onClick": {
2094
+ "$ref": "#/definitions/ProteusEventHandler",
2095
+ "description": "Action triggered when button is clicked"
2096
+ }
2097
+ },
2098
+ "required": ["$type"],
2099
+ "type": "object"
2100
+ },
2101
+ "ProteusCard": {
2102
+ "examples": [{
2103
+ "$type": "Card",
2104
+ "children": [{
2105
+ "$type": "CardHeader",
2106
+ "children": "Card title",
2107
+ "description": "Card description"
2108
+ }]
2109
+ }],
2110
+ "properties": {
2111
+ "$type": { "const": "Card" },
2112
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2113
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2114
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2115
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2116
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2117
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2118
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2119
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2120
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2121
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2122
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2123
+ "children": { "$ref": "#/definitions/ProteusNode" },
2124
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2125
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2126
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2127
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2128
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2129
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2130
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2131
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2132
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2133
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2134
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2135
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2136
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2137
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2138
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2139
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2140
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2141
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2142
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2143
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2144
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2145
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2146
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2147
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2148
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2149
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2150
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2151
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2152
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2153
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2154
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2155
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2156
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2157
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2158
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2159
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2160
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2161
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2162
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2163
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2164
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2165
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2166
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2167
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2168
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2169
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2170
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2171
+ },
2172
+ "required": ["$type"],
2173
+ "type": "object"
2174
+ },
2175
+ "ProteusCardHeader": {
2176
+ "examples": [{
2177
+ "$type": "CardHeader",
2178
+ "children": "Header",
2179
+ "description": "Subtitle"
2180
+ }],
2181
+ "properties": {
2182
+ "$type": { "const": "CardHeader" },
2183
+ "addonAfter": {
2184
+ "$ref": "#/definitions/ProteusNode",
2185
+ "description": "Display content inside the header after `children`."
2186
+ },
2187
+ "addonBefore": {
2188
+ "$ref": "#/definitions/ProteusNode",
2189
+ "description": "Display content inside the header before `children`."
2190
+ },
2191
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2192
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2193
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2194
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2195
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2196
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2197
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2198
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2199
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2200
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2201
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2202
+ "children": { "$ref": "#/definitions/ProteusNode" },
2203
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2204
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2205
+ "description": {
2206
+ "$ref": "#/definitions/ProteusNode",
2207
+ "description": "Add secondary text after the primary title."
2208
+ },
2209
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2210
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2211
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2212
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2213
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2214
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2215
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2216
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2217
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2218
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2219
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2220
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2221
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2222
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2223
+ "lineClamp": {
2224
+ "anyOf": [
2225
+ { "const": "2" },
2226
+ { "const": "4" },
2227
+ { "const": "1" },
2228
+ { "const": "3" },
2229
+ { "$ref": "#/definitions/ProteusExpression" }
2230
+ ],
2231
+ "description": "Truncate the text at specific number of lines."
2232
+ },
2233
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2234
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2235
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2236
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2237
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2238
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2239
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2240
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2241
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2242
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2243
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2244
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2245
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2246
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2247
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2248
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2249
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2250
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2251
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2252
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2253
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2254
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2255
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2256
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2257
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2258
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2259
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2260
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2261
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2262
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2263
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2264
+ },
2265
+ "required": ["$type"],
2266
+ "type": "object"
2267
+ },
2268
+ "ProteusCardLink": {
2269
+ "examples": [{
2270
+ "$type": "CardLink",
2271
+ "children": "Link text",
2272
+ "href": "https://example.com"
2273
+ }],
2274
+ "properties": {
2275
+ "$type": { "const": "CardLink" },
2276
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2277
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2278
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2279
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2280
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2281
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2282
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2283
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2284
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2285
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2286
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2287
+ "children": { "$ref": "#/definitions/ProteusNode" },
2288
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2289
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2290
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2291
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2292
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2293
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2294
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2295
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2296
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2297
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2298
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2299
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2300
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2301
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2302
+ "href": {
2303
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
2304
+ "description": "The link href."
2305
+ },
2306
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2307
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2308
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2309
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2310
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2311
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2312
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2313
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2314
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2315
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2316
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2317
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2318
+ "onClick": {
2319
+ "$ref": "#/definitions/ProteusEventHandler",
2320
+ "description": "Action triggered when link is clicked"
2321
+ },
2322
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2323
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2324
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2325
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2326
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2327
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2328
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2329
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2330
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2331
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2332
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2333
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2334
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2335
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2336
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2337
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2338
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2339
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2340
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2341
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2342
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2343
+ },
2344
+ "required": ["$type"],
2345
+ "type": "object"
2346
+ },
2347
+ "ProteusChart": {
2348
+ "examples": [{
2349
+ "$type": "Chart",
2350
+ "data": [{
2351
+ "name": "Jan",
2352
+ "revenue": 4e3
2353
+ }, {
2354
+ "name": "Feb",
2355
+ "revenue": 3e3
2356
+ }],
2357
+ "series": [{
2358
+ "dataKey": "revenue",
2359
+ "name": "Revenue"
2360
+ }],
2361
+ "type": "bar",
2362
+ "xAxisKey": "name"
2363
+ }],
2364
+ "properties": {
2365
+ "$type": { "const": "Chart" },
2366
+ "data": {
2367
+ "anyOf": [
2368
+ {
2369
+ "description": "Inline data records array",
2370
+ "items": { "type": "object" },
2371
+ "type": "array"
2372
+ },
2373
+ { "$ref": "#/definitions/ProteusExpression" },
2374
+ { "$ref": "#/definitions/ProteusZip" }
2375
+ ],
2376
+ "description": "Chart data records, either inline, a ProteusExpression, or a ProteusZip transformation"
2377
+ },
2378
+ "layout": {
2379
+ "anyOf": [{ "const": "horizontal" }, { "const": "vertical" }],
2380
+ "description": "Chart layout direction"
2381
+ },
2382
+ "series": { "anyOf": [{
2383
+ "description": "Data series configuration",
2384
+ "items": {
2385
+ "properties": {
2386
+ "dataKey": {
2387
+ "description": "Key in data records for this series",
2388
+ "type": "string"
2389
+ },
2390
+ "name": {
2391
+ "description": "Display name for legend",
2392
+ "type": "string"
2393
+ }
2394
+ },
2395
+ "required": ["dataKey"],
2396
+ "type": "object"
2397
+ },
2398
+ "type": "array"
2399
+ }, { "$ref": "#/definitions/ProteusExpression" }] },
2400
+ "type": {
2401
+ "anyOf": [{ "const": "bar" }, { "const": "line" }],
2402
+ "description": "Chart type"
2403
+ },
2404
+ "xAxisKey": {
2405
+ "description": "Key in data records for x-axis labels",
2406
+ "type": "string"
2407
+ }
2408
+ },
2409
+ "required": ["$type"],
2410
+ "type": "object"
2411
+ },
2412
+ "ProteusConcat": {
2413
+ "properties": {
2414
+ "$type": { "const": "Concat" },
2415
+ "children": {
2416
+ "description": "Array of values to concatenate into a single string. Each item is resolved and joined together.",
2417
+ "items": { "anyOf": [{ "$ref": "#/definitions/ProteusNode" }, { "type": "string" }] },
2418
+ "type": "array"
2419
+ }
2420
+ },
2421
+ "required": ["$type"],
2422
+ "type": "object"
2423
+ },
2424
+ "ProteusDataTable": {
2425
+ "examples": [{
2426
+ "$type": "DataTable",
2427
+ "columns": [{
2428
+ "accessorKey": "name",
2429
+ "header": "Name"
2430
+ }],
2431
+ "data": [{ "name": "Alice" }]
2432
+ }],
2433
+ "properties": {
2434
+ "$type": { "const": "DataTable" },
2435
+ "columns": { "anyOf": [{
2436
+ "description": "Column definitions",
2437
+ "items": {
2438
+ "properties": {
2439
+ "accessorKey": {
2440
+ "description": "Key in data objects",
2441
+ "type": "string"
2442
+ },
2443
+ "format": {
2444
+ "anyOf": [{
2445
+ "description": "Formatter name",
2446
+ "type": "string"
2447
+ }, {
2448
+ "description": "Formatter with options",
2449
+ "properties": {
2450
+ "options": { "type": "object" },
2451
+ "type": { "type": "string" }
2452
+ },
2453
+ "required": ["type"],
2454
+ "type": "object"
2455
+ }],
2456
+ "description": "Format to apply to cell values (e.g. 'Number', 'DateTime')"
2457
+ },
2458
+ "header": {
2459
+ "description": "Column header text",
2460
+ "type": "string"
2461
+ },
2462
+ "size": {
2463
+ "description": "Column size",
2464
+ "type": "number"
2465
+ }
2466
+ },
2467
+ "required": ["accessorKey", "header"],
2468
+ "type": "object"
2469
+ },
2470
+ "type": "array"
2471
+ }, { "$ref": "#/definitions/ProteusExpression" }] },
2472
+ "data": { "anyOf": [
2473
+ {
2474
+ "description": "Inline data array",
2475
+ "items": { "type": "object" },
2476
+ "type": "array"
2477
+ },
2478
+ { "$ref": "#/definitions/ProteusExpression" },
2479
+ { "$ref": "#/definitions/ProteusZip" }
2480
+ ] }
2481
+ },
2482
+ "required": ["$type"],
2483
+ "type": "object"
2484
+ },
2485
+ "ProteusDateInput": {
2486
+ "examples": [{
2487
+ "$type": "DateInput",
2488
+ "name": "date_field",
2489
+ "type": "date"
2490
+ }],
2491
+ "properties": {
2492
+ "$type": { "const": "DateInput" },
2493
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2494
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2495
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2496
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2497
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2498
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2499
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2500
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2501
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2502
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2503
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2504
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2505
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2506
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2507
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2508
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2509
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2510
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2511
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2512
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2513
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2514
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2515
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2516
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2517
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2518
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2519
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2520
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2521
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2522
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2523
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2524
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2525
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2526
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2527
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2528
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2529
+ "name": {
2530
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
2531
+ "description": "The name of the form control element."
2532
+ },
2533
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2534
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2535
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2536
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2537
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2538
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2539
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2540
+ "placeholder": {
2541
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
2542
+ "description": "The placeholder date and time to use when no value has yet been selected.\n\nThe value format must an Instant, PlainDate, PlainDateTime, or PlainTime.\nThe default date and time to use in the calendar picker when no value has\nbeen selected.\n\n**NOTE:** This is NOT a placeholder hint text for the input field. Native\ndate inputs do not support placeholder text. The value format must be an\nInstant, PlainDate, PlainDateTime, or PlainTime (e.g., \"2024-01-01\",\n\"2024-01-01T12:00\", \"12:00\").\n@example // Set default time to noon when picking dates\n<DateInput placeholder=\"12:00\" />\n\n// Set default date to a specific date\n<DateInput placeholder=\"2024-01-01\" />"
2543
+ },
2544
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2545
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2546
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2547
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2548
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2549
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2550
+ "required": {
2551
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
2552
+ "description": "Whether selecting this input is required."
2553
+ },
2554
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2555
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2556
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2557
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2558
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2559
+ "type": {
2560
+ "anyOf": [
2561
+ { "const": "date" },
2562
+ { "const": "datetime-local" },
2563
+ { "$ref": "#/definitions/ProteusExpression" }
2564
+ ],
2565
+ "description": "Control whether the input allows only date or both date and time."
2566
+ },
2567
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2568
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2569
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2570
+ },
2571
+ "required": ["$type"],
2572
+ "type": "object"
2573
+ },
2574
+ "ProteusDisclosure": {
2575
+ "examples": [{
2576
+ "$type": "Disclosure",
2577
+ "children": [{
2578
+ "$type": "DisclosureTrigger",
2579
+ "children": "Show details"
2580
+ }, {
2581
+ "$type": "DisclosureContent",
2582
+ "children": "Hidden content"
2583
+ }]
2584
+ }],
2585
+ "properties": {
2586
+ "$type": { "const": "Disclosure" },
2587
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2588
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2589
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2590
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2591
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2592
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2593
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2594
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2595
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2596
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2597
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2598
+ "children": { "$ref": "#/definitions/ProteusNode" },
2599
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2600
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2601
+ "defaultOpen": {
2602
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
2603
+ "description": "The initial open state in uncontrolled mode."
2604
+ },
2605
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2606
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2607
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2608
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2609
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2610
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2611
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2612
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2613
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2614
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2615
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2616
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2617
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2618
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2619
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2620
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2621
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2622
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2623
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2624
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2625
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2626
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2627
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2628
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2629
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2630
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2631
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2632
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2633
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2634
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2635
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2636
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2637
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2638
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2639
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2640
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2641
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2642
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2643
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2644
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2645
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2646
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2647
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2648
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2649
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2650
+ },
2651
+ "required": ["$type"],
2652
+ "type": "object"
2653
+ },
2654
+ "ProteusDisclosureContent": {
2655
+ "properties": {
2656
+ "$type": { "const": "DisclosureContent" },
2657
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2658
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2659
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2660
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2661
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2662
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2663
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2664
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2665
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2666
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2667
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2668
+ "children": { "$ref": "#/definitions/ProteusNode" },
2669
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2670
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2671
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2672
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2673
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2674
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2675
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2676
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2677
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2678
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2679
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2680
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2681
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2682
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2683
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2684
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2685
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2686
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2687
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2688
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2689
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2690
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2691
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2692
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2693
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2694
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2695
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2696
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2697
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2698
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2699
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2700
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2701
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2702
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2703
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2704
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2705
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2706
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2707
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2708
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2709
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2710
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2711
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2712
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2713
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2714
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2715
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2716
+ },
2717
+ "required": ["$type"],
2718
+ "type": "object"
2719
+ },
2720
+ "ProteusDisclosureTrigger": {
2721
+ "properties": {
2722
+ "$type": { "const": "DisclosureTrigger" },
2723
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2724
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2725
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2726
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2727
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2728
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2729
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2730
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2731
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2732
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2733
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2734
+ "chevronPosition": {
2735
+ "anyOf": [
2736
+ { "const": "end" },
2737
+ { "const": "start" },
2738
+ { "$ref": "#/definitions/ProteusExpression" }
2739
+ ],
2740
+ "description": "Control which side to place the chevron."
2741
+ },
2742
+ "children": { "$ref": "#/definitions/ProteusNode" },
2743
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2744
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2745
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2746
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2747
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2748
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2749
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2750
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2751
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2752
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2753
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2754
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2755
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2756
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2757
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2758
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2759
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2760
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2761
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2762
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2763
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2764
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2765
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2766
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2767
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2768
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2769
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2770
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2771
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2772
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2773
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2774
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2775
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2776
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2777
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2778
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2779
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2780
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2781
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2782
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2783
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2784
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2785
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2786
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2787
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2788
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2789
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2790
+ },
2791
+ "required": ["$type"],
2792
+ "type": "object"
2793
+ },
2794
+ "ProteusFederated": {
2795
+ "examples": [{
2796
+ "$type": "Federated",
2797
+ "entry": "https://widgets.example.com/remoteEntry.js"
2798
+ }],
2799
+ "properties": {
2800
+ "$type": { "const": "Federated" },
2801
+ "entry": {
2802
+ "description": "URL to the remote application's remoteEntry.js or mf-manifest.json",
2803
+ "type": "string"
2804
+ },
2805
+ "exposeKey": {
2806
+ "default": ".",
2807
+ "description": "The key from the remote's ModuleFederationPlugin exposes config (e.g. './App'). Defaults to '.' (root export)",
2808
+ "type": "string"
2809
+ },
2810
+ "fallback": {
2811
+ "$ref": "#/definitions/ProteusNode",
2812
+ "description": "Content rendered when the federated component fails to load"
2813
+ }
2814
+ },
2815
+ "required": ["$type", "entry"],
2816
+ "type": "object"
2817
+ },
2818
+ "ProteusField": {
2819
+ "examples": [{
2820
+ "$type": "Field",
2821
+ "children": {
2822
+ "$type": "Input",
2823
+ "name": "field_name"
2824
+ },
2825
+ "label": "Field Label"
2826
+ }],
2827
+ "properties": {
2828
+ "$type": { "const": "Field" },
2829
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2830
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2831
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2832
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2833
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2834
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2835
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2836
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2837
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2838
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2839
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2840
+ "children": { "$ref": "#/definitions/ProteusNode" },
2841
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2842
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2843
+ "description": {
2844
+ "$ref": "#/definitions/ProteusNode",
2845
+ "description": "Provide description and help text for the field."
2846
+ },
2847
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2848
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2849
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2850
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2851
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2852
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2853
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2854
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2855
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2856
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2857
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2858
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2859
+ "info": {
2860
+ "$ref": "#/definitions/ProteusNode",
2861
+ "description": "Display a help icon with additional context for the input."
2862
+ },
2863
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2864
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2865
+ "label": {
2866
+ "$ref": "#/definitions/ProteusNode",
2867
+ "description": "The label of the field."
2868
+ },
2869
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2870
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2871
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2872
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2873
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2874
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2875
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2876
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2877
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2878
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2879
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2880
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2881
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2882
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2883
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2884
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2885
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2886
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2887
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2888
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2889
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2890
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2891
+ "required": {
2892
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
2893
+ "description": "Display an asterisk for required inputs."
2894
+ },
2895
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2896
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2897
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2898
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2899
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2900
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2901
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2902
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2903
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
2904
+ },
2905
+ "required": ["$type"],
2906
+ "type": "object"
2907
+ },
2908
+ "ProteusFileIcon": {
2909
+ "examples": [{
2910
+ "$type": "FileIcon",
2911
+ "mimeType": "application/pdf"
2912
+ }],
2913
+ "properties": {
2914
+ "$type": { "const": "FileIcon" },
2915
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
2916
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
2917
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
2918
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
2919
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
2920
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
2921
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
2922
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
2923
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
2924
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
2925
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
2926
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
2927
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
2928
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
2929
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
2930
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
2931
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
2932
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
2933
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
2934
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
2935
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
2936
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
2937
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
2938
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
2939
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
2940
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
2941
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
2942
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
2943
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
2944
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
2945
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
2946
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
2947
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
2948
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
2949
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
2950
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
2951
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
2952
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
2953
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
2954
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
2955
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
2956
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
2957
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
2958
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
2959
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
2960
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
2961
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
2962
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
2963
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
2964
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
2965
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
2966
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
2967
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
2968
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
2969
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
2970
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
2971
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
2972
+ "z": { "$ref": "#/definitions/SprinkleProp_z" },
2973
+ "mimeType": {
2974
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
2975
+ "description": "MIME type of the file to determine which icon to display"
2976
+ }
2977
+ },
2978
+ "required": ["$type"],
2979
+ "type": "object"
2980
+ },
2981
+ "ProteusFileUpload": {
2982
+ "examples": [{
2983
+ "$type": "FileUpload",
2984
+ "name": "value"
2985
+ }],
2986
+ "properties": {
2987
+ "$type": { "const": "FileUpload" },
2988
+ "accept": {
2989
+ "description": "File types to accept; array of MIME types or extensions.",
2990
+ "items": { "type": "string" },
2991
+ "type": "array"
2992
+ },
2993
+ "maxFiles": {
2994
+ "anyOf": [{ "type": "number" }, { "$ref": "#/definitions/ProteusExpression" }],
2995
+ "description": "Maximum number of files allowed. When set to 1 the field is in single-file mode; any other value (or omitted) allows multiple uploads."
2996
+ },
2997
+ "minFiles": {
2998
+ "anyOf": [{ "type": "number" }, { "$ref": "#/definitions/ProteusExpression" }],
2999
+ "description": "Minimum number of files required."
3000
+ },
3001
+ "name": {
3002
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
3003
+ "description": "The name of the form control element. The resolved metadata array is written at parentPath/name in form data."
3004
+ }
3005
+ },
3006
+ "required": ["$type"],
3007
+ "type": "object"
3008
+ },
3009
+ "ProteusGroup": {
3010
+ "examples": [{
3011
+ "$type": "Group",
3012
+ "children": [],
3013
+ "flexDirection": "column",
3014
+ "gap": "16"
3015
+ }],
3016
+ "properties": {
3017
+ "$type": { "const": "Group" },
3018
+ "alignItems": {
3019
+ "anyOf": [
3020
+ { "const": "stretch" },
3021
+ { "const": "center" },
3022
+ { "const": "end" },
3023
+ { "const": "start" },
3024
+ { "const": "normal" },
3025
+ { "$ref": "#/definitions/ProteusExpression" }
3026
+ ],
3027
+ "description": "Set the element's `align-items` CSS property. Defaults to `center` when\n`flexDirection='row'`, and `stretch` when `flexDirection='column'`."
3028
+ },
3029
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3030
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3031
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3032
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3033
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3034
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3035
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3036
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3037
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3038
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3039
+ "children": { "$ref": "#/definitions/ProteusNode" },
3040
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3041
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3042
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3043
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3044
+ "flexDirection": {
3045
+ "anyOf": [
3046
+ { "const": "column" },
3047
+ { "const": "column-reverse" },
3048
+ { "const": "row" },
3049
+ { "const": "row-reverse" },
3050
+ { "$ref": "#/definitions/ProteusExpression" }
3051
+ ],
3052
+ "description": "Set the element's `flex-direction` CSS property.\n\nDefault: 'row' (CSS standard)"
3053
+ },
3054
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3055
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3056
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3057
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3058
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3059
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3060
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3061
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3062
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3063
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3064
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3065
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3066
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3067
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3068
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3069
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3070
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3071
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3072
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3073
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3074
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3075
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3076
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3077
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3078
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3079
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3080
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3081
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3082
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3083
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3084
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3085
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3086
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3087
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3088
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3089
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
3090
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3091
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3092
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3093
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3094
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3095
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3096
+ },
3097
+ "required": ["$type"],
3098
+ "type": "object"
3099
+ },
3100
+ "ProteusHeading": {
3101
+ "examples": [{
3102
+ "$type": "Heading",
3103
+ "children": "New heading",
3104
+ "level": "2"
3105
+ }],
3106
+ "properties": {
3107
+ "$type": { "const": "Heading" },
3108
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3109
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3110
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3111
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3112
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3113
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3114
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3115
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3116
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3117
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3118
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3119
+ "children": { "$ref": "#/definitions/ProteusNode" },
3120
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3121
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3122
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3123
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3124
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3125
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3126
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3127
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3128
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3129
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3130
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3131
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3132
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3133
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3134
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3135
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3136
+ "level": {
3137
+ "anyOf": [
3138
+ { "const": "2" },
3139
+ { "const": "4" },
3140
+ { "const": "1" },
3141
+ { "const": "3" },
3142
+ { "$ref": "#/definitions/ProteusExpression" }
3143
+ ],
3144
+ "description": "Heading level (1-4) that controls both the semantic HTML tag and font size.\n- `level=\"1\"`: renders `<h1>` with `fontSize=\"4xl\"` (default)\n- `level=\"2\"`: renders `<h2>` with `fontSize=\"3xl\"`\n- `level=\"3\"`: renders `<h3>` with `fontSize=\"2xl\"`\n- `level=\"4\"`: renders `<h4>` with `fontSize=\"xl\"`\n\nUse `asChild` to decouple the semantic level from visual appearance."
3145
+ },
3146
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3147
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3148
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3149
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3150
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3151
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3152
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3153
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3154
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3155
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3156
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3157
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3158
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3159
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3160
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3161
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3162
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3163
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3164
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3165
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3166
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3167
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3168
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3169
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3170
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
3171
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3172
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3173
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3174
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3175
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3176
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3177
+ },
3178
+ "required": ["$type"],
3179
+ "type": "object"
3180
+ },
3181
+ "ProteusIcon": {
3182
+ "examples": [{
3183
+ "$type": "Icon",
3184
+ "name": "Calendar"
3185
+ }],
3186
+ "properties": {
3187
+ "$type": { "const": "Icon" },
3188
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3189
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3190
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3191
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3192
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3193
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3194
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3195
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3196
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3197
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3198
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3199
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3200
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3201
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3202
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3203
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3204
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3205
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3206
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3207
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3208
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3209
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3210
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3211
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3212
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3213
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3214
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3215
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3216
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3217
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3218
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3219
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3220
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3221
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3222
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3223
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3224
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3225
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3226
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3227
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3228
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3229
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3230
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3231
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3232
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3233
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3234
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3235
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3236
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3237
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3238
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3239
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
3240
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3241
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3242
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3243
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3244
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3245
+ "z": { "$ref": "#/definitions/SprinkleProp_z" },
3246
+ "name": {
3247
+ "description": "Name of the icon to render. Must match a key in the icons map passed to ProteusDocumentRenderer.",
3248
+ "type": "string"
3249
+ }
3250
+ },
3251
+ "required": ["$type", "name"],
3252
+ "type": "object"
3253
+ },
3254
+ "ProteusImage": {
3255
+ "examples": [{
3256
+ "$type": "Image",
3257
+ "alt": "Placeholder",
3258
+ "src": "https://placehold.co/600x400"
3259
+ }],
3260
+ "properties": {
3261
+ "$type": { "const": "Image" },
3262
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3263
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3264
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3265
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3266
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3267
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3268
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3269
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3270
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3271
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3272
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3273
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3274
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3275
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3276
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3277
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3278
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3279
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3280
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3281
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3282
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3283
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3284
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3285
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3286
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3287
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3288
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3289
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3290
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3291
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3292
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3293
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3294
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3295
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3296
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3297
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3298
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3299
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3300
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3301
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3302
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3303
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3304
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3305
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3306
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3307
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3308
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3309
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3310
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3311
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3312
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3313
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
3314
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3315
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3316
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3317
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3318
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3319
+ "z": { "$ref": "#/definitions/SprinkleProp_z" },
3320
+ "alt": {
3321
+ "anyOf": [{ "$ref": "#/definitions/ProteusExpression" }, { "type": "string" }],
3322
+ "description": "Alternative text for the image"
3323
+ },
3324
+ "src": {
3325
+ "anyOf": [{ "$ref": "#/definitions/ProteusExpression" }, { "type": "string" }],
3326
+ "description": "The image source URL"
3327
+ }
3328
+ },
3329
+ "required": ["$type"],
3330
+ "type": "object"
3331
+ },
3332
+ "ProteusImageCarousel": {
3333
+ "examples": [{
3334
+ "$type": "ImageCarousel",
3335
+ "images": [{
3336
+ "alt": "Image 1",
3337
+ "src": "https://placehold.co/600x400"
3338
+ }, {
3339
+ "alt": "Image 2",
3340
+ "src": "https://placehold.co/600x400"
3341
+ }]
3342
+ }],
3343
+ "properties": {
3344
+ "$type": { "const": "ImageCarousel" },
3345
+ "images": {
3346
+ "anyOf": [{
3347
+ "description": "Inline array of image objects",
3348
+ "items": {
3349
+ "properties": {
3350
+ "alt": {
3351
+ "description": "Alternative text for the image",
3352
+ "type": "string"
3353
+ },
3354
+ "src": {
3355
+ "description": "The image source URL",
3356
+ "type": "string"
3357
+ },
3358
+ "thumb": {
3359
+ "description": "The URL to the image thumbnail. Falls back to src if not provided.",
3360
+ "type": "string"
3361
+ }
3362
+ },
3363
+ "required": ["src"],
3364
+ "type": "object"
3365
+ },
3366
+ "type": "array"
3367
+ }, { "$ref": "#/definitions/ProteusExpression" }],
3368
+ "description": "Array of image data to display in the carousel"
3369
+ },
3370
+ "title": {
3371
+ "anyOf": [{ "$ref": "#/definitions/ProteusExpression" }, { "type": "string" }],
3372
+ "description": "Accessible label for the carousel region."
3373
+ }
3374
+ },
3375
+ "required": ["$type", "images"],
3376
+ "type": "object"
3377
+ },
3378
+ "ProteusInput": {
3379
+ "examples": [{
3380
+ "$type": "Input",
3381
+ "name": "field_name",
3382
+ "placeholder": "Enter value"
3383
+ }],
3384
+ "properties": {
3385
+ "$type": { "const": "Input" },
3386
+ "addonAfter": {
3387
+ "$ref": "#/definitions/ProteusNode",
3388
+ "description": "Display content inside the input at the end."
3389
+ },
3390
+ "addonBefore": {
3391
+ "$ref": "#/definitions/ProteusNode",
3392
+ "description": "Display content inside the input at the start."
3393
+ },
3394
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3395
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3396
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3397
+ "appearance": {
3398
+ "anyOf": [
3399
+ { "const": "number" },
3400
+ { "const": "default" },
3401
+ { "$ref": "#/definitions/ProteusExpression" }
3402
+ ],
3403
+ "description": "Control the appearance of the input."
3404
+ },
3405
+ "autoFocus": {
3406
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
3407
+ "description": "Whether the input should be focused on mount."
3408
+ },
3409
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3410
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3411
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3412
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3413
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3414
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3415
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3416
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3417
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3418
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3419
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3420
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3421
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3422
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3423
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3424
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3425
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3426
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3427
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3428
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3429
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3430
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3431
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3432
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3433
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3434
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3435
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3436
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3437
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3438
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3439
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3440
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3441
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3442
+ "name": {
3443
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
3444
+ "description": "The name of the form control element."
3445
+ },
3446
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3447
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3448
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3449
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3450
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3451
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3452
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3453
+ "placeholder": {
3454
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
3455
+ "description": "The placeholder text to use when control has no value."
3456
+ },
3457
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3458
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3459
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3460
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3461
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3462
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3463
+ "required": {
3464
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
3465
+ "description": "Whether selecting this input is required."
3466
+ },
3467
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3468
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3469
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3470
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3471
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3472
+ "type": {
3473
+ "anyOf": [
3474
+ { "const": "number" },
3475
+ { "const": "color" },
3476
+ { "const": "button" },
3477
+ { "const": "checkbox" },
3478
+ { "const": "radio" },
3479
+ { "const": "hidden" },
3480
+ { "const": "text" },
3481
+ { "const": "reset" },
3482
+ { "const": "range" },
3483
+ { "const": "search" },
3484
+ { "const": "time" },
3485
+ { "const": "image" },
3486
+ { "const": "tel" },
3487
+ { "const": "url" },
3488
+ { "const": "email" },
3489
+ { "const": "date" },
3490
+ { "const": "submit" },
3491
+ { "const": "month" },
3492
+ { "const": "datetime-local" },
3493
+ { "const": "week" },
3494
+ { "const": "file" },
3495
+ { "const": "password" },
3496
+ { "type": "string" },
3497
+ { "$ref": "#/definitions/ProteusExpression" }
3498
+ ],
3499
+ "description": "The input type."
3500
+ },
3501
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3502
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3503
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3504
+ },
3505
+ "required": ["$type"],
3506
+ "type": "object"
3507
+ },
3508
+ "ProteusLength": {
3509
+ "examples": [{
3510
+ "$type": "Length",
3511
+ "path": "/items"
3512
+ }],
3513
+ "properties": {
3514
+ "$type": { "const": "Length" },
3515
+ "path": {
3516
+ "description": "JSON pointer path to the array whose length should be returned (e.g. '/urls'). Resolves to 0 when the value is missing or not an array.",
3517
+ "type": "string"
3518
+ }
3519
+ },
3520
+ "required": ["$type", "path"],
3521
+ "type": "object"
3522
+ },
3523
+ "ProteusLink": {
3524
+ "examples": [{
3525
+ "$type": "Link",
3526
+ "children": "Link text",
3527
+ "href": "https://example.com"
3528
+ }],
3529
+ "properties": {
3530
+ "$type": { "const": "Link" },
3531
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3532
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3533
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3534
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3535
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3536
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3537
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3538
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3539
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3540
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3541
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3542
+ "children": { "$ref": "#/definitions/ProteusNode" },
3543
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3544
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3545
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3546
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3547
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3548
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3549
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3550
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3551
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3552
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3553
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3554
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3555
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3556
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3557
+ "href": {
3558
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
3559
+ "description": "The link href."
3560
+ },
3561
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3562
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3563
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3564
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3565
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3566
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3567
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3568
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3569
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3570
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3571
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3572
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3573
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3574
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3575
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3576
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3577
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3578
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3579
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3580
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3581
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3582
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3583
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3584
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3585
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3586
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3587
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
3588
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3589
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3590
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3591
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3592
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3593
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3594
+ },
3595
+ "required": ["$type"],
3596
+ "type": "object"
3597
+ },
3598
+ "ProteusMap": {
3599
+ "examples": [{
3600
+ "$type": "Map",
3601
+ "children": {
3602
+ "$type": "Text",
3603
+ "children": "Item"
3604
+ },
3605
+ "path": "/items"
3606
+ }],
3607
+ "properties": {
3608
+ "$type": { "const": "Map" },
3609
+ "children": {
3610
+ "$ref": "#/definitions/ProteusNode",
3611
+ "description": "Template object to render for each item in the array. Value paths inside this template are relative to the current item (e.g., path='title' resolves to each item's 'title' field). Use a leading '/' to reference top-level data (e.g., path='/title' resolves to the root data's 'title')."
3612
+ },
3613
+ "flat": {
3614
+ "description": "When true, flattens the result array by one level. Useful when each mapped item resolves to an array and you want a single flat list.",
3615
+ "type": "boolean"
3616
+ },
3617
+ "path": {
3618
+ "description": "JSON pointer path to the source array in the data (e.g., '/results')",
3619
+ "type": "string"
3620
+ },
3621
+ "separator": {
3622
+ "$ref": "#/definitions/ProteusNode",
3623
+ "description": "Optional separator to render between items. Can be a string or a ProteusNode for more complex separators."
3624
+ }
3625
+ },
3626
+ "required": ["$type", "path"],
3627
+ "type": "object"
3628
+ },
3629
+ "ProteusMapIndex": {
3630
+ "examples": [{ "$type": "MapIndex" }],
3631
+ "properties": { "$type": { "const": "MapIndex" } },
3632
+ "required": ["$type"],
3633
+ "type": "object"
3634
+ },
3635
+ "ProteusPillMenu": {
3636
+ "examples": [{
3637
+ "$type": "PillMenu",
3638
+ "name": "selected_items",
3639
+ "options": [{
3640
+ "label": "Option 1",
3641
+ "value": "option1"
3642
+ }, {
3643
+ "label": "Option 2",
3644
+ "value": "option2"
3645
+ }]
3646
+ }],
3647
+ "properties": {
3648
+ "$type": { "const": "PillMenu" },
3649
+ "inputName": {
3650
+ "description": "The data binding name for the search input value. Written to data on each keystroke.",
3651
+ "type": "string"
3652
+ },
3653
+ "name": {
3654
+ "description": "The data binding name for this pill menu's selected values. Stored as a string array in the data.",
3655
+ "type": "string"
3656
+ },
3657
+ "onInputValueChange": {
3658
+ "$ref": "#/definitions/ProteusEventHandler",
3659
+ "description": "Event handler triggered when the search input value changes. Use with inputName to pass the current query via params."
3660
+ },
3661
+ "options": {
3662
+ "anyOf": [{
3663
+ "description": "Inline array of options",
3664
+ "items": {
3665
+ "properties": {
3666
+ "label": {
3667
+ "description": "Display label for the option",
3668
+ "type": "string"
3669
+ },
3670
+ "value": {
3671
+ "description": "Unique value for the option",
3672
+ "type": "string"
3673
+ }
3674
+ },
3675
+ "required": ["label", "value"],
3676
+ "type": "object"
3677
+ },
3678
+ "type": "array"
3679
+ }, { "$ref": "#/definitions/ProteusExpression" }],
3680
+ "description": "The available options to select from. Can be an inline array or a ProteusExpression."
3681
+ }
3682
+ },
3683
+ "required": ["$type"],
3684
+ "type": "object"
3685
+ },
3686
+ "ProteusQuestion": {
3687
+ "properties": {
3688
+ "$type": { "const": "Question" },
3689
+ "questions": {
3690
+ "$ref": "#/definitions/ProteusExpression",
3691
+ "description": "Array of questions data"
3692
+ }
3693
+ },
3694
+ "required": ["$type", "questions"],
3695
+ "type": "object"
3696
+ },
3697
+ "ProteusRange": {
3698
+ "examples": [{
3699
+ "$type": "Range",
3700
+ "max": 100,
3701
+ "min": 0,
3702
+ "step": 1
3703
+ }],
3704
+ "properties": {
3705
+ "$type": { "const": "Range" },
3706
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3707
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3708
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3709
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3710
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3711
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3712
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3713
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3714
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3715
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3716
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3717
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3718
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3719
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3720
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3721
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3722
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3723
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3724
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3725
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3726
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3727
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3728
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3729
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3730
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3731
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3732
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3733
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3734
+ "marks": {
3735
+ "description": "The marks to display on the range steps.",
3736
+ "items": { "anyOf": [{ "type": "number" }, {
3737
+ "properties": {
3738
+ "label": {
3739
+ "description": "The label for the mark",
3740
+ "type": "string"
3741
+ },
3742
+ "value": {
3743
+ "description": "The value for the mark",
3744
+ "type": "number"
3745
+ }
3746
+ },
3747
+ "required": ["label", "value"],
3748
+ "type": "object"
3749
+ }] },
3750
+ "type": "array"
3751
+ },
3752
+ "max": {
3753
+ "anyOf": [{ "type": "number" }, { "$ref": "#/definitions/ProteusExpression" }],
3754
+ "description": "The maximum value for the range."
3755
+ },
3756
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3757
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3758
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3759
+ "min": {
3760
+ "anyOf": [{ "type": "number" }, { "$ref": "#/definitions/ProteusExpression" }],
3761
+ "description": "The minimum value for the range."
3762
+ },
3763
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3764
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3765
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3766
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3767
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3768
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3769
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3770
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3771
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3772
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3773
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3774
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3775
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3776
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3777
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3778
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3779
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3780
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3781
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3782
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3783
+ "step": {
3784
+ "anyOf": [{ "type": "number" }, { "$ref": "#/definitions/ProteusExpression" }],
3785
+ "description": "The stepping interval for the range."
3786
+ },
3787
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3788
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3789
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3790
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3791
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3792
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3793
+ },
3794
+ "required": ["$type"],
3795
+ "type": "object"
3796
+ },
3797
+ "ProteusSelect": {
3798
+ "examples": [{
3799
+ "$type": "Select",
3800
+ "children": [{
3801
+ "$type": "SelectTrigger",
3802
+ "w": "full"
3803
+ }, { "$type": "SelectContent" }],
3804
+ "name": "select_field",
3805
+ "options": [{
3806
+ "label": "Option 1",
3807
+ "value": "option1"
3808
+ }, {
3809
+ "label": "Option 2",
3810
+ "value": "option2"
3811
+ }]
3812
+ }],
3813
+ "properties": {
3814
+ "$type": { "const": "Select" },
3815
+ "children": { "$ref": "#/definitions/ProteusNode" },
3816
+ "name": {
3817
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
3818
+ "description": "The name of the inner select element."
3819
+ },
3820
+ "options": {
3821
+ "description": "The select items/options we want to render.",
3822
+ "items": {
3823
+ "properties": {
3824
+ "label": {
3825
+ "description": "String representation of items",
3826
+ "type": "string"
3827
+ },
3828
+ "value": {
3829
+ "description": "Return a unique key for each item",
3830
+ "type": "string"
3831
+ }
3832
+ },
3833
+ "required": ["label", "value"],
3834
+ "type": "object"
3835
+ },
3836
+ "type": "array"
3837
+ },
3838
+ "required": {
3839
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
3840
+ "description": "Whether the select value is required."
3841
+ }
3842
+ },
3843
+ "required": ["$type", "options"],
3844
+ "type": "object"
3845
+ },
3846
+ "ProteusSelectContent": {
3847
+ "properties": {
3848
+ "$type": { "const": "SelectContent" },
3849
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3850
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3851
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3852
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3853
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3854
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3855
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3856
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3857
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3858
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3859
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3860
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3861
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3862
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3863
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3864
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3865
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3866
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3867
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3868
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3869
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3870
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3871
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3872
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3873
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3874
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3875
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3876
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3877
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3878
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3879
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3880
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3881
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3882
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3883
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3884
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3885
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3886
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3887
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3888
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3889
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3890
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3891
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3892
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3893
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3894
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3895
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3896
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3897
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3898
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3899
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
3900
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3901
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3902
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3903
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3904
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3905
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3906
+ },
3907
+ "required": ["$type"],
3908
+ "type": "object"
3909
+ },
3910
+ "ProteusSelectTrigger": {
3911
+ "properties": {
3912
+ "$type": { "const": "SelectTrigger" },
3913
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3914
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3915
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3916
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3917
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3918
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3919
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3920
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3921
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3922
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3923
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3924
+ "children": { "$ref": "#/definitions/ProteusNode" },
3925
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3926
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3927
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3928
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3929
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3930
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3931
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3932
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3933
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3934
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3935
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
3936
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
3937
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
3938
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
3939
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
3940
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
3941
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
3942
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
3943
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
3944
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
3945
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
3946
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
3947
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
3948
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
3949
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
3950
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
3951
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
3952
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
3953
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
3954
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
3955
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
3956
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
3957
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
3958
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
3959
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
3960
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
3961
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
3962
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
3963
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
3964
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
3965
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
3966
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
3967
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
3968
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
3969
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
3970
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
3971
+ },
3972
+ "required": ["$type"],
3973
+ "type": "object"
3974
+ },
3975
+ "ProteusSeparator": {
3976
+ "properties": {
3977
+ "$type": { "const": "Separator" },
3978
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
3979
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
3980
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
3981
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
3982
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
3983
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
3984
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
3985
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
3986
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
3987
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
3988
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
3989
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
3990
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
3991
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
3992
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
3993
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
3994
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
3995
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
3996
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
3997
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
3998
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
3999
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
4000
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
4001
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
4002
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
4003
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
4004
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
4005
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
4006
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
4007
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
4008
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
4009
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
4010
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
4011
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
4012
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
4013
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
4014
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
4015
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
4016
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
4017
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
4018
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
4019
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
4020
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
4021
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
4022
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
4023
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
4024
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
4025
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
4026
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
4027
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
4028
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
4029
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
4030
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
4031
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
4032
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
4033
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
4034
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
4035
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
4036
+ },
4037
+ "required": ["$type"],
4038
+ "type": "object"
4039
+ },
4040
+ "ProteusShow": {
4041
+ "examples": [{
4042
+ "$type": "Show",
4043
+ "children": {
4044
+ "$type": "Text",
4045
+ "children": "Shown conditionally"
4046
+ },
4047
+ "when": { "!!": {
4048
+ "$type": "Value",
4049
+ "path": "/field_name"
4050
+ } }
4051
+ }],
4052
+ "properties": {
4053
+ "$type": { "const": "Show" },
4054
+ "children": {
4055
+ "$ref": "#/definitions/ProteusNode",
4056
+ "description": "Content to show when condition is true"
4057
+ },
4058
+ "when": {
4059
+ "anyOf": [{ "$ref": "#/definitions/ProteusCondition" }, {
4060
+ "items": { "$ref": "#/definitions/ProteusCondition" },
4061
+ "type": "array"
4062
+ }],
4063
+ "description": "Single condition or array of conditions (AND logic). Each condition is an object with one operator key."
4064
+ }
4065
+ },
4066
+ "required": ["$type"],
4067
+ "type": "object"
4068
+ },
4069
+ "ProteusSwitch": {
4070
+ "examples": [{
4071
+ "$type": "Switch",
4072
+ "name": "field_name"
4073
+ }],
4074
+ "properties": {
4075
+ "$type": { "const": "Switch" },
4076
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
4077
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
4078
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
4079
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
4080
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
4081
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
4082
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
4083
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
4084
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
4085
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
4086
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
4087
+ "children": { "$ref": "#/definitions/ProteusNode" },
4088
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
4089
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
4090
+ "description": {
4091
+ "$ref": "#/definitions/ProteusNode",
4092
+ "description": "Add secondary text after the label."
4093
+ },
4094
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
4095
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
4096
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
4097
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
4098
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
4099
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
4100
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
4101
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
4102
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
4103
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
4104
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
4105
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
4106
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
4107
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
4108
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
4109
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
4110
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
4111
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
4112
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
4113
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
4114
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
4115
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
4116
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
4117
+ "name": {
4118
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
4119
+ "description": "The name of the form control element."
4120
+ },
4121
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
4122
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
4123
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
4124
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
4125
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
4126
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
4127
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
4128
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
4129
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
4130
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
4131
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
4132
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
4133
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
4134
+ "required": {
4135
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
4136
+ "description": "Whether selecting this input is required."
4137
+ },
4138
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
4139
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
4140
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
4141
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
4142
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
4143
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
4144
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
4145
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
4146
+ },
4147
+ "required": ["$type"],
4148
+ "type": "object"
4149
+ },
4150
+ "ProteusText": {
4151
+ "examples": [{
4152
+ "$type": "Text",
4153
+ "children": "New text"
4154
+ }],
4155
+ "properties": {
4156
+ "$type": { "const": "Text" },
4157
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
4158
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
4159
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
4160
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
4161
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
4162
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
4163
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
4164
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
4165
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
4166
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
4167
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
4168
+ "children": { "$ref": "#/definitions/ProteusNode" },
4169
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
4170
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
4171
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
4172
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
4173
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
4174
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
4175
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
4176
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
4177
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
4178
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
4179
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
4180
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
4181
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
4182
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
4183
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
4184
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
4185
+ "lineClamp": {
4186
+ "anyOf": [
4187
+ { "const": "2" },
4188
+ { "const": "4" },
4189
+ { "const": "1" },
4190
+ { "const": "3" },
4191
+ { "$ref": "#/definitions/ProteusExpression" }
4192
+ ],
4193
+ "description": "Truncate the text at specific number of lines."
4194
+ },
4195
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
4196
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
4197
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
4198
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
4199
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
4200
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
4201
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
4202
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
4203
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
4204
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
4205
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
4206
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
4207
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
4208
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
4209
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
4210
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
4211
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
4212
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
4213
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
4214
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
4215
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
4216
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
4217
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
4218
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
4219
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
4220
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
4221
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
4222
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
4223
+ "truncate": {
4224
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
4225
+ "description": "Whether to truncate the text and add an ellipsis at the end."
4226
+ },
4227
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
4228
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
4229
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
4230
+ },
4231
+ "required": ["$type"],
4232
+ "type": "object"
4233
+ },
4234
+ "ProteusTextarea": {
4235
+ "examples": [{
4236
+ "$type": "Textarea",
4237
+ "name": "field_name",
4238
+ "placeholder": "Enter text"
4239
+ }],
4240
+ "properties": {
4241
+ "$type": { "const": "Textarea" },
4242
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
4243
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
4244
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
4245
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
4246
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
4247
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
4248
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
4249
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
4250
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
4251
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
4252
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
4253
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
4254
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
4255
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
4256
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
4257
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
4258
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
4259
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
4260
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
4261
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
4262
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
4263
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
4264
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
4265
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
4266
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
4267
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
4268
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
4269
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
4270
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
4271
+ "maxRows": {
4272
+ "anyOf": [
4273
+ { "const": 1 },
4274
+ { "const": 2 },
4275
+ { "const": 3 },
4276
+ { "const": 4 },
4277
+ { "const": 5 },
4278
+ { "$ref": "#/definitions/ProteusExpression" }
4279
+ ],
4280
+ "description": "Limits the height of the textarea when `resize=auto` is used."
4281
+ },
4282
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
4283
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
4284
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
4285
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
4286
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
4287
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
4288
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
4289
+ "name": {
4290
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
4291
+ "description": "The name of the form control element."
4292
+ },
4293
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
4294
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
4295
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
4296
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
4297
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
4298
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
4299
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
4300
+ "placeholder": {
4301
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
4302
+ "description": "The placeholder text to use when control has no value."
4303
+ },
4304
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
4305
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
4306
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
4307
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
4308
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
4309
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
4310
+ "required": {
4311
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
4312
+ "description": "Whether selecting this input is required."
4313
+ },
4314
+ "resize": {
4315
+ "anyOf": [
4316
+ { "const": "none" },
4317
+ { "const": "auto" },
4318
+ { "const": "vertical" },
4319
+ { "$ref": "#/definitions/ProteusExpression" }
4320
+ ],
4321
+ "description": "Control whether resizing mode is manual, automatic, or disabled."
4322
+ },
4323
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
4324
+ "rows": {
4325
+ "anyOf": [{ "type": "number" }, { "$ref": "#/definitions/ProteusExpression" }],
4326
+ "description": "The number of rows to display."
4327
+ },
4328
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
4329
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
4330
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
4331
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
4332
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
4333
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
4334
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
4335
+ },
4336
+ "required": ["$type"],
4337
+ "type": "object"
4338
+ },
4339
+ "ProteusTime": {
4340
+ "examples": [{
4341
+ "$type": "Time",
4342
+ "date": "2025-01-22T14:30:00Z"
4343
+ }],
4344
+ "properties": {
4345
+ "$type": { "const": "Time" },
4346
+ "alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
4347
+ "alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
4348
+ "animation": { "$ref": "#/definitions/SprinkleProp_animation" },
4349
+ "backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
4350
+ "bg": { "$ref": "#/definitions/SprinkleProp_bg" },
4351
+ "border": { "$ref": "#/definitions/SprinkleProp_border" },
4352
+ "borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
4353
+ "borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
4354
+ "borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
4355
+ "borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
4356
+ "borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
4357
+ "color": { "$ref": "#/definitions/SprinkleProp_color" },
4358
+ "cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
4359
+ "date": {
4360
+ "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
4361
+ "description": "The date to display. Can be a `Date` object or an ISO 8601 string."
4362
+ },
4363
+ "display": { "$ref": "#/definitions/SprinkleProp_display" },
4364
+ "flex": { "$ref": "#/definitions/SprinkleProp_flex" },
4365
+ "flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
4366
+ "flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
4367
+ "fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
4368
+ "fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
4369
+ "fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
4370
+ "gap": { "$ref": "#/definitions/SprinkleProp_gap" },
4371
+ "gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
4372
+ "gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
4373
+ "gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
4374
+ "h": { "$ref": "#/definitions/SprinkleProp_h" },
4375
+ "justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
4376
+ "justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
4377
+ "m": { "$ref": "#/definitions/SprinkleProp_m" },
4378
+ "maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
4379
+ "maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
4380
+ "mb": { "$ref": "#/definitions/SprinkleProp_mb" },
4381
+ "ml": { "$ref": "#/definitions/SprinkleProp_ml" },
4382
+ "mr": { "$ref": "#/definitions/SprinkleProp_mr" },
4383
+ "mt": { "$ref": "#/definitions/SprinkleProp_mt" },
4384
+ "mx": { "$ref": "#/definitions/SprinkleProp_mx" },
4385
+ "my": { "$ref": "#/definitions/SprinkleProp_my" },
4386
+ "objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
4387
+ "overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
4388
+ "overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
4389
+ "overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
4390
+ "p": { "$ref": "#/definitions/SprinkleProp_p" },
4391
+ "pb": { "$ref": "#/definitions/SprinkleProp_pb" },
4392
+ "pl": { "$ref": "#/definitions/SprinkleProp_pl" },
4393
+ "placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
4394
+ "pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
4395
+ "pr": { "$ref": "#/definitions/SprinkleProp_pr" },
4396
+ "pt": { "$ref": "#/definitions/SprinkleProp_pt" },
4397
+ "px": { "$ref": "#/definitions/SprinkleProp_px" },
4398
+ "py": { "$ref": "#/definitions/SprinkleProp_py" },
4399
+ "rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
4400
+ "shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
4401
+ "showDate": {
4402
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
4403
+ "description": "Whether to show the date part of the value. Defaults to `true`."
4404
+ },
4405
+ "showTime": {
4406
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
4407
+ "description": "Whether to show the time part of the value. Defaults to `false`."
4408
+ },
4409
+ "size": { "$ref": "#/definitions/SprinkleProp_size" },
4410
+ "textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
4411
+ "textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
4412
+ "transition": { "$ref": "#/definitions/SprinkleProp_transition" },
4413
+ "w": { "$ref": "#/definitions/SprinkleProp_w" },
4414
+ "whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
4415
+ "z": { "$ref": "#/definitions/SprinkleProp_z" }
4416
+ },
4417
+ "required": ["$type", "date"],
4418
+ "type": "object"
4419
+ },
4420
+ "ProteusValue": {
4421
+ "examples": [{
4422
+ "$type": "Value",
4423
+ "path": "/field_name"
4424
+ }],
4425
+ "properties": {
4426
+ "$type": { "const": "Value" },
4427
+ "formatter": {
4428
+ "anyOf": [{
4429
+ "description": "Shorthand formatter name. 'DateTime' formats timestamps using Intl.DateTimeFormat (default: month short, day numeric). 'Number' formats numbers using Intl.NumberFormat.",
4430
+ "enum": ["DateTime", "Number"],
4431
+ "type": "string"
4432
+ }, {
4433
+ "description": "Formatter with custom Intl options. 'type' selects the formatter, 'options' are passed to the Intl constructor.",
4434
+ "properties": {
4435
+ "options": {
4436
+ "description": "Options passed to the Intl formatter constructor (e.g., Intl.DateTimeFormatOptions or Intl.NumberFormatOptions)",
4437
+ "type": "object"
4438
+ },
4439
+ "type": {
4440
+ "description": "Formatter type",
4441
+ "enum": ["DateTime", "Number"],
4442
+ "type": "string"
4443
+ }
4444
+ },
4445
+ "required": ["type"],
4446
+ "type": "object"
4447
+ }],
4448
+ "description": "Optional formatter to apply to the resolved value. Can be a string shorthand or an object with type and options for Intl formatters."
4449
+ },
4450
+ "path": {
4451
+ "description": "Path to a value in the data. Absolute paths start with '/' and resolve from the root (e.g., '/title', '/options/0/label'). Inside a Map template, paths without a leading '/' are relative to the current item (e.g., 'title' resolves to each item's 'title' field).",
4452
+ "type": "string"
4453
+ }
4454
+ },
4455
+ "required": ["$type", "path"],
4456
+ "type": "object"
4457
+ }
4458
+ };
4459
+ //#endregion
4460
+ export { definitions };