magick-ui 0.2.1 → 0.2.3

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 CHANGED
@@ -77,6 +77,7 @@ __export(src_exports, {
77
77
  FileUploadField: () => FileUploadField,
78
78
  Form: () => Form,
79
79
  FormField: () => FormField,
80
+ GoogleMapView: () => GoogleMapView,
80
81
  GradientContainer: () => GradientContainer,
81
82
  Grid: () => Grid,
82
83
  IconButton: () => IconButton,
@@ -216,6 +217,88 @@ var component_schema_default = {
216
217
  },
217
218
  $schema: "http://json-schema.org/draft-07/schema#"
218
219
  },
220
+ "tool-button": {
221
+ $ref: "#/definitions/tool-button",
222
+ definitions: {
223
+ "tool-button": {
224
+ type: "object",
225
+ properties: {
226
+ type: {
227
+ type: "string",
228
+ const: "tool-button"
229
+ },
230
+ props: {
231
+ type: "object",
232
+ properties: {
233
+ variant: {
234
+ type: "string",
235
+ enum: [
236
+ "primary",
237
+ "outline",
238
+ "destructive"
239
+ ],
240
+ description: "Button style. Defaults to 'primary'"
241
+ },
242
+ size: {
243
+ type: "string",
244
+ enum: [
245
+ "md",
246
+ "lg"
247
+ ],
248
+ description: "Button size. Defaults to 'md'"
249
+ },
250
+ state: {
251
+ type: "string",
252
+ enum: [
253
+ "loading",
254
+ "default"
255
+ ],
256
+ description: "Button state. Defaults to 'default'"
257
+ },
258
+ onlyIcon: {
259
+ type: "boolean",
260
+ description: "Icon-only mode with square padding"
261
+ },
262
+ disabled: {
263
+ type: "boolean"
264
+ }
265
+ },
266
+ additionalProperties: false
267
+ },
268
+ children: {
269
+ type: "array",
270
+ items: {
271
+ type: "object",
272
+ properties: {
273
+ type: {
274
+ type: "string"
275
+ },
276
+ props: {
277
+ type: "object",
278
+ additionalProperties: {}
279
+ },
280
+ children: {
281
+ type: "array",
282
+ items: {}
283
+ }
284
+ },
285
+ required: [
286
+ "type"
287
+ ],
288
+ additionalProperties: false
289
+ },
290
+ description: "Button content"
291
+ }
292
+ },
293
+ required: [
294
+ "type"
295
+ ],
296
+ additionalProperties: false,
297
+ description: "A toolbar action button with loading state"
298
+ }
299
+ },
300
+ $schema: "http://json-schema.org/draft-07/schema#"
301
+ },
219
302
  card: {
220
303
  $ref: "#/definitions/card",
221
304
  definitions: {
@@ -518,6 +601,55 @@ var component_schema_default = {
518
601
  },
519
602
  $schema: "http://json-schema.org/draft-07/schema#"
520
603
  },
604
+ "card-action": {
605
+ $ref: "#/definitions/card-action",
606
+ definitions: {
607
+ "card-action": {
608
+ type: "object",
609
+ properties: {
610
+ type: {
611
+ type: "string",
612
+ const: "card-action"
613
+ },
614
+ props: {
615
+ type: "object",
616
+ properties: {},
617
+ additionalProperties: false
618
+ },
619
+ children: {
620
+ type: "array",
621
+ items: {
622
+ type: "object",
623
+ properties: {
624
+ type: {
625
+ type: "string"
626
+ },
627
+ props: {
628
+ type: "object",
629
+ additionalProperties: {}
630
+ },
631
+ children: {
632
+ type: "array",
633
+ items: {}
634
+ }
635
+ },
636
+ required: [
637
+ "type"
638
+ ],
639
+ additionalProperties: false
640
+ },
641
+ description: "Action elements (buttons, links) placed at the top-right of a card header"
642
+ }
643
+ },
644
+ required: [
645
+ "type"
646
+ ],
647
+ additionalProperties: false,
648
+ description: "An action area positioned at the top-right of a card"
649
+ }
650
+ },
651
+ $schema: "http://json-schema.org/draft-07/schema#"
652
+ },
521
653
  form: {
522
654
  $ref: "#/definitions/form",
523
655
  definitions: {
@@ -3195,20 +3327,561 @@ var component_schema_default = {
3195
3327
  },
3196
3328
  description: "Column definitions"
3197
3329
  },
3198
- tableData: {
3199
- type: "array",
3200
- items: {
3201
- type: "object",
3202
- additionalProperties: {}
3203
- },
3204
- description: "Array of row data objects"
3330
+ tableData: {
3331
+ type: "array",
3332
+ items: {
3333
+ type: "object",
3334
+ additionalProperties: {}
3335
+ },
3336
+ description: "Array of row data objects"
3337
+ }
3338
+ },
3339
+ required: [
3340
+ "columns",
3341
+ "tableData"
3342
+ ],
3343
+ additionalProperties: false
3344
+ }
3345
+ },
3346
+ required: [
3347
+ "type",
3348
+ "props"
3349
+ ],
3350
+ additionalProperties: false,
3351
+ description: "A data table with columns and rows"
3352
+ }
3353
+ },
3354
+ $schema: "http://json-schema.org/draft-07/schema#"
3355
+ },
3356
+ "google-map": {
3357
+ $ref: "#/definitions/google-map",
3358
+ definitions: {
3359
+ "google-map": {
3360
+ type: "object",
3361
+ properties: {
3362
+ type: {
3363
+ type: "string",
3364
+ const: "google-map"
3365
+ },
3366
+ props: {
3367
+ type: "object",
3368
+ properties: {
3369
+ center: {
3370
+ type: "object",
3371
+ properties: {
3372
+ lat: {
3373
+ type: "number",
3374
+ description: "Center latitude"
3375
+ },
3376
+ lng: {
3377
+ type: "number",
3378
+ description: "Center longitude"
3379
+ }
3380
+ },
3381
+ required: [
3382
+ "lat",
3383
+ "lng"
3384
+ ],
3385
+ additionalProperties: false,
3386
+ description: "Map center coordinates"
3387
+ },
3388
+ zoom: {
3389
+ type: "number",
3390
+ description: "Zoom level (1-20). Defaults to 12"
3391
+ },
3392
+ markers: {
3393
+ type: "array",
3394
+ items: {
3395
+ type: "object",
3396
+ properties: {
3397
+ lat: {
3398
+ type: "number",
3399
+ description: "Latitude"
3400
+ },
3401
+ lng: {
3402
+ type: "number",
3403
+ description: "Longitude"
3404
+ },
3405
+ title: {
3406
+ type: "string",
3407
+ description: "Marker title shown in info window"
3408
+ },
3409
+ description: {
3410
+ type: "string",
3411
+ description: "Marker description shown in info window"
3412
+ },
3413
+ color: {
3414
+ type: "string",
3415
+ description: "Marker pin color (hex or CSS color)"
3416
+ }
3417
+ },
3418
+ required: [
3419
+ "lat",
3420
+ "lng"
3421
+ ],
3422
+ additionalProperties: false
3423
+ },
3424
+ description: "Array of map markers with lat/lng and optional info"
3425
+ },
3426
+ height: {
3427
+ type: "string",
3428
+ description: "Map height CSS value. Defaults to '400px'"
3429
+ },
3430
+ width: {
3431
+ type: "string",
3432
+ description: "Map width CSS value. Defaults to '100%'"
3433
+ },
3434
+ gestureHandling: {
3435
+ type: "string",
3436
+ enum: [
3437
+ "cooperative",
3438
+ "greedy",
3439
+ "none",
3440
+ "auto"
3441
+ ],
3442
+ description: "How the map handles touch/scroll gestures. Defaults to 'cooperative'"
3443
+ },
3444
+ disableDefaultUI: {
3445
+ type: "boolean",
3446
+ description: "Hide default map controls"
3447
+ }
3448
+ },
3449
+ additionalProperties: false
3450
+ }
3451
+ },
3452
+ required: [
3453
+ "type",
3454
+ "props"
3455
+ ],
3456
+ additionalProperties: false,
3457
+ description: "An interactive Google Map with optional markers and info windows"
3458
+ }
3459
+ },
3460
+ $schema: "http://json-schema.org/draft-07/schema#"
3461
+ },
3462
+ calendar: {
3463
+ $ref: "#/definitions/calendar",
3464
+ definitions: {
3465
+ calendar: {
3466
+ type: "object",
3467
+ properties: {
3468
+ type: {
3469
+ type: "string",
3470
+ const: "calendar"
3471
+ },
3472
+ props: {
3473
+ type: "object",
3474
+ properties: {
3475
+ showOutsideDays: {
3476
+ type: "boolean",
3477
+ description: "Show days from adjacent months. Defaults to true"
3478
+ },
3479
+ captionLayout: {
3480
+ type: "string",
3481
+ enum: [
3482
+ "label",
3483
+ "dropdown",
3484
+ "dropdown-months",
3485
+ "dropdown-years"
3486
+ ],
3487
+ description: "Caption display mode. Defaults to 'label'"
3488
+ },
3489
+ buttonVariant: {
3490
+ type: "string",
3491
+ enum: [
3492
+ "primary",
3493
+ "secondary",
3494
+ "outline",
3495
+ "destructive",
3496
+ "ghost",
3497
+ "soft"
3498
+ ],
3499
+ description: "Navigation button style. Defaults to 'ghost'"
3500
+ },
3501
+ mode: {
3502
+ type: "string",
3503
+ enum: [
3504
+ "single",
3505
+ "multiple",
3506
+ "range"
3507
+ ],
3508
+ description: "Selection mode"
3509
+ },
3510
+ numberOfMonths: {
3511
+ type: "number",
3512
+ description: "Number of months to display"
3513
+ },
3514
+ disabled: {
3515
+ type: "boolean"
3516
+ }
3517
+ },
3518
+ additionalProperties: false
3519
+ }
3520
+ },
3521
+ required: [
3522
+ "type"
3523
+ ],
3524
+ additionalProperties: false,
3525
+ description: "A date calendar for picking dates or date ranges"
3526
+ }
3527
+ },
3528
+ $schema: "http://json-schema.org/draft-07/schema#"
3529
+ },
3530
+ "file-input": {
3531
+ $ref: "#/definitions/file-input",
3532
+ definitions: {
3533
+ "file-input": {
3534
+ type: "object",
3535
+ properties: {
3536
+ type: {
3537
+ type: "string",
3538
+ const: "file-input"
3539
+ },
3540
+ props: {
3541
+ type: "object",
3542
+ properties: {
3543
+ label: {
3544
+ type: "string",
3545
+ description: "Label text above the input"
3546
+ },
3547
+ helperText: {
3548
+ type: "string",
3549
+ description: "Helper text below the input"
3550
+ },
3551
+ error: {
3552
+ type: "boolean",
3553
+ description: "Show error styling. Defaults to false"
3554
+ },
3555
+ accept: {
3556
+ type: "string",
3557
+ description: "Accepted file types, e.g. 'image/*,.pdf'"
3558
+ },
3559
+ multiple: {
3560
+ type: "boolean",
3561
+ description: "Allow multiple files. Defaults to false"
3562
+ },
3563
+ disabled: {
3564
+ type: "boolean"
3565
+ }
3566
+ },
3567
+ additionalProperties: false
3568
+ }
3569
+ },
3570
+ required: [
3571
+ "type"
3572
+ ],
3573
+ additionalProperties: false,
3574
+ description: "A file input with choose-file button and upload progress"
3575
+ }
3576
+ },
3577
+ $schema: "http://json-schema.org/draft-07/schema#"
3578
+ },
3579
+ "tool-toggle": {
3580
+ $ref: "#/definitions/tool-toggle",
3581
+ definitions: {
3582
+ "tool-toggle": {
3583
+ type: "object",
3584
+ properties: {
3585
+ type: {
3586
+ type: "string",
3587
+ const: "tool-toggle"
3588
+ },
3589
+ props: {
3590
+ type: "object",
3591
+ properties: {
3592
+ icon: {
3593
+ type: "string",
3594
+ description: "Icon name (resolved by the renderer)"
3595
+ },
3596
+ dropdown: {
3597
+ type: "boolean",
3598
+ description: "Show dropdown chevron"
3599
+ }
3600
+ },
3601
+ additionalProperties: false
3602
+ }
3603
+ },
3604
+ required: [
3605
+ "type"
3606
+ ],
3607
+ additionalProperties: false,
3608
+ description: "A round toggle button used in toolbars, optionally with a dropdown"
3609
+ }
3610
+ },
3611
+ $schema: "http://json-schema.org/draft-07/schema#"
3612
+ },
3613
+ "toggle-dropdown-button": {
3614
+ $ref: "#/definitions/toggle-dropdown-button",
3615
+ definitions: {
3616
+ "toggle-dropdown-button": {
3617
+ type: "object",
3618
+ properties: {
3619
+ type: {
3620
+ type: "string",
3621
+ const: "toggle-dropdown-button"
3622
+ },
3623
+ props: {
3624
+ type: "object",
3625
+ properties: {
3626
+ type: {
3627
+ type: "string",
3628
+ enum: [
3629
+ "text",
3630
+ "icon"
3631
+ ],
3632
+ description: "Button content type"
3633
+ },
3634
+ selected: {
3635
+ type: "boolean",
3636
+ description: "Whether the button is selected"
3637
+ },
3638
+ variant: {
3639
+ type: "string",
3640
+ enum: [
3641
+ "primary",
3642
+ "secondary",
3643
+ "destructive"
3644
+ ],
3645
+ description: "Button color variant"
3646
+ }
3647
+ },
3648
+ required: [
3649
+ "type",
3650
+ "selected",
3651
+ "variant"
3652
+ ],
3653
+ additionalProperties: false
3654
+ }
3655
+ },
3656
+ required: [
3657
+ "type",
3658
+ "props"
3659
+ ],
3660
+ additionalProperties: false,
3661
+ description: "A split toggle button with an attached dropdown trigger"
3662
+ }
3663
+ },
3664
+ $schema: "http://json-schema.org/draft-07/schema#"
3665
+ },
3666
+ "icon-container": {
3667
+ $ref: "#/definitions/icon-container",
3668
+ definitions: {
3669
+ "icon-container": {
3670
+ type: "object",
3671
+ properties: {
3672
+ type: {
3673
+ type: "string",
3674
+ const: "icon-container"
3675
+ },
3676
+ props: {
3677
+ type: "object",
3678
+ properties: {
3679
+ icon: {
3680
+ type: "string",
3681
+ description: "Icon name (resolved by the renderer)"
3682
+ },
3683
+ size: {
3684
+ type: "string",
3685
+ enum: [
3686
+ "xs",
3687
+ "sm",
3688
+ "md",
3689
+ "lg",
3690
+ "xl",
3691
+ "2xl",
3692
+ "3xl",
3693
+ "4xl",
3694
+ "5xl",
3695
+ "6xl",
3696
+ "auto"
3697
+ ],
3698
+ description: "Icon size. Defaults to 'sm'"
3699
+ },
3700
+ colorInFill: {
3701
+ type: "boolean",
3702
+ description: "Apply fill colors to SVG paths. Defaults to true"
3703
+ },
3704
+ disableTheme: {
3705
+ type: "boolean",
3706
+ description: "Disable theme-aware coloring. Defaults to false"
3707
+ }
3708
+ },
3709
+ additionalProperties: false
3710
+ },
3711
+ children: {
3712
+ type: "array",
3713
+ items: {
3714
+ type: "object",
3715
+ properties: {
3716
+ type: {
3717
+ type: "string"
3718
+ },
3719
+ props: {
3720
+ type: "object",
3721
+ additionalProperties: {}
3722
+ },
3723
+ children: {
3724
+ type: "array",
3725
+ items: {}
3726
+ }
3727
+ },
3728
+ required: [
3729
+ "type"
3730
+ ],
3731
+ additionalProperties: false
3732
+ },
3733
+ description: "Icon element"
3734
+ }
3735
+ },
3736
+ required: [
3737
+ "type"
3738
+ ],
3739
+ additionalProperties: false,
3740
+ description: "A sized container for static icons with theme-aware coloring"
3741
+ }
3742
+ },
3743
+ $schema: "http://json-schema.org/draft-07/schema#"
3744
+ },
3745
+ "icon-profile": {
3746
+ $ref: "#/definitions/icon-profile",
3747
+ definitions: {
3748
+ "icon-profile": {
3749
+ type: "object",
3750
+ properties: {
3751
+ type: {
3752
+ type: "string",
3753
+ const: "icon-profile"
3754
+ },
3755
+ props: {
3756
+ type: "object",
3757
+ properties: {
3758
+ icon: {
3759
+ type: "string",
3760
+ description: "Icon name (resolved by the renderer)"
3761
+ },
3762
+ color: {
3763
+ type: "string",
3764
+ enum: [
3765
+ "red",
3766
+ "orange",
3767
+ "amber",
3768
+ "yellow",
3769
+ "lime",
3770
+ "green",
3771
+ "emerald",
3772
+ "teal",
3773
+ "cyan",
3774
+ "sky",
3775
+ "blue",
3776
+ "indigo",
3777
+ "violet",
3778
+ "purple",
3779
+ "fuchsia",
3780
+ "pink",
3781
+ "rose",
3782
+ "slate"
3783
+ ],
3784
+ description: "Background glow and icon color. Defaults to 'red'"
3785
+ },
3786
+ size: {
3787
+ type: "string",
3788
+ enum: [
3789
+ "26",
3790
+ "32",
3791
+ "40",
3792
+ "48",
3793
+ "56",
3794
+ "64"
3795
+ ],
3796
+ description: "Size in pixels. Defaults to '64'"
3797
+ },
3798
+ externalIcon: {
3799
+ type: "boolean",
3800
+ description: "Whether the icon is external"
3801
+ }
3802
+ },
3803
+ required: [
3804
+ "icon"
3805
+ ],
3806
+ additionalProperties: false
3807
+ }
3808
+ },
3809
+ required: [
3810
+ "type",
3811
+ "props"
3812
+ ],
3813
+ additionalProperties: false,
3814
+ description: "An icon with a colored radial glow background"
3815
+ }
3816
+ },
3817
+ $schema: "http://json-schema.org/draft-07/schema#"
3818
+ },
3819
+ "button-with-tooltip": {
3820
+ $ref: "#/definitions/button-with-tooltip",
3821
+ definitions: {
3822
+ "button-with-tooltip": {
3823
+ type: "object",
3824
+ properties: {
3825
+ type: {
3826
+ type: "string",
3827
+ const: "button-with-tooltip"
3828
+ },
3829
+ props: {
3830
+ type: "object",
3831
+ properties: {
3832
+ content: {
3833
+ type: "string",
3834
+ description: "Tooltip text"
3835
+ },
3836
+ position: {
3837
+ type: "string",
3838
+ enum: [
3839
+ "top",
3840
+ "top-center",
3841
+ "top-left",
3842
+ "top-right",
3843
+ "bottom",
3844
+ "bottom-left",
3845
+ "bottom-center",
3846
+ "bottom-right",
3847
+ "left",
3848
+ "right"
3849
+ ],
3850
+ description: "Tooltip placement"
3851
+ },
3852
+ withArrow: {
3853
+ type: "boolean",
3854
+ description: "Show an arrow pointer"
3205
3855
  }
3206
3856
  },
3207
3857
  required: [
3208
- "columns",
3209
- "tableData"
3858
+ "content"
3210
3859
  ],
3211
3860
  additionalProperties: false
3861
+ },
3862
+ children: {
3863
+ type: "array",
3864
+ items: {
3865
+ type: "object",
3866
+ properties: {
3867
+ type: {
3868
+ type: "string"
3869
+ },
3870
+ props: {
3871
+ type: "object",
3872
+ additionalProperties: {}
3873
+ },
3874
+ children: {
3875
+ type: "array",
3876
+ items: {}
3877
+ }
3878
+ },
3879
+ required: [
3880
+ "type"
3881
+ ],
3882
+ additionalProperties: false
3883
+ },
3884
+ description: "The button element to wrap with a tooltip"
3212
3885
  }
3213
3886
  },
3214
3887
  required: [
@@ -3216,7 +3889,7 @@ var component_schema_default = {
3216
3889
  "props"
3217
3890
  ],
3218
3891
  additionalProperties: false,
3219
- description: "A data table with columns and rows"
3892
+ description: "A button wrapped with a tooltip that appears on hover"
3220
3893
  }
3221
3894
  },
3222
3895
  $schema: "http://json-schema.org/draft-07/schema#"
@@ -4292,6 +4965,954 @@ var component_schema_default = {
4292
4965
  }
4293
4966
  };
4294
4967
 
4968
+ // src/types.ts
4969
+ var import_zod = require("zod");
4970
+ var uiNodeSchema = import_zod.z.lazy(
4971
+ () => import_zod.z.object({
4972
+ type: import_zod.z.string(),
4973
+ props: import_zod.z.record(import_zod.z.unknown()).optional(),
4974
+ children: import_zod.z.array(uiNodeSchema).optional()
4975
+ })
4976
+ );
4977
+
4978
+ // src/ui/Button/schema.ts
4979
+ var import_zod2 = require("zod");
4980
+ var buttonSchema = import_zod2.z.object({
4981
+ type: import_zod2.z.literal("button"),
4982
+ props: import_zod2.z.object({
4983
+ label: import_zod2.z.string().optional().describe("Button text"),
4984
+ variant: import_zod2.z.enum(["primary", "secondary", "outline", "destructive", "ghost", "soft"]).optional().describe("Button style. Defaults to 'primary'"),
4985
+ size: import_zod2.z.enum(["sm", "md", "lg"]).optional().describe("Button size. Defaults to 'md'"),
4986
+ url: import_zod2.z.string().optional().describe("URL to open when clicked"),
4987
+ disabled: import_zod2.z.boolean().optional().describe("Whether the button is disabled")
4988
+ }).optional(),
4989
+ children: import_zod2.z.array(uiNodeSchema).optional()
4990
+ }).describe("An action button");
4991
+ var toolButtonSchema = import_zod2.z.object({
4992
+ type: import_zod2.z.literal("tool-button"),
4993
+ props: import_zod2.z.object({
4994
+ variant: import_zod2.z.enum(["primary", "outline", "destructive"]).optional().describe("Button style. Defaults to 'primary'"),
4995
+ size: import_zod2.z.enum(["md", "lg"]).optional().describe("Button size. Defaults to 'md'"),
4996
+ state: import_zod2.z.enum(["loading", "default"]).optional().describe("Button state. Defaults to 'default'"),
4997
+ onlyIcon: import_zod2.z.boolean().optional().describe("Icon-only mode with square padding"),
4998
+ disabled: import_zod2.z.boolean().optional()
4999
+ }).optional(),
5000
+ children: import_zod2.z.array(uiNodeSchema).optional().describe("Button content")
5001
+ }).describe("A toolbar action button with loading state");
5002
+
5003
+ // src/ui/Card/schema.ts
5004
+ var import_zod3 = require("zod");
5005
+ var cardSchema = import_zod3.z.object({
5006
+ type: import_zod3.z.literal("card"),
5007
+ props: import_zod3.z.object({}).optional(),
5008
+ children: import_zod3.z.array(uiNodeSchema).optional().describe("Compose with card-header, card-content, card-footer")
5009
+ }).describe("Container card");
5010
+ var cardHeaderSchema = import_zod3.z.object({
5011
+ type: import_zod3.z.literal("card-header"),
5012
+ props: import_zod3.z.object({}).optional(),
5013
+ children: import_zod3.z.array(uiNodeSchema).optional().describe("Place card-title and card-description inside")
5014
+ }).describe("Header section of a card");
5015
+ var cardTitleSchema = import_zod3.z.object({
5016
+ type: import_zod3.z.literal("card-title"),
5017
+ props: import_zod3.z.object({
5018
+ children: import_zod3.z.string().optional().describe("Title text")
5019
+ }).optional(),
5020
+ children: import_zod3.z.array(uiNodeSchema).optional()
5021
+ }).describe("Title inside a card-header");
5022
+ var cardDescriptionSchema = import_zod3.z.object({
5023
+ type: import_zod3.z.literal("card-description"),
5024
+ props: import_zod3.z.object({
5025
+ children: import_zod3.z.string().optional().describe("Description text")
5026
+ }).optional(),
5027
+ children: import_zod3.z.array(uiNodeSchema).optional()
5028
+ }).describe("Description text inside a card-header");
5029
+ var cardContentSchema = import_zod3.z.object({
5030
+ type: import_zod3.z.literal("card-content"),
5031
+ props: import_zod3.z.object({}).optional(),
5032
+ children: import_zod3.z.array(uiNodeSchema).optional().describe("Main content area")
5033
+ }).describe("Main content area of a card");
5034
+ var cardFooterSchema = import_zod3.z.object({
5035
+ type: import_zod3.z.literal("card-footer"),
5036
+ props: import_zod3.z.object({}).optional(),
5037
+ children: import_zod3.z.array(uiNodeSchema).optional().describe("Footer area, typically for actions")
5038
+ }).describe("Footer section of a card");
5039
+ var cardActionSchema = import_zod3.z.object({
5040
+ type: import_zod3.z.literal("card-action"),
5041
+ props: import_zod3.z.object({}).optional(),
5042
+ children: import_zod3.z.array(uiNodeSchema).optional().describe("Action elements (buttons, links) placed at the top-right of a card header")
5043
+ }).describe("An action area positioned at the top-right of a card");
5044
+
5045
+ // src/ui/form/schema.ts
5046
+ var import_zod4 = require("zod");
5047
+ var formSchema = import_zod4.z.object({
5048
+ type: import_zod4.z.literal("form"),
5049
+ props: import_zod4.z.object({
5050
+ id: import_zod4.z.string().describe("Unique form ID")
5051
+ }),
5052
+ children: import_zod4.z.array(uiNodeSchema).optional().describe("Form field components")
5053
+ }).describe("A form container. Wrap form fields inside.");
5054
+
5055
+ // src/ui/Input/schema.ts
5056
+ var import_zod5 = require("zod");
5057
+ var inputFieldSchema = import_zod5.z.object({
5058
+ type: import_zod5.z.literal("input-field"),
5059
+ props: import_zod5.z.object({
5060
+ name: import_zod5.z.string().describe("Field name (maps to form data key)"),
5061
+ label: import_zod5.z.string().optional().describe("Label text above the input"),
5062
+ placeholder: import_zod5.z.string().optional().describe("Placeholder text"),
5063
+ type: import_zod5.z.enum(["text", "email", "number", "url", "search", "tel"]).optional().describe("Input type. Defaults to 'text'"),
5064
+ required: import_zod5.z.boolean().optional().describe("Whether the field is required"),
5065
+ disabled: import_zod5.z.boolean().optional()
5066
+ })
5067
+ }).describe("A text input field inside a form");
5068
+
5069
+ // src/ui/PasswordInput/schema.ts
5070
+ var import_zod6 = require("zod");
5071
+ var passwordFieldSchema = import_zod6.z.object({
5072
+ type: import_zod6.z.literal("password-field"),
5073
+ props: import_zod6.z.object({
5074
+ name: import_zod6.z.string().describe("Field name"),
5075
+ label: import_zod6.z.string().optional().describe("Label text"),
5076
+ placeholder: import_zod6.z.string().optional()
5077
+ })
5078
+ }).describe("A password input field with show/hide toggle");
5079
+
5080
+ // src/ui/TextAreaInput/schema.ts
5081
+ var import_zod7 = require("zod");
5082
+ var textareaFieldSchema = import_zod7.z.object({
5083
+ type: import_zod7.z.literal("textarea-field"),
5084
+ props: import_zod7.z.object({
5085
+ name: import_zod7.z.string().describe("Field name"),
5086
+ label: import_zod7.z.string().optional().describe("Label text"),
5087
+ placeholder: import_zod7.z.string().optional(),
5088
+ rows: import_zod7.z.number().optional().describe("Number of visible rows")
5089
+ })
5090
+ }).describe("A multi-line text input field");
5091
+
5092
+ // src/ui/SelectInput/schema.ts
5093
+ var import_zod8 = require("zod");
5094
+ var selectFieldSchema = import_zod8.z.object({
5095
+ type: import_zod8.z.literal("select-field"),
5096
+ props: import_zod8.z.object({
5097
+ name: import_zod8.z.string().describe("Field name"),
5098
+ label: import_zod8.z.string().optional().describe("Label text"),
5099
+ placeholder: import_zod8.z.string().optional(),
5100
+ options: import_zod8.z.array(import_zod8.z.object({
5101
+ label: import_zod8.z.string().describe("Display text"),
5102
+ value: import_zod8.z.string().describe("Option value")
5103
+ })).describe("Array of selectable options"),
5104
+ required: import_zod8.z.boolean().optional()
5105
+ })
5106
+ }).describe("A dropdown select field");
5107
+
5108
+ // src/ui/Checkbox/schema.ts
5109
+ var import_zod9 = require("zod");
5110
+ var checkboxFieldSchema = import_zod9.z.object({
5111
+ type: import_zod9.z.literal("checkbox-field"),
5112
+ props: import_zod9.z.object({
5113
+ name: import_zod9.z.string().describe("Field name"),
5114
+ label: import_zod9.z.string().optional().describe("Checkbox label text")
5115
+ })
5116
+ }).describe("A checkbox field");
5117
+
5118
+ // src/ui/Radio/schema.ts
5119
+ var import_zod10 = require("zod");
5120
+ var radioFieldSchema = import_zod10.z.object({
5121
+ type: import_zod10.z.literal("radio-field"),
5122
+ props: import_zod10.z.object({
5123
+ name: import_zod10.z.string().describe("Field name"),
5124
+ label: import_zod10.z.string().optional().describe("Group label"),
5125
+ options: import_zod10.z.array(import_zod10.z.object({
5126
+ label: import_zod10.z.string().describe("Option label"),
5127
+ value: import_zod10.z.string().describe("Option value")
5128
+ })).describe("Array of radio options")
5129
+ })
5130
+ }).describe("A radio button group field");
5131
+
5132
+ // src/ui/Switch/schema.ts
5133
+ var import_zod11 = require("zod");
5134
+ var switchFieldSchema = import_zod11.z.object({
5135
+ type: import_zod11.z.literal("switch-field"),
5136
+ props: import_zod11.z.object({
5137
+ name: import_zod11.z.string().describe("Field name"),
5138
+ label: import_zod11.z.string().optional().describe("Switch label")
5139
+ })
5140
+ }).describe("A toggle switch field");
5141
+
5142
+ // src/ui/DatePickerInput/schema.ts
5143
+ var import_zod12 = require("zod");
5144
+ var dateFieldSchema = import_zod12.z.object({
5145
+ type: import_zod12.z.literal("date-field"),
5146
+ props: import_zod12.z.object({
5147
+ name: import_zod12.z.string().describe("Field name"),
5148
+ label: import_zod12.z.string().optional().describe("Label text"),
5149
+ placeholder: import_zod12.z.string().optional(),
5150
+ disablePast: import_zod12.z.boolean().optional().describe("Disable past dates"),
5151
+ required: import_zod12.z.boolean().optional()
5152
+ })
5153
+ }).describe("A date picker field");
5154
+
5155
+ // src/ui/TimePicker/schema.ts
5156
+ var import_zod13 = require("zod");
5157
+ var timeFieldSchema = import_zod13.z.object({
5158
+ type: import_zod13.z.literal("time-field"),
5159
+ props: import_zod13.z.object({
5160
+ name: import_zod13.z.string().describe("Field name"),
5161
+ label: import_zod13.z.string().optional().describe("Label text")
5162
+ })
5163
+ }).describe("A time picker field");
5164
+
5165
+ // src/ui/Combobox/schema.ts
5166
+ var import_zod14 = require("zod");
5167
+ var comboboxFieldSchema = import_zod14.z.object({
5168
+ type: import_zod14.z.literal("combobox-field"),
5169
+ props: import_zod14.z.object({
5170
+ name: import_zod14.z.string().describe("Field name"),
5171
+ label: import_zod14.z.string().optional().describe("Label text"),
5172
+ placeholder: import_zod14.z.string().optional(),
5173
+ options: import_zod14.z.array(import_zod14.z.object({
5174
+ label: import_zod14.z.string().describe("Display text"),
5175
+ value: import_zod14.z.string().describe("Option value")
5176
+ })).describe("Array of searchable options")
5177
+ })
5178
+ }).describe("A searchable combobox/autocomplete field");
5179
+
5180
+ // src/ui/MultiSelect/schema.ts
5181
+ var import_zod15 = require("zod");
5182
+ var multiSelectFieldSchema = import_zod15.z.object({
5183
+ type: import_zod15.z.literal("multi-select-field"),
5184
+ props: import_zod15.z.object({
5185
+ name: import_zod15.z.string().describe("Field name"),
5186
+ label: import_zod15.z.string().optional().describe("Label text"),
5187
+ placeholder: import_zod15.z.string().optional(),
5188
+ options: import_zod15.z.array(import_zod15.z.object({
5189
+ label: import_zod15.z.string().describe("Display text"),
5190
+ value: import_zod15.z.string().describe("Option value")
5191
+ })).describe("Array of options for multi-selection")
5192
+ })
5193
+ }).describe("A multi-select dropdown field");
5194
+
5195
+ // src/ui/OTPInput/schema.ts
5196
+ var import_zod16 = require("zod");
5197
+ var otpFieldSchema = import_zod16.z.object({
5198
+ type: import_zod16.z.literal("otp-field"),
5199
+ props: import_zod16.z.object({
5200
+ name: import_zod16.z.string().describe("Field name"),
5201
+ maxLength: import_zod16.z.number().optional().describe("Number of OTP digits. Defaults to 6")
5202
+ })
5203
+ }).describe("An OTP (one-time password) input field");
5204
+
5205
+ // src/ui/FileUpload/schema.ts
5206
+ var import_zod17 = require("zod");
5207
+ var fileUploadFieldSchema = import_zod17.z.object({
5208
+ type: import_zod17.z.literal("file-upload-field"),
5209
+ props: import_zod17.z.object({
5210
+ name: import_zod17.z.string().describe("Field name"),
5211
+ label: import_zod17.z.string().optional().describe("Label text"),
5212
+ isMultiple: import_zod17.z.boolean().optional().describe("Allow multiple files"),
5213
+ maxFiles: import_zod17.z.number().optional().describe("Maximum number of files")
5214
+ })
5215
+ }).describe("A file upload field with drag-and-drop");
5216
+
5217
+ // src/ui/Text/schema.ts
5218
+ var import_zod18 = require("zod");
5219
+ var textSchema = import_zod18.z.object({
5220
+ type: import_zod18.z.literal("text"),
5221
+ props: import_zod18.z.object({
5222
+ children: import_zod18.z.string().optional().describe("Text content")
5223
+ }).optional(),
5224
+ children: import_zod18.z.array(uiNodeSchema).optional()
5225
+ }).describe("A paragraph of text");
5226
+
5227
+ // src/ui/Title/schema.ts
5228
+ var import_zod19 = require("zod");
5229
+ var titleSchema = import_zod19.z.object({
5230
+ type: import_zod19.z.literal("title"),
5231
+ props: import_zod19.z.object({
5232
+ children: import_zod19.z.string().optional().describe("Heading text")
5233
+ }).optional(),
5234
+ children: import_zod19.z.array(uiNodeSchema).optional()
5235
+ }).describe("A heading / title element");
5236
+
5237
+ // src/ui/Label/schema.ts
5238
+ var import_zod20 = require("zod");
5239
+ var labelSchema = import_zod20.z.object({
5240
+ type: import_zod20.z.literal("label"),
5241
+ props: import_zod20.z.object({
5242
+ children: import_zod20.z.string().optional().describe("Label text"),
5243
+ htmlFor: import_zod20.z.string().optional().describe("ID of the form element this label is for")
5244
+ }).optional(),
5245
+ children: import_zod20.z.array(uiNodeSchema).optional()
5246
+ }).describe("A form label element");
5247
+
5248
+ // src/ui/Badge/schema.ts
5249
+ var import_zod21 = require("zod");
5250
+ var badgeSchema = import_zod21.z.object({
5251
+ type: import_zod21.z.literal("badge"),
5252
+ props: import_zod21.z.object({
5253
+ children: import_zod21.z.string().optional().describe("Badge text"),
5254
+ type: import_zod21.z.enum([
5255
+ "primary-hard",
5256
+ "primary-soft",
5257
+ "destructive-hard",
5258
+ "destructive-soft",
5259
+ "secondary-hard",
5260
+ "secondary-soft"
5261
+ ]).optional().describe("Badge style. Defaults to 'primary-hard'"),
5262
+ size: import_zod21.z.enum(["sm", "md"]).optional().describe("Badge size. Defaults to 'sm'"),
5263
+ rounded: import_zod21.z.boolean().optional().describe("Fully rounded pill shape")
5264
+ }).optional(),
5265
+ children: import_zod21.z.array(uiNodeSchema).optional()
5266
+ }).describe("A small status badge / label");
5267
+
5268
+ // src/ui/Tag/schema.ts
5269
+ var import_zod22 = require("zod");
5270
+ var tagSchema = import_zod22.z.object({
5271
+ type: import_zod22.z.literal("tag"),
5272
+ props: import_zod22.z.object({
5273
+ label: import_zod22.z.string().describe("Tag text"),
5274
+ variant: import_zod22.z.enum(["primary", "secondary", "destructive"]).optional().describe("Tag color variant. Defaults to 'primary'")
5275
+ })
5276
+ }).describe("A colored tag / pill");
5277
+
5278
+ // src/ui/Chip/schema.ts
5279
+ var import_zod23 = require("zod");
5280
+ var chipSchema = import_zod23.z.object({
5281
+ type: import_zod23.z.literal("chip"),
5282
+ props: import_zod23.z.object({
5283
+ label: import_zod23.z.string().describe("Chip text"),
5284
+ type: import_zod23.z.enum(["rounded", "rectangle"]).optional().describe("Chip shape. Defaults to 'rounded'"),
5285
+ color: import_zod23.z.enum([
5286
+ "slate",
5287
+ "red",
5288
+ "orange",
5289
+ "amber",
5290
+ "yellow",
5291
+ "lime",
5292
+ "green",
5293
+ "emerald",
5294
+ "teal",
5295
+ "cyan",
5296
+ "sky",
5297
+ "blue",
5298
+ "indigo",
5299
+ "violet",
5300
+ "purple",
5301
+ "fuchsia",
5302
+ "pink",
5303
+ "rose"
5304
+ ]).optional().describe("Chip color. Defaults to 'slate'"),
5305
+ dot: import_zod23.z.boolean().optional().describe("Show a colored dot indicator"),
5306
+ avatar: import_zod23.z.string().optional().describe("Avatar image URL shown inside the chip")
5307
+ })
5308
+ }).describe("A compact chip element with optional color dot or avatar");
5309
+
5310
+ // src/ui/Alert/schema.ts
5311
+ var import_zod24 = require("zod");
5312
+ var alertSchema = import_zod24.z.object({
5313
+ type: import_zod24.z.literal("alert"),
5314
+ props: import_zod24.z.object({
5315
+ variant: import_zod24.z.enum(["default", "secondary", "destructive"]).optional().describe("Alert style. Defaults to 'default'"),
5316
+ title: import_zod24.z.string().optional().describe("Alert heading"),
5317
+ description: import_zod24.z.string().optional().describe("Alert body text")
5318
+ }).optional(),
5319
+ children: import_zod24.z.array(uiNodeSchema).optional()
5320
+ }).describe("An alert / notice banner");
5321
+
5322
+ // src/ui/Skeleton/schema.ts
5323
+ var import_zod25 = require("zod");
5324
+ var skeletonSchema = import_zod25.z.object({
5325
+ type: import_zod25.z.literal("skeleton"),
5326
+ props: import_zod25.z.object({
5327
+ className: import_zod25.z.string().optional().describe("Tailwind classes to control width/height, e.g. 'h-4 w-[250px]'")
5328
+ }).optional()
5329
+ }).describe("A loading placeholder skeleton");
5330
+
5331
+ // src/ui/ProgressIndicator/schema.ts
5332
+ var import_zod26 = require("zod");
5333
+ var progressIndicatorSchema = import_zod26.z.object({
5334
+ type: import_zod26.z.literal("progress-indicator"),
5335
+ props: import_zod26.z.object({
5336
+ value: import_zod26.z.number().describe("Current progress value"),
5337
+ max: import_zod26.z.number().optional().describe("Maximum value. Defaults to 100"),
5338
+ showPercentage: import_zod26.z.boolean().optional().describe("Show percentage text. Defaults to true"),
5339
+ variant: import_zod26.z.enum(["bar", "circle"]).optional().describe("Display style. Defaults to 'bar'")
5340
+ })
5341
+ }).describe("A progress bar or circular progress indicator");
5342
+
5343
+ // src/ui/Avatar/schema.ts
5344
+ var import_zod27 = require("zod");
5345
+ var avatarSchema = import_zod27.z.object({
5346
+ type: import_zod27.z.literal("avatar"),
5347
+ props: import_zod27.z.object({
5348
+ variant: import_zod27.z.enum(["image", "text", "placeholder"]).describe("Avatar display mode"),
5349
+ fallback: import_zod27.z.string().describe("Fallback text (initials) when image is unavailable"),
5350
+ imgsrc: import_zod27.z.string().optional().describe("Image URL (required when variant is 'image')"),
5351
+ size: import_zod27.z.enum(["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl"]).optional().describe("Avatar size. Defaults to 'md'"),
5352
+ status: import_zod27.z.enum(["active", "inactive"]).optional().describe("Online status indicator")
5353
+ })
5354
+ }).describe("A user avatar displaying an image, initials, or placeholder");
5355
+
5356
+ // src/ui/AvatarListItem/schema.ts
5357
+ var import_zod28 = require("zod");
5358
+ var avatarListItemSchema = import_zod28.z.object({
5359
+ type: import_zod28.z.literal("avatar-list-item"),
5360
+ props: import_zod28.z.object({
5361
+ avatar: import_zod28.z.string().describe("Avatar image URL"),
5362
+ name: import_zod28.z.string().describe("Display name"),
5363
+ email: import_zod28.z.string().describe("Email address"),
5364
+ isMe: import_zod28.z.boolean().optional().describe("Highlight as current user")
5365
+ })
5366
+ }).describe("An avatar with name and email, typically used in lists");
5367
+
5368
+ // src/ui/Media/schema.ts
5369
+ var import_zod29 = require("zod");
5370
+ var mediaSchema = import_zod29.z.object({
5371
+ type: import_zod29.z.literal("media"),
5372
+ props: import_zod29.z.object({
5373
+ src: import_zod29.z.string().describe("Media source URL"),
5374
+ alt: import_zod29.z.string().optional().describe("Alt text for images"),
5375
+ type: import_zod29.z.enum(["image", "video"]).optional().describe("Media type. Defaults to 'image'"),
5376
+ aspectRatio: import_zod29.z.enum(["1:1", "16:9", "9:16", "4:3", "3:4"]).optional().describe("Fixed aspect ratio"),
5377
+ objectFit: import_zod29.z.enum(["cover", "contain", "fill", "scale-down", "none"]).optional().describe("How the media fills its container. Defaults to 'cover'"),
5378
+ rounded: import_zod29.z.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]).optional().describe("Border radius"),
5379
+ loading: import_zod29.z.enum(["lazy", "eager"]).optional().describe("Loading strategy. Defaults to 'lazy'")
5380
+ })
5381
+ }).describe("An image or video media element");
5382
+
5383
+ // src/ui/Grid/schema.ts
5384
+ var import_zod30 = require("zod");
5385
+ var gridSchema = import_zod30.z.object({
5386
+ type: import_zod30.z.literal("grid"),
5387
+ props: import_zod30.z.object({
5388
+ className: import_zod30.z.string().optional().describe("Tailwind grid classes, e.g. 'grid-cols-2 gap-4'")
5389
+ }).optional(),
5390
+ children: import_zod30.z.array(uiNodeSchema).optional().describe("Grid items")
5391
+ }).describe("A CSS grid layout container");
5392
+
5393
+ // src/ui/Accordion/schema.ts
5394
+ var import_zod31 = require("zod");
5395
+ var accordionSchema = import_zod31.z.object({
5396
+ type: import_zod31.z.literal("accordion"),
5397
+ props: import_zod31.z.object({
5398
+ type: import_zod31.z.enum(["single", "multiple"]).optional().describe("Allow one or multiple items open. Defaults to 'single'"),
5399
+ collapsible: import_zod31.z.boolean().optional().describe("Allow collapsing all items"),
5400
+ defaultValue: import_zod31.z.union([import_zod31.z.string(), import_zod31.z.array(import_zod31.z.string())]).optional().describe("Initially open item value(s)")
5401
+ }).optional(),
5402
+ children: import_zod31.z.array(uiNodeSchema).optional().describe("Compose with accordion-item children")
5403
+ }).describe("A collapsible accordion container");
5404
+ var accordionItemSchema = import_zod31.z.object({
5405
+ type: import_zod31.z.literal("accordion-item"),
5406
+ props: import_zod31.z.object({
5407
+ value: import_zod31.z.string().describe("Unique item identifier")
5408
+ }),
5409
+ children: import_zod31.z.array(uiNodeSchema).optional().describe("Place accordion-trigger and accordion-content inside")
5410
+ }).describe("A single accordion section");
5411
+ var accordionTriggerSchema = import_zod31.z.object({
5412
+ type: import_zod31.z.literal("accordion-trigger"),
5413
+ props: import_zod31.z.object({
5414
+ children: import_zod31.z.string().optional().describe("Trigger label text")
5415
+ }).optional(),
5416
+ children: import_zod31.z.array(uiNodeSchema).optional()
5417
+ }).describe("Clickable header that toggles an accordion-item");
5418
+ var accordionContentSchema = import_zod31.z.object({
5419
+ type: import_zod31.z.literal("accordion-content"),
5420
+ props: import_zod31.z.object({}).optional(),
5421
+ children: import_zod31.z.array(uiNodeSchema).optional().describe("Content revealed when the item is open")
5422
+ }).describe("Collapsible content area of an accordion-item");
5423
+
5424
+ // src/ui/Tabs/schema.ts
5425
+ var import_zod32 = require("zod");
5426
+ var tabsSchema = import_zod32.z.object({
5427
+ type: import_zod32.z.literal("tabs"),
5428
+ props: import_zod32.z.object({
5429
+ defaultActiveTab: import_zod32.z.string().describe("Value of the initially active tab"),
5430
+ tabs: import_zod32.z.array(
5431
+ import_zod32.z.object({
5432
+ value: import_zod32.z.string().describe("Unique tab identifier"),
5433
+ label: import_zod32.z.string().describe("Tab label text"),
5434
+ count: import_zod32.z.number().optional().describe("Badge count on the tab"),
5435
+ notification: import_zod32.z.boolean().optional().describe("Show notification dot")
5436
+ })
5437
+ ).describe("Tab definitions"),
5438
+ tabSmall: import_zod32.z.boolean().optional().describe("Use compact tab styling"),
5439
+ showContent: import_zod32.z.boolean().optional().describe("Show tab content panels. Defaults to true")
5440
+ }),
5441
+ children: import_zod32.z.array(uiNodeSchema).optional().describe("Tab content panels (one per tab, in order)")
5442
+ }).describe("A tabbed interface with switchable content panels");
5443
+
5444
+ // src/ui/WrapperCard/schema.ts
5445
+ var import_zod33 = require("zod");
5446
+ var wrapperCardSchema = import_zod33.z.object({
5447
+ type: import_zod33.z.literal("wrapper-card"),
5448
+ props: import_zod33.z.object({}).optional(),
5449
+ children: import_zod33.z.array(uiNodeSchema).optional().describe("Card body content")
5450
+ }).describe("A simple card wrapper with default padding and border");
5451
+
5452
+ // src/ui/GradientContainer/schema.ts
5453
+ var import_zod34 = require("zod");
5454
+ var gradientContainerSchema = import_zod34.z.object({
5455
+ type: import_zod34.z.literal("gradient-container"),
5456
+ props: import_zod34.z.object({}).optional(),
5457
+ children: import_zod34.z.array(uiNodeSchema).optional().describe("Content inside the gradient container")
5458
+ }).describe("A container with a gradient background");
5459
+
5460
+ // src/ui/Carousel/schema.ts
5461
+ var import_zod35 = require("zod");
5462
+ var carouselSchema = import_zod35.z.object({
5463
+ type: import_zod35.z.literal("carousel"),
5464
+ props: import_zod35.z.object({
5465
+ orientation: import_zod35.z.enum(["horizontal", "vertical"]).optional().describe("Scroll direction. Defaults to 'horizontal'")
5466
+ }).optional(),
5467
+ children: import_zod35.z.array(uiNodeSchema).optional().describe("Place a carousel-content inside")
5468
+ }).describe("A scrollable carousel container");
5469
+ var carouselContentSchema = import_zod35.z.object({
5470
+ type: import_zod35.z.literal("carousel-content"),
5471
+ props: import_zod35.z.object({}).optional(),
5472
+ children: import_zod35.z.array(uiNodeSchema).optional().describe("Compose with carousel-item children")
5473
+ }).describe("Content track of a carousel");
5474
+ var carouselItemSchema = import_zod35.z.object({
5475
+ type: import_zod35.z.literal("carousel-item"),
5476
+ props: import_zod35.z.object({}).optional(),
5477
+ children: import_zod35.z.array(uiNodeSchema).optional().describe("Content for this slide")
5478
+ }).describe("A single slide inside a carousel");
5479
+
5480
+ // src/ui/Toggle/schema.ts
5481
+ var import_zod36 = require("zod");
5482
+ var toggleSchema = import_zod36.z.object({
5483
+ type: import_zod36.z.literal("toggle"),
5484
+ props: import_zod36.z.object({
5485
+ active: import_zod36.z.boolean().optional().describe("Whether the toggle is pressed"),
5486
+ shape: import_zod36.z.enum(["rectangle", "rounded"]).optional().describe("Toggle shape. Defaults to 'rectangle'"),
5487
+ style: import_zod36.z.enum(["ghost", "outline", "soft"]).optional().describe("Visual style. Defaults to 'soft'"),
5488
+ size: import_zod36.z.enum(["sm", "md", "lg"]).optional().describe("Toggle size. Defaults to 'sm'"),
5489
+ disabled: import_zod36.z.boolean().optional()
5490
+ }).optional(),
5491
+ children: import_zod36.z.array(uiNodeSchema).optional().describe("Toggle label / content")
5492
+ }).describe("A pressable toggle button");
5493
+
5494
+ // src/ui/Slider/schema.ts
5495
+ var import_zod37 = require("zod");
5496
+ var sliderSchema = import_zod37.z.object({
5497
+ type: import_zod37.z.literal("slider"),
5498
+ props: import_zod37.z.object({
5499
+ 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]"),
5500
+ min: import_zod37.z.number().optional().describe("Minimum value. Defaults to 0"),
5501
+ max: import_zod37.z.number().optional().describe("Maximum value. Defaults to 100"),
5502
+ step: import_zod37.z.number().optional().describe("Step increment"),
5503
+ disabled: import_zod37.z.boolean().optional()
5504
+ }).optional()
5505
+ }).describe("A range slider input");
5506
+
5507
+ // src/ui/SearchInput/schema.ts
5508
+ var import_zod38 = require("zod");
5509
+ var searchInputSchema = import_zod38.z.object({
5510
+ type: import_zod38.z.literal("search-input"),
5511
+ props: import_zod38.z.object({
5512
+ searchKey: import_zod38.z.string().describe("URL query param key for the search value"),
5513
+ placeholder: import_zod38.z.string().optional().describe("Placeholder text. Defaults to 'Search by...'"),
5514
+ debounceDelay: import_zod38.z.number().optional().describe("Debounce delay in ms. Defaults to 500"),
5515
+ variant: import_zod38.z.enum(["ghost", "outline"]).optional().describe("Input style variant"),
5516
+ disabled: import_zod38.z.boolean().optional()
5517
+ })
5518
+ }).describe("A search input with debounced query param binding");
5519
+
5520
+ // src/ui/IconButton/schema.ts
5521
+ var import_zod39 = require("zod");
5522
+ var iconButtonSchema = import_zod39.z.object({
5523
+ type: import_zod39.z.literal("icon-button"),
5524
+ props: import_zod39.z.object({
5525
+ icon: import_zod39.z.string().describe("Icon name (resolved by the renderer)"),
5526
+ variant: import_zod39.z.enum([
5527
+ "primary",
5528
+ "secondary",
5529
+ "destructive",
5530
+ "outline",
5531
+ "ghost",
5532
+ "soft",
5533
+ "ai-filled",
5534
+ "ai-outline",
5535
+ "glass"
5536
+ ]).optional().describe("Button style. Defaults to 'primary'"),
5537
+ size: import_zod39.z.enum(["xs", "sm", "md", "lg"]).optional().describe("Button size. Defaults to 'sm'"),
5538
+ active: import_zod39.z.boolean().optional().describe("Active / pressed state"),
5539
+ rounded: import_zod39.z.boolean().optional().describe("Fully round button"),
5540
+ disabled: import_zod39.z.boolean().optional()
5541
+ })
5542
+ }).describe("An icon-only action button");
5543
+
5544
+ // src/ui/LinkButton/schema.ts
5545
+ var import_zod40 = require("zod");
5546
+ var linkButtonSchema = import_zod40.z.object({
5547
+ type: import_zod40.z.literal("link-button"),
5548
+ props: import_zod40.z.object({
5549
+ href: import_zod40.z.string().describe("Link URL"),
5550
+ children: import_zod40.z.string().optional().describe("Link text")
5551
+ }),
5552
+ children: import_zod40.z.array(uiNodeSchema).optional()
5553
+ }).describe("A button styled as a navigation link");
5554
+
5555
+ // src/ui/ButtonLink/schema.ts
5556
+ var import_zod41 = require("zod");
5557
+ var buttonLinkSchema = import_zod41.z.object({
5558
+ type: import_zod41.z.literal("button-link"),
5559
+ props: import_zod41.z.object({
5560
+ children: import_zod41.z.string().optional().describe("Link text"),
5561
+ variant: import_zod41.z.enum(["link", "text-link", "error"]).optional().describe("Link style. Defaults to 'link'"),
5562
+ href: import_zod41.z.string().optional().describe("Link URL"),
5563
+ disabled: import_zod41.z.boolean().optional()
5564
+ }).optional(),
5565
+ children: import_zod41.z.array(uiNodeSchema).optional()
5566
+ }).describe("An inline text link styled as a button");
5567
+
5568
+ // src/ui/SelectHover/schema.ts
5569
+ var import_zod42 = require("zod");
5570
+ var selectHoverSchema = import_zod42.z.object({
5571
+ type: import_zod42.z.literal("select-hover"),
5572
+ props: import_zod42.z.object({
5573
+ options: import_zod42.z.array(
5574
+ import_zod42.z.object({
5575
+ label: import_zod42.z.string().describe("Display text"),
5576
+ value: import_zod42.z.string().describe("Option value")
5577
+ })
5578
+ ).describe("Array of selectable options"),
5579
+ placeholder: import_zod42.z.string().optional().describe("Placeholder text. Defaults to 'Select an option'"),
5580
+ value: import_zod42.z.string().optional().describe("Currently selected value")
5581
+ })
5582
+ }).describe("A hover-activated select dropdown");
5583
+
5584
+ // src/ui/Breadcrumb/schema.ts
5585
+ var import_zod43 = require("zod");
5586
+ var breadcrumbSchema = import_zod43.z.object({
5587
+ type: import_zod43.z.literal("breadcrumb"),
5588
+ props: import_zod43.z.object({
5589
+ items: import_zod43.z.array(
5590
+ import_zod43.z.object({
5591
+ label: import_zod43.z.string().describe("Breadcrumb text"),
5592
+ href: import_zod43.z.string().optional().describe("Navigation URL"),
5593
+ disabled: import_zod43.z.boolean().optional()
5594
+ })
5595
+ ).describe("Ordered list of breadcrumb segments")
5596
+ })
5597
+ }).describe("A breadcrumb navigation trail");
5598
+
5599
+ // src/ui/Tooltip/schema.ts
5600
+ var import_zod44 = require("zod");
5601
+ var tooltipSchema = import_zod44.z.object({
5602
+ type: import_zod44.z.literal("tooltip"),
5603
+ props: import_zod44.z.object({
5604
+ content: import_zod44.z.string().describe("Tooltip text"),
5605
+ position: import_zod44.z.enum([
5606
+ "top",
5607
+ "top-center",
5608
+ "top-left",
5609
+ "top-right",
5610
+ "bottom",
5611
+ "bottom-left",
5612
+ "bottom-center",
5613
+ "bottom-right",
5614
+ "left",
5615
+ "right"
5616
+ ]).optional().describe("Tooltip placement"),
5617
+ withArrow: import_zod44.z.boolean().optional().describe("Show an arrow pointer")
5618
+ }),
5619
+ children: import_zod44.z.array(uiNodeSchema).optional().describe("The trigger element the tooltip wraps")
5620
+ }).describe("A tooltip that appears on hover over its child element");
5621
+
5622
+ // src/ui/Table/schema.ts
5623
+ var import_zod45 = require("zod");
5624
+ var tableSchema = import_zod45.z.object({
5625
+ type: import_zod45.z.literal("table"),
5626
+ props: import_zod45.z.object({
5627
+ columns: import_zod45.z.array(
5628
+ import_zod45.z.object({
5629
+ accessorKey: import_zod45.z.string().describe("Key in the row data object"),
5630
+ header: import_zod45.z.string().describe("Column header text")
5631
+ })
5632
+ ).describe("Column definitions"),
5633
+ tableData: import_zod45.z.array(import_zod45.z.record(import_zod45.z.unknown())).describe("Array of row data objects")
5634
+ })
5635
+ }).describe("A data table with columns and rows");
5636
+
5637
+ // src/ui/Map/schema.ts
5638
+ var import_zod46 = require("zod");
5639
+ var mapMarkerSchema = import_zod46.z.object({
5640
+ lat: import_zod46.z.number().describe("Latitude"),
5641
+ lng: import_zod46.z.number().describe("Longitude"),
5642
+ title: import_zod46.z.string().optional().describe("Marker title shown in info window"),
5643
+ description: import_zod46.z.string().optional().describe("Marker description shown in info window"),
5644
+ color: import_zod46.z.string().optional().describe("Marker pin color (hex or CSS color)")
5645
+ });
5646
+ var googleMapSchema = import_zod46.z.object({
5647
+ type: import_zod46.z.literal("google-map"),
5648
+ props: import_zod46.z.object({
5649
+ center: import_zod46.z.object({
5650
+ lat: import_zod46.z.number().describe("Center latitude"),
5651
+ lng: import_zod46.z.number().describe("Center longitude")
5652
+ }).optional().describe("Map center coordinates"),
5653
+ zoom: import_zod46.z.number().optional().describe("Zoom level (1-20). Defaults to 12"),
5654
+ markers: import_zod46.z.array(mapMarkerSchema).optional().describe("Array of map markers with lat/lng and optional info"),
5655
+ height: import_zod46.z.string().optional().describe("Map height CSS value. Defaults to '400px'"),
5656
+ width: import_zod46.z.string().optional().describe("Map width CSS value. Defaults to '100%'"),
5657
+ gestureHandling: import_zod46.z.enum(["cooperative", "greedy", "none", "auto"]).optional().describe("How the map handles touch/scroll gestures. Defaults to 'cooperative'"),
5658
+ disableDefaultUI: import_zod46.z.boolean().optional().describe("Hide default map controls")
5659
+ })
5660
+ }).describe("An interactive Google Map with optional markers and info windows");
5661
+
5662
+ // src/ui/Calendar/schema.ts
5663
+ var import_zod47 = require("zod");
5664
+ var calendarSchema = import_zod47.z.object({
5665
+ type: import_zod47.z.literal("calendar"),
5666
+ props: import_zod47.z.object({
5667
+ showOutsideDays: import_zod47.z.boolean().optional().describe("Show days from adjacent months. Defaults to true"),
5668
+ captionLayout: import_zod47.z.enum(["label", "dropdown", "dropdown-months", "dropdown-years"]).optional().describe("Caption display mode. Defaults to 'label'"),
5669
+ buttonVariant: import_zod47.z.enum(["primary", "secondary", "outline", "destructive", "ghost", "soft"]).optional().describe("Navigation button style. Defaults to 'ghost'"),
5670
+ mode: import_zod47.z.enum(["single", "multiple", "range"]).optional().describe("Selection mode"),
5671
+ numberOfMonths: import_zod47.z.number().optional().describe("Number of months to display"),
5672
+ disabled: import_zod47.z.boolean().optional()
5673
+ }).optional()
5674
+ }).describe("A date calendar for picking dates or date ranges");
5675
+
5676
+ // src/ui/FileInput/schema.ts
5677
+ var import_zod48 = require("zod");
5678
+ var fileInputSchema = import_zod48.z.object({
5679
+ type: import_zod48.z.literal("file-input"),
5680
+ props: import_zod48.z.object({
5681
+ label: import_zod48.z.string().optional().describe("Label text above the input"),
5682
+ helperText: import_zod48.z.string().optional().describe("Helper text below the input"),
5683
+ error: import_zod48.z.boolean().optional().describe("Show error styling. Defaults to false"),
5684
+ accept: import_zod48.z.string().optional().describe("Accepted file types, e.g. 'image/*,.pdf'"),
5685
+ multiple: import_zod48.z.boolean().optional().describe("Allow multiple files. Defaults to false"),
5686
+ disabled: import_zod48.z.boolean().optional()
5687
+ }).optional()
5688
+ }).describe("A file input with choose-file button and upload progress");
5689
+
5690
+ // src/ui/ToolToggle/schema.ts
5691
+ var import_zod49 = require("zod");
5692
+ var toolToggleSchema = import_zod49.z.object({
5693
+ type: import_zod49.z.literal("tool-toggle"),
5694
+ props: import_zod49.z.object({
5695
+ icon: import_zod49.z.string().optional().describe("Icon name (resolved by the renderer)"),
5696
+ dropdown: import_zod49.z.boolean().optional().describe("Show dropdown chevron")
5697
+ }).optional()
5698
+ }).describe("A round toggle button used in toolbars, optionally with a dropdown");
5699
+
5700
+ // src/ui/ToggleDropdownButton/schema.ts
5701
+ var import_zod50 = require("zod");
5702
+ var toggleDropdownButtonSchema = import_zod50.z.object({
5703
+ type: import_zod50.z.literal("toggle-dropdown-button"),
5704
+ props: import_zod50.z.object({
5705
+ type: import_zod50.z.enum(["text", "icon"]).describe("Button content type"),
5706
+ selected: import_zod50.z.boolean().describe("Whether the button is selected"),
5707
+ variant: import_zod50.z.enum(["primary", "secondary", "destructive"]).describe("Button color variant")
5708
+ })
5709
+ }).describe("A split toggle button with an attached dropdown trigger");
5710
+
5711
+ // src/ui/IconContainer/schema.ts
5712
+ var import_zod51 = require("zod");
5713
+ var iconContainerSchema = import_zod51.z.object({
5714
+ type: import_zod51.z.literal("icon-container"),
5715
+ props: import_zod51.z.object({
5716
+ icon: import_zod51.z.string().optional().describe("Icon name (resolved by the renderer)"),
5717
+ size: import_zod51.z.enum(["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "auto"]).optional().describe("Icon size. Defaults to 'sm'"),
5718
+ colorInFill: import_zod51.z.boolean().optional().describe("Apply fill colors to SVG paths. Defaults to true"),
5719
+ disableTheme: import_zod51.z.boolean().optional().describe("Disable theme-aware coloring. Defaults to false")
5720
+ }).optional(),
5721
+ children: import_zod51.z.array(uiNodeSchema).optional().describe("Icon element")
5722
+ }).describe("A sized container for static icons with theme-aware coloring");
5723
+
5724
+ // src/ui/IconProfile/schema.ts
5725
+ var import_zod52 = require("zod");
5726
+ var iconProfileSchema = import_zod52.z.object({
5727
+ type: import_zod52.z.literal("icon-profile"),
5728
+ props: import_zod52.z.object({
5729
+ icon: import_zod52.z.string().describe("Icon name (resolved by the renderer)"),
5730
+ color: import_zod52.z.enum([
5731
+ "red",
5732
+ "orange",
5733
+ "amber",
5734
+ "yellow",
5735
+ "lime",
5736
+ "green",
5737
+ "emerald",
5738
+ "teal",
5739
+ "cyan",
5740
+ "sky",
5741
+ "blue",
5742
+ "indigo",
5743
+ "violet",
5744
+ "purple",
5745
+ "fuchsia",
5746
+ "pink",
5747
+ "rose",
5748
+ "slate"
5749
+ ]).optional().describe("Background glow and icon color. Defaults to 'red'"),
5750
+ size: import_zod52.z.enum(["26", "32", "40", "48", "56", "64"]).optional().describe("Size in pixels. Defaults to '64'"),
5751
+ externalIcon: import_zod52.z.boolean().optional().describe("Whether the icon is external")
5752
+ })
5753
+ }).describe("An icon with a colored radial glow background");
5754
+
5755
+ // src/ui/ButtonWithTooltip/schema.ts
5756
+ var import_zod53 = require("zod");
5757
+ var buttonWithTooltipSchema = import_zod53.z.object({
5758
+ type: import_zod53.z.literal("button-with-tooltip"),
5759
+ props: import_zod53.z.object({
5760
+ content: import_zod53.z.string().describe("Tooltip text"),
5761
+ position: import_zod53.z.enum([
5762
+ "top",
5763
+ "top-center",
5764
+ "top-left",
5765
+ "top-right",
5766
+ "bottom",
5767
+ "bottom-left",
5768
+ "bottom-center",
5769
+ "bottom-right",
5770
+ "left",
5771
+ "right"
5772
+ ]).optional().describe("Tooltip placement"),
5773
+ withArrow: import_zod53.z.boolean().optional().describe("Show an arrow pointer")
5774
+ }),
5775
+ children: import_zod53.z.array(uiNodeSchema).optional().describe("The button element to wrap with a tooltip")
5776
+ }).describe("A button wrapped with a tooltip that appears on hover");
5777
+
5778
+ // src/ui/Sheet/schema.ts
5779
+ var import_zod54 = require("zod");
5780
+ var sheetSchema = import_zod54.z.object({
5781
+ type: import_zod54.z.literal("sheet"),
5782
+ props: import_zod54.z.object({}).optional(),
5783
+ children: import_zod54.z.array(uiNodeSchema).optional().describe("Compose with sheet-trigger and sheet-content")
5784
+ }).describe("A slide-out panel overlay");
5785
+ var sheetTriggerSchema = import_zod54.z.object({
5786
+ type: import_zod54.z.literal("sheet-trigger"),
5787
+ props: import_zod54.z.object({}).optional(),
5788
+ children: import_zod54.z.array(uiNodeSchema).optional().describe("The element that opens the sheet")
5789
+ }).describe("Trigger element that opens a sheet");
5790
+ var sheetContentSchema = import_zod54.z.object({
5791
+ type: import_zod54.z.literal("sheet-content"),
5792
+ props: import_zod54.z.object({
5793
+ side: import_zod54.z.enum(["top", "right", "bottom", "left"]).optional().describe("Slide-in direction. Defaults to 'right'"),
5794
+ showCloseButton: import_zod54.z.boolean().optional().describe("Show close button. Defaults to true")
5795
+ }).optional(),
5796
+ children: import_zod54.z.array(uiNodeSchema).optional().describe("Sheet body content")
5797
+ }).describe("Content panel of a sheet");
5798
+ var sheetHeaderSchema = import_zod54.z.object({
5799
+ type: import_zod54.z.literal("sheet-header"),
5800
+ props: import_zod54.z.object({}).optional(),
5801
+ children: import_zod54.z.array(uiNodeSchema).optional()
5802
+ }).describe("Header section of a sheet");
5803
+ var sheetFooterSchema = import_zod54.z.object({
5804
+ type: import_zod54.z.literal("sheet-footer"),
5805
+ props: import_zod54.z.object({}).optional(),
5806
+ children: import_zod54.z.array(uiNodeSchema).optional()
5807
+ }).describe("Footer section of a sheet");
5808
+ var sheetTitleSchema = import_zod54.z.object({
5809
+ type: import_zod54.z.literal("sheet-title"),
5810
+ props: import_zod54.z.object({
5811
+ children: import_zod54.z.string().optional().describe("Title text")
5812
+ }).optional(),
5813
+ children: import_zod54.z.array(uiNodeSchema).optional()
5814
+ }).describe("Title inside a sheet-header");
5815
+ var sheetDescriptionSchema = import_zod54.z.object({
5816
+ type: import_zod54.z.literal("sheet-description"),
5817
+ props: import_zod54.z.object({
5818
+ children: import_zod54.z.string().optional().describe("Description text")
5819
+ }).optional(),
5820
+ children: import_zod54.z.array(uiNodeSchema).optional()
5821
+ }).describe("Description text inside a sheet-header");
5822
+
5823
+ // src/ui/Dropdown/schema.ts
5824
+ var import_zod55 = require("zod");
5825
+ var dropdownMenuSchema = import_zod55.z.object({
5826
+ type: import_zod55.z.literal("dropdown-menu"),
5827
+ props: import_zod55.z.object({}).optional(),
5828
+ children: import_zod55.z.array(uiNodeSchema).optional().describe("Compose with dropdown-menu-trigger and dropdown-menu-content")
5829
+ }).describe("A dropdown menu container");
5830
+ var dropdownMenuTriggerSchema = import_zod55.z.object({
5831
+ type: import_zod55.z.literal("dropdown-menu-trigger"),
5832
+ props: import_zod55.z.object({}).optional(),
5833
+ children: import_zod55.z.array(uiNodeSchema).optional().describe("The element that opens the dropdown")
5834
+ }).describe("Trigger element that opens a dropdown menu");
5835
+ var dropdownMenuContentSchema = import_zod55.z.object({
5836
+ type: import_zod55.z.literal("dropdown-menu-content"),
5837
+ props: import_zod55.z.object({
5838
+ side: import_zod55.z.enum(["top", "right", "bottom", "left"]).optional(),
5839
+ align: import_zod55.z.enum(["start", "center", "end"]).optional()
5840
+ }).optional(),
5841
+ children: import_zod55.z.array(uiNodeSchema).optional().describe("Menu items")
5842
+ }).describe("Content panel of a dropdown menu");
5843
+ var dropdownMenuItemSchema = import_zod55.z.object({
5844
+ type: import_zod55.z.literal("dropdown-menu-item"),
5845
+ props: import_zod55.z.object({
5846
+ children: import_zod55.z.string().optional().describe("Menu item text"),
5847
+ variant: import_zod55.z.enum(["default", "destructive"]).optional().describe("Item style. Defaults to 'default'"),
5848
+ disabled: import_zod55.z.boolean().optional()
5849
+ }).optional(),
5850
+ children: import_zod55.z.array(uiNodeSchema).optional()
5851
+ }).describe("A single item inside a dropdown menu");
5852
+ var dropdownMenuSeparatorSchema = import_zod55.z.object({
5853
+ type: import_zod55.z.literal("dropdown-menu-separator"),
5854
+ props: import_zod55.z.object({}).optional()
5855
+ }).describe("A visual separator between dropdown menu items");
5856
+ var dropdownMenuLabelSchema = import_zod55.z.object({
5857
+ type: import_zod55.z.literal("dropdown-menu-label"),
5858
+ props: import_zod55.z.object({
5859
+ children: import_zod55.z.string().optional().describe("Label text")
5860
+ }).optional(),
5861
+ children: import_zod55.z.array(uiNodeSchema).optional()
5862
+ }).describe("A non-interactive label inside a dropdown menu");
5863
+
5864
+ // src/ui/Popover/schema.ts
5865
+ var import_zod56 = require("zod");
5866
+ var popoverSchema = import_zod56.z.object({
5867
+ type: import_zod56.z.literal("popover"),
5868
+ props: import_zod56.z.object({}).optional(),
5869
+ children: import_zod56.z.array(uiNodeSchema).optional().describe("Compose with popover-trigger and popover-content")
5870
+ }).describe("A popover overlay container");
5871
+ var popoverTriggerSchema = import_zod56.z.object({
5872
+ type: import_zod56.z.literal("popover-trigger"),
5873
+ props: import_zod56.z.object({}).optional(),
5874
+ children: import_zod56.z.array(uiNodeSchema).optional().describe("The element that opens the popover")
5875
+ }).describe("Trigger element that opens a popover");
5876
+ var popoverContentSchema = import_zod56.z.object({
5877
+ type: import_zod56.z.literal("popover-content"),
5878
+ props: import_zod56.z.object({
5879
+ align: import_zod56.z.enum(["start", "center", "end"]).optional().describe("Alignment relative to trigger. Defaults to 'center'"),
5880
+ sideOffset: import_zod56.z.number().optional().describe("Offset from trigger in px. Defaults to 4")
5881
+ }).optional(),
5882
+ children: import_zod56.z.array(uiNodeSchema).optional().describe("Popover body content")
5883
+ }).describe("Content panel of a popover");
5884
+
5885
+ // src/ui/ContextMenu/schema.ts
5886
+ var import_zod57 = require("zod");
5887
+ var contextMenuSchema = import_zod57.z.object({
5888
+ type: import_zod57.z.literal("context-menu"),
5889
+ props: import_zod57.z.object({}).optional(),
5890
+ children: import_zod57.z.array(uiNodeSchema).optional().describe("Compose with context-menu-trigger and context-menu-content")
5891
+ }).describe("A right-click context menu container");
5892
+ var contextMenuTriggerSchema = import_zod57.z.object({
5893
+ type: import_zod57.z.literal("context-menu-trigger"),
5894
+ props: import_zod57.z.object({}).optional(),
5895
+ children: import_zod57.z.array(uiNodeSchema).optional().describe("The element that triggers the context menu on right-click")
5896
+ }).describe("Trigger area for a context menu");
5897
+ var contextMenuContentSchema = import_zod57.z.object({
5898
+ type: import_zod57.z.literal("context-menu-content"),
5899
+ props: import_zod57.z.object({}).optional(),
5900
+ children: import_zod57.z.array(uiNodeSchema).optional().describe("Menu items")
5901
+ }).describe("Content panel of a context menu");
5902
+ var contextMenuItemSchema = import_zod57.z.object({
5903
+ type: import_zod57.z.literal("context-menu-item"),
5904
+ props: import_zod57.z.object({
5905
+ children: import_zod57.z.string().optional().describe("Menu item text"),
5906
+ variant: import_zod57.z.enum(["default", "destructive"]).optional().describe("Item style. Defaults to 'default'"),
5907
+ disabled: import_zod57.z.boolean().optional()
5908
+ }).optional(),
5909
+ children: import_zod57.z.array(uiNodeSchema).optional()
5910
+ }).describe("A single item inside a context menu");
5911
+ var contextMenuSeparatorSchema = import_zod57.z.object({
5912
+ type: import_zod57.z.literal("context-menu-separator"),
5913
+ props: import_zod57.z.object({}).optional()
5914
+ }).describe("A visual separator between context menu items");
5915
+
4295
5916
  // src/schema.ts
4296
5917
  var componentSchema = component_schema_default;
4297
5918
  function getComponentSchemas() {
@@ -7921,11 +9542,98 @@ function LinkButton({
7921
9542
  );
7922
9543
  }
7923
9544
 
9545
+ // src/ui/Map/index.tsx
9546
+ var import_react_google_maps = require("@vis.gl/react-google-maps");
9547
+ var import_react7 = require("react");
9548
+ var import_jsx_runtime34 = require("react/jsx-runtime");
9549
+ function MarkerWithInfo({
9550
+ marker,
9551
+ index,
9552
+ onMarkerClick
9553
+ }) {
9554
+ const [open, setOpen] = (0, import_react7.useState)(false);
9555
+ const handleClick = (0, import_react7.useCallback)(() => {
9556
+ setOpen((prev) => !prev);
9557
+ onMarkerClick?.(marker, index);
9558
+ }, [marker, index, onMarkerClick]);
9559
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
9560
+ import_react_google_maps.AdvancedMarker,
9561
+ {
9562
+ position: { lat: marker.lat, lng: marker.lng },
9563
+ title: marker.title,
9564
+ onClick: handleClick,
9565
+ children: [
9566
+ marker.color && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9567
+ import_react_google_maps.Pin,
9568
+ {
9569
+ background: marker.color,
9570
+ borderColor: marker.color,
9571
+ glyphColor: "#fff"
9572
+ }
9573
+ ),
9574
+ open && (marker.title || marker.description) && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9575
+ import_react_google_maps.InfoWindow,
9576
+ {
9577
+ position: { lat: marker.lat, lng: marker.lng },
9578
+ onCloseClick: () => setOpen(false),
9579
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "max-w-xs", children: [
9580
+ marker.title && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("h3", { className: "text-body-sm font-semibold", children: marker.title }),
9581
+ marker.description && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-body-sm text-element-inverse-gray mt-1", children: marker.description })
9582
+ ] })
9583
+ }
9584
+ )
9585
+ ]
9586
+ }
9587
+ );
9588
+ }
9589
+ var DEFAULT_CENTER = { lat: 16.8661, lng: 96.1951 };
9590
+ function GoogleMapView({
9591
+ apiKey,
9592
+ center = DEFAULT_CENTER,
9593
+ zoom = 12,
9594
+ markers = [],
9595
+ mapId,
9596
+ height = "400px",
9597
+ width = "100%",
9598
+ className,
9599
+ gestureHandling = "cooperative",
9600
+ disableDefaultUI = false,
9601
+ onMarkerClick
9602
+ }) {
9603
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_google_maps.APIProvider, { apiKey, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9604
+ "div",
9605
+ {
9606
+ className: cn("overflow-hidden rounded-unit-corner-radius-xl", className),
9607
+ style: { height, width },
9608
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9609
+ import_react_google_maps.Map,
9610
+ {
9611
+ defaultCenter: center,
9612
+ defaultZoom: zoom,
9613
+ mapId,
9614
+ gestureHandling,
9615
+ disableDefaultUI,
9616
+ style: { width: "100%", height: "100%" },
9617
+ children: markers.map((marker, i) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9618
+ MarkerWithInfo,
9619
+ {
9620
+ marker,
9621
+ index: i,
9622
+ onMarkerClick
9623
+ },
9624
+ `${marker.lat}-${marker.lng}-${i}`
9625
+ ))
9626
+ }
9627
+ )
9628
+ }
9629
+ ) });
9630
+ }
9631
+
7924
9632
  // src/ui/Media/index.tsx
