magick-ui 0.2.0 → 0.2.2
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.
- package/dist/index.cjs +1587 -98
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1587 -98
- package/dist/index.js.map +1 -1
- package/dist/schema.cjs +1847 -100
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +4917 -8
- package/dist/schema.d.ts +4917 -8
- package/dist/schema.js +1760 -99
- package/dist/schema.js.map +1 -1
- package/dist/ui/index.d.cts +2 -2
- package/dist/ui/index.d.ts +2 -2
- package/package.json +2 -2
- package/schema/component-schema.json +566 -0
package/dist/index.cjs
CHANGED
|
@@ -216,6 +216,88 @@ var component_schema_default = {
|
|
|
216
216
|
},
|
|
217
217
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
218
218
|
},
|
|
219
|
+
"tool-button": {
|
|
220
|
+
$ref: "#/definitions/tool-button",
|
|
221
|
+
definitions: {
|
|
222
|
+
"tool-button": {
|
|
223
|
+
type: "object",
|
|
224
|
+
properties: {
|
|
225
|
+
type: {
|
|
226
|
+
type: "string",
|
|
227
|
+
const: "tool-button"
|
|
228
|
+
},
|
|
229
|
+
props: {
|
|
230
|
+
type: "object",
|
|
231
|
+
properties: {
|
|
232
|
+
variant: {
|
|
233
|
+
type: "string",
|
|
234
|
+
enum: [
|
|
235
|
+
"primary",
|
|
236
|
+
"outline",
|
|
237
|
+
"destructive"
|
|
238
|
+
],
|
|
239
|
+
description: "Button style. Defaults to 'primary'"
|
|
240
|
+
},
|
|
241
|
+
size: {
|
|
242
|
+
type: "string",
|
|
243
|
+
enum: [
|
|
244
|
+
"md",
|
|
245
|
+
"lg"
|
|
246
|
+
],
|
|
247
|
+
description: "Button size. Defaults to 'md'"
|
|
248
|
+
},
|
|
249
|
+
state: {
|
|
250
|
+
type: "string",
|
|
251
|
+
enum: [
|
|
252
|
+
"loading",
|
|
253
|
+
"default"
|
|
254
|
+
],
|
|
255
|
+
description: "Button state. Defaults to 'default'"
|
|
256
|
+
},
|
|
257
|
+
onlyIcon: {
|
|
258
|
+
type: "boolean",
|
|
259
|
+
description: "Icon-only mode with square padding"
|
|
260
|
+
},
|
|
261
|
+
disabled: {
|
|
262
|
+
type: "boolean"
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
additionalProperties: false
|
|
266
|
+
},
|
|
267
|
+
children: {
|
|
268
|
+
type: "array",
|
|
269
|
+
items: {
|
|
270
|
+
type: "object",
|
|
271
|
+
properties: {
|
|
272
|
+
type: {
|
|
273
|
+
type: "string"
|
|
274
|
+
},
|
|
275
|
+
props: {
|
|
276
|
+
type: "object",
|
|
277
|
+
additionalProperties: {}
|
|
278
|
+
},
|
|
279
|
+
children: {
|
|
280
|
+
type: "array",
|
|
281
|
+
items: {}
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
required: [
|
|
285
|
+
"type"
|
|
286
|
+
],
|
|
287
|
+
additionalProperties: false
|
|
288
|
+
},
|
|
289
|
+
description: "Button content"
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
required: [
|
|
293
|
+
"type"
|
|
294
|
+
],
|
|
295
|
+
additionalProperties: false,
|
|
296
|
+
description: "A toolbar action button with loading state"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
300
|
+
},
|
|
219
301
|
card: {
|
|
220
302
|
$ref: "#/definitions/card",
|
|
221
303
|
definitions: {
|
|
@@ -518,6 +600,55 @@ var component_schema_default = {
|
|
|
518
600
|
},
|
|
519
601
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
520
602
|
},
|
|
603
|
+
"card-action": {
|
|
604
|
+
$ref: "#/definitions/card-action",
|
|
605
|
+
definitions: {
|
|
606
|
+
"card-action": {
|
|
607
|
+
type: "object",
|
|
608
|
+
properties: {
|
|
609
|
+
type: {
|
|
610
|
+
type: "string",
|
|
611
|
+
const: "card-action"
|
|
612
|
+
},
|
|
613
|
+
props: {
|
|
614
|
+
type: "object",
|
|
615
|
+
properties: {},
|
|
616
|
+
additionalProperties: false
|
|
617
|
+
},
|
|
618
|
+
children: {
|
|
619
|
+
type: "array",
|
|
620
|
+
items: {
|
|
621
|
+
type: "object",
|
|
622
|
+
properties: {
|
|
623
|
+
type: {
|
|
624
|
+
type: "string"
|
|
625
|
+
},
|
|
626
|
+
props: {
|
|
627
|
+
type: "object",
|
|
628
|
+
additionalProperties: {}
|
|
629
|
+
},
|
|
630
|
+
children: {
|
|
631
|
+
type: "array",
|
|
632
|
+
items: {}
|
|
633
|
+
}
|
|
634
|
+
},
|
|
635
|
+
required: [
|
|
636
|
+
"type"
|
|
637
|
+
],
|
|
638
|
+
additionalProperties: false
|
|
639
|
+
},
|
|
640
|
+
description: "Action elements (buttons, links) placed at the top-right of a card header"
|
|
641
|
+
}
|
|
642
|
+
},
|
|
643
|
+
required: [
|
|
644
|
+
"type"
|
|
645
|
+
],
|
|
646
|
+
additionalProperties: false,
|
|
647
|
+
description: "An action area positioned at the top-right of a card"
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
651
|
+
},
|
|
521
652
|
form: {
|
|
522
653
|
$ref: "#/definitions/form",
|
|
523
654
|
definitions: {
|
|
@@ -3221,169 +3352,604 @@ var component_schema_default = {
|
|
|
3221
3352
|
},
|
|
3222
3353
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3223
3354
|
},
|
|
3224
|
-
|
|
3225
|
-
$ref: "#/definitions/
|
|
3355
|
+
calendar: {
|
|
3356
|
+
$ref: "#/definitions/calendar",
|
|
3226
3357
|
definitions: {
|
|
3227
|
-
|
|
3358
|
+
calendar: {
|
|
3228
3359
|
type: "object",
|
|
3229
3360
|
properties: {
|
|
3230
3361
|
type: {
|
|
3231
3362
|
type: "string",
|
|
3232
|
-
const: "
|
|
3363
|
+
const: "calendar"
|
|
3233
3364
|
},
|
|
3234
3365
|
props: {
|
|
3235
3366
|
type: "object",
|
|
3236
|
-
properties: {
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
type: "array",
|
|
3241
|
-
items: {
|
|
3242
|
-
type: "object",
|
|
3243
|
-
properties: {
|
|
3244
|
-
type: {
|
|
3245
|
-
type: "string"
|
|
3246
|
-
},
|
|
3247
|
-
props: {
|
|
3248
|
-
type: "object",
|
|
3249
|
-
additionalProperties: {}
|
|
3250
|
-
},
|
|
3251
|
-
children: {
|
|
3252
|
-
type: "array",
|
|
3253
|
-
items: {}
|
|
3254
|
-
}
|
|
3367
|
+
properties: {
|
|
3368
|
+
showOutsideDays: {
|
|
3369
|
+
type: "boolean",
|
|
3370
|
+
description: "Show days from adjacent months. Defaults to true"
|
|
3255
3371
|
},
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3372
|
+
captionLayout: {
|
|
3373
|
+
type: "string",
|
|
3374
|
+
enum: [
|
|
3375
|
+
"label",
|
|
3376
|
+
"dropdown",
|
|
3377
|
+
"dropdown-months",
|
|
3378
|
+
"dropdown-years"
|
|
3379
|
+
],
|
|
3380
|
+
description: "Caption display mode. Defaults to 'label'"
|
|
3381
|
+
},
|
|
3382
|
+
buttonVariant: {
|
|
3383
|
+
type: "string",
|
|
3384
|
+
enum: [
|
|
3385
|
+
"primary",
|
|
3386
|
+
"secondary",
|
|
3387
|
+
"outline",
|
|
3388
|
+
"destructive",
|
|
3389
|
+
"ghost",
|
|
3390
|
+
"soft"
|
|
3391
|
+
],
|
|
3392
|
+
description: "Navigation button style. Defaults to 'ghost'"
|
|
3393
|
+
},
|
|
3394
|
+
mode: {
|
|
3395
|
+
type: "string",
|
|
3396
|
+
enum: [
|
|
3397
|
+
"single",
|
|
3398
|
+
"multiple",
|
|
3399
|
+
"range"
|
|
3400
|
+
],
|
|
3401
|
+
description: "Selection mode"
|
|
3402
|
+
},
|
|
3403
|
+
numberOfMonths: {
|
|
3404
|
+
type: "number",
|
|
3405
|
+
description: "Number of months to display"
|
|
3406
|
+
},
|
|
3407
|
+
disabled: {
|
|
3408
|
+
type: "boolean"
|
|
3409
|
+
}
|
|
3260
3410
|
},
|
|
3261
|
-
|
|
3411
|
+
additionalProperties: false
|
|
3262
3412
|
}
|
|
3263
3413
|
},
|
|
3264
3414
|
required: [
|
|
3265
3415
|
"type"
|
|
3266
3416
|
],
|
|
3267
3417
|
additionalProperties: false,
|
|
3268
|
-
description: "A
|
|
3418
|
+
description: "A date calendar for picking dates or date ranges"
|
|
3269
3419
|
}
|
|
3270
3420
|
},
|
|
3271
3421
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3272
3422
|
},
|
|
3273
|
-
"
|
|
3274
|
-
$ref: "#/definitions/
|
|
3423
|
+
"file-input": {
|
|
3424
|
+
$ref: "#/definitions/file-input",
|
|
3275
3425
|
definitions: {
|
|
3276
|
-
"
|
|
3426
|
+
"file-input": {
|
|
3277
3427
|
type: "object",
|
|
3278
3428
|
properties: {
|
|
3279
3429
|
type: {
|
|
3280
3430
|
type: "string",
|
|
3281
|
-
const: "
|
|
3431
|
+
const: "file-input"
|
|
3282
3432
|
},
|
|
3283
3433
|
props: {
|
|
3284
3434
|
type: "object",
|
|
3285
|
-
properties: {
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
type: "array",
|
|
3290
|
-
items: {
|
|
3291
|
-
type: "object",
|
|
3292
|
-
properties: {
|
|
3293
|
-
type: {
|
|
3294
|
-
type: "string"
|
|
3295
|
-
},
|
|
3296
|
-
props: {
|
|
3297
|
-
type: "object",
|
|
3298
|
-
additionalProperties: {}
|
|
3299
|
-
},
|
|
3300
|
-
children: {
|
|
3301
|
-
type: "array",
|
|
3302
|
-
items: {}
|
|
3303
|
-
}
|
|
3435
|
+
properties: {
|
|
3436
|
+
label: {
|
|
3437
|
+
type: "string",
|
|
3438
|
+
description: "Label text above the input"
|
|
3304
3439
|
},
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3440
|
+
helperText: {
|
|
3441
|
+
type: "string",
|
|
3442
|
+
description: "Helper text below the input"
|
|
3443
|
+
},
|
|
3444
|
+
error: {
|
|
3445
|
+
type: "boolean",
|
|
3446
|
+
description: "Show error styling. Defaults to false"
|
|
3447
|
+
},
|
|
3448
|
+
accept: {
|
|
3449
|
+
type: "string",
|
|
3450
|
+
description: "Accepted file types, e.g. 'image/*,.pdf'"
|
|
3451
|
+
},
|
|
3452
|
+
multiple: {
|
|
3453
|
+
type: "boolean",
|
|
3454
|
+
description: "Allow multiple files. Defaults to false"
|
|
3455
|
+
},
|
|
3456
|
+
disabled: {
|
|
3457
|
+
type: "boolean"
|
|
3458
|
+
}
|
|
3309
3459
|
},
|
|
3310
|
-
|
|
3460
|
+
additionalProperties: false
|
|
3311
3461
|
}
|
|
3312
3462
|
},
|
|
3313
3463
|
required: [
|
|
3314
3464
|
"type"
|
|
3315
3465
|
],
|
|
3316
3466
|
additionalProperties: false,
|
|
3317
|
-
description: "
|
|
3467
|
+
description: "A file input with choose-file button and upload progress"
|
|
3318
3468
|
}
|
|
3319
3469
|
},
|
|
3320
3470
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3321
3471
|
},
|
|
3322
|
-
"
|
|
3323
|
-
$ref: "#/definitions/
|
|
3472
|
+
"tool-toggle": {
|
|
3473
|
+
$ref: "#/definitions/tool-toggle",
|
|
3324
3474
|
definitions: {
|
|
3325
|
-
"
|
|
3475
|
+
"tool-toggle": {
|
|
3326
3476
|
type: "object",
|
|
3327
3477
|
properties: {
|
|
3328
3478
|
type: {
|
|
3329
3479
|
type: "string",
|
|
3330
|
-
const: "
|
|
3480
|
+
const: "tool-toggle"
|
|
3331
3481
|
},
|
|
3332
3482
|
props: {
|
|
3333
3483
|
type: "object",
|
|
3334
3484
|
properties: {
|
|
3335
|
-
|
|
3485
|
+
icon: {
|
|
3336
3486
|
type: "string",
|
|
3337
|
-
|
|
3338
|
-
"top",
|
|
3339
|
-
"right",
|
|
3340
|
-
"bottom",
|
|
3341
|
-
"left"
|
|
3342
|
-
],
|
|
3343
|
-
description: "Slide-in direction. Defaults to 'right'"
|
|
3487
|
+
description: "Icon name (resolved by the renderer)"
|
|
3344
3488
|
},
|
|
3345
|
-
|
|
3489
|
+
dropdown: {
|
|
3346
3490
|
type: "boolean",
|
|
3347
|
-
description: "Show
|
|
3491
|
+
description: "Show dropdown chevron"
|
|
3348
3492
|
}
|
|
3349
3493
|
},
|
|
3350
3494
|
additionalProperties: false
|
|
3351
|
-
},
|
|
3352
|
-
children: {
|
|
3353
|
-
type: "array",
|
|
3354
|
-
items: {
|
|
3355
|
-
type: "object",
|
|
3356
|
-
properties: {
|
|
3357
|
-
type: {
|
|
3358
|
-
type: "string"
|
|
3359
|
-
},
|
|
3360
|
-
props: {
|
|
3361
|
-
type: "object",
|
|
3362
|
-
additionalProperties: {}
|
|
3363
|
-
},
|
|
3364
|
-
children: {
|
|
3365
|
-
type: "array",
|
|
3366
|
-
items: {}
|
|
3367
|
-
}
|
|
3368
|
-
},
|
|
3369
|
-
required: [
|
|
3370
|
-
"type"
|
|
3371
|
-
],
|
|
3372
|
-
additionalProperties: false
|
|
3373
|
-
},
|
|
3374
|
-
description: "Sheet body content"
|
|
3375
3495
|
}
|
|
3376
3496
|
},
|
|
3377
3497
|
required: [
|
|
3378
3498
|
"type"
|
|
3379
3499
|
],
|
|
3380
3500
|
additionalProperties: false,
|
|
3381
|
-
description: "
|
|
3501
|
+
description: "A round toggle button used in toolbars, optionally with a dropdown"
|
|
3382
3502
|
}
|
|
3383
3503
|
},
|
|
3384
3504
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3385
3505
|
},
|
|
3386
|
-
"
|
|
3506
|
+
"toggle-dropdown-button": {
|
|
3507
|
+
$ref: "#/definitions/toggle-dropdown-button",
|
|
3508
|
+
definitions: {
|
|
3509
|
+
"toggle-dropdown-button": {
|
|
3510
|
+
type: "object",
|
|
3511
|
+
properties: {
|
|
3512
|
+
type: {
|
|
3513
|
+
type: "string",
|
|
3514
|
+
const: "toggle-dropdown-button"
|
|
3515
|
+
},
|
|
3516
|
+
props: {
|
|
3517
|
+
type: "object",
|
|
3518
|
+
properties: {
|
|
3519
|
+
type: {
|
|
3520
|
+
type: "string",
|
|
3521
|
+
enum: [
|
|
3522
|
+
"text",
|
|
3523
|
+
"icon"
|
|
3524
|
+
],
|
|
3525
|
+
description: "Button content type"
|
|
3526
|
+
},
|
|
3527
|
+
selected: {
|
|
3528
|
+
type: "boolean",
|
|
3529
|
+
description: "Whether the button is selected"
|
|
3530
|
+
},
|
|
3531
|
+
variant: {
|
|
3532
|
+
type: "string",
|
|
3533
|
+
enum: [
|
|
3534
|
+
"primary",
|
|
3535
|
+
"secondary",
|
|
3536
|
+
"destructive"
|
|
3537
|
+
],
|
|
3538
|
+
description: "Button color variant"
|
|
3539
|
+
}
|
|
3540
|
+
},
|
|
3541
|
+
required: [
|
|
3542
|
+
"type",
|
|
3543
|
+
"selected",
|
|
3544
|
+
"variant"
|
|
3545
|
+
],
|
|
3546
|
+
additionalProperties: false
|
|
3547
|
+
}
|
|
3548
|
+
},
|
|
3549
|
+
required: [
|
|
3550
|
+
"type",
|
|
3551
|
+
"props"
|
|
3552
|
+
],
|
|
3553
|
+
additionalProperties: false,
|
|
3554
|
+
description: "A split toggle button with an attached dropdown trigger"
|
|
3555
|
+
}
|
|
3556
|
+
},
|
|
3557
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3558
|
+
},
|
|
3559
|
+
"icon-container": {
|
|
3560
|
+
$ref: "#/definitions/icon-container",
|
|
3561
|
+
definitions: {
|
|
3562
|
+
"icon-container": {
|
|
3563
|
+
type: "object",
|
|
3564
|
+
properties: {
|
|
3565
|
+
type: {
|
|
3566
|
+
type: "string",
|
|
3567
|
+
const: "icon-container"
|
|
3568
|
+
},
|
|
3569
|
+
props: {
|
|
3570
|
+
type: "object",
|
|
3571
|
+
properties: {
|
|
3572
|
+
icon: {
|
|
3573
|
+
type: "string",
|
|
3574
|
+
description: "Icon name (resolved by the renderer)"
|
|
3575
|
+
},
|
|
3576
|
+
size: {
|
|
3577
|
+
type: "string",
|
|
3578
|
+
enum: [
|
|
3579
|
+
"xs",
|
|
3580
|
+
"sm",
|
|
3581
|
+
"md",
|
|
3582
|
+
"lg",
|
|
3583
|
+
"xl",
|
|
3584
|
+
"2xl",
|
|
3585
|
+
"3xl",
|
|
3586
|
+
"4xl",
|
|
3587
|
+
"5xl",
|
|
3588
|
+
"6xl",
|
|
3589
|
+
"auto"
|
|
3590
|
+
],
|
|
3591
|
+
description: "Icon size. Defaults to 'sm'"
|
|
3592
|
+
},
|
|
3593
|
+
colorInFill: {
|
|
3594
|
+
type: "boolean",
|
|
3595
|
+
description: "Apply fill colors to SVG paths. Defaults to true"
|
|
3596
|
+
},
|
|
3597
|
+
disableTheme: {
|
|
3598
|
+
type: "boolean",
|
|
3599
|
+
description: "Disable theme-aware coloring. Defaults to false"
|
|
3600
|
+
}
|
|
3601
|
+
},
|
|
3602
|
+
additionalProperties: false
|
|
3603
|
+
},
|
|
3604
|
+
children: {
|
|
3605
|
+
type: "array",
|
|
3606
|
+
items: {
|
|
3607
|
+
type: "object",
|
|
3608
|
+
properties: {
|
|
3609
|
+
type: {
|
|
3610
|
+
type: "string"
|
|
3611
|
+
},
|
|
3612
|
+
props: {
|
|
3613
|
+
type: "object",
|
|
3614
|
+
additionalProperties: {}
|
|
3615
|
+
},
|
|
3616
|
+
children: {
|
|
3617
|
+
type: "array",
|
|
3618
|
+
items: {}
|
|
3619
|
+
}
|
|
3620
|
+
},
|
|
3621
|
+
required: [
|
|
3622
|
+
"type"
|
|
3623
|
+
],
|
|
3624
|
+
additionalProperties: false
|
|
3625
|
+
},
|
|
3626
|
+
description: "Icon element"
|
|
3627
|
+
}
|
|
3628
|
+
},
|
|
3629
|
+
required: [
|
|
3630
|
+
"type"
|
|
3631
|
+
],
|
|
3632
|
+
additionalProperties: false,
|
|
3633
|
+
description: "A sized container for static icons with theme-aware coloring"
|
|
3634
|
+
}
|
|
3635
|
+
},
|
|
3636
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3637
|
+
},
|
|
3638
|
+
"icon-profile": {
|
|
3639
|
+
$ref: "#/definitions/icon-profile",
|
|
3640
|
+
definitions: {
|
|
3641
|
+
"icon-profile": {
|
|
3642
|
+
type: "object",
|
|
3643
|
+
properties: {
|
|
3644
|
+
type: {
|
|
3645
|
+
type: "string",
|
|
3646
|
+
const: "icon-profile"
|
|
3647
|
+
},
|
|
3648
|
+
props: {
|
|
3649
|
+
type: "object",
|
|
3650
|
+
properties: {
|
|
3651
|
+
icon: {
|
|
3652
|
+
type: "string",
|
|
3653
|
+
description: "Icon name (resolved by the renderer)"
|
|
3654
|
+
},
|
|
3655
|
+
color: {
|
|
3656
|
+
type: "string",
|
|
3657
|
+
enum: [
|
|
3658
|
+
"red",
|
|
3659
|
+
"orange",
|
|
3660
|
+
"amber",
|
|
3661
|
+
"yellow",
|
|
3662
|
+
"lime",
|
|
3663
|
+
"green",
|
|
3664
|
+
"emerald",
|
|
3665
|
+
"teal",
|
|
3666
|
+
"cyan",
|
|
3667
|
+
"sky",
|
|
3668
|
+
"blue",
|
|
3669
|
+
"indigo",
|
|
3670
|
+
"violet",
|
|
3671
|
+
"purple",
|
|
3672
|
+
"fuchsia",
|
|
3673
|
+
"pink",
|
|
3674
|
+
"rose",
|
|
3675
|
+
"slate"
|
|
3676
|
+
],
|
|
3677
|
+
description: "Background glow and icon color. Defaults to 'red'"
|
|
3678
|
+
},
|
|
3679
|
+
size: {
|
|
3680
|
+
type: "string",
|
|
3681
|
+
enum: [
|
|
3682
|
+
"26",
|
|
3683
|
+
"32",
|
|
3684
|
+
"40",
|
|
3685
|
+
"48",
|
|
3686
|
+
"56",
|
|
3687
|
+
"64"
|
|
3688
|
+
],
|
|
3689
|
+
description: "Size in pixels. Defaults to '64'"
|
|
3690
|
+
},
|
|
3691
|
+
externalIcon: {
|
|
3692
|
+
type: "boolean",
|
|
3693
|
+
description: "Whether the icon is external"
|
|
3694
|
+
}
|
|
3695
|
+
},
|
|
3696
|
+
required: [
|
|
3697
|
+
"icon"
|
|
3698
|
+
],
|
|
3699
|
+
additionalProperties: false
|
|
3700
|
+
}
|
|
3701
|
+
},
|
|
3702
|
+
required: [
|
|
3703
|
+
"type",
|
|
3704
|
+
"props"
|
|
3705
|
+
],
|
|
3706
|
+
additionalProperties: false,
|
|
3707
|
+
description: "An icon with a colored radial glow background"
|
|
3708
|
+
}
|
|
3709
|
+
},
|
|
3710
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3711
|
+
},
|
|
3712
|
+
"button-with-tooltip": {
|
|
3713
|
+
$ref: "#/definitions/button-with-tooltip",
|
|
3714
|
+
definitions: {
|
|
3715
|
+
"button-with-tooltip": {
|
|
3716
|
+
type: "object",
|
|
3717
|
+
properties: {
|
|
3718
|
+
type: {
|
|
3719
|
+
type: "string",
|
|
3720
|
+
const: "button-with-tooltip"
|
|
3721
|
+
},
|
|
3722
|
+
props: {
|
|
3723
|
+
type: "object",
|
|
3724
|
+
properties: {
|
|
3725
|
+
content: {
|
|
3726
|
+
type: "string",
|
|
3727
|
+
description: "Tooltip text"
|
|
3728
|
+
},
|
|
3729
|
+
position: {
|
|
3730
|
+
type: "string",
|
|
3731
|
+
enum: [
|
|
3732
|
+
"top",
|
|
3733
|
+
"top-center",
|
|
3734
|
+
"top-left",
|
|
3735
|
+
"top-right",
|
|
3736
|
+
"bottom",
|
|
3737
|
+
"bottom-left",
|
|
3738
|
+
"bottom-center",
|
|
3739
|
+
"bottom-right",
|
|
3740
|
+
"left",
|
|
3741
|
+
"right"
|
|
3742
|
+
],
|
|
3743
|
+
description: "Tooltip placement"
|
|
3744
|
+
},
|
|
3745
|
+
withArrow: {
|
|
3746
|
+
type: "boolean",
|
|
3747
|
+
description: "Show an arrow pointer"
|
|
3748
|
+
}
|
|
3749
|
+
},
|
|
3750
|
+
required: [
|
|
3751
|
+
"content"
|
|
3752
|
+
],
|
|
3753
|
+
additionalProperties: false
|
|
3754
|
+
},
|
|
3755
|
+
children: {
|
|
3756
|
+
type: "array",
|
|
3757
|
+
items: {
|
|
3758
|
+
type: "object",
|
|
3759
|
+
properties: {
|
|
3760
|
+
type: {
|
|
3761
|
+
type: "string"
|
|
3762
|
+
},
|
|
3763
|
+
props: {
|
|
3764
|
+
type: "object",
|
|
3765
|
+
additionalProperties: {}
|
|
3766
|
+
},
|
|
3767
|
+
children: {
|
|
3768
|
+
type: "array",
|
|
3769
|
+
items: {}
|
|
3770
|
+
}
|
|
3771
|
+
},
|
|
3772
|
+
required: [
|
|
3773
|
+
"type"
|
|
3774
|
+
],
|
|
3775
|
+
additionalProperties: false
|
|
3776
|
+
},
|
|
3777
|
+
description: "The button element to wrap with a tooltip"
|
|
3778
|
+
}
|
|
3779
|
+
},
|
|
3780
|
+
required: [
|
|
3781
|
+
"type",
|
|
3782
|
+
"props"
|
|
3783
|
+
],
|
|
3784
|
+
additionalProperties: false,
|
|
3785
|
+
description: "A button wrapped with a tooltip that appears on hover"
|
|
3786
|
+
}
|
|
3787
|
+
},
|
|
3788
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3789
|
+
},
|
|
3790
|
+
sheet: {
|
|
3791
|
+
$ref: "#/definitions/sheet",
|
|
3792
|
+
definitions: {
|
|
3793
|
+
sheet: {
|
|
3794
|
+
type: "object",
|
|
3795
|
+
properties: {
|
|
3796
|
+
type: {
|
|
3797
|
+
type: "string",
|
|
3798
|
+
const: "sheet"
|
|
3799
|
+
},
|
|
3800
|
+
props: {
|
|
3801
|
+
type: "object",
|
|
3802
|
+
properties: {},
|
|
3803
|
+
additionalProperties: false
|
|
3804
|
+
},
|
|
3805
|
+
children: {
|
|
3806
|
+
type: "array",
|
|
3807
|
+
items: {
|
|
3808
|
+
type: "object",
|
|
3809
|
+
properties: {
|
|
3810
|
+
type: {
|
|
3811
|
+
type: "string"
|
|
3812
|
+
},
|
|
3813
|
+
props: {
|
|
3814
|
+
type: "object",
|
|
3815
|
+
additionalProperties: {}
|
|
3816
|
+
},
|
|
3817
|
+
children: {
|
|
3818
|
+
type: "array",
|
|
3819
|
+
items: {}
|
|
3820
|
+
}
|
|
3821
|
+
},
|
|
3822
|
+
required: [
|
|
3823
|
+
"type"
|
|
3824
|
+
],
|
|
3825
|
+
additionalProperties: false
|
|
3826
|
+
},
|
|
3827
|
+
description: "Compose with sheet-trigger and sheet-content"
|
|
3828
|
+
}
|
|
3829
|
+
},
|
|
3830
|
+
required: [
|
|
3831
|
+
"type"
|
|
3832
|
+
],
|
|
3833
|
+
additionalProperties: false,
|
|
3834
|
+
description: "A slide-out panel overlay"
|
|
3835
|
+
}
|
|
3836
|
+
},
|
|
3837
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3838
|
+
},
|
|
3839
|
+
"sheet-trigger": {
|
|
3840
|
+
$ref: "#/definitions/sheet-trigger",
|
|
3841
|
+
definitions: {
|
|
3842
|
+
"sheet-trigger": {
|
|
3843
|
+
type: "object",
|
|
3844
|
+
properties: {
|
|
3845
|
+
type: {
|
|
3846
|
+
type: "string",
|
|
3847
|
+
const: "sheet-trigger"
|
|
3848
|
+
},
|
|
3849
|
+
props: {
|
|
3850
|
+
type: "object",
|
|
3851
|
+
properties: {},
|
|
3852
|
+
additionalProperties: false
|
|
3853
|
+
},
|
|
3854
|
+
children: {
|
|
3855
|
+
type: "array",
|
|
3856
|
+
items: {
|
|
3857
|
+
type: "object",
|
|
3858
|
+
properties: {
|
|
3859
|
+
type: {
|
|
3860
|
+
type: "string"
|
|
3861
|
+
},
|
|
3862
|
+
props: {
|
|
3863
|
+
type: "object",
|
|
3864
|
+
additionalProperties: {}
|
|
3865
|
+
},
|
|
3866
|
+
children: {
|
|
3867
|
+
type: "array",
|
|
3868
|
+
items: {}
|
|
3869
|
+
}
|
|
3870
|
+
},
|
|
3871
|
+
required: [
|
|
3872
|
+
"type"
|
|
3873
|
+
],
|
|
3874
|
+
additionalProperties: false
|
|
3875
|
+
},
|
|
3876
|
+
description: "The element that opens the sheet"
|
|
3877
|
+
}
|
|
3878
|
+
},
|
|
3879
|
+
required: [
|
|
3880
|
+
"type"
|
|
3881
|
+
],
|
|
3882
|
+
additionalProperties: false,
|
|
3883
|
+
description: "Trigger element that opens a sheet"
|
|
3884
|
+
}
|
|
3885
|
+
},
|
|
3886
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3887
|
+
},
|
|
3888
|
+
"sheet-content": {
|
|
3889
|
+
$ref: "#/definitions/sheet-content",
|
|
3890
|
+
definitions: {
|
|
3891
|
+
"sheet-content": {
|
|
3892
|
+
type: "object",
|
|
3893
|
+
properties: {
|
|
3894
|
+
type: {
|
|
3895
|
+
type: "string",
|
|
3896
|
+
const: "sheet-content"
|
|
3897
|
+
},
|
|
3898
|
+
props: {
|
|
3899
|
+
type: "object",
|
|
3900
|
+
properties: {
|
|
3901
|
+
side: {
|
|
3902
|
+
type: "string",
|
|
3903
|
+
enum: [
|
|
3904
|
+
"top",
|
|
3905
|
+
"right",
|
|
3906
|
+
"bottom",
|
|
3907
|
+
"left"
|
|
3908
|
+
],
|
|
3909
|
+
description: "Slide-in direction. Defaults to 'right'"
|
|
3910
|
+
},
|
|
3911
|
+
showCloseButton: {
|
|
3912
|
+
type: "boolean",
|
|
3913
|
+
description: "Show close button. Defaults to true"
|
|
3914
|
+
}
|
|
3915
|
+
},
|
|
3916
|
+
additionalProperties: false
|
|
3917
|
+
},
|
|
3918
|
+
children: {
|
|
3919
|
+
type: "array",
|
|
3920
|
+
items: {
|
|
3921
|
+
type: "object",
|
|
3922
|
+
properties: {
|
|
3923
|
+
type: {
|
|
3924
|
+
type: "string"
|
|
3925
|
+
},
|
|
3926
|
+
props: {
|
|
3927
|
+
type: "object",
|
|
3928
|
+
additionalProperties: {}
|
|
3929
|
+
},
|
|
3930
|
+
children: {
|
|
3931
|
+
type: "array",
|
|
3932
|
+
items: {}
|
|
3933
|
+
}
|
|
3934
|
+
},
|
|
3935
|
+
required: [
|
|
3936
|
+
"type"
|
|
3937
|
+
],
|
|
3938
|
+
additionalProperties: false
|
|
3939
|
+
},
|
|
3940
|
+
description: "Sheet body content"
|
|
3941
|
+
}
|
|
3942
|
+
},
|
|
3943
|
+
required: [
|
|
3944
|
+
"type"
|
|
3945
|
+
],
|
|
3946
|
+
additionalProperties: false,
|
|
3947
|
+
description: "Content panel of a sheet"
|
|
3948
|
+
}
|
|
3949
|
+
},
|
|
3950
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3951
|
+
},
|
|
3952
|
+
"sheet-header": {
|
|
3387
3953
|
$ref: "#/definitions/sheet-header",
|
|
3388
3954
|
definitions: {
|
|
3389
3955
|
"sheet-header": {
|
|
@@ -4292,6 +4858,929 @@ var component_schema_default = {
|
|
|
4292
4858
|
}
|
|
4293
4859
|
};
|
|
4294
4860
|
|
|
4861
|
+
// src/types.ts
|
|
4862
|
+
var import_zod = require("zod");
|
|
4863
|
+
var uiNodeSchema = import_zod.z.lazy(
|
|
4864
|
+
() => import_zod.z.object({
|
|
4865
|
+
type: import_zod.z.string(),
|
|
4866
|
+
props: import_zod.z.record(import_zod.z.unknown()).optional(),
|
|
4867
|
+
children: import_zod.z.array(uiNodeSchema).optional()
|
|
4868
|
+
})
|
|
4869
|
+
);
|
|
4870
|
+
|
|
4871
|
+
// src/ui/Button/schema.ts
|
|
4872
|
+
var import_zod2 = require("zod");
|
|
4873
|
+
var buttonSchema = import_zod2.z.object({
|
|
4874
|
+
type: import_zod2.z.literal("button"),
|
|
4875
|
+
props: import_zod2.z.object({
|
|
4876
|
+
label: import_zod2.z.string().optional().describe("Button text"),
|
|
4877
|
+
variant: import_zod2.z.enum(["primary", "secondary", "outline", "destructive", "ghost", "soft"]).optional().describe("Button style. Defaults to 'primary'"),
|
|
4878
|
+
size: import_zod2.z.enum(["sm", "md", "lg"]).optional().describe("Button size. Defaults to 'md'"),
|
|
4879
|
+
url: import_zod2.z.string().optional().describe("URL to open when clicked"),
|
|
4880
|
+
disabled: import_zod2.z.boolean().optional().describe("Whether the button is disabled")
|
|
4881
|
+
}).optional(),
|
|
4882
|
+
children: import_zod2.z.array(uiNodeSchema).optional()
|
|
4883
|
+
}).describe("An action button");
|
|
4884
|
+
var toolButtonSchema = import_zod2.z.object({
|
|
4885
|
+
type: import_zod2.z.literal("tool-button"),
|
|
4886
|
+
props: import_zod2.z.object({
|
|
4887
|
+
variant: import_zod2.z.enum(["primary", "outline", "destructive"]).optional().describe("Button style. Defaults to 'primary'"),
|
|
4888
|
+
size: import_zod2.z.enum(["md", "lg"]).optional().describe("Button size. Defaults to 'md'"),
|
|
4889
|
+
state: import_zod2.z.enum(["loading", "default"]).optional().describe("Button state. Defaults to 'default'"),
|
|
4890
|
+
onlyIcon: import_zod2.z.boolean().optional().describe("Icon-only mode with square padding"),
|
|
4891
|
+
disabled: import_zod2.z.boolean().optional()
|
|
4892
|
+
}).optional(),
|
|
4893
|
+
children: import_zod2.z.array(uiNodeSchema).optional().describe("Button content")
|
|
4894
|
+
}).describe("A toolbar action button with loading state");
|
|
4895
|
+
|
|
4896
|
+
// src/ui/Card/schema.ts
|
|
4897
|
+
var import_zod3 = require("zod");
|
|
4898
|
+
var cardSchema = import_zod3.z.object({
|
|
4899
|
+
type: import_zod3.z.literal("card"),
|
|
4900
|
+
props: import_zod3.z.object({}).optional(),
|
|
4901
|
+
children: import_zod3.z.array(uiNodeSchema).optional().describe("Compose with card-header, card-content, card-footer")
|
|
4902
|
+
}).describe("Container card");
|
|
4903
|
+
var cardHeaderSchema = import_zod3.z.object({
|
|
4904
|
+
type: import_zod3.z.literal("card-header"),
|
|
4905
|
+
props: import_zod3.z.object({}).optional(),
|
|
4906
|
+
children: import_zod3.z.array(uiNodeSchema).optional().describe("Place card-title and card-description inside")
|
|
4907
|
+
}).describe("Header section of a card");
|
|
4908
|
+
var cardTitleSchema = import_zod3.z.object({
|
|
4909
|
+
type: import_zod3.z.literal("card-title"),
|
|
4910
|
+
props: import_zod3.z.object({
|
|
4911
|
+
children: import_zod3.z.string().optional().describe("Title text")
|
|
4912
|
+
}).optional(),
|
|
4913
|
+
children: import_zod3.z.array(uiNodeSchema).optional()
|
|
4914
|
+
}).describe("Title inside a card-header");
|
|
4915
|
+
var cardDescriptionSchema = import_zod3.z.object({
|
|
4916
|
+
type: import_zod3.z.literal("card-description"),
|
|
4917
|
+
props: import_zod3.z.object({
|
|
4918
|
+
children: import_zod3.z.string().optional().describe("Description text")
|
|
4919
|
+
}).optional(),
|
|
4920
|
+
children: import_zod3.z.array(uiNodeSchema).optional()
|
|
4921
|
+
}).describe("Description text inside a card-header");
|
|
4922
|
+
var cardContentSchema = import_zod3.z.object({
|
|
4923
|
+
type: import_zod3.z.literal("card-content"),
|
|
4924
|
+
props: import_zod3.z.object({}).optional(),
|
|
4925
|
+
children: import_zod3.z.array(uiNodeSchema).optional().describe("Main content area")
|
|
4926
|
+
}).describe("Main content area of a card");
|
|
4927
|
+
var cardFooterSchema = import_zod3.z.object({
|
|
4928
|
+
type: import_zod3.z.literal("card-footer"),
|
|
4929
|
+
props: import_zod3.z.object({}).optional(),
|
|
4930
|
+
children: import_zod3.z.array(uiNodeSchema).optional().describe("Footer area, typically for actions")
|
|
4931
|
+
}).describe("Footer section of a card");
|
|
4932
|
+
var cardActionSchema = import_zod3.z.object({
|
|
4933
|
+
type: import_zod3.z.literal("card-action"),
|
|
4934
|
+
props: import_zod3.z.object({}).optional(),
|
|
4935
|
+
children: import_zod3.z.array(uiNodeSchema).optional().describe("Action elements (buttons, links) placed at the top-right of a card header")
|
|
4936
|
+
}).describe("An action area positioned at the top-right of a card");
|
|
4937
|
+
|
|
4938
|
+
// src/ui/form/schema.ts
|
|
4939
|
+
var import_zod4 = require("zod");
|
|
4940
|
+
var formSchema = import_zod4.z.object({
|
|
4941
|
+
type: import_zod4.z.literal("form"),
|
|
4942
|
+
props: import_zod4.z.object({
|
|
4943
|
+
id: import_zod4.z.string().describe("Unique form ID")
|
|
4944
|
+
}),
|
|
4945
|
+
children: import_zod4.z.array(uiNodeSchema).optional().describe("Form field components")
|
|
4946
|
+
}).describe("A form container. Wrap form fields inside.");
|
|
4947
|
+
|
|
4948
|
+
// src/ui/Input/schema.ts
|
|
4949
|
+
var import_zod5 = require("zod");
|
|
4950
|
+
var inputFieldSchema = import_zod5.z.object({
|
|
4951
|
+
type: import_zod5.z.literal("input-field"),
|
|
4952
|
+
props: import_zod5.z.object({
|
|
4953
|
+
name: import_zod5.z.string().describe("Field name (maps to form data key)"),
|
|
4954
|
+
label: import_zod5.z.string().optional().describe("Label text above the input"),
|
|
4955
|
+
placeholder: import_zod5.z.string().optional().describe("Placeholder text"),
|
|
4956
|
+
type: import_zod5.z.enum(["text", "email", "number", "url", "search", "tel"]).optional().describe("Input type. Defaults to 'text'"),
|
|
4957
|
+
required: import_zod5.z.boolean().optional().describe("Whether the field is required"),
|
|
4958
|
+
disabled: import_zod5.z.boolean().optional()
|
|
4959
|
+
})
|
|
4960
|
+
}).describe("A text input field inside a form");
|
|
4961
|
+
|
|
4962
|
+
// src/ui/PasswordInput/schema.ts
|
|
4963
|
+
var import_zod6 = require("zod");
|
|
4964
|
+
var passwordFieldSchema = import_zod6.z.object({
|
|
4965
|
+
type: import_zod6.z.literal("password-field"),
|
|
4966
|
+
props: import_zod6.z.object({
|
|
4967
|
+
name: import_zod6.z.string().describe("Field name"),
|
|
4968
|
+
label: import_zod6.z.string().optional().describe("Label text"),
|
|
4969
|
+
placeholder: import_zod6.z.string().optional()
|
|
4970
|
+
})
|
|
4971
|
+
}).describe("A password input field with show/hide toggle");
|
|
4972
|
+
|
|
4973
|
+
// src/ui/TextAreaInput/schema.ts
|
|
4974
|
+
var import_zod7 = require("zod");
|
|
4975
|
+
var textareaFieldSchema = import_zod7.z.object({
|
|
4976
|
+
type: import_zod7.z.literal("textarea-field"),
|
|
4977
|
+
props: import_zod7.z.object({
|
|
4978
|
+
name: import_zod7.z.string().describe("Field name"),
|
|
4979
|
+
label: import_zod7.z.string().optional().describe("Label text"),
|
|
4980
|
+
placeholder: import_zod7.z.string().optional(),
|
|
4981
|
+
rows: import_zod7.z.number().optional().describe("Number of visible rows")
|
|
4982
|
+
})
|
|
4983
|
+
}).describe("A multi-line text input field");
|
|
4984
|
+
|
|
4985
|
+
// src/ui/SelectInput/schema.ts
|
|
4986
|
+
var import_zod8 = require("zod");
|
|
4987
|
+
var selectFieldSchema = import_zod8.z.object({
|
|
4988
|
+
type: import_zod8.z.literal("select-field"),
|
|
4989
|
+
props: import_zod8.z.object({
|
|
4990
|
+
name: import_zod8.z.string().describe("Field name"),
|
|
4991
|
+
label: import_zod8.z.string().optional().describe("Label text"),
|
|
4992
|
+
placeholder: import_zod8.z.string().optional(),
|
|
4993
|
+
options: import_zod8.z.array(import_zod8.z.object({
|
|
4994
|
+
label: import_zod8.z.string().describe("Display text"),
|
|
4995
|
+
value: import_zod8.z.string().describe("Option value")
|
|
4996
|
+
})).describe("Array of selectable options"),
|
|
4997
|
+
required: import_zod8.z.boolean().optional()
|
|
4998
|
+
})
|
|
4999
|
+
}).describe("A dropdown select field");
|
|
5000
|
+
|
|
5001
|
+
// src/ui/Checkbox/schema.ts
|
|
5002
|
+
var import_zod9 = require("zod");
|
|
5003
|
+
var checkboxFieldSchema = import_zod9.z.object({
|
|
5004
|
+
type: import_zod9.z.literal("checkbox-field"),
|
|
5005
|
+
props: import_zod9.z.object({
|
|
5006
|
+
name: import_zod9.z.string().describe("Field name"),
|
|
5007
|
+
label: import_zod9.z.string().optional().describe("Checkbox label text")
|
|
5008
|
+
})
|
|
5009
|
+
}).describe("A checkbox field");
|
|
5010
|
+
|
|
5011
|
+
// src/ui/Radio/schema.ts
|
|
5012
|
+
var import_zod10 = require("zod");
|
|
5013
|
+
var radioFieldSchema = import_zod10.z.object({
|
|
5014
|
+
type: import_zod10.z.literal("radio-field"),
|
|
5015
|
+
props: import_zod10.z.object({
|
|
5016
|
+
name: import_zod10.z.string().describe("Field name"),
|
|
5017
|
+
label: import_zod10.z.string().optional().describe("Group label"),
|
|
5018
|
+
options: import_zod10.z.array(import_zod10.z.object({
|
|
5019
|
+
label: import_zod10.z.string().describe("Option label"),
|
|
5020
|
+
value: import_zod10.z.string().describe("Option value")
|
|
5021
|
+
})).describe("Array of radio options")
|
|
5022
|
+
})
|
|
5023
|
+
}).describe("A radio button group field");
|
|
5024
|
+
|
|
5025
|
+
// src/ui/Switch/schema.ts
|
|
5026
|
+
var import_zod11 = require("zod");
|
|
5027
|
+
var switchFieldSchema = import_zod11.z.object({
|
|
5028
|
+
type: import_zod11.z.literal("switch-field"),
|
|
5029
|
+
props: import_zod11.z.object({
|
|
5030
|
+
name: import_zod11.z.string().describe("Field name"),
|
|
5031
|
+
label: import_zod11.z.string().optional().describe("Switch label")
|
|
5032
|
+
})
|
|
5033
|
+
}).describe("A toggle switch field");
|
|
5034
|
+
|
|
5035
|
+
// src/ui/DatePickerInput/schema.ts
|
|
5036
|
+
var import_zod12 = require("zod");
|
|
5037
|
+
var dateFieldSchema = import_zod12.z.object({
|
|
5038
|
+
type: import_zod12.z.literal("date-field"),
|
|
5039
|
+
props: import_zod12.z.object({
|
|
5040
|
+
name: import_zod12.z.string().describe("Field name"),
|
|
5041
|
+
label: import_zod12.z.string().optional().describe("Label text"),
|
|
5042
|
+
placeholder: import_zod12.z.string().optional(),
|
|
5043
|
+
disablePast: import_zod12.z.boolean().optional().describe("Disable past dates"),
|
|
5044
|
+
required: import_zod12.z.boolean().optional()
|
|
5045
|
+
})
|
|
5046
|
+
}).describe("A date picker field");
|
|
5047
|
+
|
|
5048
|
+
// src/ui/TimePicker/schema.ts
|
|
5049
|
+
var import_zod13 = require("zod");
|
|
5050
|
+
var timeFieldSchema = import_zod13.z.object({
|
|
5051
|
+
type: import_zod13.z.literal("time-field"),
|
|
5052
|
+
props: import_zod13.z.object({
|
|
5053
|
+
name: import_zod13.z.string().describe("Field name"),
|
|
5054
|
+
label: import_zod13.z.string().optional().describe("Label text")
|
|
5055
|
+
})
|
|
5056
|
+
}).describe("A time picker field");
|
|
5057
|
+
|
|
5058
|
+
// src/ui/Combobox/schema.ts
|
|
5059
|
+
var import_zod14 = require("zod");
|
|
5060
|
+
var comboboxFieldSchema = import_zod14.z.object({
|
|
5061
|
+
type: import_zod14.z.literal("combobox-field"),
|
|
5062
|
+
props: import_zod14.z.object({
|
|
5063
|
+
name: import_zod14.z.string().describe("Field name"),
|
|
5064
|
+
label: import_zod14.z.string().optional().describe("Label text"),
|
|
5065
|
+
placeholder: import_zod14.z.string().optional(),
|
|
5066
|
+
options: import_zod14.z.array(import_zod14.z.object({
|
|
5067
|
+
label: import_zod14.z.string().describe("Display text"),
|
|
5068
|
+
value: import_zod14.z.string().describe("Option value")
|
|
5069
|
+
})).describe("Array of searchable options")
|
|
5070
|
+
})
|
|
5071
|
+
}).describe("A searchable combobox/autocomplete field");
|
|
5072
|
+
|
|
5073
|
+
// src/ui/MultiSelect/schema.ts
|
|
5074
|
+
var import_zod15 = require("zod");
|
|
5075
|
+
var multiSelectFieldSchema = import_zod15.z.object({
|
|
5076
|
+
type: import_zod15.z.literal("multi-select-field"),
|
|
5077
|
+
props: import_zod15.z.object({
|
|
5078
|
+
name: import_zod15.z.string().describe("Field name"),
|
|
5079
|
+
label: import_zod15.z.string().optional().describe("Label text"),
|
|
5080
|
+
placeholder: import_zod15.z.string().optional(),
|
|
5081
|
+
options: import_zod15.z.array(import_zod15.z.object({
|
|
5082
|
+
label: import_zod15.z.string().describe("Display text"),
|
|
5083
|
+
value: import_zod15.z.string().describe("Option value")
|
|
5084
|
+
})).describe("Array of options for multi-selection")
|
|
5085
|
+
})
|
|
5086
|
+
}).describe("A multi-select dropdown field");
|
|
5087
|
+
|
|
5088
|
+
// src/ui/OTPInput/schema.ts
|
|
5089
|
+
var import_zod16 = require("zod");
|
|
5090
|
+
var otpFieldSchema = import_zod16.z.object({
|
|
5091
|
+
type: import_zod16.z.literal("otp-field"),
|
|
5092
|
+
props: import_zod16.z.object({
|
|
5093
|
+
name: import_zod16.z.string().describe("Field name"),
|
|
5094
|
+
maxLength: import_zod16.z.number().optional().describe("Number of OTP digits. Defaults to 6")
|
|
5095
|
+
})
|
|
5096
|
+
}).describe("An OTP (one-time password) input field");
|
|
5097
|
+
|
|
5098
|
+
// src/ui/FileUpload/schema.ts
|
|
5099
|
+
var import_zod17 = require("zod");
|
|
5100
|
+
var fileUploadFieldSchema = import_zod17.z.object({
|
|
5101
|
+
type: import_zod17.z.literal("file-upload-field"),
|
|
5102
|
+
props: import_zod17.z.object({
|
|
5103
|
+
name: import_zod17.z.string().describe("Field name"),
|
|
5104
|
+
label: import_zod17.z.string().optional().describe("Label text"),
|
|
5105
|
+
isMultiple: import_zod17.z.boolean().optional().describe("Allow multiple files"),
|
|
5106
|
+
maxFiles: import_zod17.z.number().optional().describe("Maximum number of files")
|
|
5107
|
+
})
|
|
5108
|
+
}).describe("A file upload field with drag-and-drop");
|
|
5109
|
+
|
|
5110
|
+
// src/ui/Text/schema.ts
|
|
5111
|
+
var import_zod18 = require("zod");
|
|
5112
|
+
var textSchema = import_zod18.z.object({
|
|
5113
|
+
type: import_zod18.z.literal("text"),
|
|
5114
|
+
props: import_zod18.z.object({
|
|
5115
|
+
children: import_zod18.z.string().optional().describe("Text content")
|
|
5116
|
+
}).optional(),
|
|
5117
|
+
children: import_zod18.z.array(uiNodeSchema).optional()
|
|
5118
|
+
}).describe("A paragraph of text");
|
|
5119
|
+
|
|
5120
|
+
// src/ui/Title/schema.ts
|
|
5121
|
+
var import_zod19 = require("zod");
|
|
5122
|
+
var titleSchema = import_zod19.z.object({
|
|
5123
|
+
type: import_zod19.z.literal("title"),
|
|
5124
|
+
props: import_zod19.z.object({
|
|
5125
|
+
children: import_zod19.z.string().optional().describe("Heading text")
|
|
5126
|
+
}).optional(),
|
|
5127
|
+
children: import_zod19.z.array(uiNodeSchema).optional()
|
|
5128
|
+
}).describe("A heading / title element");
|
|
5129
|
+
|
|
5130
|
+
// src/ui/Label/schema.ts
|
|
5131
|
+
var import_zod20 = require("zod");
|
|
5132
|
+
var labelSchema = import_zod20.z.object({
|
|
5133
|
+
type: import_zod20.z.literal("label"),
|
|
5134
|
+
props: import_zod20.z.object({
|
|
5135
|
+
children: import_zod20.z.string().optional().describe("Label text"),
|
|
5136
|
+
htmlFor: import_zod20.z.string().optional().describe("ID of the form element this label is for")
|
|
5137
|
+
}).optional(),
|
|
5138
|
+
children: import_zod20.z.array(uiNodeSchema).optional()
|
|
5139
|
+
}).describe("A form label element");
|
|
5140
|
+
|
|
5141
|
+
// src/ui/Badge/schema.ts
|
|
5142
|
+
var import_zod21 = require("zod");
|
|
5143
|
+
var badgeSchema = import_zod21.z.object({
|
|
5144
|
+
type: import_zod21.z.literal("badge"),
|
|
5145
|
+
props: import_zod21.z.object({
|
|
5146
|
+
children: import_zod21.z.string().optional().describe("Badge text"),
|
|
5147
|
+
type: import_zod21.z.enum([
|
|
5148
|
+
"primary-hard",
|
|
5149
|
+
"primary-soft",
|
|
5150
|
+
"destructive-hard",
|
|
5151
|
+
"destructive-soft",
|
|
5152
|
+
"secondary-hard",
|
|
5153
|
+
"secondary-soft"
|
|
5154
|
+
]).optional().describe("Badge style. Defaults to 'primary-hard'"),
|
|
5155
|
+
size: import_zod21.z.enum(["sm", "md"]).optional().describe("Badge size. Defaults to 'sm'"),
|
|
5156
|
+
rounded: import_zod21.z.boolean().optional().describe("Fully rounded pill shape")
|
|
5157
|
+
}).optional(),
|
|
5158
|
+
children: import_zod21.z.array(uiNodeSchema).optional()
|
|
5159
|
+
}).describe("A small status badge / label");
|
|
5160
|
+
|
|
5161
|
+
// src/ui/Tag/schema.ts
|
|
5162
|
+
var import_zod22 = require("zod");
|
|
5163
|
+
var tagSchema = import_zod22.z.object({
|
|
5164
|
+
type: import_zod22.z.literal("tag"),
|
|
5165
|
+
props: import_zod22.z.object({
|
|
5166
|
+
label: import_zod22.z.string().describe("Tag text"),
|
|
5167
|
+
variant: import_zod22.z.enum(["primary", "secondary", "destructive"]).optional().describe("Tag color variant. Defaults to 'primary'")
|
|
5168
|
+
})
|
|
5169
|
+
}).describe("A colored tag / pill");
|
|
5170
|
+
|
|
5171
|
+
// src/ui/Chip/schema.ts
|
|
5172
|
+
var import_zod23 = require("zod");
|
|
5173
|
+
var chipSchema = import_zod23.z.object({
|
|
5174
|
+
type: import_zod23.z.literal("chip"),
|
|
5175
|
+
props: import_zod23.z.object({
|
|
5176
|
+
label: import_zod23.z.string().describe("Chip text"),
|
|
5177
|
+
type: import_zod23.z.enum(["rounded", "rectangle"]).optional().describe("Chip shape. Defaults to 'rounded'"),
|
|
5178
|
+
color: import_zod23.z.enum([
|
|
5179
|
+
"slate",
|
|
5180
|
+
"red",
|
|
5181
|
+
"orange",
|
|
5182
|
+
"amber",
|
|
5183
|
+
"yellow",
|
|
5184
|
+
"lime",
|
|
5185
|
+
"green",
|
|
5186
|
+
"emerald",
|
|
5187
|
+
"teal",
|
|
5188
|
+
"cyan",
|
|
5189
|
+
"sky",
|
|
5190
|
+
"blue",
|
|
5191
|
+
"indigo",
|
|
5192
|
+
"violet",
|
|
5193
|
+
"purple",
|
|
5194
|
+
"fuchsia",
|
|
5195
|
+
"pink",
|
|
5196
|
+
"rose"
|
|
5197
|
+
]).optional().describe("Chip color. Defaults to 'slate'"),
|
|
5198
|
+
dot: import_zod23.z.boolean().optional().describe("Show a colored dot indicator"),
|
|
5199
|
+
avatar: import_zod23.z.string().optional().describe("Avatar image URL shown inside the chip")
|
|
5200
|
+
})
|
|
5201
|
+
}).describe("A compact chip element with optional color dot or avatar");
|
|
5202
|
+
|
|
5203
|
+
// src/ui/Alert/schema.ts
|
|
5204
|
+
var import_zod24 = require("zod");
|
|
5205
|
+
var alertSchema = import_zod24.z.object({
|
|
5206
|
+
type: import_zod24.z.literal("alert"),
|
|
5207
|
+
props: import_zod24.z.object({
|
|
5208
|
+
variant: import_zod24.z.enum(["default", "secondary", "destructive"]).optional().describe("Alert style. Defaults to 'default'"),
|
|
5209
|
+
title: import_zod24.z.string().optional().describe("Alert heading"),
|
|
5210
|
+
description: import_zod24.z.string().optional().describe("Alert body text")
|
|
5211
|
+
}).optional(),
|
|
5212
|
+
children: import_zod24.z.array(uiNodeSchema).optional()
|
|
5213
|
+
}).describe("An alert / notice banner");
|
|
5214
|
+
|
|
5215
|
+
// src/ui/Skeleton/schema.ts
|
|
5216
|
+
var import_zod25 = require("zod");
|
|
5217
|
+
var skeletonSchema = import_zod25.z.object({
|
|
5218
|
+
type: import_zod25.z.literal("skeleton"),
|
|
5219
|
+
props: import_zod25.z.object({
|
|
5220
|
+
className: import_zod25.z.string().optional().describe("Tailwind classes to control width/height, e.g. 'h-4 w-[250px]'")
|
|
5221
|
+
}).optional()
|
|
5222
|
+
}).describe("A loading placeholder skeleton");
|
|
5223
|
+
|
|
5224
|
+
// src/ui/ProgressIndicator/schema.ts
|
|
5225
|
+
var import_zod26 = require("zod");
|
|
5226
|
+
var progressIndicatorSchema = import_zod26.z.object({
|
|
5227
|
+
type: import_zod26.z.literal("progress-indicator"),
|
|
5228
|
+
props: import_zod26.z.object({
|
|
5229
|
+
value: import_zod26.z.number().describe("Current progress value"),
|
|
5230
|
+
max: import_zod26.z.number().optional().describe("Maximum value. Defaults to 100"),
|
|
5231
|
+
showPercentage: import_zod26.z.boolean().optional().describe("Show percentage text. Defaults to true"),
|
|
5232
|
+
variant: import_zod26.z.enum(["bar", "circle"]).optional().describe("Display style. Defaults to 'bar'")
|
|
5233
|
+
})
|
|
5234
|
+
}).describe("A progress bar or circular progress indicator");
|
|
5235
|
+
|
|
5236
|
+
// src/ui/Avatar/schema.ts
|
|
5237
|
+
var import_zod27 = require("zod");
|
|
5238
|
+
var avatarSchema = import_zod27.z.object({
|
|
5239
|
+
type: import_zod27.z.literal("avatar"),
|
|
5240
|
+
props: import_zod27.z.object({
|
|
5241
|
+
variant: import_zod27.z.enum(["image", "text", "placeholder"]).describe("Avatar display mode"),
|
|
5242
|
+
fallback: import_zod27.z.string().describe("Fallback text (initials) when image is unavailable"),
|
|
5243
|
+
imgsrc: import_zod27.z.string().optional().describe("Image URL (required when variant is 'image')"),
|
|
5244
|
+
size: import_zod27.z.enum(["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl"]).optional().describe("Avatar size. Defaults to 'md'"),
|
|
5245
|
+
status: import_zod27.z.enum(["active", "inactive"]).optional().describe("Online status indicator")
|
|
5246
|
+
})
|
|
5247
|
+
}).describe("A user avatar displaying an image, initials, or placeholder");
|
|
5248
|
+
|
|
5249
|
+
// src/ui/AvatarListItem/schema.ts
|
|
5250
|
+
var import_zod28 = require("zod");
|
|
5251
|
+
var avatarListItemSchema = import_zod28.z.object({
|
|
5252
|
+
type: import_zod28.z.literal("avatar-list-item"),
|
|
5253
|
+
props: import_zod28.z.object({
|
|
5254
|
+
avatar: import_zod28.z.string().describe("Avatar image URL"),
|
|
5255
|
+
name: import_zod28.z.string().describe("Display name"),
|
|
5256
|
+
email: import_zod28.z.string().describe("Email address"),
|
|
5257
|
+
isMe: import_zod28.z.boolean().optional().describe("Highlight as current user")
|
|
5258
|
+
})
|
|
5259
|
+
}).describe("An avatar with name and email, typically used in lists");
|
|
5260
|
+
|
|
5261
|
+
// src/ui/Media/schema.ts
|
|
5262
|
+
var import_zod29 = require("zod");
|
|
5263
|
+
var mediaSchema = import_zod29.z.object({
|
|
5264
|
+
type: import_zod29.z.literal("media"),
|
|
5265
|
+
props: import_zod29.z.object({
|
|
5266
|
+
src: import_zod29.z.string().describe("Media source URL"),
|
|
5267
|
+
alt: import_zod29.z.string().optional().describe("Alt text for images"),
|
|
5268
|
+
type: import_zod29.z.enum(["image", "video"]).optional().describe("Media type. Defaults to 'image'"),
|
|
5269
|
+
aspectRatio: import_zod29.z.enum(["1:1", "16:9", "9:16", "4:3", "3:4"]).optional().describe("Fixed aspect ratio"),
|
|
5270
|
+
objectFit: import_zod29.z.enum(["cover", "contain", "fill", "scale-down", "none"]).optional().describe("How the media fills its container. Defaults to 'cover'"),
|
|
5271
|
+
rounded: import_zod29.z.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]).optional().describe("Border radius"),
|
|
5272
|
+
loading: import_zod29.z.enum(["lazy", "eager"]).optional().describe("Loading strategy. Defaults to 'lazy'")
|
|
5273
|
+
})
|
|
5274
|
+
}).describe("An image or video media element");
|
|
5275
|
+
|
|
5276
|
+
// src/ui/Grid/schema.ts
|
|
5277
|
+
var import_zod30 = require("zod");
|
|
5278
|
+
var gridSchema = import_zod30.z.object({
|
|
5279
|
+
type: import_zod30.z.literal("grid"),
|
|
5280
|
+
props: import_zod30.z.object({
|
|
5281
|
+
className: import_zod30.z.string().optional().describe("Tailwind grid classes, e.g. 'grid-cols-2 gap-4'")
|
|
5282
|
+
}).optional(),
|
|
5283
|
+
children: import_zod30.z.array(uiNodeSchema).optional().describe("Grid items")
|
|
5284
|
+
}).describe("A CSS grid layout container");
|
|
5285
|
+
|
|
5286
|
+
// src/ui/Accordion/schema.ts
|
|
5287
|
+
var import_zod31 = require("zod");
|
|
5288
|
+
var accordionSchema = import_zod31.z.object({
|
|
5289
|
+
type: import_zod31.z.literal("accordion"),
|
|
5290
|
+
props: import_zod31.z.object({
|
|
5291
|
+
type: import_zod31.z.enum(["single", "multiple"]).optional().describe("Allow one or multiple items open. Defaults to 'single'"),
|
|
5292
|
+
collapsible: import_zod31.z.boolean().optional().describe("Allow collapsing all items"),
|
|
5293
|
+
defaultValue: import_zod31.z.union([import_zod31.z.string(), import_zod31.z.array(import_zod31.z.string())]).optional().describe("Initially open item value(s)")
|
|
5294
|
+
}).optional(),
|
|
5295
|
+
children: import_zod31.z.array(uiNodeSchema).optional().describe("Compose with accordion-item children")
|
|
5296
|
+
}).describe("A collapsible accordion container");
|
|
5297
|
+
var accordionItemSchema = import_zod31.z.object({
|
|
5298
|
+
type: import_zod31.z.literal("accordion-item"),
|
|
5299
|
+
props: import_zod31.z.object({
|
|
5300
|
+
value: import_zod31.z.string().describe("Unique item identifier")
|
|
5301
|
+
}),
|
|
5302
|
+
children: import_zod31.z.array(uiNodeSchema).optional().describe("Place accordion-trigger and accordion-content inside")
|
|
5303
|
+
}).describe("A single accordion section");
|
|
5304
|
+
var accordionTriggerSchema = import_zod31.z.object({
|
|
5305
|
+
type: import_zod31.z.literal("accordion-trigger"),
|
|
5306
|
+
props: import_zod31.z.object({
|
|
5307
|
+
children: import_zod31.z.string().optional().describe("Trigger label text")
|
|
5308
|
+
}).optional(),
|
|
5309
|
+
children: import_zod31.z.array(uiNodeSchema).optional()
|
|
5310
|
+
}).describe("Clickable header that toggles an accordion-item");
|
|
5311
|
+
var accordionContentSchema = import_zod31.z.object({
|
|
5312
|
+
type: import_zod31.z.literal("accordion-content"),
|
|
5313
|
+
props: import_zod31.z.object({}).optional(),
|
|
5314
|
+
children: import_zod31.z.array(uiNodeSchema).optional().describe("Content revealed when the item is open")
|
|
5315
|
+
}).describe("Collapsible content area of an accordion-item");
|
|
5316
|
+
|
|
5317
|
+
// src/ui/Tabs/schema.ts
|
|
5318
|
+
var import_zod32 = require("zod");
|
|
5319
|
+
var tabsSchema = import_zod32.z.object({
|
|
5320
|
+
type: import_zod32.z.literal("tabs"),
|
|
5321
|
+
props: import_zod32.z.object({
|
|
5322
|
+
defaultActiveTab: import_zod32.z.string().describe("Value of the initially active tab"),
|
|
5323
|
+
tabs: import_zod32.z.array(
|
|
5324
|
+
import_zod32.z.object({
|
|
5325
|
+
value: import_zod32.z.string().describe("Unique tab identifier"),
|
|
5326
|
+
label: import_zod32.z.string().describe("Tab label text"),
|
|
5327
|
+
count: import_zod32.z.number().optional().describe("Badge count on the tab"),
|
|
5328
|
+
notification: import_zod32.z.boolean().optional().describe("Show notification dot")
|
|
5329
|
+
})
|
|
5330
|
+
).describe("Tab definitions"),
|
|
5331
|
+
tabSmall: import_zod32.z.boolean().optional().describe("Use compact tab styling"),
|
|
5332
|
+
showContent: import_zod32.z.boolean().optional().describe("Show tab content panels. Defaults to true")
|
|
5333
|
+
}),
|
|
5334
|
+
children: import_zod32.z.array(uiNodeSchema).optional().describe("Tab content panels (one per tab, in order)")
|
|
5335
|
+
}).describe("A tabbed interface with switchable content panels");
|
|
5336
|
+
|
|
5337
|
+
// src/ui/WrapperCard/schema.ts
|
|
5338
|
+
var import_zod33 = require("zod");
|
|
5339
|
+
var wrapperCardSchema = import_zod33.z.object({
|
|
5340
|
+
type: import_zod33.z.literal("wrapper-card"),
|
|
5341
|
+
props: import_zod33.z.object({}).optional(),
|
|
5342
|
+
children: import_zod33.z.array(uiNodeSchema).optional().describe("Card body content")
|
|
5343
|
+
}).describe("A simple card wrapper with default padding and border");
|
|
5344
|
+
|
|
5345
|
+
// src/ui/GradientContainer/schema.ts
|
|
5346
|
+
var import_zod34 = require("zod");
|
|
5347
|
+
var gradientContainerSchema = import_zod34.z.object({
|
|
5348
|
+
type: import_zod34.z.literal("gradient-container"),
|
|
5349
|
+
props: import_zod34.z.object({}).optional(),
|
|
5350
|
+
children: import_zod34.z.array(uiNodeSchema).optional().describe("Content inside the gradient container")
|
|
5351
|
+
}).describe("A container with a gradient background");
|
|
5352
|
+
|
|
5353
|
+
// src/ui/Carousel/schema.ts
|
|
5354
|
+
var import_zod35 = require("zod");
|
|
5355
|
+
var carouselSchema = import_zod35.z.object({
|
|
5356
|
+
type: import_zod35.z.literal("carousel"),
|
|
5357
|
+
props: import_zod35.z.object({
|
|
5358
|
+
orientation: import_zod35.z.enum(["horizontal", "vertical"]).optional().describe("Scroll direction. Defaults to 'horizontal'")
|
|
5359
|
+
}).optional(),
|
|
5360
|
+
children: import_zod35.z.array(uiNodeSchema).optional().describe("Place a carousel-content inside")
|
|
5361
|
+
}).describe("A scrollable carousel container");
|
|
5362
|
+
var carouselContentSchema = import_zod35.z.object({
|
|
5363
|
+
type: import_zod35.z.literal("carousel-content"),
|
|
5364
|
+
props: import_zod35.z.object({}).optional(),
|
|
5365
|
+
children: import_zod35.z.array(uiNodeSchema).optional().describe("Compose with carousel-item children")
|
|
5366
|
+
}).describe("Content track of a carousel");
|
|
5367
|
+
var carouselItemSchema = import_zod35.z.object({
|
|
5368
|
+
type: import_zod35.z.literal("carousel-item"),
|
|
5369
|
+
props: import_zod35.z.object({}).optional(),
|
|
5370
|
+
children: import_zod35.z.array(uiNodeSchema).optional().describe("Content for this slide")
|
|
5371
|
+
}).describe("A single slide inside a carousel");
|
|
5372
|
+
|
|
5373
|
+
// src/ui/Toggle/schema.ts
|
|
5374
|
+
var import_zod36 = require("zod");
|
|
5375
|
+
var toggleSchema = import_zod36.z.object({
|
|
5376
|
+
type: import_zod36.z.literal("toggle"),
|
|
5377
|
+
props: import_zod36.z.object({
|
|
5378
|
+
active: import_zod36.z.boolean().optional().describe("Whether the toggle is pressed"),
|
|
5379
|
+
shape: import_zod36.z.enum(["rectangle", "rounded"]).optional().describe("Toggle shape. Defaults to 'rectangle'"),
|
|
5380
|
+
style: import_zod36.z.enum(["ghost", "outline", "soft"]).optional().describe("Visual style. Defaults to 'soft'"),
|
|
5381
|
+
size: import_zod36.z.enum(["sm", "md", "lg"]).optional().describe("Toggle size. Defaults to 'sm'"),
|
|
5382
|
+
disabled: import_zod36.z.boolean().optional()
|
|
5383
|
+
}).optional(),
|
|
5384
|
+
children: import_zod36.z.array(uiNodeSchema).optional().describe("Toggle label / content")
|
|
5385
|
+
}).describe("A pressable toggle button");
|
|
5386
|
+
|
|
5387
|
+
// src/ui/Slider/schema.ts
|
|
5388
|
+
var import_zod37 = require("zod");
|
|
5389
|
+
var sliderSchema = import_zod37.z.object({
|
|
5390
|
+
type: import_zod37.z.literal("slider"),
|
|
5391
|
+
props: import_zod37.z.object({
|
|
5392
|
+
defaultValue: import_zod37.z.union([import_zod37.z.number(), import_zod37.z.array(import_zod37.z.number())]).optional().describe("Initial value or range [min, max]"),
|
|
5393
|
+
min: import_zod37.z.number().optional().describe("Minimum value. Defaults to 0"),
|
|
5394
|
+
max: import_zod37.z.number().optional().describe("Maximum value. Defaults to 100"),
|
|
5395
|
+
step: import_zod37.z.number().optional().describe("Step increment"),
|
|
5396
|
+
disabled: import_zod37.z.boolean().optional()
|
|
5397
|
+
}).optional()
|
|
5398
|
+
}).describe("A range slider input");
|
|
5399
|
+
|
|
5400
|
+
// src/ui/SearchInput/schema.ts
|
|
5401
|
+
var import_zod38 = require("zod");
|
|
5402
|
+
var searchInputSchema = import_zod38.z.object({
|
|
5403
|
+
type: import_zod38.z.literal("search-input"),
|
|
5404
|
+
props: import_zod38.z.object({
|
|
5405
|
+
searchKey: import_zod38.z.string().describe("URL query param key for the search value"),
|
|
5406
|
+
placeholder: import_zod38.z.string().optional().describe("Placeholder text. Defaults to 'Search by...'"),
|
|
5407
|
+
debounceDelay: import_zod38.z.number().optional().describe("Debounce delay in ms. Defaults to 500"),
|
|
5408
|
+
variant: import_zod38.z.enum(["ghost", "outline"]).optional().describe("Input style variant"),
|
|
5409
|
+
disabled: import_zod38.z.boolean().optional()
|
|
5410
|
+
})
|
|
5411
|
+
}).describe("A search input with debounced query param binding");
|
|
5412
|
+
|
|
5413
|
+
// src/ui/IconButton/schema.ts
|
|
5414
|
+
var import_zod39 = require("zod");
|
|
5415
|
+
var iconButtonSchema = import_zod39.z.object({
|
|
5416
|
+
type: import_zod39.z.literal("icon-button"),
|
|
5417
|
+
props: import_zod39.z.object({
|
|
5418
|
+
icon: import_zod39.z.string().describe("Icon name (resolved by the renderer)"),
|
|
5419
|
+
variant: import_zod39.z.enum([
|
|
5420
|
+
"primary",
|
|
5421
|
+
"secondary",
|
|
5422
|
+
"destructive",
|
|
5423
|
+
"outline",
|
|
5424
|
+
"ghost",
|
|
5425
|
+
"soft",
|
|
5426
|
+
"ai-filled",
|
|
5427
|
+
"ai-outline",
|
|
5428
|
+
"glass"
|
|
5429
|
+
]).optional().describe("Button style. Defaults to 'primary'"),
|
|
5430
|
+
size: import_zod39.z.enum(["xs", "sm", "md", "lg"]).optional().describe("Button size. Defaults to 'sm'"),
|
|
5431
|
+
active: import_zod39.z.boolean().optional().describe("Active / pressed state"),
|
|
5432
|
+
rounded: import_zod39.z.boolean().optional().describe("Fully round button"),
|
|
5433
|
+
disabled: import_zod39.z.boolean().optional()
|
|
5434
|
+
})
|
|
5435
|
+
}).describe("An icon-only action button");
|
|
5436
|
+
|
|
5437
|
+
// src/ui/LinkButton/schema.ts
|
|
5438
|
+
var import_zod40 = require("zod");
|
|
5439
|
+
var linkButtonSchema = import_zod40.z.object({
|
|
5440
|
+
type: import_zod40.z.literal("link-button"),
|
|
5441
|
+
props: import_zod40.z.object({
|
|
5442
|
+
href: import_zod40.z.string().describe("Link URL"),
|
|
5443
|
+
children: import_zod40.z.string().optional().describe("Link text")
|
|
5444
|
+
}),
|
|
5445
|
+
children: import_zod40.z.array(uiNodeSchema).optional()
|
|
5446
|
+
}).describe("A button styled as a navigation link");
|
|
5447
|
+
|
|
5448
|
+
// src/ui/ButtonLink/schema.ts
|
|
5449
|
+
var import_zod41 = require("zod");
|
|
5450
|
+
var buttonLinkSchema = import_zod41.z.object({
|
|
5451
|
+
type: import_zod41.z.literal("button-link"),
|
|
5452
|
+
props: import_zod41.z.object({
|
|
5453
|
+
children: import_zod41.z.string().optional().describe("Link text"),
|
|
5454
|
+
variant: import_zod41.z.enum(["link", "text-link", "error"]).optional().describe("Link style. Defaults to 'link'"),
|
|
5455
|
+
href: import_zod41.z.string().optional().describe("Link URL"),
|
|
5456
|
+
disabled: import_zod41.z.boolean().optional()
|
|
5457
|
+
}).optional(),
|
|
5458
|
+
children: import_zod41.z.array(uiNodeSchema).optional()
|
|
5459
|
+
}).describe("An inline text link styled as a button");
|
|
5460
|
+
|
|
5461
|
+
// src/ui/SelectHover/schema.ts
|
|
5462
|
+
var import_zod42 = require("zod");
|
|
5463
|
+
var selectHoverSchema = import_zod42.z.object({
|
|
5464
|
+
type: import_zod42.z.literal("select-hover"),
|
|
5465
|
+
props: import_zod42.z.object({
|
|
5466
|
+
options: import_zod42.z.array(
|
|
5467
|
+
import_zod42.z.object({
|
|
5468
|
+
label: import_zod42.z.string().describe("Display text"),
|
|
5469
|
+
value: import_zod42.z.string().describe("Option value")
|
|
5470
|
+
})
|
|
5471
|
+
).describe("Array of selectable options"),
|
|
5472
|
+
placeholder: import_zod42.z.string().optional().describe("Placeholder text. Defaults to 'Select an option'"),
|
|
5473
|
+
value: import_zod42.z.string().optional().describe("Currently selected value")
|
|
5474
|
+
})
|
|
5475
|
+
}).describe("A hover-activated select dropdown");
|
|
5476
|
+
|
|
5477
|
+
// src/ui/Breadcrumb/schema.ts
|
|
5478
|
+
var import_zod43 = require("zod");
|
|
5479
|
+
var breadcrumbSchema = import_zod43.z.object({
|
|
5480
|
+
type: import_zod43.z.literal("breadcrumb"),
|
|
5481
|
+
props: import_zod43.z.object({
|
|
5482
|
+
items: import_zod43.z.array(
|
|
5483
|
+
import_zod43.z.object({
|
|
5484
|
+
label: import_zod43.z.string().describe("Breadcrumb text"),
|
|
5485
|
+
href: import_zod43.z.string().optional().describe("Navigation URL"),
|
|
5486
|
+
disabled: import_zod43.z.boolean().optional()
|
|
5487
|
+
})
|
|
5488
|
+
).describe("Ordered list of breadcrumb segments")
|
|
5489
|
+
})
|
|
5490
|
+
}).describe("A breadcrumb navigation trail");
|
|
5491
|
+
|
|
5492
|
+
// src/ui/Tooltip/schema.ts
|
|
5493
|
+
var import_zod44 = require("zod");
|
|
5494
|
+
var tooltipSchema = import_zod44.z.object({
|
|
5495
|
+
type: import_zod44.z.literal("tooltip"),
|
|
5496
|
+
props: import_zod44.z.object({
|
|
5497
|
+
content: import_zod44.z.string().describe("Tooltip text"),
|
|
5498
|
+
position: import_zod44.z.enum([
|
|
5499
|
+
"top",
|
|
5500
|
+
"top-center",
|
|
5501
|
+
"top-left",
|
|
5502
|
+
"top-right",
|
|
5503
|
+
"bottom",
|
|
5504
|
+
"bottom-left",
|
|
5505
|
+
"bottom-center",
|
|
5506
|
+
"bottom-right",
|
|
5507
|
+
"left",
|
|
5508
|
+
"right"
|
|
5509
|
+
]).optional().describe("Tooltip placement"),
|
|
5510
|
+
withArrow: import_zod44.z.boolean().optional().describe("Show an arrow pointer")
|
|
5511
|
+
}),
|
|
5512
|
+
children: import_zod44.z.array(uiNodeSchema).optional().describe("The trigger element the tooltip wraps")
|
|
5513
|
+
}).describe("A tooltip that appears on hover over its child element");
|
|
5514
|
+
|
|
5515
|
+
// src/ui/Table/schema.ts
|
|
5516
|
+
var import_zod45 = require("zod");
|
|
5517
|
+
var tableSchema = import_zod45.z.object({
|
|
5518
|
+
type: import_zod45.z.literal("table"),
|
|
5519
|
+
props: import_zod45.z.object({
|
|
5520
|
+
columns: import_zod45.z.array(
|
|
5521
|
+
import_zod45.z.object({
|
|
5522
|
+
accessorKey: import_zod45.z.string().describe("Key in the row data object"),
|
|
5523
|
+
header: import_zod45.z.string().describe("Column header text")
|
|
5524
|
+
})
|
|
5525
|
+
).describe("Column definitions"),
|
|
5526
|
+
tableData: import_zod45.z.array(import_zod45.z.record(import_zod45.z.unknown())).describe("Array of row data objects")
|
|
5527
|
+
})
|
|
5528
|
+
}).describe("A data table with columns and rows");
|
|
5529
|
+
|
|
5530
|
+
// src/ui/Calendar/schema.ts
|
|
5531
|
+
var import_zod46 = require("zod");
|
|
5532
|
+
var calendarSchema = import_zod46.z.object({
|
|
5533
|
+
type: import_zod46.z.literal("calendar"),
|
|
5534
|
+
props: import_zod46.z.object({
|
|
5535
|
+
showOutsideDays: import_zod46.z.boolean().optional().describe("Show days from adjacent months. Defaults to true"),
|
|
5536
|
+
captionLayout: import_zod46.z.enum(["label", "dropdown", "dropdown-months", "dropdown-years"]).optional().describe("Caption display mode. Defaults to 'label'"),
|
|
5537
|
+
buttonVariant: import_zod46.z.enum(["primary", "secondary", "outline", "destructive", "ghost", "soft"]).optional().describe("Navigation button style. Defaults to 'ghost'"),
|
|
5538
|
+
mode: import_zod46.z.enum(["single", "multiple", "range"]).optional().describe("Selection mode"),
|
|
5539
|
+
numberOfMonths: import_zod46.z.number().optional().describe("Number of months to display"),
|
|
5540
|
+
disabled: import_zod46.z.boolean().optional()
|
|
5541
|
+
}).optional()
|
|
5542
|
+
}).describe("A date calendar for picking dates or date ranges");
|
|
5543
|
+
|
|
5544
|
+
// src/ui/FileInput/schema.ts
|
|
5545
|
+
var import_zod47 = require("zod");
|
|
5546
|
+
var fileInputSchema = import_zod47.z.object({
|
|
5547
|
+
type: import_zod47.z.literal("file-input"),
|
|
5548
|
+
props: import_zod47.z.object({
|
|
5549
|
+
label: import_zod47.z.string().optional().describe("Label text above the input"),
|
|
5550
|
+
helperText: import_zod47.z.string().optional().describe("Helper text below the input"),
|
|
5551
|
+
error: import_zod47.z.boolean().optional().describe("Show error styling. Defaults to false"),
|
|
5552
|
+
accept: import_zod47.z.string().optional().describe("Accepted file types, e.g. 'image/*,.pdf'"),
|
|
5553
|
+
multiple: import_zod47.z.boolean().optional().describe("Allow multiple files. Defaults to false"),
|
|
5554
|
+
disabled: import_zod47.z.boolean().optional()
|
|
5555
|
+
}).optional()
|
|
5556
|
+
}).describe("A file input with choose-file button and upload progress");
|
|
5557
|
+
|
|
5558
|
+
// src/ui/ToolToggle/schema.ts
|
|
5559
|
+
var import_zod48 = require("zod");
|
|
5560
|
+
var toolToggleSchema = import_zod48.z.object({
|
|
5561
|
+
type: import_zod48.z.literal("tool-toggle"),
|
|
5562
|
+
props: import_zod48.z.object({
|
|
5563
|
+
icon: import_zod48.z.string().optional().describe("Icon name (resolved by the renderer)"),
|
|
5564
|
+
dropdown: import_zod48.z.boolean().optional().describe("Show dropdown chevron")
|
|
5565
|
+
}).optional()
|
|
5566
|
+
}).describe("A round toggle button used in toolbars, optionally with a dropdown");
|
|
5567
|
+
|
|
5568
|
+
// src/ui/ToggleDropdownButton/schema.ts
|
|
5569
|
+
var import_zod49 = require("zod");
|
|
5570
|
+
var toggleDropdownButtonSchema = import_zod49.z.object({
|
|
5571
|
+
type: import_zod49.z.literal("toggle-dropdown-button"),
|
|
5572
|
+
props: import_zod49.z.object({
|
|
5573
|
+
type: import_zod49.z.enum(["text", "icon"]).describe("Button content type"),
|
|
5574
|
+
selected: import_zod49.z.boolean().describe("Whether the button is selected"),
|
|
5575
|
+
variant: import_zod49.z.enum(["primary", "secondary", "destructive"]).describe("Button color variant")
|
|
5576
|
+
})
|
|
5577
|
+
}).describe("A split toggle button with an attached dropdown trigger");
|
|
5578
|
+
|
|
5579
|
+
// src/ui/IconContainer/schema.ts
|
|
5580
|
+
var import_zod50 = require("zod");
|
|
5581
|
+
var iconContainerSchema = import_zod50.z.object({
|
|
5582
|
+
type: import_zod50.z.literal("icon-container"),
|
|
5583
|
+
props: import_zod50.z.object({
|
|
5584
|
+
icon: import_zod50.z.string().optional().describe("Icon name (resolved by the renderer)"),
|
|
5585
|
+
size: import_zod50.z.enum(["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "auto"]).optional().describe("Icon size. Defaults to 'sm'"),
|
|
5586
|
+
colorInFill: import_zod50.z.boolean().optional().describe("Apply fill colors to SVG paths. Defaults to true"),
|
|
5587
|
+
disableTheme: import_zod50.z.boolean().optional().describe("Disable theme-aware coloring. Defaults to false")
|
|
5588
|
+
}).optional(),
|
|
5589
|
+
children: import_zod50.z.array(uiNodeSchema).optional().describe("Icon element")
|
|
5590
|
+
}).describe("A sized container for static icons with theme-aware coloring");
|
|
5591
|
+
|
|
5592
|
+
// src/ui/IconProfile/schema.ts
|
|
5593
|
+
var import_zod51 = require("zod");
|
|
5594
|
+
var iconProfileSchema = import_zod51.z.object({
|
|
5595
|
+
type: import_zod51.z.literal("icon-profile"),
|
|
5596
|
+
props: import_zod51.z.object({
|
|
5597
|
+
icon: import_zod51.z.string().describe("Icon name (resolved by the renderer)"),
|
|
5598
|
+
color: import_zod51.z.enum([
|
|
5599
|
+
"red",
|
|
5600
|
+
"orange",
|
|
5601
|
+
"amber",
|
|
5602
|
+
"yellow",
|
|
5603
|
+
"lime",
|
|
5604
|
+
"green",
|
|
5605
|
+
"emerald",
|
|
5606
|
+
"teal",
|
|
5607
|
+
"cyan",
|
|
5608
|
+
"sky",
|
|
5609
|
+
"blue",
|
|
5610
|
+
"indigo",
|
|
5611
|
+
"violet",
|
|
5612
|
+
"purple",
|
|
5613
|
+
"fuchsia",
|
|
5614
|
+
"pink",
|
|
5615
|
+
"rose",
|
|
5616
|
+
"slate"
|
|
5617
|
+
]).optional().describe("Background glow and icon color. Defaults to 'red'"),
|
|
5618
|
+
size: import_zod51.z.enum(["26", "32", "40", "48", "56", "64"]).optional().describe("Size in pixels. Defaults to '64'"),
|
|
5619
|
+
externalIcon: import_zod51.z.boolean().optional().describe("Whether the icon is external")
|
|
5620
|
+
})
|
|
5621
|
+
}).describe("An icon with a colored radial glow background");
|
|
5622
|
+
|
|
5623
|
+
// src/ui/ButtonWithTooltip/schema.ts
|
|
5624
|
+
var import_zod52 = require("zod");
|
|
5625
|
+
var buttonWithTooltipSchema = import_zod52.z.object({
|
|
5626
|
+
type: import_zod52.z.literal("button-with-tooltip"),
|
|
5627
|
+
props: import_zod52.z.object({
|
|
5628
|
+
content: import_zod52.z.string().describe("Tooltip text"),
|
|
5629
|
+
position: import_zod52.z.enum([
|
|
5630
|
+
"top",
|
|
5631
|
+
"top-center",
|
|
5632
|
+
"top-left",
|
|
5633
|
+
"top-right",
|
|
5634
|
+
"bottom",
|
|
5635
|
+
"bottom-left",
|
|
5636
|
+
"bottom-center",
|
|
5637
|
+
"bottom-right",
|
|
5638
|
+
"left",
|
|
5639
|
+
"right"
|
|
5640
|
+
]).optional().describe("Tooltip placement"),
|
|
5641
|
+
withArrow: import_zod52.z.boolean().optional().describe("Show an arrow pointer")
|
|
5642
|
+
}),
|
|
5643
|
+
children: import_zod52.z.array(uiNodeSchema).optional().describe("The button element to wrap with a tooltip")
|
|
5644
|
+
}).describe("A button wrapped with a tooltip that appears on hover");
|
|
5645
|
+
|
|
5646
|
+
// src/ui/Sheet/schema.ts
|
|
5647
|
+
var import_zod53 = require("zod");
|
|
5648
|
+
var sheetSchema = import_zod53.z.object({
|
|
5649
|
+
type: import_zod53.z.literal("sheet"),
|
|
5650
|
+
props: import_zod53.z.object({}).optional(),
|
|
5651
|
+
children: import_zod53.z.array(uiNodeSchema).optional().describe("Compose with sheet-trigger and sheet-content")
|
|
5652
|
+
}).describe("A slide-out panel overlay");
|
|
5653
|
+
var sheetTriggerSchema = import_zod53.z.object({
|
|
5654
|
+
type: import_zod53.z.literal("sheet-trigger"),
|
|
5655
|
+
props: import_zod53.z.object({}).optional(),
|
|
5656
|
+
children: import_zod53.z.array(uiNodeSchema).optional().describe("The element that opens the sheet")
|
|
5657
|
+
}).describe("Trigger element that opens a sheet");
|
|
5658
|
+
var sheetContentSchema = import_zod53.z.object({
|
|
5659
|
+
type: import_zod53.z.literal("sheet-content"),
|
|
5660
|
+
props: import_zod53.z.object({
|
|
5661
|
+
side: import_zod53.z.enum(["top", "right", "bottom", "left"]).optional().describe("Slide-in direction. Defaults to 'right'"),
|
|
5662
|
+
showCloseButton: import_zod53.z.boolean().optional().describe("Show close button. Defaults to true")
|
|
5663
|
+
}).optional(),
|
|
5664
|
+
children: import_zod53.z.array(uiNodeSchema).optional().describe("Sheet body content")
|
|
5665
|
+
}).describe("Content panel of a sheet");
|
|
5666
|
+
var sheetHeaderSchema = import_zod53.z.object({
|
|
5667
|
+
type: import_zod53.z.literal("sheet-header"),
|
|
5668
|
+
props: import_zod53.z.object({}).optional(),
|
|
5669
|
+
children: import_zod53.z.array(uiNodeSchema).optional()
|
|
5670
|
+
}).describe("Header section of a sheet");
|
|
5671
|
+
var sheetFooterSchema = import_zod53.z.object({
|
|
5672
|
+
type: import_zod53.z.literal("sheet-footer"),
|
|
5673
|
+
props: import_zod53.z.object({}).optional(),
|
|
5674
|
+
children: import_zod53.z.array(uiNodeSchema).optional()
|
|
5675
|
+
}).describe("Footer section of a sheet");
|
|
5676
|
+
var sheetTitleSchema = import_zod53.z.object({
|
|
5677
|
+
type: import_zod53.z.literal("sheet-title"),
|
|
5678
|
+
props: import_zod53.z.object({
|
|
5679
|
+
children: import_zod53.z.string().optional().describe("Title text")
|
|
5680
|
+
}).optional(),
|
|
5681
|
+
children: import_zod53.z.array(uiNodeSchema).optional()
|
|
5682
|
+
}).describe("Title inside a sheet-header");
|
|
5683
|
+
var sheetDescriptionSchema = import_zod53.z.object({
|
|
5684
|
+
type: import_zod53.z.literal("sheet-description"),
|
|
5685
|
+
props: import_zod53.z.object({
|
|
5686
|
+
children: import_zod53.z.string().optional().describe("Description text")
|
|
5687
|
+
}).optional(),
|
|
5688
|
+
children: import_zod53.z.array(uiNodeSchema).optional()
|
|
5689
|
+
}).describe("Description text inside a sheet-header");
|
|
5690
|
+
|
|
5691
|
+
// src/ui/Dropdown/schema.ts
|
|
5692
|
+
var import_zod54 = require("zod");
|
|
5693
|
+
var dropdownMenuSchema = import_zod54.z.object({
|
|
5694
|
+
type: import_zod54.z.literal("dropdown-menu"),
|
|
5695
|
+
props: import_zod54.z.object({}).optional(),
|
|
5696
|
+
children: import_zod54.z.array(uiNodeSchema).optional().describe("Compose with dropdown-menu-trigger and dropdown-menu-content")
|
|
5697
|
+
}).describe("A dropdown menu container");
|
|
5698
|
+
var dropdownMenuTriggerSchema = import_zod54.z.object({
|
|
5699
|
+
type: import_zod54.z.literal("dropdown-menu-trigger"),
|
|
5700
|
+
props: import_zod54.z.object({}).optional(),
|
|
5701
|
+
children: import_zod54.z.array(uiNodeSchema).optional().describe("The element that opens the dropdown")
|
|
5702
|
+
}).describe("Trigger element that opens a dropdown menu");
|
|
5703
|
+
var dropdownMenuContentSchema = import_zod54.z.object({
|
|
5704
|
+
type: import_zod54.z.literal("dropdown-menu-content"),
|
|
5705
|
+
props: import_zod54.z.object({
|
|
5706
|
+
side: import_zod54.z.enum(["top", "right", "bottom", "left"]).optional(),
|
|
5707
|
+
align: import_zod54.z.enum(["start", "center", "end"]).optional()
|
|
5708
|
+
}).optional(),
|
|
5709
|
+
children: import_zod54.z.array(uiNodeSchema).optional().describe("Menu items")
|
|
5710
|
+
}).describe("Content panel of a dropdown menu");
|
|
5711
|
+
var dropdownMenuItemSchema = import_zod54.z.object({
|
|
5712
|
+
type: import_zod54.z.literal("dropdown-menu-item"),
|
|
5713
|
+
props: import_zod54.z.object({
|
|
5714
|
+
children: import_zod54.z.string().optional().describe("Menu item text"),
|
|
5715
|
+
variant: import_zod54.z.enum(["default", "destructive"]).optional().describe("Item style. Defaults to 'default'"),
|
|
5716
|
+
disabled: import_zod54.z.boolean().optional()
|
|
5717
|
+
}).optional(),
|
|
5718
|
+
children: import_zod54.z.array(uiNodeSchema).optional()
|
|
5719
|
+
}).describe("A single item inside a dropdown menu");
|
|
5720
|
+
var dropdownMenuSeparatorSchema = import_zod54.z.object({
|
|
5721
|
+
type: import_zod54.z.literal("dropdown-menu-separator"),
|
|
5722
|
+
props: import_zod54.z.object({}).optional()
|
|
5723
|
+
}).describe("A visual separator between dropdown menu items");
|
|
5724
|
+
var dropdownMenuLabelSchema = import_zod54.z.object({
|
|
5725
|
+
type: import_zod54.z.literal("dropdown-menu-label"),
|
|
5726
|
+
props: import_zod54.z.object({
|
|
5727
|
+
children: import_zod54.z.string().optional().describe("Label text")
|
|
5728
|
+
}).optional(),
|
|
5729
|
+
children: import_zod54.z.array(uiNodeSchema).optional()
|
|
5730
|
+
}).describe("A non-interactive label inside a dropdown menu");
|
|
5731
|
+
|
|
5732
|
+
// src/ui/Popover/schema.ts
|
|
5733
|
+
var import_zod55 = require("zod");
|
|
5734
|
+
var popoverSchema = import_zod55.z.object({
|
|
5735
|
+
type: import_zod55.z.literal("popover"),
|
|
5736
|
+
props: import_zod55.z.object({}).optional(),
|
|
5737
|
+
children: import_zod55.z.array(uiNodeSchema).optional().describe("Compose with popover-trigger and popover-content")
|
|
5738
|
+
}).describe("A popover overlay container");
|
|
5739
|
+
var popoverTriggerSchema = import_zod55.z.object({
|
|
5740
|
+
type: import_zod55.z.literal("popover-trigger"),
|
|
5741
|
+
props: import_zod55.z.object({}).optional(),
|
|
5742
|
+
children: import_zod55.z.array(uiNodeSchema).optional().describe("The element that opens the popover")
|
|
5743
|
+
}).describe("Trigger element that opens a popover");
|
|
5744
|
+
var popoverContentSchema = import_zod55.z.object({
|
|
5745
|
+
type: import_zod55.z.literal("popover-content"),
|
|
5746
|
+
props: import_zod55.z.object({
|
|
5747
|
+
align: import_zod55.z.enum(["start", "center", "end"]).optional().describe("Alignment relative to trigger. Defaults to 'center'"),
|
|
5748
|
+
sideOffset: import_zod55.z.number().optional().describe("Offset from trigger in px. Defaults to 4")
|
|
5749
|
+
}).optional(),
|
|
5750
|
+
children: import_zod55.z.array(uiNodeSchema).optional().describe("Popover body content")
|
|
5751
|
+
}).describe("Content panel of a popover");
|
|
5752
|
+
|
|
5753
|
+
// src/ui/ContextMenu/schema.ts
|
|
5754
|
+
var import_zod56 = require("zod");
|
|
5755
|
+
var contextMenuSchema = import_zod56.z.object({
|
|
5756
|
+
type: import_zod56.z.literal("context-menu"),
|
|
5757
|
+
props: import_zod56.z.object({}).optional(),
|
|
5758
|
+
children: import_zod56.z.array(uiNodeSchema).optional().describe("Compose with context-menu-trigger and context-menu-content")
|
|
5759
|
+
}).describe("A right-click context menu container");
|
|
5760
|
+
var contextMenuTriggerSchema = import_zod56.z.object({
|
|
5761
|
+
type: import_zod56.z.literal("context-menu-trigger"),
|
|
5762
|
+
props: import_zod56.z.object({}).optional(),
|
|
5763
|
+
children: import_zod56.z.array(uiNodeSchema).optional().describe("The element that triggers the context menu on right-click")
|
|
5764
|
+
}).describe("Trigger area for a context menu");
|
|
5765
|
+
var contextMenuContentSchema = import_zod56.z.object({
|
|
5766
|
+
type: import_zod56.z.literal("context-menu-content"),
|
|
5767
|
+
props: import_zod56.z.object({}).optional(),
|
|
5768
|
+
children: import_zod56.z.array(uiNodeSchema).optional().describe("Menu items")
|
|
5769
|
+
}).describe("Content panel of a context menu");
|
|
5770
|
+
var contextMenuItemSchema = import_zod56.z.object({
|
|
5771
|
+
type: import_zod56.z.literal("context-menu-item"),
|
|
5772
|
+
props: import_zod56.z.object({
|
|
5773
|
+
children: import_zod56.z.string().optional().describe("Menu item text"),
|
|
5774
|
+
variant: import_zod56.z.enum(["default", "destructive"]).optional().describe("Item style. Defaults to 'default'"),
|
|
5775
|
+
disabled: import_zod56.z.boolean().optional()
|
|
5776
|
+
}).optional(),
|
|
5777
|
+
children: import_zod56.z.array(uiNodeSchema).optional()
|
|
5778
|
+
}).describe("A single item inside a context menu");
|
|
5779
|
+
var contextMenuSeparatorSchema = import_zod56.z.object({
|
|
5780
|
+
type: import_zod56.z.literal("context-menu-separator"),
|
|
5781
|
+
props: import_zod56.z.object({}).optional()
|
|
5782
|
+
}).describe("A visual separator between context menu items");
|
|
5783
|
+
|
|
4295
5784
|
// src/schema.ts
|
|
4296
5785
|
var componentSchema = component_schema_default;
|
|
4297
5786
|
function getComponentSchemas() {
|