@lattice-php/lattice 0.44.0 → 0.45.1

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.
@@ -1,171 +1,8 @@
1
- import { ColumnProps as CoreColumnProps, ComponentProps as CoreComponentProps, EffectProps as CoreEffectProps, FilterProps as CoreFilterProps } from '@lattice-php/core';
2
- export type NodeProps = Record<string, unknown>;
3
- export type CommonNodeProps = {
4
- columnSpan?: Record<string, number | string> | null;
5
- dataBindings?: Record<string, string> | null;
6
- hideWhenCollapsed?: boolean | null;
7
- };
8
- /**
9
- * Augmentable map of wire `type` string → props for consumer components. Apps
10
- * extend it via `declare module "@lattice-php/core"` so their custom components
11
- * gain strong prop types; the entries are generated by `php artisan lattice:typescript`.
12
- * Built-in components resolve through the generated `ComponentPropsMap` below.
13
- * Types in neither fall back to a loose bag.
14
- */
15
- export interface ComponentProps extends CoreComponentProps {
16
- }
17
- /** The column counterpart of `ComponentProps`. */
18
- export interface ColumnProps extends CoreColumnProps {
19
- }
20
- /** The filter counterpart of `ComponentProps`. */
21
- export interface FilterProps extends CoreFilterProps {
22
- }
23
- /** The effect counterpart of `ComponentProps`. */
24
- export interface EffectProps extends CoreEffectProps {
25
- }
26
- /**
27
- * Resolves a `type` string to its payload: consumer augmentations (`TAugment`)
28
- * win over generated built-ins (`TBuiltins`), then a loose fallback. The one
29
- * resolver behind the component, column, filter and effect maps.
30
- */
31
- export type ResolveProps<TAugment, TBuiltins, TType extends string, TFallback> = TType extends keyof TAugment ? TAugment[TType] : TType extends keyof TBuiltins ? TBuiltins[TType] : TFallback;
32
- export type ComponentPropsOf<TType extends string> = ResolveProps<ComponentProps, ComponentPropsMap, TType, NodeProps> & CommonNodeProps;
33
- /**
34
- * The loose wire node an unknown/untyped `type` resolves to: the shape every node
35
- * shares, with a loose `props` bag. The single source of the wire-node shape —
36
- * `Node` (i.e. `Node<string>`) is this.
37
- */
38
- type LooseNode = {
39
- id?: string;
40
- key?: string;
41
- type: string;
42
- props?: NodeProps;
43
- schema?: Schema;
44
- };
45
- /**
46
- * Built-in `props` is required, not optional — the wire serializes the full prop
47
- * object, so reads need no optional chaining. Unknown types fall back to `LooseNode`.
48
- */
49
- export type Node<TType extends string = string> = string extends TType ? LooseNode : {
50
- id?: string;
51
- key?: string;
52
- props: ComponentPropsOf<TType>;
53
- schema?: Schema;
54
- type: TType;
55
- };
56
- /**
57
- * Distributes so `NodeUnionOf<"a" | "b">` is `Node<"a"> | Node<"b">` — a
58
- * discriminated union where `node.type` narrows `node.props`. Domains build
59
- * their node union from a generated `…NodeType` string union with this.
60
- */
61
- export type NodeUnionOf<TTypes extends string> = TTypes extends string ? Node<TTypes> : never;
62
- export type Schema = Node[];
63
- /**
64
- * The generated `Column` base props (serialized by every column regardless of
65
- * type) back the fallback, so even an unaugmented custom column keeps its
66
- * common concerns typed.
67
- */
68
- export type ColumnPropsOf<TType extends string> = ResolveProps<ColumnProps, ColumnPropsMap, TType, Column & Record<string, unknown>>;
69
- export type CommonColumnProps = Column;
70
- /**
71
- * A column node, authored and consumed like a field/component: `key`/`type`
72
- * stay top-level, every common concern (`label`/`width`/`filter`/…) lives in
73
- * `props` on each generated column type. `schema` is only present for a
74
- * container column: the bound component nodes rendered per row. The column
75
- * counterpart of `Node`.
76
- */
77
- export type ColumnNode<TType extends string = string> = {
78
- type: TType;
79
- key: string;
80
- props: ColumnPropsOf<TType>;
81
- schema?: Schema;
82
- };
83
- export type FilterPropsOf<TType extends string> = ResolveProps<FilterProps, FilterPropsMap, TType, Filter & Record<string, unknown>>;
84
- /**
85
- * A dedicated table filter, authored and consumed like a field/component:
86
- * `key`/`type` stay top-level, `props` carries `label` plus whatever the
87
- * filter type contributes. `schema` is the bound field(s) rendering the
88
- * filter's control and is absent when empty. The filter counterpart of
89
- * `ColumnNode`.
90
- */
91
- export type FilterNode<TType extends string = string> = {
92
- type: TType;
93
- key: string;
94
- props: FilterPropsOf<TType>;
95
- schema?: Schema;
96
- };
97
- export type EffectPropsOf<TType extends string> = ResolveProps<EffectProps, EffectPropsMap, TType, Record<string, unknown>>;
98
- /**
99
- * Deliberate exception to the `XNode` naming: an effect is a `{type, props}`
100
- * envelope without id/key/schema — it is not a node.
101
- */
102
- export type EffectOf<TType extends string> = string extends TType ? Effect : {
103
- type: TType;
104
- props: EffectPropsOf<TType>;
105
- };
106
- export type Action = {
107
- confirmation: Confirmation | null;
108
- emphasis: Emphasis | null;
109
- endpoint: string | null;
110
- form: Node<"form"> | null;
111
- icon: string | null;
112
- label: string | null;
113
- lazyForm: boolean;
114
- method: HttpMethod | null;
115
- modalSide: Side | null;
116
- modalWidth: ModalWidth | null;
117
- ref: string | null;
118
- variant: Variant | null;
119
- };
120
- export type ActionGroup = {
121
- label: string | null;
122
- orientation: Orientation | null;
123
- ref: string | null;
124
- };
1
+ import { Affix, Breadcrumb, Node } from '@lattice-php/core';
2
+ import { HttpMethod, Placement, Size, Translatable, Variant } from '@lattice-php/ui';
3
+ import { Effect } from '@lattice-php/ui/effects/types';
125
4
  export type ActionNodeType = "action" | "action.bulk" | "action.group";