7925
9633
  var import_class_variance_authority10 = require("class-variance-authority");
7926
9634
  var import_lucide_react16 = require("lucide-react");
7927
9635
  var React10 = __toESM(require("react"), 1);
7928
- var import_jsx_runtime34 = require("react/jsx-runtime");
9636
+ var import_jsx_runtime35 = require("react/jsx-runtime");
7929
9637
  var mediaVariants = (0, import_class_variance_authority10.cva)(
7930
9638
  "relative overflow-hidden bg-gray-100 dark:bg-gray-800",
7931
9639
  {
@@ -8023,7 +9731,7 @@ var Media = React10.forwardRef(
8023
9731
  const handleImageError = () => {
8024
9732
  setImageError(true);
8025
9733
  };
8026
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9734
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
8027
9735
  "div",
8028
9736
  {
8029
9737
  ref,
@@ -8031,8 +9739,8 @@ var Media = React10.forwardRef(
8031
9739
  onMouseEnter: () => setIsHovered(true),
8032
9740
  onMouseLeave: () => setIsHovered(false),
8033
9741
  ...props,
8034
- children: type === "image" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
8035
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9742
+ children: type === "image" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
9743
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
8036
9744
  "img",
8037
9745
  {
8038
9746
  src,
@@ -8050,13 +9758,13 @@ var Media = React10.forwardRef(
8050
9758
  style: { objectFit }
8051
9759
  }
8052
9760
  ),
8053
- !imageLoaded && !imageError && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) }),
8054
- imageError && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "text-center text-gray-500", children: [
8055
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "text-2xl", children: "\u{1F4F7}" }),
8056
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "text-sm", children: "Failed to load" })
9761
+ !imageLoaded && !imageError && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) }),
9762
+ imageError && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "text-center text-gray-500", children: [
9763
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "text-2xl", children: "\u{1F4F7}" }),
9764
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "text-sm", children: "Failed to load" })
8057
9765
  ] }) })
