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