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