8058
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
8059
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9766
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
9767
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
8060
9768
  "video",
8061
9769
  {
8062
9770
  ref: videoRef,
@@ -8069,7 +9777,7 @@ var Media = React10.forwardRef(
8069
9777
  preload: "metadata"
8070
9778
  }
8071
9779
  ),
8072
- showPlayButton && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9780
+ showPlayButton && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
8073
9781
  "div",
8074
9782
  {
8075
9783
  className: cn(
@@ -8079,10 +9787,10 @@ var Media = React10.forwardRef(
8079
9787
  "opacity-0": !isHovered && !videoPlaying
8080
9788
  }
8081
9789
  ),
8082
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9790
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
8083
9791
  IconButton,
8084
9792
  {
8085
- icon: videoPlaying ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react16.Pause, { className: "text-gray-900" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react16.Play, { className: "ml-1 text-gray-900" }),
9793
+ icon: videoPlaying ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react16.Pause, { className: "text-gray-900" }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react16.Play, { className: "ml-1 text-gray-900" }),
8086
9794
  onClick: videoPlaying ? handlePause : handlePlay,
8087
9795
  varient: "outline",
8088
9796
  size: "md",
@@ -8103,7 +9811,7 @@ Media.displayName = "Media";
8103
9811
  // src/ui/MultiSelect/index.tsx
8104
9812
  var import_lucide_react17 = require("lucide-react");
8105
9813
  var React11 = __toESM(require("react"), 1);
8106
- var import_jsx_runtime35 = require("react/jsx-runtime");
9814
+ var import_jsx_runtime36 = require("react/jsx-runtime");
8107
9815
  function MultiSelect({
8108
9816
  options,
8109
9817
  selected,
@@ -8176,8 +9884,8 @@ function MultiSelect({
8176
9884
  e.preventDefault();
8177
9885
  inputRef.current?.focus();
8178
9886
  };
8179
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
8180
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
9887
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
9888
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
8181
9889
  "div",
8182
9890
  {
8183
9891
  ref: containerRef,
@@ -8189,10 +9897,10 @@ function MultiSelect({
8189
9897
  ),
8190
9898
  onClick: handleContainerClick,
8191
9899
  children: [
8192
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-1 flex-wrap items-center gap-1", children: [
9900
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-1 flex-wrap items-center gap-1", children: [
8193
9901
  selected.map((value) => {
8194
9902
  const option = options.find((opt) => opt.value === value);
8195
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9903
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
8196
9904
  Chip,
8197
9905
  {
8198
9906
  label: option?.label || value,
@@ -8203,12 +9911,12 @@ function MultiSelect({
8203
9911
  className: cn(
8204
9912
  disabled && "pointer-events-none cursor-not-allowed"
8205
9913
  ),
8206
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react17.X, { className: "hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer" })
9914
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.X, { className: "hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer" })
8207
9915
  },
8208
9916
  value
8209
9917
  );
8210
9918
  }),
8211
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9919
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
8212
9920
  "input",
8213
9921
  {
8214
9922
  ref: inputRef,
@@ -8222,25 +9930,25 @@ function MultiSelect({
8222
9930
  }
8223
9931
  )
8224
9932
  ] }),
8225
- selected.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9933
+ selected.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
8226
9934
  import_lucide_react17.CircleXIcon,
8227
9935
  {
8228
9936
  className: "text-icon-default size-4.5 shrink-0",
8229
9937
  onClick: () => onChange([])
8230
9938
  }
8231
9939
  ),
8232
- !createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react17.ChevronDown, { className: "text-icon-default size-4.5 shrink-0" })
9940
+ !createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.ChevronDown, { className: "text-icon-default size-4.5 shrink-0" })
8233
9941
  ]
