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 +1967 -258
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2026 -312
- package/dist/index.js.map +1 -1
- package/dist/schema.cjs +1957 -76
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +5144 -8
- package/dist/schema.d.ts +5144 -8
- package/dist/schema.js +1869 -75
- package/dist/schema.js.map +1 -1
- package/dist/ui/index.cjs +337 -248
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.cts +28 -3
- package/dist/ui/index.d.ts +28 -3
- package/dist/ui/index.js +337 -243
- package/dist/ui/index.js.map +1 -1
- package/package.json +3 -2
- package/schema/component-schema.json +672 -0
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
|
-
"
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
8035
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
8054
|
-
imageError && /* @__PURE__ */ (0,
|
|
8055
|
-
/* @__PURE__ */ (0,
|
|
8056
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
8059
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
9790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
8083
9791
|
IconButton,
|
|
8084
9792
|
{
|
|
8085
|
-
icon: videoPlaying ? /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
8180
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
8242
|
-
createConfig?.enabled && /* @__PURE__ */ (0,
|
|
8243
|
-
filteredOptions.map((option) => /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
8259
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
8289
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
8299
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
8360
|
-
hasFakeCaret && /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
10151
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
8444
10152
|
function Radio({ onSelect, options, ...props }) {
|
|
8445
|
-
return /* @__PURE__ */ (0,
|
|
8446
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
8512
|
-
var
|
|
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,
|
|
8525
|
-
const debouncedSetValue = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
8591
|
-
/* @__PURE__ */ (0,
|
|
8592
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
8608
|
-
value === option.value && /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
8635
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
8740
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
8771
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
10522
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
8815
10523
|
function Sheet({ ...props }) {
|
|
8816
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
10528
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
8821
10529
|
function Skeleton({ className, ...props }) {
|
|
8822
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
8926
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
8960
|
-
var
|
|
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,
|
|
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,
|
|
8981
|
-
isLoading ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
8994
|
-
emptyState?.emptyAction ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
10736
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("tbody", { className: "relative", children: [
|
|
9029
10737
|
table.getRowModel().rows.map((row) => {
|
|
9030
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
10786
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
9079
10787
|
children,
|
|
9080
|
-
badgeContent && /* @__PURE__ */ (0,
|
|
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,
|
|
9084
|
-
progressValue !== 100 && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
9097
|
-
/* @__PURE__ */ (0,
|
|
9098
|
-
errorMessage ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
9109
|
-
hoverUI && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
9132
|
-
copyable && isHovering && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
9151
|
-
/* @__PURE__ */ (0,
|
|
9152
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
9172
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
10888
|
+
tab.icon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { children: tab.icon }),
|
|
9181
10889
|
tab.label,
|
|
9182
|
-
tab.notification && /* @__PURE__ */ (0,
|
|
9183
|
-
!!tab.count && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
10985
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
9278
10986
|
var TextareaInput = React17.forwardRef(({ className, label, ...props }, ref) => {
|
|
9279
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
9300
|
-
var
|
|
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,
|
|
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,
|
|
9322
|
-
label && /* @__PURE__ */ (0,
|
|
9323
|
-
/* @__PURE__ */ (0,
|
|
9324
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
11436
|
+
var import_react11 = require("react");
|
|
9729
11437
|
|
|
9730
11438
|
// src/ui/ToggleDropdownButton/index.tsx
|
|
9731
|
-
var
|
|
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,
|
|
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,
|
|
9750
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
9762
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
9783
|
-
var
|
|
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,
|
|
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,
|
|
9797
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
11530
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
9823
11531
|
var WrapperCard = (props) => {
|
|
9824
11532
|
const { children, className } = props;
|
|
9825
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
9965
|
-
field.label && /* @__PURE__ */ (0,
|
|
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,
|
|
9968
|
-
field.optional && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
11696
|
+
var import_react14 = require("react");
|
|
9989
11697
|
var import_react_hook_form2 = require("react-hook-form");
|
|
9990
|
-
var
|
|
9991
|
-
var FormMethodsContext = (0,
|
|
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,
|
|
11709
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
10002
11710
|
FormMethodsContext.Provider,
|
|
10003
11711
|
{
|
|
10004
11712
|
value: formMethods,
|
|
10005
|
-
children: /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
10146
|
-
label && /* @__PURE__ */ (0,
|
|
10147
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
10324
|
-
prefix && /* @__PURE__ */ (0,
|
|
10325
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|