@optimizely-opal/opal-tools-sdk 0.1.6-dev → 0.1.9-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,1587 @@
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 | ProteusBadge | ProteusCancelAction | ProteusChart | ProteusCondition | ProteusDataTable | 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 ProteusBadge {
161
+ $type: "Badge";
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
+ /**
188
+ * Control the appearance by selecting between the different badge types.
189
+ */
190
+ intent?: "danger" | "information" | "neutral" | "primary" | "success" | "warning";
191
+ justifyContent?: SprinklePropJustifyContent;
192
+ justifyItems?: SprinklePropJustifyItems;
193
+ m?: SprinklePropM;
194
+ maxH?: SprinklePropMaxH;
195
+ maxW?: SprinklePropMaxW;
196
+ mb?: SprinklePropMb;
197
+ ml?: SprinklePropMl;
198
+ mr?: SprinklePropMr;
199
+ mt?: SprinklePropMt;
200
+ mx?: SprinklePropMx;
201
+ my?: SprinklePropMy;
202
+ objectFit?: SprinklePropObjectFit;
203
+ overflow?: SprinklePropOverflow;
204
+ overflowX?: SprinklePropOverflowX;
205
+ overflowY?: SprinklePropOverflowY;
206
+ p?: SprinklePropP;
207
+ pb?: SprinklePropPb;
208
+ pl?: SprinklePropPl;
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
+ size?: SprinklePropSize;
218
+ textAlign?: SprinklePropTextAlign;
219
+ textTransform?: SprinklePropTextTransform;
220
+ transition?: SprinklePropTransition;
221
+ w?: SprinklePropW;
222
+ whiteSpace?: SprinklePropWhiteSpace;
223
+ z?: SprinklePropZ;
224
+ }
225
+ export interface ProteusCancelAction {
226
+ $type: "CancelAction";
227
+ alignItems?: SprinklePropAlignItems;
228
+ alignSelf?: SprinklePropAlignSelf;
229
+ animation?: SprinklePropAnimation;
230
+ backgroundImage?: SprinklePropBackgroundImage;
231
+ bg?: SprinklePropBg;
232
+ border?: SprinklePropBorder;
233
+ borderB?: SprinklePropBorderB;
234
+ borderColor?: SprinklePropBorderColor;
235
+ borderL?: SprinklePropBorderL;
236
+ borderR?: SprinklePropBorderR;
237
+ borderT?: SprinklePropBorderT;
238
+ children?: ProteusNode;
239
+ color?: SprinklePropColor;
240
+ cursor?: SprinklePropCursor;
241
+ display?: SprinklePropDisplay;
242
+ flex?: SprinklePropFlex;
243
+ flexDirection?: SprinklePropFlexDirection;
244
+ flexWrap?: SprinklePropFlexWrap;
245
+ fontFamily?: SprinklePropFontFamily;
246
+ fontSize?: SprinklePropFontSize;
247
+ fontWeight?: SprinklePropFontWeight;
248
+ gap?: SprinklePropGap;
249
+ gridColumn?: SprinklePropGridColumn;
250
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
251
+ h?: SprinklePropH;
252
+ justifyContent?: SprinklePropJustifyContent;
253
+ justifyItems?: SprinklePropJustifyItems;
254
+ m?: SprinklePropM;
255
+ maxH?: SprinklePropMaxH;
256
+ maxW?: SprinklePropMaxW;
257
+ mb?: SprinklePropMb;
258
+ ml?: SprinklePropMl;
259
+ mr?: SprinklePropMr;
260
+ mt?: SprinklePropMt;
261
+ mx?: SprinklePropMx;
262
+ my?: SprinklePropMy;
263
+ objectFit?: SprinklePropObjectFit;
264
+ overflow?: SprinklePropOverflow;
265
+ overflowX?: SprinklePropOverflowX;
266
+ overflowY?: SprinklePropOverflowY;
267
+ p?: SprinklePropP;
268
+ pb?: SprinklePropPb;
269
+ pl?: SprinklePropPl;
270
+ /**
271
+ * Placeholder text for the text input field
272
+ */
273
+ placeholder?: string;
274
+ placeItems?: SprinklePropPlaceItems;
275
+ pointerEvents?: SprinklePropPointerEvents;
276
+ pr?: SprinklePropPr;
277
+ pt?: SprinklePropPt;
278
+ px?: SprinklePropPx;
279
+ py?: SprinklePropPy;
280
+ rounded?: SprinklePropRounded;
281
+ shadow?: SprinklePropShadow;
282
+ textAlign?: SprinklePropTextAlign;
283
+ textTransform?: SprinklePropTextTransform;
284
+ transition?: SprinklePropTransition;
285
+ w?: SprinklePropW;
286
+ whiteSpace?: SprinklePropWhiteSpace;
287
+ z?: SprinklePropZ;
288
+ }
289
+ export interface ProteusChart {
290
+ $type: "Chart";
291
+ /**
292
+ * Chart data records, either inline or a ProteusValue reference
293
+ */
294
+ data?: ProteusValue | {
295
+ [k: string]: undefined | unknown;
296
+ }[];
297
+ /**
298
+ * Data series configuration
299
+ */
300
+ series?: {
301
+ /**
302
+ * Series color
303
+ */
304
+ color?: string;
305
+ /**
306
+ * Key in data records for this series
307
+ */
308
+ dataKey: string;
309
+ /**
310
+ * Key in data records for pre-formatted labels displayed above bars
311
+ */
312
+ labelKey?: string;
313
+ /**
314
+ * Display name for legend
315
+ */
316
+ name?: string;
317
+ }[];
318
+ /**
319
+ * Chart type
320
+ */
321
+ type?: "bar";
322
+ /**
323
+ * Key in data records for x-axis labels
324
+ */
325
+ xAxisKey?: string;
326
+ }
327
+ /**
328
+ * Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting.
329
+ */
330
+ export type ProteusCondition = ProteusAtomicCondition | {
331
+ /**
332
+ * Logical OR - returns true if any condition is true
333
+ *
334
+ * @minItems 1
335
+ */
336
+ or: [
337
+ (ProteusAtomicCondition | {
338
+ /**
339
+ * Logical AND - returns true if all conditions are true
340
+ *
341
+ * @minItems 1
342
+ */
343
+ and: [ProteusAtomicCondition, ...ProteusAtomicCondition[]];
344
+ }),
345
+ ...(ProteusAtomicCondition | {
346
+ /**
347
+ * Logical AND - returns true if all conditions are true
348
+ *
349
+ * @minItems 1
350
+ */
351
+ and: [ProteusAtomicCondition, ...ProteusAtomicCondition[]];
352
+ })[]
353
+ ];
354
+ };
355
+ export interface ProteusDataTable {
356
+ $type: "DataTable";
357
+ /**
358
+ * Column definitions
359
+ */
360
+ columns?: {
361
+ /**
362
+ * Key in data objects
363
+ */
364
+ accessorKey: string;
365
+ /**
366
+ * Column header text
367
+ */
368
+ header: string;
369
+ }[];
370
+ data?: ProteusValue | {
371
+ [k: string]: undefined | unknown;
372
+ }[];
373
+ }
374
+ export interface ProteusDocument {
375
+ $type: "Document";
376
+ /**
377
+ * Actions available for this document
378
+ */
379
+ actions?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
380
+ /**
381
+ * 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.
382
+ */
383
+ appIcon?: string;
384
+ /**
385
+ * The official name of the application
386
+ */
387
+ appName: string;
388
+ /**
389
+ * If true, hides chat prompt and forces user interaction with document. User can press ESC or close to abandon.
390
+ */
391
+ blocking?: boolean;
392
+ /**
393
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
394
+ */
395
+ body: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
396
+ /**
397
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
398
+ */
399
+ subtitle?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
400
+ /**
401
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
402
+ */
403
+ title: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
404
+ }
405
+ /**
406
+ * A single Proteus UI component element identified by its $type discriminator
407
+ */
408
+ export type ProteusElement = ProteusAction | ProteusBadge | ProteusCancelAction | ProteusChart | ProteusDataTable | ProteusField | ProteusGroup | ProteusHeading | ProteusImage | ProteusInput | ProteusLink | ProteusMap | ProteusRange | ProteusSelect | ProteusSelectContent | ProteusSelectTrigger | ProteusSeparator | ProteusShow | ProteusText | ProteusTextarea | ProteusValue;
409
+ /**
410
+ * Handler for user interactions - either a server-side tool call or client-side message
411
+ */
412
+ export type ProteusEventHandler = {
413
+ /**
414
+ * Message to send to LLM via sendNewMessage()
415
+ */
416
+ message: string;
417
+ } | {
418
+ /**
419
+ * Name of registered tool to call
420
+ */
421
+ tool: string;
422
+ };
423
+ export interface ProteusField {
424
+ $type: "Field";
425
+ alignItems?: SprinklePropAlignItems;
426
+ alignSelf?: SprinklePropAlignSelf;
427
+ animation?: SprinklePropAnimation;
428
+ backgroundImage?: SprinklePropBackgroundImage;
429
+ bg?: SprinklePropBg;
430
+ border?: SprinklePropBorder;
431
+ borderB?: SprinklePropBorderB;
432
+ borderColor?: SprinklePropBorderColor;
433
+ borderL?: SprinklePropBorderL;
434
+ borderR?: SprinklePropBorderR;
435
+ borderT?: SprinklePropBorderT;
436
+ children?: ProteusNode;
437
+ color?: SprinklePropColor;
438
+ cursor?: SprinklePropCursor;
439
+ /**
440
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
441
+ */
442
+ description?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
443
+ display?: SprinklePropDisplay;
444
+ flex?: SprinklePropFlex;
445
+ flexDirection?: SprinklePropFlexDirection;
446
+ flexWrap?: SprinklePropFlexWrap;
447
+ fontFamily?: SprinklePropFontFamily;
448
+ fontSize?: SprinklePropFontSize;
449
+ fontWeight?: SprinklePropFontWeight;
450
+ gap?: SprinklePropGap;
451
+ gridColumn?: SprinklePropGridColumn;
452
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
453
+ h?: SprinklePropH;
454
+ /**
455
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
456
+ */
457
+ info?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
458
+ justifyContent?: SprinklePropJustifyContent;
459
+ justifyItems?: SprinklePropJustifyItems;
460
+ /**
461
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
462
+ */
463
+ label?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
464
+ m?: SprinklePropM;
465
+ maxH?: SprinklePropMaxH;
466
+ maxW?: SprinklePropMaxW;
467
+ mb?: SprinklePropMb;
468
+ ml?: SprinklePropMl;
469
+ mr?: SprinklePropMr;
470
+ mt?: SprinklePropMt;
471
+ mx?: SprinklePropMx;
472
+ my?: SprinklePropMy;
473
+ objectFit?: SprinklePropObjectFit;
474
+ overflow?: SprinklePropOverflow;
475
+ overflowX?: SprinklePropOverflowX;
476
+ overflowY?: SprinklePropOverflowY;
477
+ p?: SprinklePropP;
478
+ pb?: SprinklePropPb;
479
+ pl?: SprinklePropPl;
480
+ placeItems?: SprinklePropPlaceItems;
481
+ pointerEvents?: SprinklePropPointerEvents;
482
+ pr?: SprinklePropPr;
483
+ pt?: SprinklePropPt;
484
+ px?: SprinklePropPx;
485
+ py?: SprinklePropPy;
486
+ /**
487
+ * Display an asterisk for required inputs.
488
+ */
489
+ required?: boolean;
490
+ rounded?: SprinklePropRounded;
491
+ shadow?: SprinklePropShadow;
492
+ size?: SprinklePropSize;
493
+ textAlign?: SprinklePropTextAlign;
494
+ textTransform?: SprinklePropTextTransform;
495
+ transition?: SprinklePropTransition;
496
+ w?: SprinklePropW;
497
+ whiteSpace?: SprinklePropWhiteSpace;
498
+ z?: SprinklePropZ;
499
+ }
500
+ export interface ProteusGroup {
501
+ $type: "Group";
502
+ /**
503
+ * Set the element's `align-items` CSS property. Defaults to `center` when
504
+ * `flexDirection='row'`, and `stretch` when `flexDirection='column'`.
505
+ */
506
+ alignItems?: "center" | "end" | "normal" | "start" | "stretch";
507
+ alignSelf?: SprinklePropAlignSelf;
508
+ animation?: SprinklePropAnimation;
509
+ backgroundImage?: SprinklePropBackgroundImage;
510
+ bg?: SprinklePropBg;
511
+ border?: SprinklePropBorder;
512
+ borderB?: SprinklePropBorderB;
513
+ borderColor?: SprinklePropBorderColor;
514
+ borderL?: SprinklePropBorderL;
515
+ borderR?: SprinklePropBorderR;
516
+ borderT?: SprinklePropBorderT;
517
+ children?: ProteusNode;
518
+ color?: SprinklePropColor;
519
+ cursor?: SprinklePropCursor;
520
+ display?: SprinklePropDisplay;
521
+ flex?: SprinklePropFlex;
522
+ /**
523
+ * Set the element's `flex-direction` CSS property.
524
+ *
525
+ * Default: 'row' (CSS standard)
526
+ */
527
+ flexDirection?: "column" | "column-reverse" | "row" | "row-reverse";
528
+ flexWrap?: SprinklePropFlexWrap;
529
+ fontFamily?: SprinklePropFontFamily;
530
+ fontSize?: SprinklePropFontSize;
531
+ fontWeight?: SprinklePropFontWeight;
532
+ gap?: SprinklePropGap;
533
+ gridColumn?: SprinklePropGridColumn;
534
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
535
+ h?: SprinklePropH;
536
+ justifyContent?: SprinklePropJustifyContent;
537
+ justifyItems?: SprinklePropJustifyItems;
538
+ m?: SprinklePropM;
539
+ maxH?: SprinklePropMaxH;
540
+ maxW?: SprinklePropMaxW;
541
+ mb?: SprinklePropMb;
542
+ ml?: SprinklePropMl;
543
+ mr?: SprinklePropMr;
544
+ mt?: SprinklePropMt;
545
+ mx?: SprinklePropMx;
546
+ my?: SprinklePropMy;
547
+ objectFit?: SprinklePropObjectFit;
548
+ overflow?: SprinklePropOverflow;
549
+ overflowX?: SprinklePropOverflowX;
550
+ overflowY?: SprinklePropOverflowY;
551
+ p?: SprinklePropP;
552
+ pb?: SprinklePropPb;
553
+ pl?: SprinklePropPl;
554
+ placeItems?: SprinklePropPlaceItems;
555
+ pointerEvents?: SprinklePropPointerEvents;
556
+ pr?: SprinklePropPr;
557
+ pt?: SprinklePropPt;
558
+ px?: SprinklePropPx;
559
+ py?: SprinklePropPy;
560
+ rounded?: SprinklePropRounded;
561
+ shadow?: SprinklePropShadow;
562
+ size?: SprinklePropSize;
563
+ textAlign?: SprinklePropTextAlign;
564
+ textTransform?: SprinklePropTextTransform;
565
+ transition?: SprinklePropTransition;
566
+ w?: SprinklePropW;
567
+ whiteSpace?: SprinklePropWhiteSpace;
568
+ z?: SprinklePropZ;
569
+ }
570
+ export interface ProteusHeading {
571
+ $type: "Heading";
572
+ alignItems?: SprinklePropAlignItems;
573
+ alignSelf?: SprinklePropAlignSelf;
574
+ animation?: SprinklePropAnimation;
575
+ backgroundImage?: SprinklePropBackgroundImage;
576
+ bg?: SprinklePropBg;
577
+ border?: SprinklePropBorder;
578
+ borderB?: SprinklePropBorderB;
579
+ borderColor?: SprinklePropBorderColor;
580
+ borderL?: SprinklePropBorderL;
581
+ borderR?: SprinklePropBorderR;
582
+ borderT?: SprinklePropBorderT;
583
+ children?: ProteusNode;
584
+ color?: SprinklePropColor;
585
+ cursor?: SprinklePropCursor;
586
+ display?: SprinklePropDisplay;
587
+ flex?: SprinklePropFlex;
588
+ flexDirection?: SprinklePropFlexDirection;
589
+ flexWrap?: SprinklePropFlexWrap;
590
+ fontFamily?: SprinklePropFontFamily;
591
+ fontSize?: SprinklePropFontSize;
592
+ fontWeight?: SprinklePropFontWeight;
593
+ gap?: SprinklePropGap;
594
+ gridColumn?: SprinklePropGridColumn;
595
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
596
+ h?: SprinklePropH;
597
+ justifyContent?: SprinklePropJustifyContent;
598
+ justifyItems?: SprinklePropJustifyItems;
599
+ /**
600
+ * Heading level (1-4) that controls both the semantic HTML tag and font size.
601
+ * - `level="1"`: renders `<h1>` with `fontSize="4xl"` (default)
602
+ * - `level="2"`: renders `<h2>` with `fontSize="3xl"`
603
+ * - `level="3"`: renders `<h3>` with `fontSize="2xl"`
604
+ * - `level="4"`: renders `<h4>` with `fontSize="xl"`
605
+ *
606
+ * Use `asChild` to decouple the semantic level from visual appearance.
607
+ */
608
+ level?: "1" | "2" | "3" | "4";
609
+ m?: SprinklePropM;
610
+ maxH?: SprinklePropMaxH;
611
+ maxW?: SprinklePropMaxW;
612
+ mb?: SprinklePropMb;
613
+ ml?: SprinklePropMl;
614
+ mr?: SprinklePropMr;
615
+ mt?: SprinklePropMt;
616
+ mx?: SprinklePropMx;
617
+ my?: SprinklePropMy;
618
+ objectFit?: SprinklePropObjectFit;
619
+ overflow?: SprinklePropOverflow;
620
+ overflowX?: SprinklePropOverflowX;
621
+ overflowY?: SprinklePropOverflowY;
622
+ p?: SprinklePropP;
623
+ pb?: SprinklePropPb;
624
+ pl?: SprinklePropPl;
625
+ placeItems?: SprinklePropPlaceItems;
626
+ pointerEvents?: SprinklePropPointerEvents;
627
+ pr?: SprinklePropPr;
628
+ pt?: SprinklePropPt;
629
+ px?: SprinklePropPx;
630
+ py?: SprinklePropPy;
631
+ rounded?: SprinklePropRounded;
632
+ shadow?: SprinklePropShadow;
633
+ size?: SprinklePropSize;
634
+ textAlign?: SprinklePropTextAlign;
635
+ textTransform?: SprinklePropTextTransform;
636
+ transition?: SprinklePropTransition;
637
+ w?: SprinklePropW;
638
+ whiteSpace?: SprinklePropWhiteSpace;
639
+ z?: SprinklePropZ;
640
+ }
641
+ export interface ProteusImage {
642
+ $type: "Image";
643
+ alignItems?: SprinklePropAlignItems;
644
+ alignSelf?: SprinklePropAlignSelf;
645
+ /**
646
+ * Alternative text for the image
647
+ */
648
+ alt?: ProteusValue | string;
649
+ animation?: SprinklePropAnimation;
650
+ backgroundImage?: SprinklePropBackgroundImage;
651
+ bg?: SprinklePropBg;
652
+ border?: SprinklePropBorder;
653
+ borderB?: SprinklePropBorderB;
654
+ borderColor?: SprinklePropBorderColor;
655
+ borderL?: SprinklePropBorderL;
656
+ borderR?: SprinklePropBorderR;
657
+ borderT?: SprinklePropBorderT;
658
+ color?: SprinklePropColor;
659
+ cursor?: SprinklePropCursor;
660
+ display?: SprinklePropDisplay;
661
+ flex?: SprinklePropFlex;
662
+ flexDirection?: SprinklePropFlexDirection;
663
+ flexWrap?: SprinklePropFlexWrap;
664
+ fontFamily?: SprinklePropFontFamily;
665
+ fontSize?: SprinklePropFontSize;
666
+ fontWeight?: SprinklePropFontWeight;
667
+ gap?: SprinklePropGap;
668
+ gridColumn?: SprinklePropGridColumn;
669
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
670
+ h?: SprinklePropH;
671
+ justifyContent?: SprinklePropJustifyContent;
672
+ justifyItems?: SprinklePropJustifyItems;
673
+ m?: SprinklePropM;
674
+ maxH?: SprinklePropMaxH;
675
+ maxW?: SprinklePropMaxW;
676
+ mb?: SprinklePropMb;
677
+ ml?: SprinklePropMl;
678
+ mr?: SprinklePropMr;
679
+ mt?: SprinklePropMt;
680
+ mx?: SprinklePropMx;
681
+ my?: SprinklePropMy;
682
+ objectFit?: SprinklePropObjectFit;
683
+ overflow?: SprinklePropOverflow;
684
+ overflowX?: SprinklePropOverflowX;
685
+ overflowY?: SprinklePropOverflowY;
686
+ p?: SprinklePropP;
687
+ pb?: SprinklePropPb;
688
+ pl?: SprinklePropPl;
689
+ placeItems?: SprinklePropPlaceItems;
690
+ pointerEvents?: SprinklePropPointerEvents;
691
+ pr?: SprinklePropPr;
692
+ pt?: SprinklePropPt;
693
+ px?: SprinklePropPx;
694
+ py?: SprinklePropPy;
695
+ rounded?: SprinklePropRounded;
696
+ shadow?: SprinklePropShadow;
697
+ size?: SprinklePropSize;
698
+ /**
699
+ * The image source URL
700
+ */
701
+ src?: ProteusValue | string;
702
+ textAlign?: SprinklePropTextAlign;
703
+ textTransform?: SprinklePropTextTransform;
704
+ transition?: SprinklePropTransition;
705
+ w?: SprinklePropW;
706
+ whiteSpace?: SprinklePropWhiteSpace;
707
+ z?: SprinklePropZ;
708
+ }
709
+ export interface ProteusInput {
710
+ $type: "Input";
711
+ /**
712
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
713
+ */
714
+ addonAfter?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
715
+ /**
716
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
717
+ */
718
+ addonBefore?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
719
+ alignItems?: SprinklePropAlignItems;
720
+ alignSelf?: SprinklePropAlignSelf;
721
+ animation?: SprinklePropAnimation;
722
+ /**
723
+ * Control the appearance of the input.
724
+ */
725
+ appearance?: "default" | "number";
726
+ backgroundImage?: SprinklePropBackgroundImage;
727
+ bg?: SprinklePropBg;
728
+ border?: SprinklePropBorder;
729
+ borderB?: SprinklePropBorderB;
730
+ borderColor?: SprinklePropBorderColor;
731
+ borderL?: SprinklePropBorderL;
732
+ borderR?: SprinklePropBorderR;
733
+ borderT?: SprinklePropBorderT;
734
+ color?: SprinklePropColor;
735
+ cursor?: SprinklePropCursor;
736
+ display?: SprinklePropDisplay;
737
+ flex?: SprinklePropFlex;
738
+ flexDirection?: SprinklePropFlexDirection;
739
+ flexWrap?: SprinklePropFlexWrap;
740
+ fontFamily?: SprinklePropFontFamily;
741
+ fontSize?: SprinklePropFontSize;
742
+ fontWeight?: SprinklePropFontWeight;
743
+ gap?: SprinklePropGap;
744
+ gridColumn?: SprinklePropGridColumn;
745
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
746
+ h?: SprinklePropH;
747
+ justifyContent?: SprinklePropJustifyContent;
748
+ justifyItems?: SprinklePropJustifyItems;
749
+ m?: SprinklePropM;
750
+ maxH?: SprinklePropMaxH;
751
+ maxW?: SprinklePropMaxW;
752
+ mb?: SprinklePropMb;
753
+ ml?: SprinklePropMl;
754
+ mr?: SprinklePropMr;
755
+ mt?: SprinklePropMt;
756
+ mx?: SprinklePropMx;
757
+ my?: SprinklePropMy;
758
+ /**
759
+ * The name of the form control element.
760
+ */
761
+ name?: string;
762
+ objectFit?: SprinklePropObjectFit;
763
+ overflow?: SprinklePropOverflow;
764
+ overflowX?: SprinklePropOverflowX;
765
+ overflowY?: SprinklePropOverflowY;
766
+ p?: SprinklePropP;
767
+ pb?: SprinklePropPb;
768
+ pl?: SprinklePropPl;
769
+ /**
770
+ * The placeholder text to use when control has no value.
771
+ */
772
+ placeholder?: string;
773
+ placeItems?: SprinklePropPlaceItems;
774
+ pointerEvents?: SprinklePropPointerEvents;
775
+ pr?: SprinklePropPr;
776
+ pt?: SprinklePropPt;
777
+ px?: SprinklePropPx;
778
+ py?: SprinklePropPy;
779
+ rounded?: SprinklePropRounded;
780
+ shadow?: SprinklePropShadow;
781
+ textAlign?: SprinklePropTextAlign;
782
+ textTransform?: SprinklePropTextTransform;
783
+ transition?: SprinklePropTransition;
784
+ /**
785
+ * The input type.
786
+ */
787
+ 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;
788
+ w?: SprinklePropW;
789
+ whiteSpace?: SprinklePropWhiteSpace;
790
+ z?: SprinklePropZ;
791
+ }
792
+ export interface ProteusLink {
793
+ $type: "Link";
794
+ alignItems?: SprinklePropAlignItems;
795
+ alignSelf?: SprinklePropAlignSelf;
796
+ animation?: SprinklePropAnimation;
797
+ backgroundImage?: SprinklePropBackgroundImage;
798
+ bg?: SprinklePropBg;
799
+ border?: SprinklePropBorder;
800
+ borderB?: SprinklePropBorderB;
801
+ borderColor?: SprinklePropBorderColor;
802
+ borderL?: SprinklePropBorderL;
803
+ borderR?: SprinklePropBorderR;
804
+ borderT?: SprinklePropBorderT;
805
+ children?: ProteusNode;
806
+ color?: SprinklePropColor;
807
+ cursor?: SprinklePropCursor;
808
+ display?: SprinklePropDisplay;
809
+ flex?: SprinklePropFlex;
810
+ flexDirection?: SprinklePropFlexDirection;
811
+ flexWrap?: SprinklePropFlexWrap;
812
+ fontFamily?: SprinklePropFontFamily;
813
+ fontSize?: SprinklePropFontSize;
814
+ fontWeight?: SprinklePropFontWeight;
815
+ gap?: SprinklePropGap;
816
+ gridColumn?: SprinklePropGridColumn;
817
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
818
+ h?: SprinklePropH;
819
+ /**
820
+ * The link href.
821
+ */
822
+ href?: string;
823
+ justifyContent?: SprinklePropJustifyContent;
824
+ justifyItems?: SprinklePropJustifyItems;
825
+ m?: SprinklePropM;
826
+ maxH?: SprinklePropMaxH;
827
+ maxW?: SprinklePropMaxW;
828
+ mb?: SprinklePropMb;
829
+ ml?: SprinklePropMl;
830
+ mr?: SprinklePropMr;
831
+ mt?: SprinklePropMt;
832
+ mx?: SprinklePropMx;
833
+ my?: SprinklePropMy;
834
+ objectFit?: SprinklePropObjectFit;
835
+ overflow?: SprinklePropOverflow;
836
+ overflowX?: SprinklePropOverflowX;
837
+ overflowY?: SprinklePropOverflowY;
838
+ p?: SprinklePropP;
839
+ pb?: SprinklePropPb;
840
+ pl?: SprinklePropPl;
841
+ placeItems?: SprinklePropPlaceItems;
842
+ pointerEvents?: SprinklePropPointerEvents;
843
+ pr?: SprinklePropPr;
844
+ pt?: SprinklePropPt;
845
+ px?: SprinklePropPx;
846
+ py?: SprinklePropPy;
847
+ rounded?: SprinklePropRounded;
848
+ shadow?: SprinklePropShadow;
849
+ size?: SprinklePropSize;
850
+ textAlign?: SprinklePropTextAlign;
851
+ textTransform?: SprinklePropTextTransform;
852
+ transition?: SprinklePropTransition;
853
+ w?: SprinklePropW;
854
+ whiteSpace?: SprinklePropWhiteSpace;
855
+ z?: SprinklePropZ;
856
+ }
857
+ export interface ProteusMap {
858
+ $type: "Map";
859
+ /**
860
+ * 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').
861
+ */
862
+ children?: {
863
+ [k: string]: undefined | unknown;
864
+ };
865
+ /**
866
+ * JSON pointer path to the source array in the data (e.g., '/results')
867
+ */
868
+ path: string;
869
+ }
870
+ /**
871
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
872
+ */
873
+ export type ProteusNode = (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
874
+ export interface ProteusRange {
875
+ $type: "Range";
876
+ alignItems?: SprinklePropAlignItems;
877
+ alignSelf?: SprinklePropAlignSelf;
878
+ animation?: SprinklePropAnimation;
879
+ backgroundImage?: SprinklePropBackgroundImage;
880
+ bg?: SprinklePropBg;
881
+ border?: SprinklePropBorder;
882
+ borderB?: SprinklePropBorderB;
883
+ borderColor?: SprinklePropBorderColor;
884
+ borderL?: SprinklePropBorderL;
885
+ borderR?: SprinklePropBorderR;
886
+ borderT?: SprinklePropBorderT;
887
+ color?: SprinklePropColor;
888
+ cursor?: SprinklePropCursor;
889
+ display?: SprinklePropDisplay;
890
+ flex?: SprinklePropFlex;
891
+ flexDirection?: SprinklePropFlexDirection;
892
+ flexWrap?: SprinklePropFlexWrap;
893
+ fontFamily?: SprinklePropFontFamily;
894
+ fontSize?: SprinklePropFontSize;
895
+ fontWeight?: SprinklePropFontWeight;
896
+ gap?: SprinklePropGap;
897
+ gridColumn?: SprinklePropGridColumn;
898
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
899
+ h?: SprinklePropH;
900
+ justifyContent?: SprinklePropJustifyContent;
901
+ justifyItems?: SprinklePropJustifyItems;
902
+ m?: SprinklePropM;
903
+ /**
904
+ * The marks to display on the range steps.
905
+ */
906
+ marks?: (number | {
907
+ /**
908
+ * The label for the mark
909
+ */
910
+ label: string;
911
+ /**
912
+ * The value for the mark
913
+ */
914
+ value: number;
915
+ })[];
916
+ /**
917
+ * The maximum value for the range.
918
+ */
919
+ max?: number;
920
+ maxH?: SprinklePropMaxH;
921
+ maxW?: SprinklePropMaxW;
922
+ mb?: SprinklePropMb;
923
+ /**
924
+ * The minimum value for the range.
925
+ */
926
+ min?: number;
927
+ ml?: SprinklePropMl;
928
+ mr?: SprinklePropMr;
929
+ mt?: SprinklePropMt;
930
+ mx?: SprinklePropMx;
931
+ my?: SprinklePropMy;
932
+ objectFit?: SprinklePropObjectFit;
933
+ overflow?: SprinklePropOverflow;
934
+ overflowX?: SprinklePropOverflowX;
935
+ overflowY?: SprinklePropOverflowY;
936
+ p?: SprinklePropP;
937
+ pb?: SprinklePropPb;
938
+ pl?: SprinklePropPl;
939
+ placeItems?: SprinklePropPlaceItems;
940
+ pointerEvents?: SprinklePropPointerEvents;
941
+ pr?: SprinklePropPr;
942
+ pt?: SprinklePropPt;
943
+ px?: SprinklePropPx;
944
+ py?: SprinklePropPy;
945
+ rounded?: SprinklePropRounded;
946
+ shadow?: SprinklePropShadow;
947
+ /**
948
+ * The stepping interval for the range.
949
+ */
950
+ step?: number;
951
+ textAlign?: SprinklePropTextAlign;
952
+ textTransform?: SprinklePropTextTransform;
953
+ transition?: SprinklePropTransition;
954
+ w?: SprinklePropW;
955
+ whiteSpace?: SprinklePropWhiteSpace;
956
+ z?: SprinklePropZ;
957
+ }
958
+ export interface ProteusSelect {
959
+ $type: "Select";
960
+ children?: ProteusNode;
961
+ /**
962
+ * The name of the inner select element.
963
+ */
964
+ name?: string;
965
+ /**
966
+ * The select items/options we want to render.
967
+ */
968
+ options: {
969
+ /**
970
+ * String representation of items
971
+ */
972
+ label: string;
973
+ /**
974
+ * Return a unique key for each item
975
+ */
976
+ value: string;
977
+ }[];
978
+ }
979
+ export interface ProteusSelectContent {
980
+ $type: "SelectContent";
981
+ alignItems?: SprinklePropAlignItems;
982
+ alignSelf?: SprinklePropAlignSelf;
983
+ animation?: SprinklePropAnimation;
984
+ backgroundImage?: SprinklePropBackgroundImage;
985
+ bg?: SprinklePropBg;
986
+ border?: SprinklePropBorder;
987
+ borderB?: SprinklePropBorderB;
988
+ borderColor?: SprinklePropBorderColor;
989
+ borderL?: SprinklePropBorderL;
990
+ borderR?: SprinklePropBorderR;
991
+ borderT?: SprinklePropBorderT;
992
+ color?: SprinklePropColor;
993
+ cursor?: SprinklePropCursor;
994
+ display?: SprinklePropDisplay;
995
+ flex?: SprinklePropFlex;
996
+ flexDirection?: SprinklePropFlexDirection;
997
+ flexWrap?: SprinklePropFlexWrap;
998
+ fontFamily?: SprinklePropFontFamily;
999
+ fontSize?: SprinklePropFontSize;
1000
+ fontWeight?: SprinklePropFontWeight;
1001
+ gap?: SprinklePropGap;
1002
+ gridColumn?: SprinklePropGridColumn;
1003
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1004
+ h?: SprinklePropH;
1005
+ justifyContent?: SprinklePropJustifyContent;
1006
+ justifyItems?: SprinklePropJustifyItems;
1007
+ m?: SprinklePropM;
1008
+ maxW?: SprinklePropMaxW;
1009
+ mb?: SprinklePropMb;
1010
+ ml?: SprinklePropMl;
1011
+ mr?: SprinklePropMr;
1012
+ mt?: SprinklePropMt;
1013
+ mx?: SprinklePropMx;
1014
+ my?: SprinklePropMy;
1015
+ objectFit?: SprinklePropObjectFit;
1016
+ overflow?: SprinklePropOverflow;
1017
+ overflowX?: SprinklePropOverflowX;
1018
+ overflowY?: SprinklePropOverflowY;
1019
+ p?: SprinklePropP;
1020
+ pb?: SprinklePropPb;
1021
+ pl?: SprinklePropPl;
1022
+ placeItems?: SprinklePropPlaceItems;
1023
+ pointerEvents?: SprinklePropPointerEvents;
1024
+ pr?: SprinklePropPr;
1025
+ pt?: SprinklePropPt;
1026
+ px?: SprinklePropPx;
1027
+ py?: SprinklePropPy;
1028
+ rounded?: SprinklePropRounded;
1029
+ shadow?: SprinklePropShadow;
1030
+ size?: SprinklePropSize;
1031
+ textAlign?: SprinklePropTextAlign;
1032
+ textTransform?: SprinklePropTextTransform;
1033
+ transition?: SprinklePropTransition;
1034
+ w?: SprinklePropW;
1035
+ whiteSpace?: SprinklePropWhiteSpace;
1036
+ z?: SprinklePropZ;
1037
+ }
1038
+ export interface ProteusSelectTrigger {
1039
+ $type: "SelectTrigger";
1040
+ alignItems?: SprinklePropAlignItems;
1041
+ alignSelf?: SprinklePropAlignSelf;
1042
+ animation?: SprinklePropAnimation;
1043
+ backgroundImage?: SprinklePropBackgroundImage;
1044
+ bg?: SprinklePropBg;
1045
+ border?: SprinklePropBorder;
1046
+ borderB?: SprinklePropBorderB;
1047
+ borderColor?: SprinklePropBorderColor;
1048
+ borderL?: SprinklePropBorderL;
1049
+ borderR?: SprinklePropBorderR;
1050
+ borderT?: SprinklePropBorderT;
1051
+ children?: ProteusNode;
1052
+ color?: SprinklePropColor;
1053
+ cursor?: SprinklePropCursor;
1054
+ display?: SprinklePropDisplay;
1055
+ flex?: SprinklePropFlex;
1056
+ flexDirection?: SprinklePropFlexDirection;
1057
+ flexWrap?: SprinklePropFlexWrap;
1058
+ fontFamily?: SprinklePropFontFamily;
1059
+ fontSize?: SprinklePropFontSize;
1060
+ fontWeight?: SprinklePropFontWeight;
1061
+ gap?: SprinklePropGap;
1062
+ gridColumn?: SprinklePropGridColumn;
1063
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1064
+ h?: SprinklePropH;
1065
+ justifyContent?: SprinklePropJustifyContent;
1066
+ justifyItems?: SprinklePropJustifyItems;
1067
+ m?: SprinklePropM;
1068
+ maxH?: SprinklePropMaxH;
1069
+ maxW?: SprinklePropMaxW;
1070
+ mb?: SprinklePropMb;
1071
+ ml?: SprinklePropMl;
1072
+ mr?: SprinklePropMr;
1073
+ mt?: SprinklePropMt;
1074
+ mx?: SprinklePropMx;
1075
+ my?: SprinklePropMy;
1076
+ objectFit?: SprinklePropObjectFit;
1077
+ overflow?: SprinklePropOverflow;
1078
+ overflowX?: SprinklePropOverflowX;
1079
+ overflowY?: SprinklePropOverflowY;
1080
+ p?: SprinklePropP;
1081
+ pb?: SprinklePropPb;
1082
+ pl?: SprinklePropPl;
1083
+ placeItems?: SprinklePropPlaceItems;
1084
+ pointerEvents?: SprinklePropPointerEvents;
1085
+ pr?: SprinklePropPr;
1086
+ pt?: SprinklePropPt;
1087
+ px?: SprinklePropPx;
1088
+ py?: SprinklePropPy;
1089
+ rounded?: SprinklePropRounded;
1090
+ shadow?: SprinklePropShadow;
1091
+ textAlign?: SprinklePropTextAlign;
1092
+ textTransform?: SprinklePropTextTransform;
1093
+ transition?: SprinklePropTransition;
1094
+ w?: SprinklePropW;
1095
+ whiteSpace?: SprinklePropWhiteSpace;
1096
+ z?: SprinklePropZ;
1097
+ }
1098
+ export interface ProteusSeparator {
1099
+ $type: "Separator";
1100
+ alignItems?: SprinklePropAlignItems;
1101
+ alignSelf?: SprinklePropAlignSelf;
1102
+ animation?: SprinklePropAnimation;
1103
+ backgroundImage?: SprinklePropBackgroundImage;
1104
+ bg?: SprinklePropBg;
1105
+ border?: SprinklePropBorder;
1106
+ borderB?: SprinklePropBorderB;
1107
+ borderColor?: SprinklePropBorderColor;
1108
+ borderL?: SprinklePropBorderL;
1109
+ borderR?: SprinklePropBorderR;
1110
+ borderT?: SprinklePropBorderT;
1111
+ color?: SprinklePropColor;
1112
+ cursor?: SprinklePropCursor;
1113
+ display?: SprinklePropDisplay;
1114
+ flex?: SprinklePropFlex;
1115
+ flexDirection?: SprinklePropFlexDirection;
1116
+ flexWrap?: SprinklePropFlexWrap;
1117
+ fontFamily?: SprinklePropFontFamily;
1118
+ fontSize?: SprinklePropFontSize;
1119
+ fontWeight?: SprinklePropFontWeight;
1120
+ gap?: SprinklePropGap;
1121
+ gridColumn?: SprinklePropGridColumn;
1122
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1123
+ h?: SprinklePropH;
1124
+ justifyContent?: SprinklePropJustifyContent;
1125
+ justifyItems?: SprinklePropJustifyItems;
1126
+ m?: SprinklePropM;
1127
+ maxH?: SprinklePropMaxH;
1128
+ maxW?: SprinklePropMaxW;
1129
+ mb?: SprinklePropMb;
1130
+ ml?: SprinklePropMl;
1131
+ mr?: SprinklePropMr;
1132
+ mt?: SprinklePropMt;
1133
+ mx?: SprinklePropMx;
1134
+ my?: SprinklePropMy;
1135
+ objectFit?: SprinklePropObjectFit;
1136
+ overflow?: SprinklePropOverflow;
1137
+ overflowX?: SprinklePropOverflowX;
1138
+ overflowY?: SprinklePropOverflowY;
1139
+ p?: SprinklePropP;
1140
+ pb?: SprinklePropPb;
1141
+ pl?: SprinklePropPl;
1142
+ placeItems?: SprinklePropPlaceItems;
1143
+ pointerEvents?: SprinklePropPointerEvents;
1144
+ pr?: SprinklePropPr;
1145
+ pt?: SprinklePropPt;
1146
+ px?: SprinklePropPx;
1147
+ py?: SprinklePropPy;
1148
+ rounded?: SprinklePropRounded;
1149
+ shadow?: SprinklePropShadow;
1150
+ size?: SprinklePropSize;
1151
+ textAlign?: SprinklePropTextAlign;
1152
+ textTransform?: SprinklePropTextTransform;
1153
+ transition?: SprinklePropTransition;
1154
+ w?: SprinklePropW;
1155
+ whiteSpace?: SprinklePropWhiteSpace;
1156
+ z?: SprinklePropZ;
1157
+ }
1158
+ export interface ProteusShow {
1159
+ $type: "Show";
1160
+ /**
1161
+ * A Proteus node can be a string, number, boolean, null, a single element, or an array of these types (similar to ReactNode)
1162
+ */
1163
+ children?: (boolean | null | number | ProteusElement | string)[] | boolean | null | number | ProteusElement | string;
1164
+ /**
1165
+ * Single condition or array of conditions (AND logic). Each condition is an object with one operator key.
1166
+ */
1167
+ when?: ProteusCondition | ProteusCondition[];
1168
+ }
1169
+ export interface ProteusText {
1170
+ $type: "Text";
1171
+ alignItems?: SprinklePropAlignItems;
1172
+ alignSelf?: SprinklePropAlignSelf;
1173
+ animation?: SprinklePropAnimation;
1174
+ backgroundImage?: SprinklePropBackgroundImage;
1175
+ bg?: SprinklePropBg;
1176
+ border?: SprinklePropBorder;
1177
+ borderB?: SprinklePropBorderB;
1178
+ borderColor?: SprinklePropBorderColor;
1179
+ borderL?: SprinklePropBorderL;
1180
+ borderR?: SprinklePropBorderR;
1181
+ borderT?: SprinklePropBorderT;
1182
+ children?: ProteusNode;
1183
+ color?: SprinklePropColor;
1184
+ cursor?: SprinklePropCursor;
1185
+ display?: SprinklePropDisplay;
1186
+ flex?: SprinklePropFlex;
1187
+ flexDirection?: SprinklePropFlexDirection;
1188
+ flexWrap?: SprinklePropFlexWrap;
1189
+ fontFamily?: SprinklePropFontFamily;
1190
+ fontSize?: SprinklePropFontSize;
1191
+ fontWeight?: SprinklePropFontWeight;
1192
+ gap?: SprinklePropGap;
1193
+ gridColumn?: SprinklePropGridColumn;
1194
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1195
+ h?: SprinklePropH;
1196
+ justifyContent?: SprinklePropJustifyContent;
1197
+ justifyItems?: SprinklePropJustifyItems;
1198
+ /**
1199
+ * Truncate the text at specific number of lines.
1200
+ */
1201
+ lineClamp?: "1" | "2" | "3" | "4";
1202
+ m?: SprinklePropM;
1203
+ maxH?: SprinklePropMaxH;
1204
+ maxW?: SprinklePropMaxW;
1205
+ mb?: SprinklePropMb;
1206
+ ml?: SprinklePropMl;
1207
+ mr?: SprinklePropMr;
1208
+ mt?: SprinklePropMt;
1209
+ mx?: SprinklePropMx;
1210
+ my?: SprinklePropMy;
1211
+ objectFit?: SprinklePropObjectFit;
1212
+ overflow?: SprinklePropOverflow;
1213
+ overflowX?: SprinklePropOverflowX;
1214
+ overflowY?: SprinklePropOverflowY;
1215
+ p?: SprinklePropP;
1216
+ pb?: SprinklePropPb;
1217
+ pl?: SprinklePropPl;
1218
+ placeItems?: SprinklePropPlaceItems;
1219
+ pointerEvents?: SprinklePropPointerEvents;
1220
+ pr?: SprinklePropPr;
1221
+ pt?: SprinklePropPt;
1222
+ px?: SprinklePropPx;
1223
+ py?: SprinklePropPy;
1224
+ rounded?: SprinklePropRounded;
1225
+ shadow?: SprinklePropShadow;
1226
+ size?: SprinklePropSize;
1227
+ textAlign?: SprinklePropTextAlign;
1228
+ textTransform?: SprinklePropTextTransform;
1229
+ transition?: SprinklePropTransition;
1230
+ /**
1231
+ * Whether to truncate the text and add an ellipsis at the end.
1232
+ */
1233
+ truncate?: boolean;
1234
+ w?: SprinklePropW;
1235
+ whiteSpace?: SprinklePropWhiteSpace;
1236
+ z?: SprinklePropZ;
1237
+ }
1238
+ export interface ProteusTextarea {
1239
+ $type: "Textarea";
1240
+ alignItems?: SprinklePropAlignItems;
1241
+ alignSelf?: SprinklePropAlignSelf;
1242
+ animation?: SprinklePropAnimation;
1243
+ backgroundImage?: SprinklePropBackgroundImage;
1244
+ bg?: SprinklePropBg;
1245
+ border?: SprinklePropBorder;
1246
+ borderB?: SprinklePropBorderB;
1247
+ borderColor?: SprinklePropBorderColor;
1248
+ borderL?: SprinklePropBorderL;
1249
+ borderR?: SprinklePropBorderR;
1250
+ borderT?: SprinklePropBorderT;
1251
+ color?: SprinklePropColor;
1252
+ cursor?: SprinklePropCursor;
1253
+ display?: SprinklePropDisplay;
1254
+ flex?: SprinklePropFlex;
1255
+ flexDirection?: SprinklePropFlexDirection;
1256
+ flexWrap?: SprinklePropFlexWrap;
1257
+ fontFamily?: SprinklePropFontFamily;
1258
+ fontSize?: SprinklePropFontSize;
1259
+ fontWeight?: SprinklePropFontWeight;
1260
+ gap?: SprinklePropGap;
1261
+ gridColumn?: SprinklePropGridColumn;
1262
+ gridTemplateColumns?: SprinklePropGridTemplateColumns;
1263
+ h?: SprinklePropH;
1264
+ justifyContent?: SprinklePropJustifyContent;
1265
+ justifyItems?: SprinklePropJustifyItems;
1266
+ m?: SprinklePropM;
1267
+ maxH?: SprinklePropMaxH;
1268
+ /**
1269
+ * Limits the height of the textarea when `resize=auto` is used.
1270
+ */
1271
+ maxRows?: 1 | 2 | 3 | 4 | 5;
1272
+ maxW?: SprinklePropMaxW;
1273
+ mb?: SprinklePropMb;
1274
+ ml?: SprinklePropMl;
1275
+ mr?: SprinklePropMr;
1276
+ mt?: SprinklePropMt;
1277
+ mx?: SprinklePropMx;
1278
+ my?: SprinklePropMy;
1279
+ /**
1280
+ * The name of the form control element.
1281
+ */
1282
+ name?: string;
1283
+ objectFit?: SprinklePropObjectFit;
1284
+ overflow?: SprinklePropOverflow;
1285
+ overflowX?: SprinklePropOverflowX;
1286
+ overflowY?: SprinklePropOverflowY;
1287
+ p?: SprinklePropP;
1288
+ pb?: SprinklePropPb;
1289
+ pl?: SprinklePropPl;
1290
+ /**
1291
+ * The placeholder text to use when control has no value.
1292
+ */
1293
+ placeholder?: string;
1294
+ placeItems?: SprinklePropPlaceItems;
1295
+ pointerEvents?: SprinklePropPointerEvents;
1296
+ pr?: SprinklePropPr;
1297
+ pt?: SprinklePropPt;
1298
+ px?: SprinklePropPx;
1299
+ py?: SprinklePropPy;
1300
+ /**
1301
+ * Control whether resizing mode is manual, automatic, or disabled.
1302
+ */
1303
+ resize?: "auto" | "none" | "vertical";
1304
+ rounded?: SprinklePropRounded;
1305
+ /**
1306
+ * The number of rows to display.
1307
+ */
1308
+ rows?: number;
1309
+ shadow?: SprinklePropShadow;
1310
+ textAlign?: SprinklePropTextAlign;
1311
+ textTransform?: SprinklePropTextTransform;
1312
+ transition?: SprinklePropTransition;
1313
+ w?: SprinklePropW;
1314
+ whiteSpace?: SprinklePropWhiteSpace;
1315
+ z?: SprinklePropZ;
1316
+ }
1317
+ export interface ProteusValue {
1318
+ $type: "Value";
1319
+ /**
1320
+ * 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).
1321
+ */
1322
+ path: string;
1323
+ }
1324
+ /**
1325
+ * Set the element's `align-items` CSS property
1326
+ */
1327
+ export type SprinklePropAlignItems = "center" | "end" | "normal" | "start" | "stretch";
1328
+ /**
1329
+ * Set the element's `align-self` CSS property
1330
+ */
1331
+ export type SprinklePropAlignSelf = "center" | "end" | "normal" | "start" | "stretch";
1332
+ /**
1333
+ * Animate element with CSS animations
1334
+ */
1335
+ export type SprinklePropAnimation = "ping" | "pulse" | "spin";
1336
+ /**
1337
+ * Set the element's `background-image` CSS property
1338
+ */
1339
+ export type SprinklePropBackgroundImage = "gradient.opal";
1340
+ /**
1341
+ * 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`.
1342
+ */
1343
+ 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";
1344
+ /**
1345
+ * Set the element's `border-width` CSS property
1346
+ */
1347
+ export type SprinklePropBorder = "0" | "1" | "2";
1348
+ /**
1349
+ * Set the element's `border-bottom-width` CSS property
1350
+ */
1351
+ export type SprinklePropBorderB = "0" | "1" | "2";
1352
+ /**
1353
+ * 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`.
1354
+ */
1355
+ 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";
1356
+ /**
1357
+ * Set the element's `border-left-width` CSS property
1358
+ */
1359
+ export type SprinklePropBorderL = "0" | "1" | "2";
1360
+ /**
1361
+ * Set the element's `border-right-width` CSS property
1362
+ */
1363
+ export type SprinklePropBorderR = "0" | "1" | "2";
1364
+ /**
1365
+ * Set the element's `border-top-width` CSS property
1366
+ */
1367
+ export type SprinklePropBorderT = "0" | "1" | "2";
1368
+ /**
1369
+ * 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`.
1370
+ */
1371
+ 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";
1372
+ /**
1373
+ * Set the element's `cursor` CSS property
1374
+ */
1375
+ export type SprinklePropCursor = "default" | "pointer" | "text";
1376
+ /**
1377
+ * Set the element's `display` CSS property
1378
+ */
1379
+ export type SprinklePropDisplay = "block" | "flex" | "grid" | "inline" | "inline-block" | "inline-flex" | "none" | "table" | "table-cell" | "table-row";
1380
+ /**
1381
+ * Set the element's `flex` CSS property
1382
+ */
1383
+ export type SprinklePropFlex = "1" | "auto" | "initial" | "none";
1384
+ /**
1385
+ * Set the element's `flex-direction` CSS property
1386
+ */
1387
+ export type SprinklePropFlexDirection = "column" | "column-reverse" | "row" | "row-reverse";
1388
+ /**
1389
+ * Set the element's `flex-wrap` CSS property
1390
+ */
1391
+ export type SprinklePropFlexWrap = "nowrap" | "wrap";
1392
+ /**
1393
+ * Set the element's font family. Only accepts predefined fontFamily tokens.
1394
+ */
1395
+ export type SprinklePropFontFamily = "mono" | "sans";
1396
+ /**
1397
+ * Set the element's font size and line height (both properties are set together). Only accepts predefined fontSize tokens.
1398
+ */
1399
+ export type SprinklePropFontSize = "2xl" | "3xl" | "4xl" | "inherit" | "lg" | "md" | "sm" | "xl" | "xs";
1400
+ /**
1401
+ * Set the element's `font-weight` CSS property
1402
+ */
1403
+ export type SprinklePropFontWeight = "400" | "500" | "600" | "700" | "inherit";
1404
+ /**
1405
+ * Set the element's `gap` CSS property
1406
+ */
1407
+ export type SprinklePropGap = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1408
+ /**
1409
+ * Set the element's size across grid columns
1410
+ */
1411
+ export type SprinklePropGridColumn = "1" | "2" | "3" | "4";
1412
+ /**
1413
+ * Control number of columns in a grid layout
1414
+ */
1415
+ export type SprinklePropGridTemplateColumns = "1" | "2" | "3" | "4";
1416
+ /**
1417
+ * Set the element's height. Only accepts predefined size tokens.
1418
+ */
1419
+ 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";
1420
+ /**
1421
+ * Set the element's `justify-content` CSS property
1422
+ */
1423
+ export type SprinklePropJustifyContent = "center" | "end" | "flex-end" | "flex-start" | "normal" | "space-around" | "space-between" | "space-evenly" | "start" | "stretch";
1424
+ /**
1425
+ * Set the element's `justify-items` CSS property
1426
+ */
1427
+ export type SprinklePropJustifyItems = "center" | "end" | "normal" | "start" | "stretch";
1428
+ /**
1429
+ * Set the element's margin on all sides. Only accepts predefined spacing tokens.
1430
+ */
1431
+ export type SprinklePropM = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1432
+ /**
1433
+ * Set the element's maximum height. Only accepts predefined maxSize tokens.
1434
+ */
1435
+ export type SprinklePropMaxH = "full" | "lg" | "md" | "sm" | "xs";
1436
+ /**
1437
+ * Set the element's maximum width. Only accepts predefined maxSize tokens.
1438
+ */
1439
+ export type SprinklePropMaxW = "full" | "lg" | "md" | "sm" | "xs";
1440
+ /**
1441
+ * Set the element's bottom margin. Only accepts predefined spacing tokens.
1442
+ */
1443
+ export type SprinklePropMb = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1444
+ /**
1445
+ * Set the element's left margin. Only accepts predefined spacing tokens.
1446
+ */
1447
+ export type SprinklePropMl = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1448
+ /**
1449
+ * Set the element's right margin. Only accepts predefined spacing tokens.
1450
+ */
1451
+ export type SprinklePropMr = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1452
+ /**
1453
+ * Set the element's top margin. Only accepts predefined spacing tokens.
1454
+ */
1455
+ export type SprinklePropMt = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1456
+ /**
1457
+ * Set the element's left and right margin. Only accepts predefined spacing tokens.
1458
+ */
1459
+ export type SprinklePropMx = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1460
+ /**
1461
+ * Set the element's top and bottom margin. Only accepts predefined spacing tokens.
1462
+ */
1463
+ export type SprinklePropMy = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80" | "auto";
1464
+ /**
1465
+ * Set the element's `object-fit` CSS property
1466
+ */
1467
+ export type SprinklePropObjectFit = "contain" | "cover" | "fill" | "none";
1468
+ /**
1469
+ * Set the element's `overflow` CSS property
1470
+ */
1471
+ export type SprinklePropOverflow = "auto" | "hidden" | "visible";
1472
+ /**
1473
+ * Set the element's `overflow-x` CSS property
1474
+ */
1475
+ export type SprinklePropOverflowX = "auto" | "hidden" | "visible";
1476
+ /**
1477
+ * Set the element's `overflow-y` CSS property
1478
+ */
1479
+ export type SprinklePropOverflowY = "auto" | "hidden" | "visible";
1480
+ /**
1481
+ * Set the element's padding on all sides. Only accepts predefined spacing tokens.
1482
+ */
1483
+ export type SprinklePropP = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1484
+ /**
1485
+ * Set the element's bottom padding. Only accepts predefined spacing tokens.
1486
+ */
1487
+ export type SprinklePropPb = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1488
+ /**
1489
+ * Set the element's left padding. Only accepts predefined spacing tokens.
1490
+ */
1491
+ export type SprinklePropPl = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1492
+ /**
1493
+ * Set the element's `place-items` CSS property
1494
+ */
1495
+ export type SprinklePropPlaceItems = "center";
1496
+ /**
1497
+ * Set the element's `pointer-events` CSS property
1498
+ */
1499
+ export type SprinklePropPointerEvents = "auto" | "none";
1500
+ /**
1501
+ * Set the element's right padding. Only accepts predefined spacing tokens.
1502
+ */
1503
+ export type SprinklePropPr = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1504
+ /**
1505
+ * Set the element's top padding. Only accepts predefined spacing tokens.
1506
+ */
1507
+ export type SprinklePropPt = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1508
+ /**
1509
+ * Set the element's left and right padding. Only accepts predefined spacing tokens.
1510
+ */
1511
+ export type SprinklePropPx = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1512
+ /**
1513
+ * Set the element's top and bottom padding. Only accepts predefined spacing tokens.
1514
+ */
1515
+ export type SprinklePropPy = "0" | "2" | "4" | "6" | "8" | "10" | "12" | "16" | "20" | "24" | "32" | "40" | "48" | "64" | "80";
1516
+ /**
1517
+ * Set the element's border radius. Only accepts predefined borderRadius tokens.
1518
+ */
1519
+ export type SprinklePropRounded = "full" | "inherit" | "lg" | "md" | "none" | "sm" | "xl" | "xs";
1520
+ /**
1521
+ * Set the element's box shadow. Only accepts predefined boxShadow tokens.
1522
+ */
1523
+ export type SprinklePropShadow = "lg" | "md" | "none" | "sm" | "xl";
1524
+ /**
1525
+ * Set the element's width and height. Only accepts predefined size tokens.
1526
+ *
1527
+ * When width and height are the same, use `size` instead of setting both
1528
+ * `w` and `h` separately (e.g., prefer `size="24"` over `w="24" h="24"`).
1529
+ */
1530
+ 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";
1531
+ /**
1532
+ * Set the element's `text-align` CSS property
1533
+ */
1534
+ export type SprinklePropTextAlign = "center" | "end" | "justify" | "start";
1535
+ /**
1536
+ * Set the element's `text-transform` CSS property
1537
+ */
1538
+ export type SprinklePropTextTransform = "capitalize" | "none" | "uppercase";
1539
+ /**
1540
+ * Control which CSS properties should transition
1541
+ */
1542
+ export type SprinklePropTransition = "all" | "colors" | "none" | "opacity" | "transform";
1543
+ /**
1544
+ * Set the element's width. Only accepts predefined size tokens.
1545
+ */
1546
+ 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";
1547
+ /**
1548
+ * Set the element's `white-space` CSS property
1549
+ */
1550
+ export type SprinklePropWhiteSpace = "nowrap";
1551
+ /**
1552
+ * Set the element's stacking order. Only accepts predefined zIndex tokens (e.g., popover, toast, tooltip) or numeric values (0, 10, 20, 30, auto).
1553
+ */
1554
+ export type SprinklePropZ = "0" | "10" | "20" | "30" | "auto" | "popover" | "toast" | "tooltip";
1555
+ /**
1556
+ * Builder namespace for Adaptive UI Document components.
1557
+ *
1558
+ * Usage:
1559
+ * UI.Document({ children: [...] })
1560
+ * UI.Heading({ children: "Title", level: "2" })
1561
+ * UI.Input({ name: "field_name", placeholder: "Enter..." })
1562
+ */
1563
+ export declare const UI: {
1564
+ Action: (props: Omit<ProteusAction, "$type">) => ProteusAction;
1565
+ Badge: (props: Omit<ProteusBadge, "$type">) => ProteusBadge;
1566
+ CancelAction: (props: Omit<ProteusCancelAction, "$type">) => ProteusCancelAction;
1567
+ Chart: (props: Omit<ProteusChart, "$type">) => ProteusChart;
1568
+ DataTable: (props: Omit<ProteusDataTable, "$type">) => ProteusDataTable;
1569
+ Document: (props: Omit<ProteusDocument, "$type">) => ProteusDocument;
1570
+ Field: (props: Omit<ProteusField, "$type">) => ProteusField;
1571
+ Group: (props: Omit<ProteusGroup, "$type">) => ProteusGroup;
1572
+ Heading: (props: Omit<ProteusHeading, "$type">) => ProteusHeading;
1573
+ Image: (props: Omit<ProteusImage, "$type">) => ProteusImage;
1574
+ Input: (props: Omit<ProteusInput, "$type">) => ProteusInput;
1575
+ Link: (props: Omit<ProteusLink, "$type">) => ProteusLink;
1576
+ Map: (props: Omit<ProteusMap, "$type">) => ProteusMap;
1577
+ MIME_TYPE: "application/vnd.opal.proteus+json";
1578
+ Range: (props: Omit<ProteusRange, "$type">) => ProteusRange;
1579
+ Select: (props: Omit<ProteusSelect, "$type">) => ProteusSelect;
1580
+ SelectContent: (props: Omit<ProteusSelectContent, "$type">) => ProteusSelectContent;
1581
+ SelectTrigger: (props: Omit<ProteusSelectTrigger, "$type">) => ProteusSelectTrigger;
1582
+ Separator: (props: Omit<ProteusSeparator, "$type">) => ProteusSeparator;
1583
+ Show: (props: Omit<ProteusShow, "$type">) => ProteusShow;
1584
+ Text: (props: Omit<ProteusText, "$type">) => ProteusText;
1585
+ Textarea: (props: Omit<ProteusTextarea, "$type">) => ProteusTextarea;
1586
+ Value: (props: Omit<ProteusValue, "$type">) => ProteusValue;
1587
+ };