8234
9942
  }
8235
9943
  ) }),
8236
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9944
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
8237
9945
  PopoverContent,
8238
9946
  {
8239
9947
  className: "shadow-box w-[var(--radix-popover-trigger-width)] border-none bg-white p-2",
8240
9948
  align: "start",
8241
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "max-h-[300px] overflow-y-auto", children: filteredOptions.length === 0 && !canCreate ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "py-6 text-center text-gray-500", children: inputValue ? "No results found." : "Start typing to search..." }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5", children: [
8242
- createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-text-default pb-0.5 font-semibold", children: "Select or create one" }),
8243
- filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9949
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "max-h-[300px] overflow-y-auto", children: filteredOptions.length === 0 && !canCreate ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "py-6 text-center text-gray-500", children: inputValue ? "No results found." : "Start typing to search..." }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5", children: [
9950
+ createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-text-default pb-0.5 font-semibold", children: "Select or create one" }),
9951
+ filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
8244
9952
  Chip,
8245
9953
  {
8246
9954
  label: option.label,
@@ -8249,14 +9957,14 @@ function MultiSelect({
8249
9957
  },
8250
9958
  option.value
8251
9959
  )),
8252
- canCreate && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
9960
+ canCreate && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
8253
9961
  "div",
8254
9962
  {
8255
9963
  onClick: async () => await handleCreate(),
8256
9964
  className: "flex items-center justify-between",
8257
9965
  children: [
8258
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Chip, { label: inputValue.trim(), className: "rounded-md" }),
8259
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9966
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Chip, { label: inputValue.trim(), className: "rounded-md" }),
9967
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
8260
9968
  Button,
