@optimizely-opal/opal-tools-sdk 0.1.5-dev → 0.1.8-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1451 @@
1
+ /**
2
+ * Generated by json-schema-to-typescript
3
+ * DO NOT MODIFY - This file is auto-generated from proteus-document-spec.json
4
+ * Run 'npm run generate:proteus' to regenerate
5
+ */
6
+ export type OpalProteusDocumentSpecification = ProteusAction | ProteusAtomicCondition | ProteusCancelAction | ProteusCondition | ProteusDocument | ProteusElement | ProteusEventHandler | ProteusField | ProteusGroup | ProteusHeading | ProteusImage | ProteusInput | ProteusLink | ProteusMap | ProteusNode | ProteusRange | ProteusSelect | ProteusSelectContent | ProteusSelectTrigger | ProteusSeparator | ProteusShow | ProteusText | ProteusTextarea | ProteusValue;
7
+ export interface ProteusAction {
8
+ $type: "Action";
9
+ alignItems?: SprinklePropAlignItems;
10
+ alignSelf?: SprinklePropAlignSelf;
11
+ animation?: SprinklePropAnimation;
12
+ /**
13
+ * Control the appearance by selecting between the different button types.
14
+ */
15
+ appearance?: "danger" | "danger-outline" | "default" | "default-opal" | "inverse" | "primary" | "primary-opal" | "subtle";
16
+ backgroundImage?: SprinklePropBackgroundImage;
17
+ bg?: SprinklePropBg;
18
+ border?: SprinklePropBorder;
19
+ borderB?: SprinklePropBorderB;
20
+ borderColor?: SprinklePropBorderColor;
21
+ borderL?: SprinklePropBorderL;
22
+ borderR?: SprinklePropBorderR;
23
+ borderT?: SprinklePropBorderT;
24
+ children?: ProteusNode;
25
+ color?: SprinklePropColor;
26
+ cursor?: SprinklePropCursor;
27
+ display?: SprinklePropDisplay;
28
+ flex?: SprinklePropFlex;
29
+ flexDirection?: SprinklePropFlexDirection;
30
+ flexWrap?: SprinklePropFlexWrap;
31
+ fontFamily?: SprinklePropFontFamily;
32
+ fontSize?: SprinklePropFontSize;
33
+ fontWeight?: SprinklePropFontWeight;
34
+ gap?: SprinklePropGap;
35
+ gridColumn?: SprinklePropGridColumn;
36
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
37
+ h?: SprinklePropH;
38
+ justifyContent?: SprinklePropJustifyContent;
39
+ justifyItems?: SprinklePropJustifyItems;
40
+ m?: SprinklePropM;
41
+ maxH?: SprinklePropMaxH;
42
+ maxW?: SprinklePropMaxW;
43
+ mb?: SprinklePropMb;
44
+ ml?: SprinklePropMl;
45
+ mr?: SprinklePropMr;
46
+ mt?: SprinklePropMt;
47
+ mx?: SprinklePropMx;
48
+ my?: SprinklePropMy;
49
+ objectFit?: SprinklePropObjectFit;
50
+ /**
51
+ * Action triggered when button is clicked
52
+ */
53
+ onClick?: {
54
+ /**
55
+ * Message to send to LLM via sendNewMessage()
56
+ */
57
+ message: string;
58
+ } | {
59
+ /**
60
+ * Name of registered tool to call
61
+ */
62
+ tool: string;
63
+ };
64
+ overflow?: SprinklePropOverflow;
65
+ overflowX?: SprinklePropOverflowX;
66
+ overflowY?: SprinklePropOverflowY;
67
+ p?: SprinklePropP;
68
+ pb?: SprinklePropPb;
69
+ pl?: SprinklePropPl;
70
+ placeItems?: SprinklePropPlaceItems;
71
+ pointerEvents?: SprinklePropPointerEvents;
72
+ pr?: SprinklePropPr;
73
+ pt?: SprinklePropPt;
74
+ px?: SprinklePropPx;
75
+ py?: SprinklePropPy;
76
+ rounded?: SprinklePropRounded;
77
+ shadow?: SprinklePropShadow;
78
+ textAlign?: SprinklePropTextAlign;
79
+ textTransform?: SprinklePropTextTransform;
80
+ transition?: SprinklePropTransition;
81
+ w?: SprinklePropW;
82
+ whiteSpace?: SprinklePropWhiteSpace;
83
+ z?: SprinklePropZ;
84
+ }
85
+ /**
86
+ * Simple comparison condition - single operator only (used in OR arrays to avoid recursion)
87
+ */
88
+ export type ProteusAtomicCondition = {
89
+ /**
90
+ * Equality comparison
91
+ *
92
+ * @minItems 2
93
+ * @maxItems 2
94
+ */
95
+ "==": [
96
+ boolean | null | number | ProteusValue | string,
97
+ boolean | null | number | ProteusValue | string
98
+ ];
99
+ } | {
100
+ /**
101
+ * Greater than comparison
102
+ *
103
+ * @minItems 2
104
+ * @maxItems 2
105
+ */
106
+ ">": [
107
+ boolean | null | number | ProteusValue | string,
108
+ boolean | null | number | ProteusValue | string
109
+ ];
110
+ } | {
111
+ /**
112
+ * Greater than or equal comparison
113
+ *
114
+ * @minItems 2
115
+ * @maxItems 2
116
+ */
117
+ ">=": [
118
+ boolean | null | number | ProteusValue | string,
119
+ boolean | null | number | ProteusValue | string
120
+ ];
121
+ } | {
122
+ /**
123
+ * Inequality comparison
124
+ *
125
+ * @minItems 2
126
+ * @maxItems 2
127
+ */
128
+ "!=": [
129
+ boolean | null | number | ProteusValue | string,
130
+ boolean | null | number | ProteusValue | string
131
+ ];
132
+ } | {
133
+ /**
134
+ * Less than comparison
135
+ *
136
+ * @minItems 2
137
+ * @maxItems 2
138
+ */
139
+ "<": [
140
+ boolean | null | number | ProteusValue | string,
141
+ boolean | null | number | ProteusValue | string
142
+ ];
143
+ } | {
144
+ /**
145
+ * Less than or equal comparison
146
+ *
147
+ * @minItems 2
148
+ * @maxItems 2
149
+ */
150
+ "<=": [
151
+ boolean | null | number | ProteusValue | string,
152
+ boolean | null | number | ProteusValue | string
153
+ ];
154
+ } | {
155
+ /**
156
+ * Truthy check - returns true if value is truthy (not null, undefined, false, 0, or empty string)
157
+ */
158
+ "!!": boolean | null | number | ProteusValue | string;
159
+ };
160
+ export interface ProteusCancelAction {
161
+ $type: "CancelAction";
162
+ alignItems?: SprinklePropAlignItems;
163
+ alignSelf?: SprinklePropAlignSelf;
164
+ animation?: SprinklePropAnimation;
165
+ backgroundImage?: SprinklePropBackgroundImage;
166
+ bg?: SprinklePropBg;
167
+ border?: SprinklePropBorder;
168
+ borderB?: SprinklePropBorderB;
169
+ borderColor?: SprinklePropBorderColor;
170
+ borderL?: SprinklePropBorderL;
171
+ borderR?: SprinklePropBorderR;
172
+ borderT?: SprinklePropBorderT;
173
+ children?: ProteusNode;
174
+ color?: SprinklePropColor;
175
+ cursor?: SprinklePropCursor;
176
+ display?: SprinklePropDisplay;
177
+ flex?: SprinklePropFlex;
178
+ flexDirection?: SprinklePropFlexDirection;
179
+ flexWrap?: SprinklePropFlexWrap;
180
+ fontFamily?: SprinklePropFontFamily;
181
+ fontSize?: SprinklePropFontSize;
182
+ fontWeight?: SprinklePropFontWeight;
183
+ gap?: SprinklePropGap;
184
+ gridColumn?: SprinklePropGridColumn;
185
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
186
+ h?: SprinklePropH;
187
+ justifyContent?: SprinklePropJustifyContent;
188
+ justifyItems?: SprinklePropJustifyItems;
189
+ m?: SprinklePropM;
190
+ maxH?: SprinklePropMaxH;
191
+ maxW?: SprinklePropMaxW;
192
+ mb?: SprinklePropMb;
193
+ ml?: SprinklePropMl;
194
+ mr?: SprinklePropMr;
195
+ mt?: SprinklePropMt;
196
+ mx?: SprinklePropMx;
197
+ my?: SprinklePropMy;
198
+ objectFit?: SprinklePropObjectFit;
199
+ overflow?: SprinklePropOverflow;
200
+ overflowX?: SprinklePropOverflowX;
201
+ overflowY?: SprinklePropOverflowY;
202
+ p?: SprinklePropP;
203
+ pb?: SprinklePropPb;
204
+ pl?: SprinklePropPl;
205
+ /**
206
+ * Placeholder text for the text input field
207
+ */
208
+ placeholder?: string;
209
+ placeItems?: SprinklePropPlaceItems;
210
+ pointerEvents?: SprinklePropPointerEvents;
211
+ pr?: SprinklePropPr;
212
+ pt?: SprinklePropPt;
213
+ px?: SprinklePropPx;
214
+ py?: SprinklePropPy;
215
+ rounded?: SprinklePropRounded;
216
+ shadow?: SprinklePropShadow;
217
+ textAlign?: SprinklePropTextAlign;
218
+ textTransform?: SprinklePropTextTransform;
219
+ transition?: SprinklePropTransition;
220
+ w?: SprinklePropW;
221
+ whiteSpace?: SprinklePropWhiteSpace;
222
+ z?: SprinklePropZ;
223
+ }
224
+ /**
225
+ * Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting.
226
+ */
227
+ export type ProteusCondition = ProteusAtomicCondition | {
228
+ /**
229
+ * Logical OR - returns true if any condition is true
230
+ *
231
+ * @minItems 1
232
+ */
233
+ or: [
234
+ (ProteusAtomicCondition | {
235
+ /**
236
+ * Logical AND - returns true if all conditions are true
237
+ *
238
+ * @minItems 1
239
+ */
240
+ and: [ProteusAtomicCondition, ...ProteusAtomicCondition[]];
241
+ }),
242
+ ...(ProteusAtomicCondition | {
243
+ /**
244
+ * Logical AND - returns true if all conditions are true
245
+ *
246
+ * @minItems 1
247
+ */
248
+ and: [ProteusAtomicCondition, ...ProteusAtomicCondition[]];
249
+ })[]
250
+ ];
251
+ };
252
+ export interface ProteusDocument {
253
+ $type: "Document";
254
+ /**
255
+ * Actions available for this document
256
+ */
257
+ actions?: ProteusNode;
258
+ /**
259
+ * A visual representation of the application
260
+ */
261
+ appIcon?: string;
262
+ /**
263
+ * The official name of the application
264
+ */
265
+ appName: string;
266
+ /**
267
+ * If true, hides chat prompt and forces user interaction with document. User can press ESC or close to abandon.
268
+ */
269
+ blocking?: boolean;
270
+ body: ProteusNode;
271
+ /**
272
+ * A brief description or tagline that provides additional context about the Proteus document's purpose.
273
+ */
274
+ subtitle?: string;
275
+ /**
276
+ * A concise heading that encapsulates the essence of the Proteus document's content or intended action.
277
+ */
278
+ title: string;
279
+ }
280
+ /**
281
+ * A single Proteus UI component element identified by its $type discriminator
282
+ */
283
+ export type ProteusElement = ProteusAction | ProteusCancelAction | ProteusField | ProteusGroup | ProteusHeading | ProteusImage | ProteusInput | ProteusLink | ProteusMap | ProteusRange | ProteusSelect | ProteusSelectContent | ProteusSelectTrigger | ProteusSeparator | ProteusShow | ProteusText | ProteusTextarea | ProteusValue;
284
+ /**
285
+ * Handler for user interactions - either a server-side tool call or client-side message
286
+ */
287
+ export type ProteusEventHandler = {
288
+ /**
289
+ * Message to send to LLM via sendNewMessage()
290
+ */
291
+ message: string;
292
+ } | {
293
+ /**
294
+ * Name of registered tool to call
295
+ */
296
+ tool: string;
297
+ };
298
+ export interface ProteusField {
299
+ $type: "Field";
300
+ alignItems?: SprinklePropAlignItems;
301
+ alignSelf?: SprinklePropAlignSelf;
302
+ animation?: SprinklePropAnimation;
303
+ backgroundImage?: SprinklePropBackgroundImage;
304
+ bg?: SprinklePropBg;
305
+ border?: SprinklePropBorder;
306
+ borderB?: SprinklePropBorderB;
307
+ borderColor?: SprinklePropBorderColor;
308
+ borderL?: SprinklePropBorderL;
309
+ borderR?: SprinklePropBorderR;
310
+ borderT?: SprinklePropBorderT;
311
+ children?: ProteusNode;
312
+ color?: SprinklePropColor;
313
+ cursor?: SprinklePropCursor;
314
+ /**
315
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
316
+ */
317
+ description?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
318
+ display?: SprinklePropDisplay;
319
+ flex?: SprinklePropFlex;
320
+ flexDirection?: SprinklePropFlexDirection;
321
+ flexWrap?: SprinklePropFlexWrap;
322
+ fontFamily?: SprinklePropFontFamily;
323
+ fontSize?: SprinklePropFontSize;
324
+ fontWeight?: SprinklePropFontWeight;
325
+ gap?: SprinklePropGap;
326
+ gridColumn?: SprinklePropGridColumn;
327
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
328
+ h?: SprinklePropH;
329
+ /**
330
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
331
+ */
332
+ info?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
333
+ justifyContent?: SprinklePropJustifyContent;
334
+ justifyItems?: SprinklePropJustifyItems;
335
+ /**
336
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
337
+ */
338
+ label?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
339
+ m?: SprinklePropM;
340
+ maxH?: SprinklePropMaxH;
341
+ maxW?: SprinklePropMaxW;
342
+ mb?: SprinklePropMb;
343
+ ml?: SprinklePropMl;
344
+ mr?: SprinklePropMr;
345
+ mt?: SprinklePropMt;
346
+ mx?: SprinklePropMx;
347
+ my?: SprinklePropMy;
348
+ objectFit?: SprinklePropObjectFit;
349
+ overflow?: SprinklePropOverflow;
350
+ overflowX?: SprinklePropOverflowX;
351
+ overflowY?: SprinklePropOverflowY;
352
+ p?: SprinklePropP;
353
+ pb?: SprinklePropPb;
354
+ pl?: SprinklePropPl;
355
+ placeItems?: SprinklePropPlaceItems;
356
+ pointerEvents?: SprinklePropPointerEvents;
357
+ pr?: SprinklePropPr;
358
+ pt?: SprinklePropPt;
359
+ px?: SprinklePropPx;
360
+ py?: SprinklePropPy;
361
+ /**
362
+ * Display an asterisk for required inputs.
363
+ */
364
+ required?: boolean;
365
+ rounded?: SprinklePropRounded;
366
+ shadow?: SprinklePropShadow;
367
+ size?: SprinklePropSize;
368
+ textAlign?: SprinklePropTextAlign;
369
+ textTransform?: SprinklePropTextTransform;
370
+ transition?: SprinklePropTransition;
371
+ w?: SprinklePropW;
372
+ whiteSpace?: SprinklePropWhiteSpace;
373
+ z?: SprinklePropZ;
374
+ }
375
+ export interface ProteusGroup {
376
+ $type: "Group";
377
+ /**
378
+ * Set the element's `align-items` CSS property. Defaults to `center` when
379
+ * `flexDirection='row'`, and `stretch` when `flexDirection='column'`.
380
+ */
381
+ alignItems?: "center" | "end" | "normal" | "start" | "stretch";
382
+ alignSelf?: SprinklePropAlignSelf;
383
+ animation?: SprinklePropAnimation;
384
+ backgroundImage?: SprinklePropBackgroundImage;
385
+ bg?: SprinklePropBg;
386
+ border?: SprinklePropBorder;
387
+ borderB?: SprinklePropBorderB;
388
+ borderColor?: SprinklePropBorderColor;
389
+ borderL?: SprinklePropBorderL;
390
+ borderR?: SprinklePropBorderR;
391
+ borderT?: SprinklePropBorderT;
392
+ children?: ProteusNode;
393
+ color?: SprinklePropColor;
394
+ cursor?: SprinklePropCursor;
395
+ display?: SprinklePropDisplay;
396
+ flex?: SprinklePropFlex;
397
+ /**
398
+ * Set the element's `flex-direction` CSS property.
399
+ *
400
+ * Default: 'row' (CSS standard)
401
+ */
402
+ flexDirection?: "column" | "column-reverse" | "row" | "row-reverse";
403
+ flexWrap?: SprinklePropFlexWrap;
404
+ fontFamily?: SprinklePropFontFamily;
405
+ fontSize?: SprinklePropFontSize;
406
+ fontWeight?: SprinklePropFontWeight;
407
+ gap?: SprinklePropGap;
408
+ gridColumn?: SprinklePropGridColumn;
409
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
410
+ h?: SprinklePropH;
411
+ justifyContent?: SprinklePropJustifyContent;
412
+ justifyItems?: SprinklePropJustifyItems;
413
+ m?: SprinklePropM;
414
+ maxH?: SprinklePropMaxH;
415
+ maxW?: SprinklePropMaxW;
416
+ mb?: SprinklePropMb;
417
+ ml?: SprinklePropMl;
418
+ mr?: SprinklePropMr;
419
+ mt?: SprinklePropMt;
420
+ mx?: SprinklePropMx;
421
+ my?: SprinklePropMy;
422
+ objectFit?: SprinklePropObjectFit;
423
+ overflow?: SprinklePropOverflow;
424
+ overflowX?: SprinklePropOverflowX;
425
+ overflowY?: SprinklePropOverflowY;
426
+ p?: SprinklePropP;
427
+ pb?: SprinklePropPb;
428
+ pl?: SprinklePropPl;
429
+ placeItems?: SprinklePropPlaceItems;
430
+ pointerEvents?: SprinklePropPointerEvents;
431
+ pr?: SprinklePropPr;
432
+ pt?: SprinklePropPt;
433
+ px?: SprinklePropPx;
434
+ py?: SprinklePropPy;
435
+ rounded?: SprinklePropRounded;
436
+ shadow?: SprinklePropShadow;
437
+ size?: SprinklePropSize;
438
+ textAlign?: SprinklePropTextAlign;
439
+ textTransform?: SprinklePropTextTransform;
440
+ transition?: SprinklePropTransition;
441
+ w?: SprinklePropW;
442
+ whiteSpace?: SprinklePropWhiteSpace;
443
+ z?: SprinklePropZ;
444
+ }
445
+ export interface ProteusHeading {
446
+ $type: "Heading";
447
+ alignItems?: SprinklePropAlignItems;
448
+ alignSelf?: SprinklePropAlignSelf;
449
+ animation?: SprinklePropAnimation;
450
+ backgroundImage?: SprinklePropBackgroundImage;
451
+ bg?: SprinklePropBg;
452
+ border?: SprinklePropBorder;
453
+ borderB?: SprinklePropBorderB;
454
+ borderColor?: SprinklePropBorderColor;
455
+ borderL?: SprinklePropBorderL;
456
+ borderR?: SprinklePropBorderR;
457
+ borderT?: SprinklePropBorderT;
458
+ children?: ProteusNode;
459
+ color?: SprinklePropColor;
460
+ cursor?: SprinklePropCursor;
461
+ display?: SprinklePropDisplay;
462
+ flex?: SprinklePropFlex;
463
+ flexDirection?: SprinklePropFlexDirection;
464
+ flexWrap?: SprinklePropFlexWrap;
465
+ fontFamily?: SprinklePropFontFamily;
466
+ fontSize?: SprinklePropFontSize;
467
+ fontWeight?: SprinklePropFontWeight;
468
+ gap?: SprinklePropGap;
469
+ gridColumn?: SprinklePropGridColumn;
470
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
471
+ h?: SprinklePropH;
472
+ justifyContent?: SprinklePropJustifyContent;
473
+ justifyItems?: SprinklePropJustifyItems;
474
+ /**
475
+ * Heading level (1-4) that controls both the semantic HTML tag and font size.
476
+ * - `level="1"`: renders `<h1>` with `fontSize="4xl"` (default)
477
+ * - `level="2"`: renders `<h2>` with `fontSize="3xl"`
478
+ * - `level="3"`: renders `<h3>` with `fontSize="2xl"`
479
+ * - `level="4"`: renders `<h4>` with `fontSize="xl"`
480
+ *
481
+ * Use `asChild` to decouple the semantic level from visual appearance.
482
+ */
483
+ level?: "1" | "2" | "3" | "4";
484
+ m?: SprinklePropM;
485
+ maxH?: SprinklePropMaxH;
486
+ maxW?: SprinklePropMaxW;
487
+ mb?: SprinklePropMb;
488
+ ml?: SprinklePropMl;
489
+ mr?: SprinklePropMr;
490
+ mt?: SprinklePropMt;
491
+ mx?: SprinklePropMx;
492
+ my?: SprinklePropMy;
493
+ objectFit?: SprinklePropObjectFit;
494
+ overflow?: SprinklePropOverflow;
495
+ overflowX?: SprinklePropOverflowX;
496
+ overflowY?: SprinklePropOverflowY;
497
+ p?: SprinklePropP;
498
+ pb?: SprinklePropPb;
499
+ pl?: SprinklePropPl;
500
+ placeItems?: SprinklePropPlaceItems;
501
+ pointerEvents?: SprinklePropPointerEvents;
502
+ pr?: SprinklePropPr;
503
+ pt?: SprinklePropPt;
504
+ px?: SprinklePropPx;
505
+ py?: SprinklePropPy;
506
+ rounded?: SprinklePropRounded;
507
+ shadow?: SprinklePropShadow;
508
+ size?: SprinklePropSize;
509
+ textAlign?: SprinklePropTextAlign;
510
+ textTransform?: SprinklePropTextTransform;
511
+ transition?: SprinklePropTransition;
512
+ w?: SprinklePropW;
513
+ whiteSpace?: SprinklePropWhiteSpace;
514
+ z?: SprinklePropZ;
515
+ }
516
+ export interface ProteusImage {
517
+ $type: "Image";
518
+ alignItems?: SprinklePropAlignItems;
519
+ alignSelf?: SprinklePropAlignSelf;
520
+ /**
521
+ * Alternative text for the image
522
+ */
523
+ alt?: string;
524
+ animation?: SprinklePropAnimation;
525
+ backgroundImage?: SprinklePropBackgroundImage;
526
+ bg?: SprinklePropBg;
527
+ border?: SprinklePropBorder;
528
+ borderB?: SprinklePropBorderB;
529
+ borderColor?: SprinklePropBorderColor;
530
+ borderL?: SprinklePropBorderL;
531
+ borderR?: SprinklePropBorderR;
532
+ borderT?: SprinklePropBorderT;
533
+ color?: SprinklePropColor;
534
+ cursor?: SprinklePropCursor;
535
+ display?: SprinklePropDisplay;
536
+ flex?: SprinklePropFlex;
537
+ flexDirection?: SprinklePropFlexDirection;
538
+ flexWrap?: SprinklePropFlexWrap;
539
+ fontFamily?: SprinklePropFontFamily;
540
+ fontSize?: SprinklePropFontSize;
541
+ fontWeight?: SprinklePropFontWeight;
542
+ gap?: SprinklePropGap;
543
+ gridColumn?: SprinklePropGridColumn;
544
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
545
+ h?: SprinklePropH;
546
+ justifyContent?: SprinklePropJustifyContent;
547
+ justifyItems?: SprinklePropJustifyItems;
548
+ m?: SprinklePropM;
549
+ maxH?: SprinklePropMaxH;
550
+ maxW?: SprinklePropMaxW;
551
+ mb?: SprinklePropMb;
552
+ ml?: SprinklePropMl;
553
+ mr?: SprinklePropMr;
554
+ mt?: SprinklePropMt;
555
+ mx?: SprinklePropMx;
556
+ my?: SprinklePropMy;
557
+ objectFit?: SprinklePropObjectFit;
558
+ overflow?: SprinklePropOverflow;
559
+ overflowX?: SprinklePropOverflowX;
560
+ overflowY?: SprinklePropOverflowY;
561
+ p?: SprinklePropP;
562
+ pb?: SprinklePropPb;
563
+ pl?: SprinklePropPl;
564
+ placeItems?: SprinklePropPlaceItems;
565
+ pointerEvents?: SprinklePropPointerEvents;
566
+ pr?: SprinklePropPr;
567
+ pt?: SprinklePropPt;
568
+ px?: SprinklePropPx;
569
+ py?: SprinklePropPy;
570
+ rounded?: SprinklePropRounded;
571
+ shadow?: SprinklePropShadow;
572
+ size?: SprinklePropSize;
573
+ /**
574
+ * The image source URL
575
+ */
576
+ src?: string;
577
+ textAlign?: SprinklePropTextAlign;
578
+ textTransform?: SprinklePropTextTransform;
579
+ transition?: SprinklePropTransition;
580
+ w?: SprinklePropW;
581
+ whiteSpace?: SprinklePropWhiteSpace;
582
+ z?: SprinklePropZ;
583
+ }
584
+ export interface ProteusInput {
585
+ $type: "Input";
586
+ /**
587
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
588
+ */
589
+ addonAfter?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
590
+ /**
591
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
592
+ */
593
+ addonBefore?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
594
+ alignItems?: SprinklePropAlignItems;
595
+ alignSelf?: SprinklePropAlignSelf;
596
+ animation?: SprinklePropAnimation;
597
+ /**
598
+ * Control the appearance of the input.
599
+ */
600
+ appearance?: "default" | "number";
601
+ backgroundImage?: SprinklePropBackgroundImage;
602
+ bg?: SprinklePropBg;
603
+ border?: SprinklePropBorder;
604
+ borderB?: SprinklePropBorderB;
605
+ borderColor?: SprinklePropBorderColor;
606
+ borderL?: SprinklePropBorderL;
607
+ borderR?: SprinklePropBorderR;
608
+ borderT?: SprinklePropBorderT;
609
+ color?: SprinklePropColor;
610
+ cursor?: SprinklePropCursor;
611
+ display?: SprinklePropDisplay;
612
+ flex?: SprinklePropFlex;
613
+ flexDirection?: SprinklePropFlexDirection;
614
+ flexWrap?: SprinklePropFlexWrap;
615
+ fontFamily?: SprinklePropFontFamily;
616
+ fontSize?: SprinklePropFontSize;
617
+ fontWeight?: SprinklePropFontWeight;
618
+ gap?: SprinklePropGap;
619
+ gridColumn?: SprinklePropGridColumn;
620
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
621
+ h?: SprinklePropH;
622
+ justifyContent?: SprinklePropJustifyContent;
623
+ justifyItems?: SprinklePropJustifyItems;
624
+ m?: SprinklePropM;
625
+ maxH?: SprinklePropMaxH;
626
+ maxW?: SprinklePropMaxW;
627
+ mb?: SprinklePropMb;
628
+ ml?: SprinklePropMl;
629
+ mr?: SprinklePropMr;
630
+ mt?: SprinklePropMt;
631
+ mx?: SprinklePropMx;
632
+ my?: SprinklePropMy;
633
+ /**
634
+ * The name of the form control element.
635
+ */
636
+ name?: string;
637
+ objectFit?: SprinklePropObjectFit;
638
+ overflow?: SprinklePropOverflow;
639
+ overflowX?: SprinklePropOverflowX;
640
+ overflowY?: SprinklePropOverflowY;
641
+ p?: SprinklePropP;
642
+ pb?: SprinklePropPb;
643
+ pl?: SprinklePropPl;
644
+ /**
645
+ * The placeholder text to use when control has no value.
646
+ */
647
+ placeholder?: string;
648
+ placeItems?: SprinklePropPlaceItems;
649
+ pointerEvents?: SprinklePropPointerEvents;
650
+ pr?: SprinklePropPr;
651
+ pt?: SprinklePropPt;
652
+ px?: SprinklePropPx;
653
+ py?: SprinklePropPy;
654
+ rounded?: SprinklePropRounded;
655
+ shadow?: SprinklePropShadow;
656
+ textAlign?: SprinklePropTextAlign;
657
+ textTransform?: SprinklePropTextTransform;
658
+ transition?: SprinklePropTransition;
659
+ /**
660
+ * The input type.
661
+ */
662
+ type?: "button" | "checkbox" | "color" | "date" | "datetime-local" | "email" | "file" | "hidden" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week" | string;
663
+ w?: SprinklePropW;
664
+ whiteSpace?: SprinklePropWhiteSpace;
665
+ z?: SprinklePropZ;
666
+ }
667
+ export interface ProteusLink {
668
+ $type: "Link";
669
+ alignItems?: SprinklePropAlignItems;
670
+ alignSelf?: SprinklePropAlignSelf;
671
+ animation?: SprinklePropAnimation;
672
+ backgroundImage?: SprinklePropBackgroundImage;
673
+ bg?: SprinklePropBg;
674
+ border?: SprinklePropBorder;
675
+ borderB?: SprinklePropBorderB;
676
+ borderColor?: SprinklePropBorderColor;
677
+ borderL?: SprinklePropBorderL;
678
+ borderR?: SprinklePropBorderR;
679
+ borderT?: SprinklePropBorderT;
680
+ children?: ProteusNode;
681
+ color?: SprinklePropColor;
682
+ cursor?: SprinklePropCursor;
683
+ display?: SprinklePropDisplay;
684
+ flex?: SprinklePropFlex;
685
+ flexDirection?: SprinklePropFlexDirection;
686
+ flexWrap?: SprinklePropFlexWrap;
687
+ fontFamily?: SprinklePropFontFamily;
688
+ fontSize?: SprinklePropFontSize;
689
+ fontWeight?: SprinklePropFontWeight;
690
+ gap?: SprinklePropGap;
691
+ gridColumn?: SprinklePropGridColumn;
692
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
693
+ h?: SprinklePropH;
694
+ /**
695
+ * The link href.
696
+ */
697
+ href?: string;
698
+ justifyContent?: SprinklePropJustifyContent;
699
+ justifyItems?: SprinklePropJustifyItems;
700
+ m?: SprinklePropM;
701
+ maxH?: SprinklePropMaxH;
702
+ maxW?: SprinklePropMaxW;
703
+ mb?: SprinklePropMb;
704
+ ml?: SprinklePropMl;
705
+ mr?: SprinklePropMr;
706
+ mt?: SprinklePropMt;
707
+ mx?: SprinklePropMx;
708
+ my?: SprinklePropMy;
709
+ objectFit?: SprinklePropObjectFit;
710
+ overflow?: SprinklePropOverflow;
711
+ overflowX?: SprinklePropOverflowX;
712
+ overflowY?: SprinklePropOverflowY;
713
+ p?: SprinklePropP;
714
+ pb?: SprinklePropPb;
715
+ pl?: SprinklePropPl;
716
+ placeItems?: SprinklePropPlaceItems;
717
+ pointerEvents?: SprinklePropPointerEvents;
718
+ pr?: SprinklePropPr;
719
+ pt?: SprinklePropPt;
720
+ px?: SprinklePropPx;
721
+ py?: SprinklePropPy;
722
+ rounded?: SprinklePropRounded;
723
+ shadow?: SprinklePropShadow;
724
+ size?: SprinklePropSize;
725
+ textAlign?: SprinklePropTextAlign;
726
+ textTransform?: SprinklePropTextTransform;
727
+ transition?: SprinklePropTransition;
728
+ w?: SprinklePropW;
729
+ whiteSpace?: SprinklePropWhiteSpace;
730
+ z?: SprinklePropZ;
731
+ }
732
+ export interface ProteusMap {
733
+ $type: "Map";
734
+ /**
735
+ * Template object to render for each item in the array. Value paths are relative to current item.
736
+ */
737
+ children?: {
738
+ [k: string]: undefined | unknown;
739
+ };
740
+ /**
741
+ * JSON pointer path to array (e.g., '/questions')
742
+ */
743
+ path: string;
744
+ }
745
+ /**
746
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
747
+ */
748
+ export type ProteusNode = (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
749
+ export interface ProteusRange {
750
+ $type: "Range";
751
+ alignItems?: SprinklePropAlignItems;
752
+ alignSelf?: SprinklePropAlignSelf;
753
+ animation?: SprinklePropAnimation;
754
+ backgroundImage?: SprinklePropBackgroundImage;
755
+ bg?: SprinklePropBg;
756
+ border?: SprinklePropBorder;
757
+ borderB?: SprinklePropBorderB;
758
+ borderColor?: SprinklePropBorderColor;
759
+ borderL?: SprinklePropBorderL;
760
+ borderR?: SprinklePropBorderR;
761
+ borderT?: SprinklePropBorderT;
762
+ color?: SprinklePropColor;
763
+ cursor?: SprinklePropCursor;
764
+ display?: SprinklePropDisplay;
765
+ flex?: SprinklePropFlex;
766
+ flexDirection?: SprinklePropFlexDirection;
767
+ flexWrap?: SprinklePropFlexWrap;
768
+ fontFamily?: SprinklePropFontFamily;
769
+ fontSize?: SprinklePropFontSize;
770
+ fontWeight?: SprinklePropFontWeight;
771
+ gap?: SprinklePropGap;
772
+ gridColumn?: SprinklePropGridColumn;
773
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
774
+ h?: SprinklePropH;
775
+ justifyContent?: SprinklePropJustifyContent;
776
+ justifyItems?: SprinklePropJustifyItems;
777
+ m?: SprinklePropM;
778
+ /**
779
+ * The marks to display on the range steps.
780
+ */
781
+ marks?: (number | {
782
+ /**
783
+ * The label for the mark
784
+ */
785
+ label: string;
786
+ /**
787
+ * The value for the mark
788
+ */
789
+ value: number;
790
+ })[];
791
+ /**
792
+ * The maximum value for the range.
793
+ */
794
+ max?: number;
795
+ maxH?: SprinklePropMaxH;
796
+ maxW?: SprinklePropMaxW;
797
+ mb?: SprinklePropMb;
798
+ /**
799
+ * The minimum value for the range.
800
+ */
801
+ min?: number;
802
+ ml?: SprinklePropMl;
803
+ mr?: SprinklePropMr;
804
+ mt?: SprinklePropMt;
805
+ mx?: SprinklePropMx;
806
+ my?: SprinklePropMy;
807
+ objectFit?: SprinklePropObjectFit;
808
+ overflow?: SprinklePropOverflow;
809
+ overflowX?: SprinklePropOverflowX;
810
+ overflowY?: SprinklePropOverflowY;
811
+ p?: SprinklePropP;
812
+ pb?: SprinklePropPb;
813
+ pl?: SprinklePropPl;
814
+ placeItems?: SprinklePropPlaceItems;
815
+ pointerEvents?: SprinklePropPointerEvents;
816
+ pr?: SprinklePropPr;
817
+ pt?: SprinklePropPt;
818
+ px?: SprinklePropPx;
819
+ py?: SprinklePropPy;
820
+ rounded?: SprinklePropRounded;
821
+ shadow?: SprinklePropShadow;
822
+ /**
823
+ * The stepping interval for the range.
824
+ */
825
+ step?: number;
826
+ textAlign?: SprinklePropTextAlign;
827
+ textTransform?: SprinklePropTextTransform;
828
+ transition?: SprinklePropTransition;
829
+ w?: SprinklePropW;
830
+ whiteSpace?: SprinklePropWhiteSpace;
831
+ z?: SprinklePropZ;
832
+ }
833
+ export interface ProteusSelect {
834
+ $type: "Select";
835
+ children?: ProteusNode;
836
+ /**
837
+ * The name of the inner select element.
838
+ */
839
+ name?: string;
840
+ /**
841
+ * The select items/options we want to render.
842
+ */
843
+ options: {
844
+ /**
845
+ * String representation of items
846
+ */
847
+ label: string;
848
+ /**
849
+ * Return a unique key for each item
850
+ */
851
+ value: string;
852
+ }[];
853
+ }
854
+ export interface ProteusSelectContent {
855
+ $type: "SelectContent";
856
+ alignItems?: SprinklePropAlignItems;
857
+ alignSelf?: SprinklePropAlignSelf;
858
+ animation?: SprinklePropAnimation;
859
+ backgroundImage?: SprinklePropBackgroundImage;
860
+ bg?: SprinklePropBg;
861
+ border?: SprinklePropBorder;
862
+ borderB?: SprinklePropBorderB;
863
+ borderColor?: SprinklePropBorderColor;
864
+ borderL?: SprinklePropBorderL;
865
+ borderR?: SprinklePropBorderR;
866
+ borderT?: SprinklePropBorderT;
867
+ color?: SprinklePropColor;
868
+ cursor?: SprinklePropCursor;
869
+ display?: SprinklePropDisplay;
870
+ flex?: SprinklePropFlex;
871
+ flexDirection?: SprinklePropFlexDirection;
872
+ flexWrap?: SprinklePropFlexWrap;
873
+ fontFamily?: SprinklePropFontFamily;
874
+ fontSize?: SprinklePropFontSize;
875
+ fontWeight?: SprinklePropFontWeight;
876
+ gap?: SprinklePropGap;
877
+ gridColumn?: SprinklePropGridColumn;
878
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
879
+ h?: SprinklePropH;
880
+ justifyContent?: SprinklePropJustifyContent;
881
+ justifyItems?: SprinklePropJustifyItems;
882
+ m?: SprinklePropM;
883
+ maxW?: SprinklePropMaxW;
884
+ mb?: SprinklePropMb;
885
+ ml?: SprinklePropMl;
886
+ mr?: SprinklePropMr;
887
+ mt?: SprinklePropMt;
888
+ mx?: SprinklePropMx;
889
+ my?: SprinklePropMy;
890
+ objectFit?: SprinklePropObjectFit;
891
+ overflow?: SprinklePropOverflow;
892
+ overflowX?: SprinklePropOverflowX;
893
+ overflowY?: SprinklePropOverflowY;
894
+ p?: SprinklePropP;
895
+ pb?: SprinklePropPb;
896
+ pl?: SprinklePropPl;
897
+ placeItems?: SprinklePropPlaceItems;
898
+ pointerEvents?: SprinklePropPointerEvents;
899
+ pr?: SprinklePropPr;
900
+ pt?: SprinklePropPt;
901
+ px?: SprinklePropPx;
902
+ py?: SprinklePropPy;
903
+ rounded?: SprinklePropRounded;
904
+ shadow?: SprinklePropShadow;
905
+ size?: SprinklePropSize;
906
+ textAlign?: SprinklePropTextAlign;
907
+ textTransform?: SprinklePropTextTransform;
908
+ transition?: SprinklePropTransition;
909
+ w?: SprinklePropW;
910
+ whiteSpace?: SprinklePropWhiteSpace;
911
+ z?: SprinklePropZ;
912
+ }
913
+ export interface ProteusSelectTrigger {
914
+ $type: "SelectTrigger";
915
+ alignItems?: SprinklePropAlignItems;
916
+ alignSelf?: SprinklePropAlignSelf;
917
+ animation?: SprinklePropAnimation;
918
+ backgroundImage?: SprinklePropBackgroundImage;
919
+ bg?: SprinklePropBg;
920
+ border?: SprinklePropBorder;
921
+ borderB?: SprinklePropBorderB;
922
+ borderColor?: SprinklePropBorderColor;
923
+ borderL?: SprinklePropBorderL;
924
+ borderR?: SprinklePropBorderR;
925
+ borderT?: SprinklePropBorderT;
926
+ children?: ProteusNode;
927
+ color?: SprinklePropColor;
928
+ cursor?: SprinklePropCursor;
929
+ display?: SprinklePropDisplay;
930
+ flex?: SprinklePropFlex;
931
+ flexDirection?: SprinklePropFlexDirection;
932
+ flexWrap?: SprinklePropFlexWrap;
933
+ fontFamily?: SprinklePropFontFamily;
934
+ fontSize?: SprinklePropFontSize;
935
+ fontWeight?: SprinklePropFontWeight;
936
+ gap?: SprinklePropGap;
937
+ gridColumn?: SprinklePropGridColumn;
938
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
939
+ h?: SprinklePropH;
940
+ justifyContent?: SprinklePropJustifyContent;
941
+ justifyItems?: SprinklePropJustifyItems;
942
+ m?: SprinklePropM;
943
+ maxH?: SprinklePropMaxH;
944
+ maxW?: SprinklePropMaxW;
945
+ mb?: SprinklePropMb;
946
+ ml?: SprinklePropMl;
947
+ mr?: SprinklePropMr;
948
+ mt?: SprinklePropMt;
949
+ mx?: SprinklePropMx;
950
+ my?: SprinklePropMy;
951
+ objectFit?: SprinklePropObjectFit;
952
+ overflow?: SprinklePropOverflow;
953
+ overflowX?: SprinklePropOverflowX;
954
+ overflowY?: SprinklePropOverflowY;
955
+ p?: SprinklePropP;
956
+ pb?: SprinklePropPb;
957
+ pl?: SprinklePropPl;
958
+ placeItems?: SprinklePropPlaceItems;
959
+ pointerEvents?: SprinklePropPointerEvents;
960
+ pr?: SprinklePropPr;
961
+ pt?: SprinklePropPt;
962
+ px?: SprinklePropPx;
963
+ py?: SprinklePropPy;
964
+ rounded?: SprinklePropRounded;
965
+ shadow?: SprinklePropShadow;
966
+ textAlign?: SprinklePropTextAlign;
967
+ textTransform?: SprinklePropTextTransform;
968
+ transition?: SprinklePropTransition;
969
+ w?: SprinklePropW;
970
+ whiteSpace?: SprinklePropWhiteSpace;
971
+ z?: SprinklePropZ;
972
+ }
973
+ export interface ProteusSeparator {
974
+ $type: "Separator";
975
+ alignItems?: SprinklePropAlignItems;
976
+ alignSelf?: SprinklePropAlignSelf;
977
+ animation?: SprinklePropAnimation;
978
+ backgroundImage?: SprinklePropBackgroundImage;
979
+ bg?: SprinklePropBg;
980
+ border?: SprinklePropBorder;
981
+ borderB?: SprinklePropBorderB;
982
+ borderColor?: SprinklePropBorderColor;
983
+ borderL?: SprinklePropBorderL;
984
+ borderR?: SprinklePropBorderR;
985
+ borderT?: SprinklePropBorderT;
986
+ color?: SprinklePropColor;
987
+ cursor?: SprinklePropCursor;
988
+ display?: SprinklePropDisplay;
989
+ flex?: SprinklePropFlex;
990
+ flexDirection?: SprinklePropFlexDirection;
991
+ flexWrap?: SprinklePropFlexWrap;
992
+ fontFamily?: SprinklePropFontFamily;
993
+ fontSize?: SprinklePropFontSize;
994
+ fontWeight?: SprinklePropFontWeight;
995
+ gap?: SprinklePropGap;
996
+ gridColumn?: SprinklePropGridColumn;
997
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
998
+ h?: SprinklePropH;
999
+ justifyContent?: SprinklePropJustifyContent;
1000
+ justifyItems?: SprinklePropJustifyItems;
1001
+ m?: SprinklePropM;
1002
+ maxH?: SprinklePropMaxH;
1003
+ maxW?: SprinklePropMaxW;
1004
+ mb?: SprinklePropMb;
1005
+ ml?: SprinklePropMl;
1006
+ mr?: SprinklePropMr;
1007
+ mt?: SprinklePropMt;
1008
+ mx?: SprinklePropMx;
1009
+ my?: SprinklePropMy;
1010
+ objectFit?: SprinklePropObjectFit;
1011
+ overflow?: SprinklePropOverflow;
1012
+ overflowX?: SprinklePropOverflowX;
1013
+ overflowY?: SprinklePropOverflowY;
1014
+ p?: SprinklePropP;
1015
+ pb?: SprinklePropPb;
1016
+ pl?: SprinklePropPl;
1017
+ placeItems?: SprinklePropPlaceItems;
1018
+ pointerEvents?: SprinklePropPointerEvents;
1019
+ pr?: SprinklePropPr;
1020
+ pt?: SprinklePropPt;
1021
+ px?: SprinklePropPx;
1022
+ py?: SprinklePropPy;
1023
+ rounded?: SprinklePropRounded;
1024
+ shadow?: SprinklePropShadow;
1025
+ size?: SprinklePropSize;
1026
+ textAlign?: SprinklePropTextAlign;
1027
+ textTransform?: SprinklePropTextTransform;
1028
+ transition?: SprinklePropTransition;
1029
+ w?: SprinklePropW;
1030
+ whiteSpace?: SprinklePropWhiteSpace;
1031
+ z?: SprinklePropZ;
1032
+ }
1033
+ export interface ProteusShow {
1034
+ $type: "Show";
1035
+ /**
1036
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
1037
+ */
1038
+ children?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
1039
+ /**
1040
+ * Single condition or array of conditions (AND logic). Each condition is an object with one operator key.
1041
+ */
1042
+ when?: ProteusCondition | ProteusCondition[];
1043
+ }
1044
+ export interface ProteusText {
1045
+ $type: "Text";
1046
+ alignItems?: SprinklePropAlignItems;
1047
+ alignSelf?: SprinklePropAlignSelf;
1048
+ animation?: SprinklePropAnimation;
1049
+ backgroundImage?: SprinklePropBackgroundImage;
1050
+ bg?: SprinklePropBg;
1051
+ border?: SprinklePropBorder;
1052
+ borderB?: SprinklePropBorderB;
1053
+ borderColor?: SprinklePropBorderColor;
1054
+ borderL?: SprinklePropBorderL;
1055
+ borderR?: SprinklePropBorderR;
1056
+ borderT?: SprinklePropBorderT;
1057
+ children?: ProteusNode;
1058
+ color?: SprinklePropColor;
1059
+ cursor?: SprinklePropCursor;
1060
+ display?: SprinklePropDisplay;
1061
+ flex?: SprinklePropFlex;
1062
+ flexDirection?: SprinklePropFlexDirection;
1063
+ flexWrap?: SprinklePropFlexWrap;
1064
+ fontFamily?: SprinklePropFontFamily;
1065
+ fontSize?: SprinklePropFontSize;
1066
+ fontWeight?: SprinklePropFontWeight;
1067
+ gap?: SprinklePropGap;
1068
+ gridColumn?: SprinklePropGridColumn;
1069
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1070
+ h?: SprinklePropH;
1071
+ justifyContent?: SprinklePropJustifyContent;
1072
+ justifyItems?: SprinklePropJustifyItems;
1073
+ m?: SprinklePropM;
1074
+ maxH?: SprinklePropMaxH;
1075
+ maxW?: SprinklePropMaxW;
1076
+ mb?: SprinklePropMb;
1077
+ ml?: SprinklePropMl;
1078
+ mr?: SprinklePropMr;
1079
+ mt?: SprinklePropMt;
1080
+ mx?: SprinklePropMx;
1081
+ my?: SprinklePropMy;
1082
+ objectFit?: SprinklePropObjectFit;
1083
+ overflow?: SprinklePropOverflow;
1084
+ overflowX?: SprinklePropOverflowX;
1085
+ overflowY?: SprinklePropOverflowY;
1086
+ p?: SprinklePropP;
1087
+ pb?: SprinklePropPb;
1088
+ pl?: SprinklePropPl;
1089
+ placeItems?: SprinklePropPlaceItems;
1090
+ pointerEvents?: SprinklePropPointerEvents;
1091
+ pr?: SprinklePropPr;
1092
+ pt?: SprinklePropPt;
1093
+ px?: SprinklePropPx;
1094
+ py?: SprinklePropPy;
1095
+ rounded?: SprinklePropRounded;
1096
+ shadow?: SprinklePropShadow;
1097
+ size?: SprinklePropSize;
1098
+ textAlign?: SprinklePropTextAlign;
1099
+ textTransform?: SprinklePropTextTransform;
1100
+ transition?: SprinklePropTransition;
1101
+ w?: SprinklePropW;
1102
+ whiteSpace?: SprinklePropWhiteSpace;
1103
+ z?: SprinklePropZ;
1104
+ }
1105
+ export interface ProteusTextarea {
1106
+ $type: "Textarea";
1107
+ alignItems?: SprinklePropAlignItems;
1108
+ alignSelf?: SprinklePropAlignSelf;
1109
+ animation?: SprinklePropAnimation;
1110
+ backgroundImage?: SprinklePropBackgroundImage;
1111
+ bg?: SprinklePropBg;
1112
+ border?: SprinklePropBorder;
1113
+ borderB?: SprinklePropBorderB;
1114
+ borderColor?: SprinklePropBorderColor;
1115
+ borderL?: SprinklePropBorderL;
1116
+ borderR?: SprinklePropBorderR;
1117
+ borderT?: SprinklePropBorderT;
1118
+ color?: SprinklePropColor;
1119
+ cursor?: SprinklePropCursor;
1120
+ display?: SprinklePropDisplay;
1121
+ flex?: SprinklePropFlex;
1122
+ flexDirection?: SprinklePropFlexDirection;
1123
+ flexWrap?: SprinklePropFlexWrap;
1124
+ fontFamily?: SprinklePropFontFamily;
1125
+ fontSize?: SprinklePropFontSize;
1126
+ fontWeight?: SprinklePropFontWeight;
1127
+ gap?: SprinklePropGap;
1128
+ gridColumn?: SprinklePropGridColumn;
1129
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1130
+ h?: SprinklePropH;
1131
+ justifyContent?: SprinklePropJustifyContent;
1132
+ justifyItems?: SprinklePropJustifyItems;
1133
+ m?: SprinklePropM;
1134
+ maxH?: SprinklePropMaxH;
1135
+ /**
1136
+ * Limits the height of the textarea when `resize=auto` is used.
1137
+ */
1138
+ maxRows?: 1 | 2 | 3 | 4 | 5;
1139
+ maxW?: SprinklePropMaxW;
1140
+ mb?: SprinklePropMb;
1141
+ ml?: SprinklePropMl;
1142
+ mr?: SprinklePropMr;
1143
+ mt?: SprinklePropMt;
1144
+ mx?: SprinklePropMx;
1145
+ my?: SprinklePropMy;
1146
+ /**
1147
+ * The name of the form control element.
1148
+ */
1149
+ name?: string;
1150
+ objectFit?: SprinklePropObjectFit;
1151
+ overflow?: SprinklePropOverflow;
1152
+ overflowX?: SprinklePropOverflowX;
1153
+ overflowY?: SprinklePropOverflowY;
1154
+ p?: SprinklePropP;
1155
+ pb?: SprinklePropPb;
1156
+ pl?: SprinklePropPl;
1157
+ /**
1158
+ * The placeholder text to use when control has no value.
1159
+ */
1160
+ placeholder?: string;
1161
+ placeItems?: SprinklePropPlaceItems;
1162
+ pointerEvents?: SprinklePropPointerEvents;
1163
+ pr?: SprinklePropPr;
1164
+ pt?: SprinklePropPt;
1165
+ px?: SprinklePropPx;
1166
+ py?: SprinklePropPy;
1167
+ /**
1168
+ * Control whether resizing mode is manual, automatic, or disabled.
1169
+ */
1170
+ resize?: "auto" | "none" | "vertical";
1171
+ rounded?: SprinklePropRounded;
1172
+ /**
1173
+ * The number of rows to display.
1174
+ */
1175
+ rows?: number;
1176
+ shadow?: SprinklePropShadow;
1177
+ textAlign?: SprinklePropTextAlign;
1178
+ textTransform?: SprinklePropTextTransform;
1179
+ transition?: SprinklePropTransition;
1180
+ w?: SprinklePropW;
1181
+ whiteSpace?: SprinklePropWhiteSpace;
1182
+ z?: SprinklePropZ;
1183
+ }
1184
+ export interface ProteusValue {
1185
+ $type: "Value";
1186
+ /**
1187
+ * JSON pointer path to value (e.g., '/question', '/options/0/label')
1188
+ */
1189
+ path: string;
1190
+ }
1191
+ /**
1192
+ * Set the element's `align-items` CSS property
1193
+ */
1194
+ export type SprinklePropAlignItems = "center" | "end" | "normal" | "start" | "stretch";
1195
+ /**
1196
+ * Set the element's `align-self` CSS property
1197
+ */
1198
+ export type SprinklePropAlignSelf = "center" | "end" | "normal" | "start" | "stretch";
1199
+ /**
1200
+ * Animate element with CSS animations
1201
+ */
1202
+ export type SprinklePropAnimation = "ping" | "pulse" | "spin";
1203
+ /**
1204
+ * Set the element's `background-image` CSS property
1205
+ */
1206
+ export type SprinklePropBackgroundImage = "gradient.opal";
1207
+ /**
1208
+ * 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`.
1209
+ */
1210
+ export type SprinklePropBg = "bg.accent" | "bg.accent.hovered" | "bg.accent.light" | "bg.accent.pressed" | "bg.accent.subtle" | "bg.avatar.neutral" | "bg.avatar.purple" | "bg.default" | "bg.default.hovered" | "bg.default.inverse" | "bg.default.inverse.hovered" | "bg.default.inverse.pressed" | "bg.default.pressed" | "bg.error" | "bg.error.hovered" | "bg.error.light" | "bg.error.pressed" | "bg.error.subtle" | "bg.error.subtlest" | "bg.information" | "bg.information.light" | "bg.information.subtle" | "bg.overlay" | "bg.page" | "bg.secondary" | "bg.secondary.hovered" | "bg.spinner.default" | "bg.spinner.inverse" | "bg.success" | "bg.success.hovered" | "bg.success.light" | "bg.success.subtle" | "bg.tertiary" | "bg.tertiary.hovered" | "bg.warning" | "bg.warning.hovered" | "bg.warning.light" | "bg.warning.subtle" | "current" | "transparent";
1211
+ /**
1212
+ * Set the element's `border-width` CSS property
1213
+ */
1214
+ export type SprinklePropBorder = "0" | "1" | "2";
1215
+ /**
1216
+ * Set the element's `border-bottom-width` CSS property
1217
+ */
1218
+ export type SprinklePropBorderB = "0" | "1" | "2";
1219
+ /**
1220
+ * 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`.
1221
+ */
1222
+ export type SprinklePropBorderColor = "border.accent" | "border.control" | "border.control.hovered" | "border.default" | "border.disabled" | "border.error" | "border.focus" | "border.focus.error" | "border.secondary" | "border.success" | "border.tertiary" | "border.warning" | "current" | "transparent";
1223
+ /**
1224
+ * Set the element's `border-left-width` CSS property
1225
+ */
1226
+ export type SprinklePropBorderL = "0" | "1" | "2";
1227
+ /**
1228
+ * Set the element's `border-right-width` CSS property
1229
+ */
1230
+ export type SprinklePropBorderR = "0" | "1" | "2";
1231
+ /**
1232
+ * Set the element's `border-top-width` CSS property
1233
+ */
1234
+ export type SprinklePropBorderT = "0" | "1" | "2";
1235
+ /**
1236
+ * 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`.
1237
+ */
1238
+ export type SprinklePropColor = "current" | "fg.accent" | "fg.accent.hovered" | "fg.accent.strong" | "fg.avatar.neutral" | "fg.avatar.purple" | "fg.default" | "fg.default.inverse" | "fg.disabled" | "fg.error" | "fg.error.hovered" | "fg.error.light" | "fg.error.strong" | "fg.information" | "fg.information.light" | "fg.information.strong" | "fg.link.default" | "fg.link.default.hovered" | "fg.link.inverse" | "fg.link.subtle" | "fg.link.visited" | "fg.secondary" | "fg.spinner.default" | "fg.spinner.inverse" | "fg.success" | "fg.success.hovered" | "fg.success.light" | "fg.success.strong" | "fg.tertiary" | "fg.warning" | "fg.warning.hovered" | "fg.warning.inverse" | "fg.warning.light" | "fg.warning.strong" | "fg.white" | "transparent";
1239
+ /**
1240
+ * Set the element's `cursor` CSS property
1241
+ */
1242
+ export type SprinklePropCursor = "default" | "pointer" | "text";
1243
+ /**
1244
+ * Set the element's `display` CSS property
1245
+ */
1246
+ export type SprinklePropDisplay = "block" | "flex" | "grid" | "inline" | "inline-block" | "inline-flex" | "none" | "table" | "table-cell" | "table-row";
1247
+ /**
1248
+ * Set the element's `flex` CSS property
1249
+ */
1250
+ export type SprinklePropFlex = "1" | "auto" | "initial" | "none";
1251
+ /**
1252
+ * Set the element's `flex-direction` CSS property
1253
+ */
1254
+ export type SprinklePropFlexDirection = "column" | "column-reverse" | "row" | "row-reverse";
1255
+ /**
1256
+ * Set the element's `flex-wrap` CSS property
1257
+ */
1258
+ export type SprinklePropFlexWrap = "nowrap" | "wrap";
1259
+ /**
1260
+ * Set the element's font family. Only accepts predefined fontFamily tokens.
1261
+ */
1262
+ export type SprinklePropFontFamily = "mono" | "sans";
1263
+ /**
1264
+ * Set the element's font size and line height (both properties are set together). Only accepts predefined fontSize tokens.
1265
+ */
1266
+ export type SprinklePropFontSize = "2xl" | "3xl" | "4xl" | "inherit" | "lg" | "md" | "sm" | "xl" | "xs";
1267
+ /**
1268
+ * Set the element's `font-weight` CSS property
1269
+ */
1270
+ export type SprinklePropFontWeight = "400" | "500" | "600" | "700" | "inherit";
1271
+ /**
1272
+ * Set the element's `gap` CSS property
1273
+ */
1274
+ export type SprinklePropGap = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1275
+ /**
1276
+ * Set the element's size across grid columns
1277
+ */
1278
+ export type SprinklePropGridColumn = "1" | "2" | "3" | "4";
1279
+ /**
1280
+ * Control number of columns in a grid layout
1281
+ */
1282
+ export type SprinklePropGridTemplateColumns = "1" | "2" | "3" | "4";
1283
+ /**
1284
+ * Set the element's height. Only accepts predefined size tokens.
1285
+ */
1286
+ export type SprinklePropH = "0" | "1/2" | "1/3" | "1/4" | "2/3" | "2xs" | "3/4" | "3xl" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "56" | "64" | "80" | "224" | "384" | "auto" | "fit" | "full" | "lg" | "max" | "md" | "min" | "sm" | "xl" | "xs";
1287
+ /**
1288
+ * Set the element's `justify-content` CSS property
1289
+ */
1290
+ export type SprinklePropJustifyContent = "center" | "end" | "flex-end" | "flex-start" | "normal" | "space-around" | "space-between" | "space-evenly" | "start" | "stretch";
1291
+ /**
1292
+ * Set the element's `justify-items` CSS property
1293
+ */
1294
+ export type SprinklePropJustifyItems = "center" | "end" | "normal" | "start" | "stretch";
1295
+ /**
1296
+ * Set the element's margin on all sides. Only accepts predefined spacing tokens.
1297
+ */
1298
+ export type SprinklePropM = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1299
+ /**
1300
+ * Set the element's maximum height. Only accepts predefined maxSize tokens.
1301
+ */
1302
+ export type SprinklePropMaxH = "full" | "lg" | "md" | "sm" | "xs";
1303
+ /**
1304
+ * Set the element's maximum width. Only accepts predefined maxSize tokens.
1305
+ */
1306
+ export type SprinklePropMaxW = "full" | "lg" | "md" | "sm" | "xs";
1307
+ /**
1308
+ * Set the element's bottom margin. Only accepts predefined spacing tokens.
1309
+ */
1310
+ export type SprinklePropMb = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1311
+ /**
1312
+ * Set the element's left margin. Only accepts predefined spacing tokens.
1313
+ */
1314
+ export type SprinklePropMl = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1315
+ /**
1316
+ * Set the element's right margin. Only accepts predefined spacing tokens.
1317
+ */
1318
+ export type SprinklePropMr = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1319
+ /**
1320
+ * Set the element's top margin. Only accepts predefined spacing tokens.
1321
+ */
1322
+ export type SprinklePropMt = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1323
+ /**
1324
+ * Set the element's left and right margin. Only accepts predefined spacing tokens.
1325
+ */
1326
+ export type SprinklePropMx = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1327
+ /**
1328
+ * Set the element's top and bottom margin. Only accepts predefined spacing tokens.
1329
+ */
1330
+ export type SprinklePropMy = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1331
+ /**
1332
+ * Set the element's `object-fit` CSS property
1333
+ */
1334
+ export type SprinklePropObjectFit = "contain" | "cover" | "fill" | "none";
1335
+ /**
1336
+ * Set the element's `overflow` CSS property
1337
+ */
1338
+ export type SprinklePropOverflow = "auto" | "hidden" | "visible";
1339
+ /**
1340
+ * Set the element's `overflow-x` CSS property
1341
+ */
1342
+ export type SprinklePropOverflowX = "auto" | "hidden" | "visible";
1343
+ /**
1344
+ * Set the element's `overflow-y` CSS property
1345
+ */
1346
+ export type SprinklePropOverflowY = "auto" | "hidden" | "visible";
1347
+ /**
1348
+ * Set the element's padding on all sides. Only accepts predefined spacing tokens.
1349
+ */
1350
+ export type SprinklePropP = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1351
+ /**
1352
+ * Set the element's bottom padding. Only accepts predefined spacing tokens.
1353
+ */
1354
+ export type SprinklePropPb = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1355
+ /**
1356
+ * Set the element's left padding. Only accepts predefined spacing tokens.
1357
+ */
1358
+ export type SprinklePropPl = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1359
+ /**
1360
+ * Set the element's `place-items` CSS property
1361
+ */
1362
+ export type SprinklePropPlaceItems = "center";
1363
+ /**
1364
+ * Set the element's `pointer-events` CSS property
1365
+ */
1366
+ export type SprinklePropPointerEvents = "auto" | "none";
1367
+ /**
1368
+ * Set the element's right padding. Only accepts predefined spacing tokens.
1369
+ */
1370
+ export type SprinklePropPr = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1371
+ /**
1372
+ * Set the element's top padding. Only accepts predefined spacing tokens.
1373
+ */
1374
+ export type SprinklePropPt = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1375
+ /**
1376
+ * Set the element's left and right padding. Only accepts predefined spacing tokens.
1377
+ */
1378
+ export type SprinklePropPx = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1379
+ /**
1380
+ * Set the element's top and bottom padding. Only accepts predefined spacing tokens.
1381
+ */
1382
+ export type SprinklePropPy = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1383
+ /**
1384
+ * Set the element's border radius. Only accepts predefined borderRadius tokens.
1385
+ */
1386
+ export type SprinklePropRounded = "full" | "inherit" | "lg" | "md" | "none" | "sm" | "xl" | "xs";
1387
+ /**
1388
+ * Set the element's box shadow. Only accepts predefined boxShadow tokens.
1389
+ */
1390
+ export type SprinklePropShadow = "lg" | "md" | "none" | "sm" | "xl";
1391
+ /**
1392
+ * Set the element's width and height. Only accepts predefined size tokens.
1393
+ *
1394
+ * When width and height are the same, use `size` instead of setting both
1395
+ * `w` and `h` separately (e.g., prefer `size="24"` over `w="24" h="24"`).
1396
+ */
1397
+ export type SprinklePropSize = "0" | "1/2" | "1/3" | "1/4" | "2/3" | "2xs" | "3/4" | "3xl" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "56" | "64" | "80" | "224" | "384" | "auto" | "fit" | "full" | "lg" | "max" | "md" | "min" | "sm" | "xl" | "xs";
1398
+ /**
1399
+ * Set the element's `text-align` CSS property
1400
+ */
1401
+ export type SprinklePropTextAlign = "center" | "end" | "justify" | "start";
1402
+ /**
1403
+ * Set the element's `text-transform` CSS property
1404
+ */
1405
+ export type SprinklePropTextTransform = "capitalize" | "none" | "uppercase";
1406
+ /**
1407
+ * Control which CSS properties should transition
1408
+ */
1409
+ export type SprinklePropTransition = "all" | "colors" | "none" | "opacity" | "transform";
1410
+ /**
1411
+ * Set the element's width. Only accepts predefined size tokens.
1412
+ */
1413
+ export type SprinklePropW = "0" | "1/2" | "1/3" | "1/4" | "2/3" | "2xs" | "3/4" | "3xl" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "56" | "64" | "80" | "224" | "384" | "auto" | "fit" | "full" | "lg" | "max" | "md" | "min" | "sm" | "xl" | "xs";
1414
+ /**
1415
+ * Set the element's `white-space` CSS property
1416
+ */
1417
+ export type SprinklePropWhiteSpace = "nowrap";
1418
+ /**
1419
+ * Set the element's stacking order. Only accepts predefined zIndex tokens (e.g., popover, toast, tooltip) or numeric values (0, 10, 20, 30, auto).
1420
+ */
1421
+ export type SprinklePropZ = "0" | "10" | "20" | "30" | "auto" | "popover" | "toast" | "tooltip";
1422
+ /**
1423
+ * Builder namespace for Adaptive UI Document components.
1424
+ *
1425
+ * Usage:
1426
+ * UI.Document({ children: [...] })
1427
+ * UI.Heading({ children: "Title", level: "2" })
1428
+ * UI.Input({ name: "field_name", placeholder: "Enter..." })
1429
+ */
1430
+ export declare const UI: {
1431
+ Action: (props: Omit<ProteusAction, "$type">) => ProteusAction;
1432
+ CancelAction: (props: Omit<ProteusCancelAction, "$type">) => ProteusCancelAction;
1433
+ Document: (props: Omit<ProteusDocument, "$type">) => ProteusDocument;
1434
+ Field: (props: Omit<ProteusField, "$type">) => ProteusField;
1435
+ Group: (props: Omit<ProteusGroup, "$type">) => ProteusGroup;
1436
+ Heading: (props: Omit<ProteusHeading, "$type">) => ProteusHeading;
1437
+ Image: (props: Omit<ProteusImage, "$type">) => ProteusImage;
1438
+ Input: (props: Omit<ProteusInput, "$type">) => ProteusInput;
1439
+ Link: (props: Omit<ProteusLink, "$type">) => ProteusLink;
1440
+ Map: (props: Omit<ProteusMap, "$type">) => ProteusMap;
1441
+ MIME_TYPE: "application/vnd.opal.proteus+json";
1442
+ Range: (props: Omit<ProteusRange, "$type">) => ProteusRange;
1443
+ Select: (props: Omit<ProteusSelect, "$type">) => ProteusSelect;
1444
+ SelectContent: (props: Omit<ProteusSelectContent, "$type">) => ProteusSelectContent;
1445
+ SelectTrigger: (props: Omit<ProteusSelectTrigger, "$type">) => ProteusSelectTrigger;
1446
+ Separator: (props: Omit<ProteusSeparator, "$type">) => ProteusSeparator;
1447
+ Show: (props: Omit<ProteusShow, "$type">) => ProteusShow;
1448
+ Text: (props: Omit<ProteusText, "$type">) => ProteusText;
1449
+ Textarea: (props: Omit<ProteusTextarea, "$type">) => ProteusTextarea;
1450
+ Value: (props: Omit<ProteusValue, "$type">) => ProteusValue;
1451
+ };