126
- export type ActionResult = {
127
- readonly data: Record<string, unknown>;
128
- readonly effects: Effect[];
129
- };
130
- export type Affix = {
131
- readonly icon: string | null;
132
- readonly text: string | null;
133
- };
134
- export type Align = "center" | "left" | "start" | "stretch";
135
- export type Avatar = {
136
- name: string | null;
137
- size: Size;
138
- src: string | null;
139
- };
140
- export type Badge = {
141
- color: Color | null;
142
- label: string;
143
- };
144
- export type BadgeColumn = {
145
- align: ColumnAlign;
146
- colors: Record<string | number, Color> | null;
147
- filter: ColumnFilter | null;
148
- hiddenByDefault: boolean;
149
- label: string | null;
150
- sortable: boolean;
151
- toggleable: boolean;
152
- width: ColumnWidth;
153
- };
154
- export type BooleanColumn = {
155
- align: ColumnAlign;
156
- filter: ColumnFilter | null;
157
- hiddenByDefault: boolean;
158
- label: string | null;
159
- sortable: boolean;
160
- toggleable: boolean;
161
- width: ColumnWidth;
162
- };
163
- export type Breadcrumb = {
164
- readonly href: string;
165
- readonly title: string;
166
- };
167
5
  export type Breadcrumbs = Record<string, never>;