8261
9969
  {
8262
9970
  variant: "ghost",
@@ -8277,7 +9985,7 @@ function MultiSelect({
8277
9985
  // src/ui/OTPInput/index.tsx
8278
9986
  var import_input_otp = require("input-otp");
8279
9987
  var React12 = __toESM(require("react"), 1);
8280
- var import_jsx_runtime36 = require("react/jsx-runtime");
9988
+ var import_jsx_runtime37 = require("react/jsx-runtime");
8281
9989
  function OTPInput({
8282
9990
  type = 4,
8283
9991
  separate = false,
@@ -8285,8 +9993,8 @@ function OTPInput({
8285
9993
  className,
8286
9994
  ...props
8287
9995
  }) {
8288
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: cn(className), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(InputOTP, { disabled, className: "w-full", ...props, children: [
8289
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9996
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: cn(className), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(InputOTP, { disabled, className: "w-full", ...props, children: [
9997
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8290
9998
  InputOTPSlot,
8291
9999
  {
8292
10000
  className: "w-full",
@@ -8295,8 +10003,8 @@ function OTPInput({
8295
10003
  },
8296
10004
  index
8297
10005
  )) }),
8298
- separate && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPSeparator, {}),
8299
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
10006
+ separate && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(InputOTPSeparator, {}),
10007
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8300
10008
  InputOTPSlot,
8301
10009
  {
8302
10010
  className: "w-full",
@@ -8312,7 +10020,7 @@ function InputOTP({
8312
10020
  containerClassName,
8313
10021
  ...props
8314
10022
  }) {
8315
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
10023
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8316
10024
  import_input_otp.OTPInput,
8317
10025
  {
8318
10026
  "data-slot": "input-otp",
@@ -8323,7 +10031,7 @@ function InputOTP({
8323
10031
  );
8324
10032
  }
8325
10033
  function InputOTPGroup({ className, ...props }) {
8326
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
10034
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8327
10035
  "div",
8328
10036
  {
8329
10037
  "data-slot": "input-otp-group",
@@ -8341,7 +10049,7 @@ function InputOTPSlot({
8341
10049
  }) {
8342
10050
  const inputOTPContext = React12.useContext(import_input_otp.OTPInputContext);
8343
10051
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
8344
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
10052
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
8345
10053
  "div",
8346
10054
  {
8347
10055
  "data-slot": "input-otp-slot",
@@ -8356,26 +10064,26 @@ function InputOTPSlot({
8356
10064
  ),
8357
10065
  ...props,
8358
10066
  children: [
8359
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-h6", children: char || placeholder }),
8360
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
10067
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-h6", children: char || placeholder }),
10068
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
8361
10069
  ]
8362
10070
  }
8363
10071
  );
8364
10072
  }
8365
10073
  function InputOTPSeparator({ ...props }) {
8366
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "bg-border-primary-normal h-0.5 w-2" }) });
10074
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "bg-border-primary-normal h-0.5 w-2" }) });
8367
10075
  }
8368
10076
 
8369
10077
  // src/ui/PasswordInput/index.tsx
8370
10078
  var React13 = __toESM(require("react"), 1);
8371
10079
  var import_lucide_react18 = require("lucide-react");
8372
- var import_jsx_runtime37 = require("react/jsx-runtime");
10080
+ var import_jsx_runtime38 = require("react/jsx-runtime");
8373
10081
  var PasswordInput = React13.memo(
8374
10082
  ({ type, label, className, ...props }) => {
8375
10083
  const [showPassword, setShowPassword] = React13.useState(false);
8376
10084
  const error = props["aria-invalid"] || false;
8377
10085
  const inputRef = React13.useRef(null);
8378
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
10086
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
8379
10087
  "div",
8380
10088
  {
8381
10089
  className: cn(
@@ -8395,7 +10103,7 @@ var PasswordInput = React13.memo(
8395
10103
  }
8396
10104
  ),
8397
10105
  children: [
8398
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
10106
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8399
10107
  "input",
8400
10108
  {
8401
10109
  ref: inputRef,
@@ -8419,7 +10127,7 @@ var PasswordInput = React13.memo(
8419
10127
  }
8420
10128
  }
8421
10129
  ),
8422
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
10130
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8423
10131
  "button",
8424
10132
  {
8425
10133
  tabIndex: -1,
@@ -8428,7 +10136,7 @@ var PasswordInput = React13.memo(
8428
10136
  onClick: () => setShowPassword(!showPassword),
8429
10137
  "aria-label": showPassword ? "Hide password" : "Show password",
8430
10138
  className: "hover:bg-primary-bg-soft absolute right-2 flex h-5 w-5 cursor-pointer items-center justify-center rounded-sm bg-white",
8431
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react18.Eye, { size: 16, className: "text-element-inverse-default-alt" }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react18.EyeOff, { size: 16, className: "text-element-inverse-default-alt" })
10139
+ children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.Eye, { size: 16, className: "text-element-inverse-default-alt" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.EyeOff, { size: 16, className: "text-element-inverse-default-alt" })
8432
10140
  }
8433
10141
  )
8434
10142
  ]
@@ -8440,16 +10148,16 @@ var PasswordInput = React13.memo(
8440
10148
  // src/ui/Radio/index.tsx
8441
10149
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
8442
10150
  var import_lucide_react19 = require("lucide-react");
8443
- var import_jsx_runtime38 = require("react/jsx-runtime");
10151
+ var import_jsx_runtime39 = require("react/jsx-runtime");
8444
10152
  function Radio({ onSelect, options, ...props }) {
8445
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BaseRadioGroup, { ...props, children: options.map((option) => {
8446
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
10153
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(BaseRadioGroup, { ...props, children: options.map((option) => {
10154
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
8447
10155
  Label2,
8448
10156
  {
8449
10157
  htmlFor: option.value,
8450
10158
  className: "hover:bg-surface-bg flex cursor-pointer items-center gap-x-2 rounded-lg p-1.5",
8451
10159
  children: [
8452
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
10160
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8453
10161
  BaseRadioGroupItem,
8454
10162
  {
8455
10163
  onClick: () => {
@@ -8470,7 +10178,7 @@ function BaseRadioGroup({
8470
10178
  className,
8471
10179
  ...props
8472
10180
  }) {
8473
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
10181
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8474
10182
  RadioGroupPrimitive.Root,
8475
10183
  {
8476
10184
  "data-slot": "radio-group",
@@ -8483,7 +10191,7 @@ function BaseRadioGroupItem({
8483
10191
  className,
8484
10192
  ...props
8485
10193
  }) {
8486
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
10194
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8487
10195
  RadioGroupPrimitive.Item,
8488
10196
  {
8489
10197
  "data-slot": "radio-group-item",
@@ -8492,12 +10200,12 @@ function BaseRadioGroupItem({
8492
10200
  className
8493
10201
  ),
8494
10202
  ...props,
8495
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
10203
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8496
10204
  RadioGroupPrimitive.Indicator,
8497
10205
  {
8498
10206
  "data-slot": "radio-group-indicator",
8499
10207
  className: "relative flex items-center justify-center",
8500
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react19.CircleIcon, { className: "fill-check-box-and-radio-checked-enabled group-data-[state=checked]:hover:fill-check-box-and-radio-checked-hovered absolute top-1/2 left-1/2 size-[16px] -translate-x-1/2 -translate-y-1/2 stroke-none" })
10208
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react19.CircleIcon, { className: "fill-check-box-and-radio-checked-enabled group-data-[state=checked]:hover:fill-check-box-and-radio-checked-hovered absolute top-1/2 left-1/2 size-[16px] -translate-x-1/2 -translate-y-1/2 stroke-none" })
8501
10209
  }
8502
10210
  )
8503
10211
  }
@@ -8508,8 +10216,8 @@ function BaseRadioGroupItem({
8508
10216
  var import_lodash = require("lodash");
8509
10217
  var import_lucide_react20 = require("lucide-react");
8510
10218
  var import_nuqs = require("nuqs");
8511
- var import_react7 = require("react");
8512
- var import_jsx_runtime39 = require("react/jsx-runtime");
10219
+ var import_react8 = require("react");
10220
+ var import_jsx_runtime40 = require("react/jsx-runtime");
8513
10221
  function SearchInput({
8514
10222
  searchKey,
8515
10223
  placeholder = "Search by...",
@@ -8521,8 +10229,8 @@ function SearchInput({
8521
10229
  const [search, setSearch] = (0, import_nuqs.useQueryState)(searchKey, {
8522
10230
  defaultValue: ""
8523
10231
  });
8524
- const [inputValue, setInputValue] = (0, import_react7.useState)(search ?? "");
8525
- const debouncedSetValue = (0, import_react7.useCallback)(
10232
+ const [inputValue, setInputValue] = (0, import_react8.useState)(search ?? "");
10233
+ const debouncedSetValue = (0, import_react8.useCallback)(
8526
10234
  (0, import_lodash.debounce)((value) => {
8527
10235
  if (addToParam) {
8528
10236
  setSearch(value);
@@ -8532,13 +10240,13 @@ function SearchInput({
8532
10240
  }, debounceDelay),
8533
10241
  [debounceDelay, addToParam, setSearch]
8534
10242
  );
8535
- (0, import_react7.useEffect)(() => {
10243
+ (0, import_react8.useEffect)(() => {
8536
10244
  debouncedSetValue(inputValue);
8537
10245
  return () => {
8538
10246
  debouncedSetValue.cancel();
8539
10247
  };
8540
10248
  }, [inputValue, debouncedSetValue]);
8541
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: cn("relative", className), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
10249
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("relative", className), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8542
10250
  Input,
8543
10251
  {
8544
10252
  onChange: (e) => {
@@ -8547,7 +10255,7 @@ function SearchInput({
8547
10255
  },
8548
10256
  placeholder,
8549
10257
  prefixNode: {
8550
- node: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react20.SearchIcon, { className: "text-element-inverse-default" }),
10258
+ node: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react20.SearchIcon, { className: "text-element-inverse-default" }),
8551
10259
  withBorder: false
8552
10260
  },
8553
10261
  value: inputValue,
@@ -8560,7 +10268,7 @@ function SearchInput({
8560
10268
  // src/ui/SelectHover/index.tsx
8561
10269
  var import_lucide_react21 = require("lucide-react");
8562
10270
  var React14 = __toESM(require("react"), 1);
8563
- var import_jsx_runtime40 = require("react/jsx-runtime");
10271
+ var import_jsx_runtime41 = require("react/jsx-runtime");
8564
10272
  function SelectHover({
8565
10273
  options,
8566
10274
  placeholder = "Select an option",
@@ -8587,15 +10295,15 @@ function SelectHover({
8587
10295
  setIsOpen(false);
8588
10296
  }, 300);
8589
10297
  };
8590
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Popover, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [
8591
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Button, { role: "combobox", "aria-expanded": isOpen, className, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }) }) }),
8592
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
10298
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Popover, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [
10299
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Button, { role: "combobox", "aria-expanded": isOpen, className, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }) }) }),
10300
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
8593
10301
  PopoverContent,
8594
10302
  {
8595
10303
  className: "bg-surface-bg-container w-full rounded-3xl border-none p-2 shadow-md",
8596
10304
  onMouseEnter: handleMouseEnter,
8597
10305
  onMouseLeave: handleMouseLeave,
8598
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
10306
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
8599
10307
  "button",
8600
10308
  {
8601
10309
  className: cn(
@@ -8604,8 +10312,8 @@ function SelectHover({
8604
10312
  ),
8605
10313
  onClick: () => handleSelect(option.value),
8606
10314
  children: [
8607
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex-1", children: option.label }),
8608
- value === option.value && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react21.Check, { className: "text-icon-secondary ml-2 h-4 w-4" })
10315
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "flex-1", children: option.label }),
10316
+ value === option.value && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react21.Check, { className: "text-icon-secondary ml-2 h-4 w-4" })
8609
10317
  ]
8610
10318
  },
8611
10319
  option.value
@@ -8618,7 +10326,7 @@ function SelectHover({
8618
10326
  // src/ui/SelectInput/index.tsx
8619
10327
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
8620
10328
  var import_lucide_react22 = require("lucide-react");
8621
- var import_jsx_runtime41 = require("react/jsx-runtime");
10329
+ var import_jsx_runtime42 = require("react/jsx-runtime");
8622
10330
  function SelectInput({
8623
10331
  defaultValue,
8624
10332
  options,
@@ -8631,8 +10339,8 @@ function SelectInput({
8631
10339
  itemProps,
8632
10340
  ...props
8633
10341
  }) {
8634
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(BaseSelect, { onValueChange: onChange, defaultValue, ...props, children: [
8635
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
10342
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(BaseSelect, { onValueChange: onChange, defaultValue, ...props, children: [
10343
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8636
10344
  BaseSelectTrigger,
8637
10345
  {
8638
10346
  withArrow,
@@ -8640,7 +10348,7 @@ function SelectInput({
8640
10348
  "aria-invalid": props["aria-invalid"],
8641
10349
  className: cn("w-full cursor-pointer", className),
8642
10350
  variant,
8643
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
10351
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8644
10352
  BaseSelectValue,
8645
10353
  {
8646
10354
  className: "flex-1",
@@ -8649,7 +10357,7 @@ function SelectInput({
8649
10357
  )
8650
10358
  }
8651
10359
  ),
8652
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
10360
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8653
10361
  BaseSelectContent,
8654
10362
  {
8655
10363
  ...contentProps,
@@ -8657,7 +10365,7 @@ function SelectInput({
8657
10365
  "border-stroke-inverse-slate-02 border",
8658
10366
  contentProps?.className
8659
10367
  ),
8660
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
10368
+ children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
8661
10369
  BaseSelectItem,
8662
10370
  {
8663
10371
  value: option.value,
@@ -8677,12 +10385,12 @@ function SelectInput({
8677
10385
  function BaseSelect({
8678
10386
  ...props
8679
10387
  }) {
8680
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
10388
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
8681
10389
  }
8682
10390
  function BaseSelectValue({
8683
10391
  ...props
8684
10392
  }) {
8685
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
10393
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
8686
10394
  }
8687
10395
  function BaseSelectTrigger({
8688
10396
  className,
@@ -8692,7 +10400,7 @@ function BaseSelectTrigger({
8692
10400
  children,
8693
10401
  ...props
8694
10402
  }) {
8695
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
10403
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
8696
10404
  SelectPrimitive.Trigger,
8697
10405
  {
8698
10406
  "data-slot": "select-trigger",
@@ -8713,7 +10421,7 @@ function BaseSelectTrigger({
8713
10421
  ...props,
8714
10422
  children: [
8715
10423
  children,
8716
- withArrow && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.ChevronDownIcon, { className: "text-icon-default size-4" }) })
10424
+ withArrow && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.ChevronDownIcon, { className: "text-icon-default size-4" }) })
8717
10425
  ]
8718
10426
  }
8719
10427
  );
@@ -8724,7 +10432,7 @@ function BaseSelectContent({
8724
10432
  position = "popper",
8725
10433
  ...props
8726
10434
  }) {
8727
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
10435
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
8728
10436
  SelectPrimitive.Content,
8729
10437
  {
8730
10438
  "data-slot": "select-content",
@@ -8736,8 +10444,8 @@ function BaseSelectContent({
8736
10444
  position,
8737
10445
  ...props,
8738
10446
  children: [
8739
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(BaseSelectScrollUpButton, {}),
8740
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
10447
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BaseSelectScrollUpButton, {}),
10448
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8741
10449
  SelectPrimitive.Viewport,
8742
10450
  {
8743
10451
  className: cn(
@@ -8747,7 +10455,7 @@ function BaseSelectContent({
8747
10455
  children
8748
10456
  }
8749
10457
  ),
8750
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(BaseSelectScrollDownButton, {})
10458
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BaseSelectScrollDownButton, {})
8751
10459
  ]
8752
10460
  }
8753
10461
  ) });
@@ -8757,7 +10465,7 @@ function BaseSelectItem({
8757
10465
  children,
8758
10466
  ...props
8759
10467
  }) {
8760
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
10468
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
8761
10469
  SelectPrimitive.Item,
8762
10470
  {
8763
10471
  "data-slot": "select-item",
@@ -8767,8 +10475,8 @@ function BaseSelectItem({
8767
10475
  ),
8768
10476
  ...props,
8769
10477
  children: [
8770
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.CheckIcon, { className: "text-icon-secondary size-4" }) }) }),
8771
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.ItemText, { children })
10478
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.CheckIcon, { className: "text-icon-secondary size-4" }) }) }),
10479
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.ItemText, { children })
8772
10480
  ]
8773
10481
  }
8774
10482
  );
@@ -8777,7 +10485,7 @@ function BaseSelectScrollUpButton({
8777
10485
  className,
8778
10486
  ...props
8779
10487
  }) {
8780
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
10488
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8781
10489
  SelectPrimitive.ScrollUpButton,
8782
10490
  {
8783
10491
  "data-slot": "select-scroll-up-button",
@@ -8786,7 +10494,7 @@ function BaseSelectScrollUpButton({
8786
10494
  className
8787
10495
  ),
8788
10496
  ...props,
8789
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.ChevronUpIcon, { className: "size-4" })
10497
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.ChevronUpIcon, { className: "size-4" })
8790
10498
  }
8791
10499
  );
8792
10500
  }
@@ -8794,7 +10502,7 @@ function BaseSelectScrollDownButton({
8794
10502
  className,
8795
10503
  ...props
8796
10504
  }) {
8797
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
10505
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8798
10506
  SelectPrimitive.ScrollDownButton,
8799
10507
  {
8800
10508
  "data-slot": "select-scroll-down-button",
@@ -8803,7 +10511,7 @@ function BaseSelectScrollDownButton({
8803
10511
  className
8804
10512
  ),
8805
10513
  ...props,
8806
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.ChevronDownIcon, { className: "size-4" })
10514
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.ChevronDownIcon, { className: "size-4" })
8807
10515
  }
8808
10516
  );
8809
10517
  }
@@ -8811,15 +10519,15 @@ function BaseSelectScrollDownButton({
8811
10519
  // src/ui/Sheet/index.tsx
8812
10520
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
8813
10521
  var import_lucide_react23 = require("lucide-react");
8814
- var import_jsx_runtime42 = require("react/jsx-runtime");
10522
+ var import_jsx_runtime43 = require("react/jsx-runtime");
8815
10523
  function Sheet({ ...props }) {
8816
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
10524
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
8817
10525
  }
8818
10526
 
8819
10527
  // src/ui/Skeleton/index.tsx
8820
- var import_jsx_runtime43 = require("react/jsx-runtime");
10528
+ var import_jsx_runtime44 = require("react/jsx-runtime");
8821
10529
  function Skeleton({ className, ...props }) {
8822
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
10530
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
8823
10531
  "div",
8824
10532
  {
8825
10533
  "data-slot": "skeleton",
@@ -8835,7 +10543,7 @@ function Skeleton({ className, ...props }) {
8835
10543
  // src/ui/Slider/index.tsx
8836
10544
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
8837
10545
  var React15 = __toESM(require("react"), 1);
8838
- var import_jsx_runtime44 = require("react/jsx-runtime");
10546
+ var import_jsx_runtime45 = require("react/jsx-runtime");
8839
10547
  function Slider({
8840
10548
  className,
8841
10549
  defaultValue,
@@ -8848,7 +10556,7 @@ function Slider({
8848
10556
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
8849
10557
  [value, defaultValue, min, max]
8850
10558
  );
8851
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
10559
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
8852
10560
  SliderPrimitive.Root,
8853
10561
  {
8854
10562
  "data-slot": "slider",
@@ -8862,14 +10570,14 @@ function Slider({
8862
10570
  ),
8863
10571
  ...props,
8864
10572
  children: [
8865
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
10573
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
8866
10574
  SliderPrimitive.Track,
8867
10575
  {
8868
10576
  "data-slot": "slider-track",
8869
10577
  className: cn(
8870
10578
  "bg-audioProgress-bg relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
8871
10579
  ),
8872
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
10580
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
8873
10581
  SliderPrimitive.Range,
8874
10582
  {
8875
10583
  "data-slot": "slider-range",
@@ -8880,7 +10588,7 @@ function Slider({
8880
10588
  )
8881
10589
  }
8882
10590
  ),
8883
- Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
10591
+ Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
8884
10592
  SliderPrimitive.Thumb,
8885
10593
  {
8886
10594
  "data-slot": "slider-thumb",
@@ -8896,10 +10604,10 @@ function Slider({
8896
10604
  // src/ui/Sooner/index.tsx
8897
10605
  var import_next_themes = require("next-themes");
8898
10606
  var import_sonner = require("sonner");
8899
- var import_jsx_runtime45 = require("react/jsx-runtime");
10607
+ var import_jsx_runtime46 = require("react/jsx-runtime");
8900
10608
  var Toaster = ({ ...props }) => {
8901
10609
  const { theme = "system" } = (0, import_next_themes.useTheme)();
8902
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
10610
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
8903
10611
  import_sonner.Toaster,
8904
10612
  {
8905
10613
  theme,
@@ -8916,14 +10624,14 @@ var Toaster = ({ ...props }) => {
8916
10624
 
8917
10625
  // src/ui/Switch/index.tsx
8918
10626
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"), 1);
8919
- var import_jsx_runtime46 = require("react/jsx-runtime");
10627
+ var import_jsx_runtime47 = require("react/jsx-runtime");
8920
10628
  function Switch({
8921
10629
  className,
8922
10630
  label,
8923
10631
  ...props
8924
10632
  }) {
8925
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center space-x-2", children: [
8926
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
10633
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center space-x-2", children: [
10634
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8927
10635
  SwitchPrimitive.Root,
8928
10636
  {
8929
10637
  "data-slot": "switch",
@@ -8933,7 +10641,7 @@ function Switch({
8933
10641
  className
8934
10642
  ),
8935
10643
  ...props,
8936
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
10644
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8937
10645
  SwitchPrimitive.Thumb,
8938
10646
  {
8939
10647
  "data-slot": "switch-thumb",
@@ -8944,7 +10652,7 @@ function Switch({
8944
10652
  )
8945
10653
  }
8946
10654
  ),
8947
- label && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Label2, { htmlFor: props.id || label, children: label })
10655
+ label && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Label2, { htmlFor: props.id || label, children: label })
8948
10656
  ] });
8949
10657
  }
8950
10658
 
@@ -8956,8 +10664,8 @@ var import_class_variance_authority11 = require("class-variance-authority");
8956
10664
  var import_lucide_react25 = require("lucide-react");
8957
10665
  var import_magick_icons4 = require("magick-icons");
8958
10666
  var React16 = __toESM(require("react"), 1);
8959
- var import_react8 = require("react");
8960
- var import_jsx_runtime47 = require("react/jsx-runtime");
10667
+ var import_react9 = require("react");
10668
+ var import_jsx_runtime48 = require("react/jsx-runtime");
8961
10669
  var Table = ({
8962
10670
  columns,
8963
10671
  tableData,
@@ -8965,7 +10673,7 @@ var Table = ({
8965
10673
  emptyState = {
8966
10674
  emptyAction: void 0,
8967
10675
  label: "There is currently no data available to display in this table.",
8968
- icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(IconProfile, { icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_magick_icons4.IconsaxBriefcaseBold, {}), color: "teal" })
10676
+ icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(IconProfile, { icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_magick_icons4.IconsaxBriefcaseBold, {}), color: "teal" })
8969
10677
  },
8970
10678
  onRowClick
8971
10679
  }) => {
@@ -8977,41 +10685,41 @@ var Table = ({
8977
10685
  getSortedRowModel: (0, import_react_table.getSortedRowModel)()
8978
10686
  });
8979
10687
  const rowCount = table.getRowModel().rows.length;
8980
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "relative flex flex-col overflow-auto", children: [
8981
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10688
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative flex flex-col overflow-auto", children: [
10689
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8982
10690
  "div",
8983
10691
  {
8984
10692
  className: cn(
8985
10693
  rowCount === 0 ? "" : "bg-gray-100 dark:bg-gray-700",
8986
10694
  "absolute top-10 left-0 w-full h-full min-h-[100px] opacity-70 z-10 flex items-center justify-center"
8987
10695
  ),
8988
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react24.Loader2, { className: "size-10 text-stroke-inverse-slate-04 " })
10696
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react24.Loader2, { className: "size-10 text-stroke-inverse-slate-04 " })
8989
10697
  }
8990
10698
  ) : null,
8991
- !isLoading && rowCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col items-center gap-4", children: [
10699
+ !isLoading && rowCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex flex-col items-center gap-4", children: [
8992
10700
  emptyState?.icon,
8993
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { children: emptyState?.label }),
8994
- emptyState?.emptyAction ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10701
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { children: emptyState?.label }),
10702
+ emptyState?.emptyAction ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8995
10703
  Button,
8996
10704
  {
8997
10705
  variant: "outline",
8998
- prefix: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_magick_icons4.MagickoAdd, { className: "[&_path]:fill-element-inverse-default" }),
10706
+ prefix: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_magick_icons4.MagickoAdd, { className: "[&_path]:fill-element-inverse-default" }),
8999
10707
  onClick: () => emptyState?.emptyAction?.(),
9000
10708
  children: "Create new"
9001
10709
  }
9002
10710
  ) : null
9003
10711
  ] }) }) : null,
9004
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "max-w-full flex-1 overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
10712
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "max-w-full flex-1 overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
9005
10713
  "table",
9006
10714
  {
9007
10715
  className: "w-full caption-bottom text-sm",
9008
10716
  style: { minWidth: "max-content" },
9009
10717
  children: [
9010
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("thead", { className: "bg-fill-inverse-slate-03", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10718
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("thead", { className: "bg-fill-inverse-slate-03", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9011
10719
  "tr",
9012
10720
  {
9013
10721
  className: "hover:bg-muted/50 border-stroke-inverse-slate-02 border-b transition-colors",
9014
- children: headerGroup.headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10722
+ children: headerGroup.headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9015
10723
  "th",
9016
10724
  {
9017
10725
  className: "text-muted-foreground h-12 px-4 text-left align-middle font-medium",
@@ -9025,14 +10733,14 @@ var Table = ({
9025
10733
  },
9026
10734
  headerGroup.id
9027
10735
  )) }),
9028
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("tbody", { className: "relative", children: [
10736
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("tbody", { className: "relative", children: [
9029
10737
  table.getRowModel().rows.map((row) => {
9030
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10738
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9031
10739
  "tr",
9032
10740
  {
9033
10741
  className: "hover:bg-muted/50 bg-table-table-cell-unselected group/row border-stroke-inverse-slate-02 cursor-pointer border-b transition-colors",
9034
10742
  onClick: () => onRowClick?.(row.original),
9035
- children: row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("td", { className: "p-4", children: (0, import_react_table.flexRender)(
10743
+ children: row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { className: "p-4", children: (0, import_react_table.flexRender)(
9036
10744
  cell.column.columnDef.cell,
9037
10745
  cell.getContext()
9038
10746
  ) }, cell.id))
@@ -9040,7 +10748,7 @@ var Table = ({
9040
10748
  row.id
9041
10749
  );
9042
10750
  }),
9043
- rowCount === 0 && Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("td", { colSpan: columns.length, className: "h-12 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "" }) }) }, index))
10751
+ rowCount === 0 && Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { colSpan: columns.length, className: "h-12 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "" }) }) }, index))
9044
10752
  ] })
9045
10753
  ]
9046
10754
  }
@@ -9075,13 +10783,13 @@ var PrimaryCell = React16.forwardRef(
9075
10783
  }, ref) => {
9076
10784
  let content = children;
9077
10785
  if (variant === "badge") {
9078
- content = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2", children: [
10786
+ content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center gap-2", children: [
9079
10787
  children,
9080
- badgeContent && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Badge, { type: badgeType, size: badgeSize, children: badgeContent })
10788
+ badgeContent && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Badge, { type: badgeType, size: badgeSize, children: badgeContent })
9081
10789
  ] });
9082
10790
  } else if (variant === "progress") {
9083
- content = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
9084
- progressValue !== 100 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10791
+ content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
10792
+ progressValue !== 100 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9085
10793
  ProgressIndicator,
9086
10794
  {
9087
10795
  variant: "circle",
@@ -9090,23 +10798,23 @@ var PrimaryCell = React16.forwardRef(
9090
10798
  showPercentage: showProgressPercentage
9091
10799
  }
9092
10800
  ),
9093
- children && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-body-sm text-element-inverse-default", children })
10801
+ children && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-body-sm text-element-inverse-default", children })
9094
10802
  ] });
9095
10803
  } else if (variant === "error") {
9096
- content = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
9097
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react25.AlertCircle, { className: "size-4 shrink-0" }),
9098
- errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-body-sm", children: errorMessage }) : children
10804
+ content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
10805
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react25.AlertCircle, { className: "size-4 shrink-0" }),
10806
+ errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-body-sm", children: errorMessage }) : children
9099
10807
  ] });
9100
10808
  }
9101
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
10809
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
9102
10810
  "div",
9103
10811
  {
9104
10812
  ref,
9105
10813
  className: cn(primaryCellVariants({ variant })),
9106
10814
  ...props,
9107
10815
  children: [
9108
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: content }),
9109
- hoverUI && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100", children: hoverUI })
10816
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: content }),
10817
+ hoverUI && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100", children: hoverUI })
9110
10818
  ]
9111
10819
  }
9112
10820
  );
@@ -9115,7 +10823,7 @@ var PrimaryCell = React16.forwardRef(
9115
10823
  PrimaryCell.displayName = "PrimaryCell";
9116
10824
  Table.PrimaryCell = PrimaryCell;
9117
10825
  var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props }, ref) => {
9118
- const [isCopied, setIsCopied] = (0, import_react8.useState)(false);
10826
+ const [isCopied, setIsCopied] = (0, import_react9.useState)(false);
9119
10827
  const [hoverRef, isHovering] = (0, import_usehooks.useHover)();
9120
10828
  const handleCopy = () => {
9121
10829
  navigator.clipboard.writeText(text);
@@ -9128,11 +10836,11 @@ var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props
9128
10836
  }, 1200);
9129
10837
  }
9130
10838
  }, [isCopied]);
9131
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: cn("w-full h-full", className), ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "relative", ref: hoverRef, children: [
9132
- copyable && isHovering && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10839
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: cn("w-full h-full", className), ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative", ref: hoverRef, children: [
10840
+ copyable && isHovering && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9133
10841
  IconButton,
9134
10842
  {
9135
- icon: isCopied ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10843
+ icon: isCopied ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9136
10844
  import_magick_icons4.MagickoCopySuccess,
9137
10845
  {
9138
10846
  className: cn(
@@ -9140,16 +10848,16 @@ var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props
9140
10848
  "transition-all ease-in duration-200"
9141
10849
  )
9142
10850
  }
9143
- ) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_magick_icons4.MagickoCopy, { className: "size-4" }),
10851
+ ) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_magick_icons4.MagickoCopy, { className: "size-4" }),
9144
10852
  className: "absolute top-1/2 -right-3 -translate-y-1/2",
9145
10853
  size: "sm",
9146
10854
  varient: "soft",
9147
10855
  onClick: handleCopy
9148
10856
  }
9149
10857
  ),
9150
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Popover, { children: [
9151
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { className: "truncate line-clamp-1", children: text ?? "-" }) }),
9152
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverContent, { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { children: text ?? "-" }) })
10858
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Popover, { children: [
10859
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { className: "truncate line-clamp-1", children: text ?? "-" }) }),
10860
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverContent, { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { children: text ?? "-" }) })
9153
10861
  ] })
9154
10862
  ] }) });
9155
10863
  });
@@ -9159,7 +10867,7 @@ var Table_default = Table;
9159
10867
 
9160
10868
  // src/ui/Tabs/index.tsx
9161
10869
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
9162
- var import_jsx_runtime48 = require("react/jsx-runtime");
10870
+ var import_jsx_runtime49 = require("react/jsx-runtime");
9163
10871
  function Tabs({
9164
10872
  defaultActiveTab,
9165
10873
  tabSmall,
@@ -9168,8 +10876,8 @@ function Tabs({
9168
10876
  showContent = true,
9169
10877
  ...props
9170
10878
  }) {
9171
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(BaseTabs, { defaultValue: defaultActiveTab, className, ...props, children: [
9172
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(BaseTabsList, { children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
10879
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(BaseTabs, { defaultValue: defaultActiveTab, className, ...props, children: [
10880
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(BaseTabsList, { children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
9173
10881
  BaseTabsTrigger,
9174
10882
  {
9175
10883
  tabSmall,
@@ -9177,22 +10885,22 @@ function Tabs({
9177
10885
  className: "relative flex cursor-pointer items-center justify-center gap-x-2",
9178
10886
  onClick: typeof tab === "object" && "onClick" in tab ? tab.onClick : void 0,
9179
10887
  children: [
9180
- tab.icon && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: tab.icon }),
10888
+ tab.icon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { children: tab.icon }),
9181
10889
  tab.label,
9182
- tab.notification && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full" }),
9183
- !!tab.count && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Badge, { type: "primary-soft", children: tab.count })
10890
+ tab.notification && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full" }),
10891
+ !!tab.count && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge, { type: "primary-soft", children: tab.count })
9184
10892
  ]
9185
10893
  },
9186
10894
  tab.value
9187
10895
  )) }),
9188
- showContent && "content" in tabs[0] && tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(BaseTabsContent, { value: tab.value, children: tab.content }, tab.value))
10896
+ showContent && "content" in tabs[0] && tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(BaseTabsContent, { value: tab.value, children: tab.content }, tab.value))
9189
10897
  ] });
9190
10898
  }
9191
10899
  function BaseTabs({
9192
10900
  className,
9193
10901
  ...props
9194
10902
  }) {
9195
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
10903
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
9196
10904
  TabsPrimitive.Root,
9197
10905
  {
9198
10906
  "data-slot": "tabs",
@@ -9205,7 +10913,7 @@ function BaseTabsList({
9205
10913
  className,
9206
10914
  ...props
9207
10915
  }) {
9208
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
10916
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
9209
10917
  TabsPrimitive.List,
9210
10918
  {
9211
10919
  "data-slot": "tabs-list",
@@ -9222,7 +10930,7 @@ function BaseTabsTrigger({
9222
10930
  tabSmall,
9223
10931
  ...props
9224
10932
  }) {
9225
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
10933
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
9226
10934
  TabsPrimitive.Trigger,
9227
10935
  {
9228
10936
  "data-slot": "tabs-trigger",
@@ -9239,7 +10947,7 @@ function BaseTabsContent({
9239
10947
  className,
9240
10948
  ...props
9241
10949
  }) {
9242
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
10950
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
9243
10951
  TabsPrimitive.Content,
9244
10952
  {
9245
10953
  "data-slot": "tabs-content",
@@ -9251,7 +10959,7 @@ function BaseTabsContent({
9251
10959
 
9252
10960
  // src/ui/Tag/index.tsx
9253
10961
  var import_class_variance_authority12 = require("class-variance-authority");
9254
- var import_jsx_runtime49 = require("react/jsx-runtime");
10962
+ var import_jsx_runtime50 = require("react/jsx-runtime");
9255
10963
  var tagVariants = (0, import_class_variance_authority12.cva)("px-1 rounded-sm", {
9256
10964
  variants: {
9257
10965
  variant: {
@@ -9269,14 +10977,14 @@ function Tag({
9269
10977
  variant,
9270
10978
  className
9271
10979
  }) {
9272
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { "data-slot": "tag", className: cn(tagVariants({ variant }), className), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "text-caption font-semibold text-white", children: label }) });
10980
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { "data-slot": "tag", className: cn(tagVariants({ variant }), className), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-caption font-semibold text-white", children: label }) });
9273
10981
  }
9274
10982
 
9275
10983
  // src/ui/TextAreaInput/index.tsx
9276
10984
  var React17 = __toESM(require("react"), 1);
9277
- var import_jsx_runtime50 = require("react/jsx-runtime");
10985
+ var import_jsx_runtime51 = require("react/jsx-runtime");
9278
10986
  var TextareaInput = React17.forwardRef(({ className, label, ...props }, ref) => {
9279
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10987
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
9280
10988
  "textarea",
9281
10989
  {
9282
10990
  ref,
@@ -9296,8 +11004,8 @@ var TextAreaInput_default = TextareaInput;
9296
11004
 
9297
11005
  // src/ui/TimePicker/index.tsx
9298
11006
  var import_lucide_react26 = require("lucide-react");
9299
- var import_react9 = require("react");
9300
- var import_jsx_runtime51 = require("react/jsx-runtime");
11007
+ var import_react10 = require("react");
11008
+ var import_jsx_runtime52 = require("react/jsx-runtime");
9301
11009
  function TimePicker({
9302
11010
  label,
9303
11011
  onValueChange,
@@ -9306,7 +11014,7 @@ function TimePicker({
9306
11014
  value,
9307
11015
  ...props
9308
11016
  }) {
9309
- const [isOpen, setIsOpen] = (0, import_react9.useState)(false);
11017
+ const [isOpen, setIsOpen] = (0, import_react10.useState)(false);
9310
11018
  const currentValue = value || defaultValue || "";
9311
11019
  const formatTimeForDisplay = (timeValue) => {
9312
11020
  if (!timeValue) return "";
@@ -9318,10 +11026,10 @@ function TimePicker({
9318
11026
  const handleChange = (value2) => {
9319
11027
  onValueChange?.(value2);
9320
11028
  };
9321
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col gap-3", children: [
9322
- label && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Label2, { htmlFor: "time-picker", className: "px-1", children: "Time" }),
9323
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: setIsOpen, children: [
9324
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DropdownMenuTrigger, { className: "!p-0", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
11029
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-col gap-3", children: [
11030
+ label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Label2, { htmlFor: "time-picker", className: "px-1", children: "Time" }),
11031
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: setIsOpen, children: [
11032
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DropdownMenuTrigger, { className: "!p-0", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
9325
11033
  Input,
9326
11034
  {
9327
11035
  ...props,
@@ -9329,17 +11037,17 @@ function TimePicker({
9329
11037
  value: currentValue ? formatTimeForDisplay(currentValue) : "",
9330
11038
  onKeyDown: (e) => e.preventDefault(),
9331
11039
  prefixNode: {
9332
- node: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.Clock, { className: "pointer-events-none h-5 w-5 text-gray-700" }),
11040
+ node: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.Clock, { className: "pointer-events-none h-5 w-5 text-gray-700" }),
9333
11041
  withBorder: false
9334
11042
  }
9335
11043
  }
9336
11044
  ) }),
9337
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
11045
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
9338
11046
  DropdownMenuContent,
9339
11047
  {
9340
11048
  align: "start",
9341
11049
  className: "max-h-60 min-w-41 overflow-y-auto",
9342
- children: timeOptions?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
11050
+ children: timeOptions?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
9343
11051
  DropdownMenuItem,
9344
11052
  {
9345
11053
  className: cn(
@@ -9360,11 +11068,11 @@ function TimePicker({
9360
11068
  // src/ui/Title/index.tsx
9361
11069
  var import_react_slot6 = require("@radix-ui/react-slot");
9362
11070
  var React18 = __toESM(require("react"), 1);
9363
- var import_jsx_runtime52 = require("react/jsx-runtime");
11071
+ var import_jsx_runtime53 = require("react/jsx-runtime");
9364
11072
  var Title2 = React18.forwardRef(
9365
11073
  ({ className, asChild = false, ...props }, ref) => {
9366
11074
  const Comp = asChild ? import_react_slot6.Slot : "h2";
9367
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
11075
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9368
11076
  Comp,
9369
11077
  {
9370
11078
  ref,
@@ -9383,7 +11091,7 @@ var Title_default = Title2;
9383
11091
  // src/ui/Toggle/index.tsx
9384
11092
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
9385
11093
  var import_class_variance_authority13 = require("class-variance-authority");
9386
- var import_jsx_runtime53 = require("react/jsx-runtime");
11094
+ var import_jsx_runtime54 = require("react/jsx-runtime");
9387
11095
  var toggleVariants = (0, import_class_variance_authority13.cva)(
9388
11096
  "inline-flex items-center justify-center gap-2 text-sm font-medium disabled:pointer-events-none disabled:text-icon-inactive data-[state=on]:disabled:text-icon-inactive data-[state=on]:disabled:bg-toggle-bg-inactiveDefault data-[state=on]:bg-toggle-bg-activeDefault data-[state=on]:hover:bg-toggle-bg-activeHover data-[state=on]:text-icon-white hover:bg-toggle-bg-inactiveHover hover:text-icon-default [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap cursor-pointer",
9389
11097
  {
@@ -9418,7 +11126,7 @@ function Toggle({
9418
11126
  size,
9419
11127
  ...props
9420
11128
  }) {
9421
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
11129
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
9422
11130
  TogglePrimitive.Root,
9423
11131
  {
9424
11132
  "data-slot": "toggle",
@@ -9430,12 +11138,12 @@ function Toggle({
9430
11138
  }
9431
11139
 
9432
11140
  // src/ui/ToggleDropdownButton/index.tsx
9433
- var import_react11 = require("react");
11141
+ var import_react12 = require("react");
9434
11142
 
9435
11143
  // src/ui/ToggleDropdownButton/ToggleDropdownLeftButton.tsx
9436
11144
  var import_class_variance_authority14 = require("class-variance-authority");
9437
11145
  var React19 = __toESM(require("react"), 1);
9438
- var import_jsx_runtime54 = require("react/jsx-runtime");
11146
+ var import_jsx_runtime55 = require("react/jsx-runtime");
9439
11147
  var toggleDropdownLeftButtonVariants = (0, import_class_variance_authority14.cva)(
9440
11148
  "flex items-center justify-center cursor-pointer transition-all",
9441
11149
  {
@@ -9531,7 +11239,7 @@ function ToggleDropdownLeftButton({
9531
11239
  }) {
9532
11240
  const iconClass = selected ? "text-element-static-white fill-element-static-white" : "text-element-inverse-default fill-element-inverse-default";
9533
11241
  const isIcon = React19.isValidElement(children);
9534
- return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
11242
+ return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
9535
11243
  "button",
9536
11244
  {
9537
11245
  type: "button",
@@ -9540,7 +11248,7 @@ function ToggleDropdownLeftButton({
9540
11248
  className
9541
11249
  ),
9542
11250
  ...props,
9543
- children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
11251
+ children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
9544
11252
  IconContainer,
9545
11253
  {
9546
11254
  colorInFill: false,
@@ -9553,7 +11261,7 @@ function ToggleDropdownLeftButton({
9553
11261
  }
9554
11262
  ) : children
9555
11263
  }
9556
- ) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
11264
+ ) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
9557
11265
  "button",
9558
11266
  {
9559
11267
  type: "button",
@@ -9562,7 +11270,7 @@ function ToggleDropdownLeftButton({
9562
11270
  className
9563
11271
  ),
9564
11272
  ...props,
9565
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
11273
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
9566
11274
  IconContainer,
9567
11275
  {
9568
11276
  colorInFill: false,
@@ -9581,7 +11289,7 @@ function ToggleDropdownLeftButton({
9581
11289
  // src/ui/ToggleDropdownButton/ToggleDropdownRightButton.tsx
9582
11290
  var import_class_variance_authority15 = require("class-variance-authority");
9583
11291
  var React20 = __toESM(require("react"), 1);
9584
- var import_jsx_runtime55 = require("react/jsx-runtime");
11292
+ var import_jsx_runtime56 = require("react/jsx-runtime");
9585
11293
  var toggleDropdownRightButtonVariants = (0, import_class_variance_authority15.cva)(
9586
11294
  "flex items-center justify-center group cursor-pointer transition-all",
9587
11295
  {
@@ -9677,7 +11385,7 @@ function ToggleDropdownRightButton({
9677
11385
  }) {
9678
11386
  const iconClass = selected ? "text-element-static-white fill-element-static-white" : "text-element-inverse-default fill-element-inverse-default";
9679
11387
  const isIcon = React20.isValidElement(children);
9680
- return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
11388
+ return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
9681
11389
  "button",
9682
11390
  {
9683
11391
  type: "button",
@@ -9686,7 +11394,7 @@ function ToggleDropdownRightButton({
9686
11394
  className
9687
11395
  ),
9688
11396
  ...props,
9689
- children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
11397
+ children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
9690
11398
  IconContainer,
9691
11399
  {
9692
11400
  colorInFill: false,
@@ -9699,7 +11407,7 @@ function ToggleDropdownRightButton({
9699
11407
  }
9700
11408
  ) : children
9701
11409
  }
9702
- ) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
11410
+ ) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
9703
11411
  "button",
9704
11412
  {
9705
11413
  type: "button",
@@ -9708,7 +11416,7 @@ function ToggleDropdownRightButton({
9708
11416
  className
9709
11417
  ),
9710
11418
  ...props,
9711
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
11419
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
9712
11420
  IconContainer,
9713
11421
  {
9714
11422
  colorInFill: false,
@@ -9725,10 +11433,10 @@ function ToggleDropdownRightButton({
9725
11433
  }
9726
11434
 
9727
11435
  // src/ui/ToggleDropdownButton/useToggleDropdown.ts
9728
- var import_react10 = require("react");
11436
+ var import_react11 = require("react");
9729
11437
 
9730
11438
  // src/ui/ToggleDropdownButton/index.tsx
9731
- var import_jsx_runtime56 = require("react/jsx-runtime");
11439
+ var import_jsx_runtime57 = require("react/jsx-runtime");
9732
11440
  var ToggleDropdownButton = ({
9733
11441
  type,
9734
11442
  selected,
@@ -9739,15 +11447,15 @@ var ToggleDropdownButton = ({
9739
11447
  onLeftButtonClick,
9740
11448
  dropdownMenu
9741
11449
  }) => {
9742
- const rightButtonRef = (0, import_react11.useRef)(null);
11450
+ const rightButtonRef = (0, import_react12.useRef)(null);
9743
11451
  const handleRightButtonClick = () => {
9744
11452
  onRightButtonClick?.();
9745
11453
  };
9746
11454
  const handleLeftButtonClick = () => {
9747
11455
  onLeftButtonClick?.();
9748
11456
  };
9749
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "gap-x-unit-1px flex items-center", children: [
9750
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
11457
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "gap-x-unit-1px flex items-center", children: [
11458
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
9751
11459
  ToggleDropdownLeftButton,
9752
11460
  {
9753
11461
  selected,
@@ -9758,8 +11466,8 @@ var ToggleDropdownButton = ({
9758
11466
  children: leftButtonChildren
9759
11467
  }
9760
11468
  ),
9761
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "relative", children: [
9762
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
11469
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "relative", children: [
11470
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
9763
11471
  ToggleDropdownRightButton,
9764
11472
  {
9765
11473
  ref: rightButtonRef,
@@ -9779,8 +11487,8 @@ var ToggleDropdownButton_default = ToggleDropdownButton;
9779
11487
 
9780
11488
  // src/ui/ToolToggle/index.tsx
9781
11489
  var import_lucide_react27 = require("lucide-react");
9782
- var import_react12 = require("react");
9783
- var import_jsx_runtime57 = require("react/jsx-runtime");
11490
+ var import_react13 = require("react");
11491
+ var import_jsx_runtime58 = require("react/jsx-runtime");
9784
11492
  var ToolToggle = ({
9785
11493
  dropdown,
9786
11494
  dropdownContent,
@@ -9788,41 +11496,41 @@ var ToolToggle = ({
9788
11496
  className,
9789
11497
  onClick
9790
11498
  }) => {
9791
- const [active, setActive] = (0, import_react12.useState)(false);
11499
+ const [active, setActive] = (0, import_react13.useState)(false);
9792
11500
  const handleClick = () => {
9793
11501
  setActive(!active);
9794
11502
  onClick?.(active);
9795
11503
  };
9796
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn(dropdown ? "min-w-20" : "min-w-[52px]", className), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(DropdownMenu, { children: [
9797
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11504
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn(dropdown ? "min-w-20" : "min-w-[52px]", className), children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(DropdownMenu, { children: [
11505
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
9798
11506
  DropdownMenuTrigger,
9799
11507
  {
9800
11508
  className: cn(
9801
11509
  "border-border-primary-light !bg-toggle-bg-inactiveDefault hover:!bg-toggle-bg-inactiveHover flex h-full w-full items-center justify-center gap-x-2 !rounded-full border p-4 transition-all",
9802
11510
  active && "!bg-toggle-bg-activeDefault hover:!bg-toggle-bg-activeHover"
9803
11511
  ),
9804
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
11512
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
9805
11513
  "div",
9806
11514
  {
9807
11515
  className: "flex items-center justify-center gap-x-2",
9808
11516
  onClick: handleClick,
9809
11517
  children: [
9810
11518
  icon,
9811
- dropdown && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react27.ChevronDown, { className: "text-icon-default size-5" })
11519
+ dropdown && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react27.ChevronDown, { className: "text-icon-default size-5" })
9812
11520
  ]
9813
11521
  }
9814
11522
  )
9815
11523
  }
9816
11524
  ),
9817
- dropdown && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(DropdownMenuContent, { align: "start", className: "min-w-41", children: dropdownContent })
11525
+ dropdown && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(DropdownMenuContent, { align: "start", className: "min-w-41", children: dropdownContent })
9818
11526
  ] }) });
9819
11527
  };
9820
11528
 
9821
11529
  // src/ui/WrapperCard/index.tsx
9822
- var import_jsx_runtime58 = require("react/jsx-runtime");
11530
+ var import_jsx_runtime59 = require("react/jsx-runtime");
9823
11531
  var WrapperCard = (props) => {
9824
11532
  const { children, className } = props;
9825
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11533
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
9826
11534
  "div",
9827
11535
  {
9828
11536
  className: cn(
@@ -9838,7 +11546,7 @@ var WrapperCard = (props) => {
9838
11546
  var import_react_slot7 = require("@radix-ui/react-slot");
9839
11547
  var React21 = __toESM(require("react"), 1);
9840
11548
  var import_react_hook_form = require("react-hook-form");
9841
- var import_jsx_runtime59 = require("react/jsx-runtime");
11549
+ var import_jsx_runtime60 = require("react/jsx-runtime");
9842
11550
  var BaseForm = import_react_hook_form.FormProvider;
9843
11551
  var FormFieldContext = React21.createContext(
9844
11552
  {}
@@ -9846,7 +11554,7 @@ var FormFieldContext = React21.createContext(
9846
11554
  var BaseFormField = ({
9847
11555
  ...props
9848
11556
  }) => {
9849
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_hook_form.Controller, { ...props }) });
11557
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_hook_form.Controller, { ...props }) });
9850
11558
  };
9851
11559
  var useFormField = () => {
9852
11560
  const fieldContext = React21.useContext(FormFieldContext);
@@ -9872,7 +11580,7 @@ var FormItemContext = React21.createContext(
9872
11580
  );
9873
11581
  function BaseFormItem({ className, ...props }) {
9874
11582
  const id = React21.useId();
9875
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11583
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
9876
11584
  "div",
9877
11585
  {
9878
11586
  "data-slot": "form-item",
@@ -9886,7 +11594,7 @@ function BaseFormLabel({
9886
11594
  ...props
9887
11595
  }) {
9888
11596
  const { error, formItemId } = useFormField();
9889
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11597
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
9890
11598
  Label2,
9891
11599
  {
9892
11600
  "data-slot": "form-label",
@@ -9902,7 +11610,7 @@ function BaseFormLabel({
9902
11610
  }
9903
11611
  function BaseFormControl({ ...props }) {
9904
11612
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
9905
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11613
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
9906
11614
  import_react_slot7.Slot,
9907
11615
  {
9908
11616
  "data-slot": "form-control",
@@ -9918,7 +11626,7 @@ function BaseFormDescription({
9918
11626
  ...props
9919
11627
  }) {
9920
11628
  const { formDescriptionId } = useFormField();
9921
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11629
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
9922
11630
  "p",
9923
11631
  {
9924
11632
  "data-slot": "form-description",
@@ -9934,7 +11642,7 @@ function BaseFormMessage({ className, ...props }) {
9934
11642
  if (!body) {
9935
11643
  return null;
9936
11644
  }
9937
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11645
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
9938
11646
  "p",
9939
11647
  {
9940
11648
  "data-slot": "form-message",
@@ -9948,7 +11656,7 @@ function BaseFormMessage({ className, ...props }) {
9948
11656
 
9949
11657
  // src/ui/form/FormField.tsx
9950
11658
  var React22 = __toESM(require("react"), 1);
9951
- var import_jsx_runtime60 = require("react/jsx-runtime");
11659
+ var import_jsx_runtime61 = require("react/jsx-runtime");
9952
11660
  var FormField = ({
9953
11661
  control,
9954
11662
  field,
@@ -9956,18 +11664,18 @@ var FormField = ({
9956
11664
  onBlur,
9957
11665
  className
9958
11666
  }) => {
9959
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
11667
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
9960
11668
  BaseFormField,
9961
11669
  {
9962
11670
  control,
9963
11671
  name: field.name,
9964
- render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(BaseFormItem, { className: cn("w-full", className), children: [
9965
- field.label && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(BaseFormLabel, { className: "gap-1", children: [
11672
+ render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(BaseFormItem, { className: cn("w-full", className), children: [
11673
+ field.label && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(BaseFormLabel, { className: "gap-1", children: [
9966
11674
  field.label,
9967
- field.required && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-element-inverse-red", children: "*" }),
9968
- field.optional && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-title-sm!", children: "(Optional)" })
11675
+ field.required && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-element-inverse-red", children: "*" }),
11676
+ field.optional && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-title-sm!", children: "(Optional)" })
9969
11677
  ] }),
9970
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BaseFormControl, { children: React22.isValidElement(field.render) ? React22.cloneElement(
11678
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BaseFormControl, { children: React22.isValidElement(field.render) ? React22.cloneElement(
9971
11679
  field.render,
9972
11680
  {
9973
11681
  ...formField,
@@ -9977,7 +11685,7 @@ var FormField = ({
9977
11685
  }
9978
11686
  }
9979
11687
  ) : field.render }),
9980
- isShowError && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BaseFormMessage, {})
11688
+ isShowError && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BaseFormMessage, {})
9981
11689
  ] })
9982
11690
  },
9983
11691
  field.name
@@ -9985,10 +11693,10 @@ var FormField = ({
9985
11693
  };
9986
11694
 
9987
11695
  // src/ui/form/Form.tsx
9988
- var import_react13 = require("react");
11696
+ var import_react14 = require("react");
9989
11697
  var import_react_hook_form2 = require("react-hook-form");
9990
- var import_jsx_runtime61 = require("react/jsx-runtime");
9991
- var FormMethodsContext = (0, import_react13.createContext)(
11698
+ var import_jsx_runtime62 = require("react/jsx-runtime");
11699
+ var FormMethodsContext = (0, import_react14.createContext)(
9992
11700
  null
9993
11701
  );
9994
11702
  function Form({
@@ -9998,11 +11706,11 @@ function Form({
9998
11706
  className,
9999
11707
  children
10000
11708
  }) {
10001
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11709
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10002
11710
  FormMethodsContext.Provider,
10003
11711
  {
10004
11712
  value: formMethods,
10005
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BaseForm, { ...formMethods, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11713
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BaseForm, { ...formMethods, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10006
11714
  "form",
10007
11715
  {
10008
11716
  id,
@@ -10023,7 +11731,7 @@ Form.InputField = function InputField({
10023
11731
  ...props
10024
11732
  }) {
10025
11733
  const { control } = (0, import_react_hook_form2.useFormContext)();
10026
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11734
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10027
11735
  FormField,
10028
11736
  {
10029
11737
  className: "w-full",
@@ -10034,7 +11742,7 @@ Form.InputField = function InputField({
10034
11742
  name,
10035
11743
  label,
10036
11744
  required,
10037
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Input, { ...props, inputClassName: props.inputClassName })
11745
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Input, { ...props, inputClassName: props.inputClassName })
10038
11746
  }
10039
11747
  }
10040
11748
  );
@@ -10045,7 +11753,7 @@ Form.PasswordField = function PasswordField({
10045
11753
  ...props
10046
11754
  }) {
10047
11755
  const { control } = (0, import_react_hook_form2.useFormContext)();
10048
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11756
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10049
11757
  FormField,
10050
11758
  {
10051
11759
  className: "w-full",
@@ -10053,7 +11761,7 @@ Form.PasswordField = function PasswordField({
10053
11761
  field: {
10054
11762
  name,
10055
11763
  label,
10056
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(PasswordInput, { ...props })
11764
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(PasswordInput, { ...props })
10057
11765
  }
10058
11766
  }
10059
11767
  );
@@ -10065,7 +11773,7 @@ Form.SelectInputField = function SelectInputField({
10065
11773
  ...props
10066
11774
  }) {
10067
11775
  const { control } = (0, import_react_hook_form2.useFormContext)();
10068
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11776
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10069
11777
  FormField,
10070
11778
  {
10071
11779
  control,
@@ -10073,7 +11781,7 @@ Form.SelectInputField = function SelectInputField({
10073
11781
  name,
10074
11782
  required,
10075
11783
  label,
10076
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectInput, { ...props })
11784
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(SelectInput, { ...props })
10077
11785
  }
10078
11786
  }
10079
11787
  );
@@ -10085,14 +11793,14 @@ Form.MultiSelectField = function MultiSelectField({
10085
11793
  }) {
10086
11794
  const { control, watch, setValue } = (0, import_react_hook_form2.useFormContext)();
10087
11795
  const selectedValues = watch(name) || [];
10088
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11796
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10089
11797
  FormField,
10090
11798
  {
10091
11799
  control,
10092
11800
  field: {
10093
11801
  name,
10094
11802
  label,
10095
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11803
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10096
11804
  MultiSelect,
10097
11805
  {
10098
11806
  ...props,
@@ -10111,7 +11819,7 @@ Form.TextareaField = function TextareaField({
10111
11819
  ...props
10112
11820
  }) {
10113
11821
  const { control } = (0, import_react_hook_form2.useFormContext)();
10114
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11822
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10115
11823
  FormField,
10116
11824
  {
10117
11825
  control,
@@ -10119,7 +11827,7 @@ Form.TextareaField = function TextareaField({
10119
11827
  name,
10120
11828
  label,
10121
11829
  optional,
10122
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(TextAreaInput_default, { ...props })
11830
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TextAreaInput_default, { ...props })
10123
11831
  }
10124
11832
  }
10125
11833
  );
@@ -10137,14 +11845,14 @@ Form.FileUploadField = function FileUploadFieldComponent({
10137
11845
  const { control, formState } = (0, import_react_hook_form2.useFormContext)();
10138
11846
  const fieldError = formState.errors[name];
10139
11847
  const hasValidationError = !!fieldError;
10140
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11848
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10141
11849
  import_react_hook_form2.Controller,
10142
11850
  {
10143
11851
  control,
10144
11852
  name,
10145
- render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "space-y-1", children: [
10146
- label && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("label", { htmlFor: name, className: "font-medium", children: label }),
10147
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11853
+ render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "space-y-1", children: [
11854
+ label && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("label", { htmlFor: name, className: "font-medium", children: label }),
11855
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10148
11856
  FileUploadField,
10149
11857
  {
10150
11858
  field: { name, isMultiple, maxFiles, children },
@@ -10175,7 +11883,7 @@ Form.DateInputField = function DateInputField({
10175
11883
  }) {
10176
11884
  const { control, watch, setValue } = (0, import_react_hook_form2.useFormContext)();
10177
11885
  const value = watch(name);
10178
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11886
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10179
11887
  FormField,
10180
11888
  {
10181
11889
  control,
@@ -10183,7 +11891,7 @@ Form.DateInputField = function DateInputField({
10183
11891
  name,
10184
11892
  label,
10185
11893
  required,
10186
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11894
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10187
11895
  DatePickerInput,
10188
11896
  {
10189
11897
  ...props,
@@ -10202,14 +11910,14 @@ Form.TimeInputField = function TimeInputField({
10202
11910
  ...props
10203
11911
  }) {
10204
11912
  const { control, setValue } = (0, import_react_hook_form2.useFormContext)();
10205
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11913
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10206
11914
  FormField,
10207
11915
  {
10208
11916
  control,
10209
11917
  field: {
10210
11918
  name,
10211
11919
  label,
10212
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11920
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10213
11921
  TimePicker,
10214
11922
  {
10215
11923
  onValueChange: (value) => {
@@ -10228,13 +11936,13 @@ Form.CheckboxField = function CheckboxField({
10228
11936
  ...props
10229
11937
  }) {
10230
11938
  const { control } = (0, import_react_hook_form2.useFormContext)();
10231
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11939
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10232
11940
  FormField,
10233
11941
  {
10234
11942
  control,
10235
11943
  field: {
10236
11944
  name,
10237
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Checkbox, { value: name, label, ...props })
11945
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Checkbox, { value: name, label, ...props })
10238
11946
  }
10239
11947
  }
10240
11948
  );
@@ -10244,12 +11952,12 @@ Form.OTPInputField = function OTPInputField({
10244
11952
  ...props
10245
11953
  }) {
10246
11954
  const { control } = (0, import_react_hook_form2.useFormContext)();
10247
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11955
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10248
11956
  FormField,
10249
11957
  {
10250
11958
  className: "w-full",
10251
11959
  control,
10252
- field: { name, render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(OTPInput, { ...props }) }
11960
+ field: { name, render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(OTPInput, { ...props }) }
10253
11961
  }
10254
11962
  );
10255
11963
  };
@@ -10260,14 +11968,14 @@ Form.RadioField = function RadioField({
10260
11968
  }) {
10261
11969
  const { control } = (0, import_react_hook_form2.useFormContext)();
10262
11970
  const { setValue } = (0, import_react_hook_form2.useFormContext)();
10263
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11971
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10264
11972
  FormField,
10265
11973
  {
10266
11974
  control,
10267
11975
  field: {
10268
11976
  name,
10269
11977
  label,
10270
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11978
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10271
11979
  Radio,
10272
11980
  {
10273
11981
  ...props,
@@ -10284,13 +11992,13 @@ Form.ComboboxField = function ComboboxField({
10284
11992
  }) {
10285
11993
  const { control, setValue, watch } = (0, import_react_hook_form2.useFormContext)();
10286
11994
  const value = watch(name);
10287
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11995
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10288
11996
  FormField,
10289
11997
  {
10290
11998
  control,
10291
11999
  field: {
10292
12000
  name,
10293
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
12001
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10294
12002
  Combobox,
10295
12003
  {
10296
12004
  ...props,
@@ -10312,7 +12020,7 @@ Form.SwitchField = function SwitchField({
10312
12020
  }) {
10313
12021
  const { control, setValue, watch } = (0, import_react_hook_form2.useFormContext)();
10314
12022
  const value = watch(name);
10315
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
12023
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10316
12024
  FormField,
10317
12025
  {
10318
12026
  control,
@@ -10320,9 +12028,9 @@ Form.SwitchField = function SwitchField({
10320
12028
  field: {
10321
12029
  name,
10322
12030
  label,
10323
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center", children: [
10324
- prefix && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "mr-2", children: prefix }),
10325
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
12031
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center", children: [
12032
+ prefix && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "mr-2", children: prefix }),
12033
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
10326
12034
  Switch,
10327
12035
  {
10328
12036
  ...props,
@@ -10330,7 +12038,7 @@ Form.SwitchField = function SwitchField({
10330
12038
  onCheckedChange: (checked) => setValue(name, checked)
10331
12039
  }
10332
12040
  ),
10333
- suffix && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "ml-2", children: suffix })
12041
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "ml-2", children: suffix })
10334
12042
  ] })
10335
12043
  }
10336
12044
  }
@@ -11344,6 +13052,7 @@ function getTokenValueWithFallback(tokenName, fallback) {
11344
13052
  FileUploadField,
11345
13053
  Form,
11346
13054
  FormField,
13055
+ GoogleMapView,
11347
13056
  GradientContainer,
11348
13057
  Grid,
11349
13058
  IconButton,