168
- export type Breakpoint = "default" | "sm" | "md" | "lg" | "xl" | "2xl";
169
6
  export type BrowserToken = {
170
7
  readonly accessToken: string;
171
8
  readonly audience: string;
@@ -173,99 +10,8 @@ export type BrowserToken = {
173
10
  readonly scopes: string[];
174
11
  readonly tokenType: string;
175
12
  };
176
- export type Builder = {
177
- addLabel: string | null;
178
- columnWidth: ColumnWidth;
179
- conditions: FieldConditions | null;
180
- defaultItems: number;
181
- dependsOnAny: boolean;
182
- dependsOnKeys: string[] | null;
183
- disabled: boolean;
184
- editablePrefill: boolean;
185
- helperText: string | null;
186
- label: string | null;
187
- layout: RowLayout;
188
- maxItems: number | null;
189
- minItems: number | null;
190
- name: string;
191
- prefillRefreshOn: string[] | null;
192
- prefillResetOn: string[] | null;
193
- readOnly: boolean;
194
- reorderable: boolean;
195
- required: boolean;
196
- resizableColumns: boolean;
197
- resizeIndicator: boolean;
198
- rowActions: RowAction[] | null;
199
- tooltip: string | null;
200
- value: unknown;
201
- };
202
- export type BulkAction = {
203
- confirmation: Confirmation | null;
204
- emphasis: Emphasis | null;
205
- endpoint: string | null;
206
- form: Node<"form"> | null;
207
- icon: string | null;
208
- label: string | null;
209
- lazyForm: boolean;
210
- method: HttpMethod | null;
211
- modalSide: Side | null;
212
- modalWidth: ModalWidth | null;
213
- ref: string | null;
214
- variant: Variant | null;
215
- };
216
- export type Button = {
217
- action: Node | null;
218
- buttonType: ButtonType;
219
- effects: Effect[];
220
- emphasis: Emphasis | null;
221
- href: string | null;
222
- icon: string | null;
223
- label: string | null;
224
- method: HttpMethod | null;
225
- variant: Variant | null;
226
- };
227
- export type ButtonType = "button" | "submit" | "reset";
228
- export type Callout = {
229
- action: Node | null;
230
- dismissible: boolean;
231
- message: Translatable | string;
232
- title: Translatable | string | null;
233
- unique: string | null;
234
- variant: Variant;
235
- };
236
13
  export type Callouts = Record<string, never>;
237
- export type Card = {
238
- description: string | null;
239
- title: string | null;
240
- tooltip: string | null;
241
- };
242
14
  export type ChannelVisibility = "public" | "private" | "presence";
243
- export type Chart = {
244
- categoryFormat: NumberFormat | DateFormat | null;
245
- categoryKey: string | null;
246
- data: Record<string, unknown>[];
247
- description: string | null;
248
- grid: boolean;
249
- height: number;
250
- legend: boolean;
251
- series: ChartSeries[];
252
- title: string | null;
253
- tooltip: boolean;
254
- valueFormat: NumberFormat | null;
255
- xAxis: boolean;
256
- yAxis: boolean;
257
- };
258
- export type ChartSeries = {
259
- readonly color: Color | null;
260
- readonly dataKey: string;
261
- readonly innerRadius: string;
262
- readonly maxValue: number | null;
263
- readonly name: string;
264
- readonly nameKey: string | null;
265
- readonly stackId: string | null;
266
- readonly type: ChartSeriesType;
267
- };
268
- export type ChartSeriesType = "area" | "bar" | "distribution" | "gauge" | "line" | "pie";
269
15
  export type ChatBox = {
270
16
  fill: boolean;
271
17
  historyEndpoint: string | null;
@@ -281,432 +27,35 @@ export type ChatMessage = {
281
27
  };
282
28
  export type ChatNodeType = "chat.box" | "chat.part.text" | "chat.part.tool-call";
283
29
  export type ChatRole = "user" | "assistant" | "system";
284
- export type Checkbox = {
285
- autoFocus: boolean;
286
- columnWidth: ColumnWidth;
287
- conditions: FieldConditions | null;
288
- dependsOnAny: boolean;
289
- dependsOnKeys: string[] | null;
290
- disabled: boolean;
291
- editablePrefill: boolean;
292
- helperText: string | null;
293
- label: string | null;
294
- name: string;
295
- prefillRefreshOn: string[] | null;
296
- prefillResetOn: string[] | null;
297
- readOnly: boolean;
298
- required: boolean;
299
- tabIndex: number | null;
300
- tooltip: string | null;
301
- value: unknown;
302
- };
303
- export type Choice = {
304
- autoFocus: boolean;
305
- columnWidth: ColumnWidth;
306
- conditions: FieldConditions | null;
307
- dependsOnAny: boolean;
308
- dependsOnKeys: string[] | null;
309
- disabled: boolean;
310
- editablePrefill: boolean;
311
- helperText: string | null;
312
- label: string | null;
313
- name: string;
314
- options: Option[];
315
- prefillRefreshOn: string[] | null;
316
- prefillResetOn: string[] | null;
317
- readOnly: boolean;
318
- required: boolean;
319
- tabIndex: number | null;
320
- tooltip: string | null;
321
- value: unknown;
322
- };
323
- export type CloseModal = {
324
- readonly modal: string | null;
325
- };
326
- export type CodeBlock = {
327
- code: string;
328
- copyable: boolean;
329
- language: CodeBlockLanguage;
330
- lineNumbers: boolean;
331
- maxHeight: number | null;
332
- wrap: boolean;
333
- };
334
- export type CodeBlockLanguage = "text" | "json" | "javascript" | "shell" | "php";
335
- export type Collapsible = {
336
- collapsed: boolean;
337
- rememberState: boolean;
338
- tooltip: string | null;
339
- trigger: Node[];
340
- };
341
- export type Color = {
342
- readonly dark: string | null;
343
- readonly kind: ColorKind;
344
- readonly value: string;
345
- };
346
- export type ColorKind = "named" | "css";
347
- export type ColorName = "default" | "muted" | "primary" | "success" | "info" | "warning" | "danger" | "gray" | "red" | "orange" | "yellow" | "green" | "blue" | "purple";
348
- export type ColorPicker = {
349
- columnWidth: ColumnWidth;
350
- conditions: FieldConditions | null;
351
- dependsOnAny: boolean;
352
- dependsOnKeys: string[] | null;
353
- disabled: boolean;
354
- editablePrefill: boolean;
355
- helperText: string | null;
356
- label: string | null;
357
- name: string;
358
- palette: string[];
359
- placeholder: string | null;
360
- prefillRefreshOn: string[] | null;
361
- prefillResetOn: string[] | null;
362
- readOnly: boolean;
363
- required: boolean;
364
- tooltip: string | null;
365
- value: unknown;
366
- };
367
- export type Column = {
368
- align: ColumnAlign;
369
- filter: ColumnFilter | null;
370
- hiddenByDefault: boolean;
371
- label: string | null;
372
- sortable: boolean;
373
- toggleable: boolean;
374
- width: ColumnWidth;
375
- };
376
- export type ColumnAlign = "start" | "center" | "end";
377
- export type ColumnFilter = {
378
- readonly clauseOptions: ColumnFilterOption[];
379
- readonly control: FilterControl | null;
380
- readonly defaultOperator: Op;
381
- readonly multiple: boolean;
382
- readonly operators: Op[];
383
- readonly options: Option[];
384
- readonly searchable: boolean;
385
- readonly type: FilterType;
386
- };
387
- export type ColumnFilterOption = {
388
- readonly clauses: ColumnFilterOptionClause[];
389
- readonly label: string;
390
- readonly value: string;
391
- };
392
- export type ColumnFilterOptionClause = {
393
- readonly operator: Op;
394
- readonly value: string;
395
- };
396
30
  export type ColumnNodeType = "column.badge" | "column.boolean" | "column.icon" | "column.image" | "column.money" | "column.number" | "column.stack" | "column.text";
397
- export type ColumnPropsMap = {
398
- "column.badge": BadgeColumn;
399
- "column.boolean": BooleanColumn;
400
- "column.icon": IconColumn;
401
- "column.image": ImageColumn;
402
- "column.money": MoneyColumn;
403
- "column.number": NumberColumn;
404
- "column.stack": StackColumn;
405
- "column.text": TextColumn;
406
- };
407
- export type ColumnWidth = "xs" | "sm" | "md" | "lg" | "xl";
408
31
  export type ComponentPropsMap = {
409
- action: Action;
410
- "action.bulk": BulkAction;
411
- "action.group": ActionGroup;
412
- avatar: Avatar;
413
- badge: Badge;
414
32
  breadcrumbs: Breadcrumbs;
415
- button: Button;
416
33
  callouts: Callouts;
417
- card: Card;
418
- chart: Chart;
419
34
  "chat.box": ChatBox;
420
35
  "chat.part.text": TextPart;
421
36
  "chat.part.tool-call": ToolCallPart;
422
- "code-block": CodeBlock;
423
- collapsible: Collapsible;
424
37
  dropdown: Dropdown;
425
- "field.builder": Builder;
426
- "field.checkbox": Checkbox;
427
- "field.choice": Choice;
428
- "field.color-picker": ColorPicker;
429
- "field.date-input": DateInput;
430
- "field.date-time-input": DateTimeInput;
431
- "field.file-upload": FileUpload;
432
- "field.hidden-input": HiddenInput;
433
- "field.number-input": NumberInput;
434
- "field.otp": OtpInput;
435
- "field.password-input": PasswordInput;
436
- "field.repeater": Repeater;
437
- "field.rich-editor": RichEditor;
438
- "field.select": Select;
439
- "field.text-input": TextInput;
440
- "field.textarea": Textarea;
441
- "field.time-input": TimeInput;
442
- "field.toggle": Toggle;
443
- "floating-panel": FloatingPanel;
444
- form: Form;
445
38
  fragment: Fragment;
446
- grid: Grid;
447
- heading: Heading;
448
- icon: Icon;
449
- image: Image;
450
- link: Link;
451
39
  menu: Menu;
452
40
  "menu-item": MenuItem;
453
- modal: Modal;
454
41
  notifications: Notifications;
455
42
  outlet: Outlet;
456
- progress: Progress;
457
- "raw-block": RawBlock;
458
43
  "remote.data-list": DataList;
459
- section: Section;
460
- "segmented-control": SegmentedControl;
461
- separator: Separator;
462
44
  sidebar: Sidebar;
463
- stack: Stack;
464
- tab: Tab;
465
- table: Table;
466
- tabs: Tabs;
467
- text: Text;
468
- tooltip: Tooltip;
469
45
  topbar: Topbar;
470
- wizard: Wizard;
471
- "wizard-step": WizardStep;
472
- };
473
- export type Condition = {
474
- readonly field: string;
475
- readonly operator: Op;
476
- readonly value: unknown;
477
- };
478
- export type Confirmation = {
479
- readonly cancelLabel: string | null;
480
- readonly confirmLabel: string | null;
481
- readonly description: string | null;
482
- readonly title: string | null;
483
46
  };
484
47
  export type DataList = {
485
48
  dataEndpoint: string | null;
486
49
  emptyLabel: string | null;
487
50
  remote: RemoteAccess | null;
488
51
  };
489
- export type DateFormat = {
490
- dateStyle: DateTimeStyle | null;
491
- kind: string;
492
- month: string | null;
493
- timeStyle: DateTimeStyle | null;
494
- year: string | null;
495
- };
496
- export type DateInput = {
497
- autoFocus: boolean;
498
- columnWidth: ColumnWidth;
499
- conditions: FieldConditions | null;
500
- dependsOnAny: boolean;
501
- dependsOnKeys: string[] | null;
502
- disabled: boolean;
503
- editablePrefill: boolean;
504
- helperText: string | null;
505
- label: string | null;
506
- max: string | null;
507
- min: string | null;
508
- name: string;
509
- prefillRefreshOn: string[] | null;
510
- prefillResetOn: string[] | null;
511
- readOnly: boolean;
512
- required: boolean;
513
- tabIndex: number | null;
514
- tooltip: string | null;
515
- value: unknown;
516
- };
517
- export type DateRangeFilter = {
518
- label: string | null;
519
- };
520
- export type DateTimeInput = {
521
- autoFocus: boolean;
522
- columnWidth: ColumnWidth;
523
- conditions: FieldConditions | null;
524
- convertTimezone: boolean;
525
- dependsOnAny: boolean;
526
- dependsOnKeys: string[] | null;
527
- disabled: boolean;
528
- editablePrefill: boolean;
529
- helperText: string | null;
530
- label: string | null;
531
- max: string | null;
532
- min: string | null;
533
- name: string;
534
- prefillRefreshOn: string[] | null;
535
- prefillResetOn: string[] | null;
536
- readOnly: boolean;
537
- required: boolean;
538
- step: number | null;
539
- tabIndex: number | null;
540
- timezone: string | null;
541
- tooltip: string | null;
542
- value: unknown;
543
- };
544
- export type DateTimeStyle = "full" | "long" | "medium" | "short";
545
- export type Download = {
546
- readonly url: string;
547
- };
548
52
  export type Dropdown = {
549
53
  placement: Placement;
550
54
  trigger: Node[];
551
55
  };
552
- export type EditorBlockquote = Record<string, never>;
553
- export type EditorBold = Record<string, never>;
554
- export type EditorBulletList = Record<string, never>;
555
- export type EditorCode = Record<string, never>;
556
- export type EditorCodeBlock = Record<string, never>;
557
- export type EditorDetails = Record<string, never>;
558
- export type EditorEmoji = {
559
- emojis: string[];
560
- };
561
- export type EditorExtension = {
562
- type: string;
563
- props: Record<string, unknown>;
564
- };
565
- export type EditorExtensionPropsMap = {
566
- blockquote: EditorBlockquote;
567
- bold: EditorBold;
568
- "bullet-list": EditorBulletList;
569
- code: EditorCode;
570
- "code-block": EditorCodeBlock;
571
- details: EditorDetails;
572
- emoji: EditorEmoji;
573
- heading: EditorHeading;
574
- highlight: EditorHighlight;
575
- "horizontal-rule": EditorHorizontalRule;
576
- italic: EditorItalic;
577
- link: EditorLink;
578
- "ordered-list": EditorOrderedList;
579
- strike: EditorStrike;
580
- table: EditorTable;
581
- "text-align": EditorTextAlign;
582
- underline: EditorUnderline;
583
- };
584
- export type EditorHeading = {
585
- levels: number[];
586
- };
587
- export type EditorHighlight = Record<string, never>;
588
- export type EditorHorizontalRule = Record<string, never>;
589
- export type EditorItalic = Record<string, never>;
590
- export type EditorLink = {
591
- openOnClick: boolean;
592
- protocols: string[];
593
- };
594
- export type EditorOrderedList = Record<string, never>;
595
- export type EditorStrike = Record<string, never>;
596
- export type EditorTable = {
597
- cols: number;
598
- rows: number;
599
- withHeaderRow: boolean;
600
- };
601
- export type EditorTextAlign = {
602
- alignments: string[];
603
- };
604
- export type EditorUnderline = Record<string, never>;
605
- export type Effect = {
606
- type: string;
607
- props: Record<string, unknown>;
608
- };
609
- export type EffectPropsMap = {
610
- callout: Callout;
611
- "close-modal": CloseModal;
612
- download: Download;
613
- "locale-change": LocaleChange;
614
- "open-modal": OpenModal;
615
- redirect: Redirect;
616
- "reload-component": ReloadComponent;
617
- "reload-page": ReloadPage;
618
- "reset-form": ResetForm;
619
- "retract-callout": RetractCallout;
620
- toast: Toast;
621
- "toggle-sidebar": ToggleSidebar;
622
- };
623
- export type Emphasis = "solid" | "outline" | "ghost" | "link";
624
- export type FieldConditions = {
625
- readonly disabled: Condition[];
626
- readonly readOnly: Condition[];
627
- readonly required: Condition[];
628
- readonly visible: Condition[];
629
- };
630
- export type FileUpload = {
631
- accept: string | null;
632
- columnWidth: ColumnWidth;
633
- conditions: FieldConditions | null;
634
- dependsOnAny: boolean;
635
- dependsOnKeys: string[] | null;
636
- disabled: boolean;
637
- editablePrefill: boolean;
638
- files: {
639
- key: string;
640
- name: string;
641
- url: string | null;
642
- size: number | null;
643
- token: string;
644
- }[] | null;
645
- helperText: string | null;
646
- image: boolean;
647
- label: string | null;
648
- maxFiles: number | null;
649
- maxSize: number | null;
650
- multiple: boolean;
651
- name: string;
652
- prefillRefreshOn: string[] | null;
653
- prefillResetOn: string[] | null;
654
- readOnly: boolean;
655
- required: boolean;
656
- signed: boolean;
657
- tooltip: string | null;
658
- value: unknown;
659
- };
660
- export type Filter = {
661
- label: string | null;
662
- };
663
- export type FilterClause = {
664
- readonly field: string;
665
- readonly operator: Op;
666
- readonly value: string;
667
- };
668
- export type FilterControl = "filter.select" | "filter.ternary" | "filter.date-range" | "filter.toggle";
669
- export type FilterIndicator = {
670
- readonly filter: string;
671
- readonly label: string;
672
- readonly value: string;
673
- };
674
- export type FilterNodeType = "filter.date-range" | "filter.select" | "filter.ternary" | "filter.toggle";
675
- export type FilterPropsMap = {
676
- "filter.date-range": DateRangeFilter;
677
- "filter.select": SelectFilter;
678
- "filter.ternary": TernaryFilter;
679
- "filter.toggle": ToggleFilter;
680
- };
681
- export type FilterType = "text" | "number" | "date" | "boolean";
682
- export type FloatingPanel = {
683
- label: string | null;
684
- offset: number;
685
- placement: FloatingPlacement;
686
- trigger: Node[];
687
- };
688
- export type FloatingPlacement = "bottom-end" | "bottom-start" | "top-end" | "top-start";
689
- export type Form = {
690
- action: string | null;
691
- errorBag: string | null;
692
- method: HttpMethod | null;
693
- precognitive: boolean;
694
- ref: string | null;
695
- resetOnError: string[] | boolean | null;
696
- resetOnSuccess: string[] | boolean | null;
697
- state: Record<string, unknown>;
698
- status: string | null;
699
- submitButton: boolean;
700
- submitButtons: Node<"button">[] | null;
701
- submitEmphasis: Emphasis | null;
702
- submitJustify: Justify | null;
703
- submitLabel: string | null;
704
- submitVariant: Variant | null;
705
- validationSummaryLabel: string;
706
- validationTimeout: number | null;
707
- };
708
- export type FormFieldNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "wizard" | "wizard-step";
709
- export type FormNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "form" | "wizard" | "wizard-step";
56
+ export type FilterNodeType = "filter.date-range" | "filter.media-type" | "filter.select" | "filter.ternary" | "filter.toggle";
57
+ export type FormFieldNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.media-picker" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "wizard" | "wizard-step";
58
+ export type FormNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.media-picker" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "form" | "wizard" | "wizard-step";
710
59
  export type Fragment = {
711
60
  endpoint: string | null;
712
61
  lazy: boolean;
@@ -717,35 +66,6 @@ export type FragmentNodeType = "fragment";
717
66
  export type FragmentResponse = {
718
67
  readonly schema: Node[];
719
68
  };
720
- export type Gap = "none" | "xs" | "sm" | "md" | "lg" | "xl";
721
- export type Grid = {
722
- columns: Record<string, number | string> | null;
723
- };
724
- export type Heading = {
725
- copyable: boolean;
726
- level: number;
727
- text: string;
728
- tooltip: string | null;
729
- };
730
- export type Height = "full" | "screen";
731
- export type HiddenInput = {
732
- columnWidth: ColumnWidth;
733
- conditions: FieldConditions | null;
734
- dependsOnAny: boolean;
735
- dependsOnKeys: string[] | null;
736
- disabled: boolean;
737
- editablePrefill: boolean;
738
- helperText: string | null;
739
- label: string | null;
740
- name: string;
741
- prefillRefreshOn: string[] | null;
742
- prefillResetOn: string[] | null;
743
- readOnly: boolean;
744
- required: boolean;
745
- tooltip: string | null;
746
- value: unknown;
747
- };
748
- export type HttpMethod = import('@inertiajs/core').Method;
749
69
  export type I18nConfig = {
750
70
  readonly enabled: boolean;
751
71
  readonly locales: string[];
@@ -753,70 +73,14 @@ export type I18nConfig = {
753
73
  readonly saveMissing: boolean;
754
74
  readonly timezone: string | null;
755
75
  };
756
- export type Icon = {
757
- class: string | null;
758
- color: Color | null;
759
- name: string;
760
- size: Size;
761
- };
762
- export type IconColumn = {
763
- align: ColumnAlign;
764
- colors: Record<string | number, Color> | null;
765
- filter: ColumnFilter | null;
766
- hiddenByDefault: boolean;
767
- icon: string | null;
768
- icons: Record<string | number, string> | null;
769
- label: string | null;
770
- sortable: boolean;
771
- toggleable: boolean;
772
- width: ColumnWidth;
773
- };
774
- export type Image = {
775
- alt: string | null;
776
- circular: boolean;
777
- previewable: boolean;
778
- size: number | null;
779
- src: string;
780
- };
781
- export type ImageColumn = {
782
- align: ColumnAlign;
783
- circular: boolean;
784
- filter: ColumnFilter | null;
785
- hiddenByDefault: boolean;
786
- label: string | null;
787
- previewable: boolean;
788
- size: number | null;
789
- sortable: boolean;
790
- toggleable: boolean;
791
- width: ColumnWidth;
792
- };
793
- export type Justify = "start" | "center" | "end" | "between" | "around" | "evenly";
794
- export type LabelAction = {
795
- readonly href: string;
796
- readonly label: string;
797
- readonly tabIndex: number | null;
798
- };
799
76
  export type LayoutNodeType = "breadcrumbs" | "callouts" | "dropdown" | "menu" | "menu-item" | "outlet" | "sidebar" | "topbar";
800
- export type Link = {
801
- action: Node | null;
802
- effects: Effect[];
803
- href: string | null;
804
- icon: string | null;
805
- label: string | null;
806
- method: HttpMethod | null;
807
- prefix: Affix | null;
808
- suffix: Affix | null;
809
- tabIndex: number | null;
810
- };
811
77
  export type Listen = {
812
78
  readonly channel: string;
813
79
  effects: Effect[];
814
80
  events: string[];
815
81
  readonly visibility: ChannelVisibility;
816
82
  };
817
- export type LocaleChange = {
818
- readonly locale: string;
819
- };
83
+ export type MediumNodeType = "media.library";
820
84
  export type Menu = Record<string, never>;
821
85
  export type MenuItem = {
822
86
  action: Node | null;
@@ -828,31 +92,7 @@ export type MenuItem = {
828
92
  prefix: Affix | null;
829
93
  suffix: Affix | null;
830
94
  };
831
- export type Modal = {
832
- closeLabel: string;
833
- description: string | null;
834
- open: boolean;
835
- ref: string | null;
836
- side: Side | null;
837
- title: string | null;
838
- width: ModalWidth;
839
- };
840
- export type ModalWidth = "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
841
- export type MoneyColumn = {
842
- align: ColumnAlign;
843
- copyable: boolean;
844
- currency: string | null;
845
- currencyField: string | null;
846
- filter: ColumnFilter | null;
847
- hiddenByDefault: boolean;
848
- label: string | null;
849
- maximumFractionDigits: number | null;
850
- minimumFractionDigits: number | null;
851
- sortable: boolean;
852
- toggleable: boolean;
853
- width: ColumnWidth;
854
- };
855
- export type NodeType = "action" | "action.bulk" | "action.group" | "avatar" | "badge" | "breadcrumbs" | "button" | "callouts" | "card" | "chart" | "chat.box" | "chat.part.text" | "chat.part.tool-call" | "code-block" | "collapsible" | "dropdown" | "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "floating-panel" | "form" | "fragment" | "grid" | "heading" | "icon" | "image" | "link" | "menu" | "menu-item" | "modal" | "notifications" | "outlet" | "progress" | "raw-block" | "remote.data-list" | "section" | "segmented-control" | "separator" | "sidebar" | "stack" | "tab" | "table" | "tabs" | "text" | "tooltip" | "topbar" | "wizard" | "wizard-step";
95
+ export type NodeType = "action" | "action.bulk" | "action.group" | "api-reference" | "avatar" | "badge" | "breadcrumbs" | "button" | "callouts" | "card" | "chart" | "chat.box" | "chat.part.text" | "chat.part.tool-call" | "code-block" | "collapsible" | "dropdown" | "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.media-picker" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "floating-panel" | "form" | "fragment" | "grid" | "heading" | "icon" | "image" | "link" | "media.library" | "menu" | "menu-item" | "modal" | "notifications" | "outlet" | "progress" | "raw-block" | "remote.data-list" | "section" | "segmented-control" | "separator" | "sidebar" | "signature" | "stack" | "tab" | "table" | "tabs" | "text" | "tooltip" | "topbar" | "tree" | "wizard" | "wizard-step";
856
96
  export type NotificationItem = {
857
97
  readonly actions: Node[];
858
98
  readonly body: Translatable | string | null;
@@ -876,87 +116,7 @@ export type Notifications = {
876
116
  pollingInterval: number | null;
877
117
  slideOut: boolean;
878
118
  };
879
- export type NumberColumn = {
880
- align: ColumnAlign;
881
- compact: boolean;
882
- copyable: boolean;
883
- filter: ColumnFilter | null;
884
- hiddenByDefault: boolean;
885
- label: string | null;
886
- maximumFractionDigits: number | null;
887
- minimumFractionDigits: number | null;
888
- sortable: boolean;
889
- toggleable: boolean;
890
- unit: NumberFormatUnit | null;
891
- width: ColumnWidth;
892
- };
893
- export type NumberFormat = {
894
- currency: string | null;
895
- kind: string;
896
- maximumFractionDigits: number | null;
897
- minimumFractionDigits: number | null;
898
- notation: string;
899
- unit: NumberFormatUnit | null;
900
- };
901
- export type NumberFormatUnit = "percent" | "kilogram" | "gram" | "kilometer" | "meter" | "byte" | "kilobyte" | "megabyte" | "gigabyte" | "millisecond" | "second" | "minute" | "hour" | "celsius" | "fahrenheit";
902
- export type NumberInput = {
903
- autoFocus: boolean;
904
- columnWidth: ColumnWidth;
905
- conditions: FieldConditions | null;
906
- dependsOnAny: boolean;
907
- dependsOnKeys: string[] | null;
908
- disabled: boolean;
909
- editablePrefill: boolean;
910
- helperText: string | null;
911
- label: string | null;
912
- max: number | null;
913
- min: number | null;
914
- name: string;
915
- placeholder: string | null;
916
- prefillRefreshOn: string[] | null;
917
- prefillResetOn: string[] | null;
918
- prefix: Affix | null;
919
- readOnly: boolean;
920
- required: boolean;
921
- slider: boolean;
922
- step: number | null;
923
- suffix: Affix | null;
924
- tabIndex: number | null;
925
- tooltip: string | null;
926
- value: unknown;
927
- };
928
- export type Op = "contains" | "starts_with" | "ends_with" | "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "not_in" | "before" | "after" | "empty" | "filled";
929
- export type OpenModal = {
930
- readonly modal: string;
931
- };
932
- export type Option = {
933
- readonly data: Record<string, unknown> | null;
934
- readonly label: string;
935
- readonly value: string;
936
- };
937
- export type Orientation = "horizontal" | "vertical";
938
- export type OtpInput = {
939
- autoFocus: boolean;
940
- columnWidth: ColumnWidth;
941
- conditions: FieldConditions | null;
942
- dependsOnAny: boolean;
943
- dependsOnKeys: string[] | null;
944
- disabled: boolean;
945
- editablePrefill: boolean;
946
- helperText: string | null;
947
- label: string | null;
948
- length: number;
949
- name: string;
950
- prefillRefreshOn: string[] | null;
951
- prefillResetOn: string[] | null;
952
- readOnly: boolean;
953
- required: boolean;
954
- tooltip: string | null;
955
- value: unknown;
956
- };
957
119
  export type Outlet = Record<string, never>;
958
- export type PageContainer = "centered" | "default";
959
- export type PageLayout = "app" | "auth" | "none";
960
120
  export type PageLayoutPayload = {
961
121
  readonly key: string;
962
122
  readonly schema: Node[];
@@ -969,59 +129,6 @@ export type PagePayload = {
969
129
  readonly schema: Node[];
970
130
  readonly title: string | null;
971
131
  };
972
- export type PaginationType = "none" | "simple" | "table" | "infinite";
973
- export type PasswordInput = {
974
- autoComplete: string | null;
975
- autoFocus: boolean;
976
- columnWidth: ColumnWidth;
977
- conditions: FieldConditions | null;
978
- confirmation: {
979
- label: string;
980
- name: string;
981
- placeholder: string;
982
- } | null;
983
- dependsOnAny: boolean;
984
- dependsOnKeys: string[] | null;
985
- disabled: boolean;
986
- editablePrefill: boolean;
987
- helperText: string | null;
988
- label: string | null;
989
- labelAction: LabelAction | null;
990
- name: string;
991
- passwordRules: string | null;
992
- placeholder: string | null;
993
- prefillRefreshOn: string[] | null;
994
- prefillResetOn: string[] | null;
995
- prefix: Affix | null;
996
- readOnly: boolean;
997
- required: boolean;
998
- suffix: Affix | null;
999
- tabIndex: number | null;
1000
- tooltip: string | null;
1001
- value: unknown;
1002
- };
1003
- export type Placement = "top" | "bottom" | "right";
1004
- export type Progress = {
1005
- color: Color | null;
1006
- max: number;
1007
- shape: ProgressShape;
1008
- showValue: boolean;
1009
- size: Size;
1010
- value: number;
1011
- };
1012
- export type ProgressShape = "bar" | "circle";
1013
- export type RawBlock = {
1014
- html: string;
1015
- };
1016
- export type Redirect = {
1017
- readonly url: string;
1018
- };
1019
- export type ReloadComponent = {
1020
- readonly component: string;
1021
- };
1022
- export type ReloadPage = {
1023
- readonly full: boolean;
1024
- };
1025
132
  export type RemoteAccess = {
1026
133
  readonly audience: string;
1027
134
  readonly nodeId: string;
@@ -1032,388 +139,23 @@ export type RemoteAccess = {
1032
139
  readonly tokenEndpoint: string;
1033
140
  };
1034
141
  export type RemoteNodeType = "remote.data-list";
1035
- export type Repeater = {
1036
- addLabel: string | null;
1037
- columnWidth: ColumnWidth;
1038
- conditions: FieldConditions | null;
1039
- defaultItems: number;
1040
- dependsOnAny: boolean;
1041
- dependsOnKeys: string[] | null;
1042
- disabled: boolean;
1043
- editablePrefill: boolean;
1044
- helperText: string | null;
1045
- itemLabel: string | null;
1046
- label: string | null;
1047
- layout: RowLayout;
1048
- maxItems: number | null;
1049
- minItems: number | null;
1050
- name: string;
1051
- prefillRefreshOn: string[] | null;
1052
- prefillResetOn: string[] | null;
1053
- readOnly: boolean;
1054
- reorderable: boolean;
1055
- required: boolean;
1056
- resizableColumns: boolean;
1057
- resizeIndicator: boolean;
1058
- rowActions: RowAction[] | null;
1059
- tooltip: string | null;
1060
- value: unknown;
1061
- };
1062
- export type ResetForm = {
1063
- readonly form: string | null;
1064
- };
1065
- export type ResolveResponse = {
1066
- readonly fields: Record<string, Node>;
1067
- readonly prefill: Record<string, unknown>;
1068
- readonly values: Record<string, unknown>;
1069
- };
1070
- export type RetractCallout = {
1071
- readonly unique: string;
1072
- };
1073
- export type RichEditor = {
1074
- columnWidth: ColumnWidth;
1075
- conditions: FieldConditions | null;
1076
- dependsOnAny: boolean;
1077
- dependsOnKeys: string[] | null;
1078
- disabled: boolean;
1079
- editablePrefill: boolean;
1080
- extensions: EditorExtension[];
1081
- helperText: string | null;
1082
- label: string | null;
1083
- name: string;
1084
- placeholder: string | null;
1085
- prefillRefreshOn: string[] | null;
1086
- prefillResetOn: string[] | null;
1087
- readOnly: boolean;
1088
- required: boolean;
1089
- tooltip: string | null;
1090
- value: unknown;
1091
- };
1092
- export type RowAction = {
1093
- danger: boolean;
1094
- icon: string | null;
1095
- key: string;
1096
- label: string | null;
1097
- type: RowActionType;
1098
- };
1099
- export type RowActionType = "duplicate" | "remove";
1100
- export type RowLayout = "stack" | "table";
1101
- export type Section = {
1102
- collapsed: boolean;
1103
- collapsible: boolean;
1104
- description: string | null;
1105
- headerActions: Node[];
1106
- rememberState: boolean;
1107
- title: string | null;
1108
- tooltip: string | null;
1109
- };
1110
- export type SegmentedControl = {
1111
- emits: string | null;
1112
- label: string | null;
1113
- name: string;
1114
- options: Option[];
1115
- value: string | null;
1116
- };
1117
- export type Select = {
1118
- autoFocus: boolean;
1119
- columnWidth: ColumnWidth;
1120
- conditions: FieldConditions | null;
1121
- creatable: boolean;
1122
- dependsOnAny: boolean;
1123
- dependsOnKeys: string[] | null;
1124
- disabled: boolean;
1125
- editablePrefill: boolean;
1126
- emptyLabel: string;
1127
- helperText: string | null;
1128
- label: string | null;
1129
- multiple: boolean;
1130
- name: string;
1131
- options: Option[];
1132
- placeholder: string | null;
1133
- prefillRefreshOn: string[] | null;
1134
- prefillResetOn: string[] | null;
1135
- readOnly: boolean;
1136
- required: boolean;
1137
- searchPlaceholder: string;
1138
- searchable: boolean;
1139
- tabIndex: number | null;
1140
- tooltip: string | null;
1141
- value: unknown;
1142
- };
1143
- export type SelectFilter = {
1144
- label: string | null;
1145
- multiple: boolean;
1146
- options: Option[];
1147
- placeholder: string | null;
1148
- searchable: boolean;
1149
- };
1150
- export type Separator = {
1151
- orientation: Orientation;
1152
- };
1153
- export type Side = "start" | "end";
1154
142
  export type Sidebar = {
1155
143
  collapsible: boolean;
1156
144
  rememberState: boolean;
1157
145
  };
1158
- export type SignedUpload = {
1159
- readonly headers: Record<string, unknown>;
1160
- readonly key: string;
1161
- readonly method: HttpMethod;
1162
- readonly url: string;
1163
- };
1164
- export type Size = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
1165
- export type SortDirection = "asc" | "desc";
1166
- export type Stack = {
1167
- align: Align | null;
1168
- direction: StackDirection | null;
1169
- float: Side | null;
1170
- gap: Gap | null;
1171
- height: Height | null;
1172
- justify: Justify | null;
1173
- width: Width | null;
1174
- };
1175
- export type StackColumn = {
1176
- align: ColumnAlign;
1177
- filter: ColumnFilter | null;
1178
- hiddenByDefault: boolean;
1179
- label: string | null;
1180
- sortable: boolean;
1181
- toggleable: boolean;
1182
- width: ColumnWidth;
1183
- };
1184
- export type StackDirection = "row" | "column";
1185
- export type Tab = {
1186
- confirm: {
1187
- required: boolean;
1188
- redirectUrl: string;
1189
- timeout: number | null;
1190
- } | null;
1191
- label: string;
1192
- value: string;
1193
- };
1194
- export type Table = {
1195
- actionsLabel: string | null;
1196
- bulkActions: Node[];
1197
- columns: ColumnNode[];
1198
- emptyLabel: string | null;
1199
- endpoint: string | null;
1200
- filters: FilterNode[];
1201
- layout: string | null;
1202
- lazy: boolean;
1203
- perPageOptions: (number | string)[];
1204
- ref: string | null;
1205
- resizableColumns: boolean;
1206
- resizeIndicator: boolean;
1207
- searchable: boolean;
1208
- striped: boolean;
1209
- toolbar: Node[];
1210
- };
146
+ export type SignatureExampleNodeType = "signature";
1211
147
  export type TableNodeType = "table";
1212
- export type TablePagination = {
1213
- readonly currentPage: number | null;
1214
- readonly from: number | null;
1215
- readonly hasMore: boolean;
1216
- readonly lastPage: number | null;
1217
- readonly mode: PaginationType;
1218
- readonly nextPage: number | null;
1219
- readonly perPage: number | null;
1220
- readonly to: number | null;
1221
- readonly total: number | null;
1222
- };
1223
- export type TableQuery = {
1224
- readonly filters: FilterClause[];
1225
- readonly mode: PaginationType | null;
1226
- readonly page: number;
1227
- readonly perPage: number;
1228
- readonly search: string;
1229
- readonly sorts: TableSort[];
1230
- readonly tableFilterIndicators: FilterIndicator[];
1231
- readonly tableFilters: Record<string, Record<string, unknown>>;
1232
- };
1233
- export type TableResult = {
1234
- readonly data: Record<string, unknown>[];
1235
- readonly pagination: TablePagination | null;
1236
- readonly query: TableQuery;
1237
- };
1238
- export type TableSort = {
1239
- readonly direction: SortDirection;
1240
- readonly key: string;
1241
- };
1242
- export type Tabs = {
1243
- activeValue: string;
1244
- alignment: TabsAlignment;
1245
- defaultValue: string | null;
1246
- orientation: Orientation;
1247
- queryKey: string;
1248
- };
1249
- export type TabsAlignment = "start" | "center" | "end" | "stretch";
1250
- export type TernaryFilter = {
1251
- falseLabel: string;
1252
- label: string | null;
1253
- placeholder: string;
1254
- trueLabel: string;
1255
- };
1256
- export type Text = {
1257
- align: Align | null;
1258
- color: Color | null;
1259
- copyable: boolean;
1260
- size: Size;
1261
- text: string;
1262
- };
1263
- export type TextColumn = {
1264
- align: ColumnAlign;
1265
- badge: {
1266
- colorKey: string;
1267
- } | null;
1268
- copyable: boolean;
1269
- date: {
1270
- dateStyle: DateTimeStyle | null;
1271
- timeStyle: DateTimeStyle | null;
1272
- } | null;
1273
- filter: ColumnFilter | null;
1274
- hiddenByDefault: boolean;
1275
- label: string | null;
1276
- link: {
1277
- href: string | null;
1278
- external: boolean;
1279
- } | null;
1280
- multiple: string | null;
1281
- sortable: boolean;
1282
- toggleable: boolean;
1283
- width: ColumnWidth;
1284
- };
1285
- export type TextInput = {
1286
- autoComplete: string | null;
1287
- autoFocus: boolean;
1288
- columnWidth: ColumnWidth;
1289
- conditions: FieldConditions | null;
1290
- copyable: boolean;
1291
- dependsOnAny: boolean;
1292
- dependsOnKeys: string[] | null;
1293
- disabled: boolean;
1294
- editablePrefill: boolean;
1295
- helperText: string | null;
1296
- label: string | null;
1297
- name: string;
1298
- placeholder: string | null;
1299
- prefillRefreshOn: string[] | null;
1300
- prefillResetOn: string[] | null;
1301
- prefix: Affix | null;
1302
- readOnly: boolean;
1303
- required: boolean;
1304
- suffix: Affix | null;
1305
- tabIndex: number | null;
1306
- tooltip: string | null;
1307
- type: string | null;
1308
- value: unknown;
1309
- };
1310
148
  export type TextPart = {
1311
149
  text: string;
1312
150
  };
1313
- export type Textarea = {
1314
- autoFocus: boolean;
1315
- columnWidth: ColumnWidth;
1316
- conditions: FieldConditions | null;
1317
- dependsOnAny: boolean;
1318
- dependsOnKeys: string[] | null;
1319
- disabled: boolean;
1320
- editablePrefill: boolean;
1321
- helperText: string | null;
1322
- label: string | null;
1323
- name: string;
1324
- placeholder: string | null;
1325
- prefillRefreshOn: string[] | null;
1326
- prefillResetOn: string[] | null;
1327
- readOnly: boolean;
1328
- required: boolean;
1329
- rows: number | null;
1330
- tabIndex: number | null;
1331
- tooltip: string | null;
1332
- value: unknown;
1333
- };
1334
- export type TimeInput = {
1335
- autoFocus: boolean;
1336
- columnWidth: ColumnWidth;
1337
- conditions: FieldConditions | null;
1338
- dependsOnAny: boolean;
1339
- dependsOnKeys: string[] | null;
1340
- disabled: boolean;
1341
- editablePrefill: boolean;
1342
- helperText: string | null;
1343
- label: string | null;
1344
- max: string | null;
1345
- min: string | null;
1346
- name: string;
1347
- prefillRefreshOn: string[] | null;
1348
- prefillResetOn: string[] | null;
1349
- readOnly: boolean;
1350
- required: boolean;
1351
- step: number | null;
1352
- tabIndex: number | null;
1353
- tooltip: string | null;
1354
- value: unknown;
1355
- };
1356
- export type Toast = {
1357
- action: Node | null;
1358
- dismissible: boolean;
1359
- duration: number | null;
1360
- message: Translatable | string;
1361
- persistent: boolean;
1362
- variant: Variant;
1363
- };
1364
- export type Toggle = {
1365
- autoFocus: boolean;
1366
- columnWidth: ColumnWidth;
1367
- conditions: FieldConditions | null;
1368
- dependsOnAny: boolean;
1369
- dependsOnKeys: string[] | null;
1370
- disabled: boolean;
1371
- editablePrefill: boolean;
1372
- helperText: string | null;
1373
- label: string | null;
1374
- name: string;
1375
- prefillRefreshOn: string[] | null;
1376
- prefillResetOn: string[] | null;
1377
- readOnly: boolean;
1378
- required: boolean;
1379
- tabIndex: number | null;
1380
- tooltip: string | null;
1381
- value: unknown;
1382
- };
1383
- export type ToggleFilter = {
1384
- label: string | null;
1385
- };
1386
- export type ToggleSidebar = {
1387
- readonly target: string | null;
1388
- };
1389
151
  export type ToolCallPart = {
1390
152
  args: Record<string, unknown>;
1391
153
  name: string;
1392
154
  };
1393
- export type Tooltip = {
1394
- content: string | null;
1395
- trigger: Node[];
1396
- };
1397
155
  export type Topbar = {
1398
156
  sticky: boolean;
1399
157
  };
1400
- export type Translatable = {
1401
- key: string;
1402
- payload: Record<string, string>;
1403
- replacements: Record<string, string | number | boolean>;
1404
- };
1405
158
  export type UiNodeType = "avatar" | "badge" | "button" | "card" | "chart" | "code-block" | "collapsible" | "floating-panel" | "grid" | "heading" | "icon" | "image" | "link" | "modal" | "progress" | "raw-block" | "section" | "segmented-control" | "separator" | "stack" | "tab" | "tabs" | "text" | "tooltip";
1406
159
  export type UnreadCount = {
1407
160
  readonly unreadCount: number;
1408
161
  };
1409
- export type Variant = "primary" | "secondary" | "success" | "info" | "warning" | "danger";
1410
- export type Width = "full" | "auto" | "sm" | "md" | "lg" | "fill";
1411
- export type Wizard = {
1412
- orientation: Orientation;
1413
- };
1414
- export type WizardStep = {
1415
- description: string | null;
1416
- label: string;
1417
- name: string;
1418
- };
1419
- export {};