magick-ui 0.2.2 → 0.2.4
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 +663 -406
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +664 -402
- package/dist/index.js.map +1 -1
- package/dist/schema.cjs +297 -158
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +262 -25
- package/dist/schema.d.ts +262 -25
- package/dist/schema.js +296 -158
- package/dist/schema.js.map +1 -1
- package/dist/ui/index.cjs +369 -248
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.cts +27 -1
- package/dist/ui/index.d.ts +27 -1
- package/dist/ui/index.js +370 -244
- package/dist/ui/index.js.map +1 -1
- package/package.json +2 -1
- package/schema/component-schema.json +110 -0
package/dist/index.js
CHANGED
|
@@ -3221,6 +3221,116 @@ var component_schema_default = {
|
|
|
3221
3221
|
},
|
|
3222
3222
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3223
3223
|
},
|
|
3224
|
+
"google-map": {
|
|
3225
|
+
$ref: "#/definitions/google-map",
|
|
3226
|
+
definitions: {
|
|
3227
|
+
"google-map": {
|
|
3228
|
+
type: "object",
|
|
3229
|
+
properties: {
|
|
3230
|
+
type: {
|
|
3231
|
+
type: "string",
|
|
3232
|
+
const: "google-map"
|
|
3233
|
+
},
|
|
3234
|
+
props: {
|
|
3235
|
+
type: "object",
|
|
3236
|
+
properties: {
|
|
3237
|
+
center: {
|
|
3238
|
+
type: "object",
|
|
3239
|
+
properties: {
|
|
3240
|
+
lat: {
|
|
3241
|
+
type: "number",
|
|
3242
|
+
description: "Center latitude"
|
|
3243
|
+
},
|
|
3244
|
+
lng: {
|
|
3245
|
+
type: "number",
|
|
3246
|
+
description: "Center longitude"
|
|
3247
|
+
}
|
|
3248
|
+
},
|
|
3249
|
+
required: [
|
|
3250
|
+
"lat",
|
|
3251
|
+
"lng"
|
|
3252
|
+
],
|
|
3253
|
+
additionalProperties: false,
|
|
3254
|
+
description: "Map center coordinates"
|
|
3255
|
+
},
|
|
3256
|
+
zoom: {
|
|
3257
|
+
type: "number",
|
|
3258
|
+
description: "Zoom level (1-20). Defaults to 12"
|
|
3259
|
+
},
|
|
3260
|
+
markers: {
|
|
3261
|
+
type: "array",
|
|
3262
|
+
items: {
|
|
3263
|
+
type: "object",
|
|
3264
|
+
properties: {
|
|
3265
|
+
lat: {
|
|
3266
|
+
type: "number",
|
|
3267
|
+
description: "Latitude"
|
|
3268
|
+
},
|
|
3269
|
+
lng: {
|
|
3270
|
+
type: "number",
|
|
3271
|
+
description: "Longitude"
|
|
3272
|
+
},
|
|
3273
|
+
title: {
|
|
3274
|
+
type: "string",
|
|
3275
|
+
description: "Marker title shown in info window"
|
|
3276
|
+
},
|
|
3277
|
+
description: {
|
|
3278
|
+
type: "string",
|
|
3279
|
+
description: "Marker description shown in info window"
|
|
3280
|
+
},
|
|
3281
|
+
color: {
|
|
3282
|
+
type: "string",
|
|
3283
|
+
description: "Marker pin color (hex or CSS color)"
|
|
3284
|
+
}
|
|
3285
|
+
},
|
|
3286
|
+
required: [
|
|
3287
|
+
"lat",
|
|
3288
|
+
"lng"
|
|
3289
|
+
],
|
|
3290
|
+
additionalProperties: false
|
|
3291
|
+
},
|
|
3292
|
+
description: "Array of map markers with lat/lng and optional info"
|
|
3293
|
+
},
|
|
3294
|
+
height: {
|
|
3295
|
+
type: "string",
|
|
3296
|
+
description: "Map height CSS value. Defaults to '400px'"
|
|
3297
|
+
},
|
|
3298
|
+
width: {
|
|
3299
|
+
type: "string",
|
|
3300
|
+
description: "Map width CSS value. Defaults to '100%'"
|
|
3301
|
+
},
|
|
3302
|
+
gestureHandling: {
|
|
3303
|
+
type: "string",
|
|
3304
|
+
enum: [
|
|
3305
|
+
"cooperative",
|
|
3306
|
+
"greedy",
|
|
3307
|
+
"none",
|
|
3308
|
+
"auto"
|
|
3309
|
+
],
|
|
3310
|
+
description: "How the map handles touch/scroll gestures. Defaults to 'cooperative'"
|
|
3311
|
+
},
|
|
3312
|
+
disableDefaultUI: {
|
|
3313
|
+
type: "boolean",
|
|
3314
|
+
description: "Hide default map controls"
|
|
3315
|
+
},
|
|
3316
|
+
showCurrentLocation: {
|
|
3317
|
+
type: "boolean",
|
|
3318
|
+
description: "Show a blue dot for the user's current location"
|
|
3319
|
+
}
|
|
3320
|
+
},
|
|
3321
|
+
additionalProperties: false
|
|
3322
|
+
}
|
|
3323
|
+
},
|
|
3324
|
+
required: [
|
|
3325
|
+
"type",
|
|
3326
|
+
"props"
|
|
3327
|
+
],
|
|
3328
|
+
additionalProperties: false,
|
|
3329
|
+
description: "An interactive Google Map with optional markers and info windows"
|
|
3330
|
+
}
|
|
3331
|
+
},
|
|
3332
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3333
|
+
},
|
|
3224
3334
|
calendar: {
|
|
3225
3335
|
$ref: "#/definitions/calendar",
|
|
3226
3336
|
definitions: {
|
|
@@ -5396,75 +5506,101 @@ var tableSchema = z45.object({
|
|
|
5396
5506
|
})
|
|
5397
5507
|
}).describe("A data table with columns and rows");
|
|
5398
5508
|
|
|
5399
|
-
// src/ui/
|
|
5509
|
+
// src/ui/Map/schema.ts
|
|
5400
5510
|
import { z as z46 } from "zod";
|
|
5401
|
-
var
|
|
5402
|
-
|
|
5511
|
+
var mapMarkerSchema = z46.object({
|
|
5512
|
+
lat: z46.number().describe("Latitude"),
|
|
5513
|
+
lng: z46.number().describe("Longitude"),
|
|
5514
|
+
title: z46.string().optional().describe("Marker title shown in info window"),
|
|
5515
|
+
description: z46.string().optional().describe("Marker description shown in info window"),
|
|
5516
|
+
color: z46.string().optional().describe("Marker pin color (hex or CSS color)")
|
|
5517
|
+
});
|
|
5518
|
+
var googleMapSchema = z46.object({
|
|
5519
|
+
type: z46.literal("google-map"),
|
|
5403
5520
|
props: z46.object({
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5521
|
+
center: z46.object({
|
|
5522
|
+
lat: z46.number().describe("Center latitude"),
|
|
5523
|
+
lng: z46.number().describe("Center longitude")
|
|
5524
|
+
}).optional().describe("Map center coordinates"),
|
|
5525
|
+
zoom: z46.number().optional().describe("Zoom level (1-20). Defaults to 12"),
|
|
5526
|
+
markers: z46.array(mapMarkerSchema).optional().describe("Array of map markers with lat/lng and optional info"),
|
|
5527
|
+
height: z46.string().optional().describe("Map height CSS value. Defaults to '400px'"),
|
|
5528
|
+
width: z46.string().optional().describe("Map width CSS value. Defaults to '100%'"),
|
|
5529
|
+
gestureHandling: z46.enum(["cooperative", "greedy", "none", "auto"]).optional().describe("How the map handles touch/scroll gestures. Defaults to 'cooperative'"),
|
|
5530
|
+
disableDefaultUI: z46.boolean().optional().describe("Hide default map controls"),
|
|
5531
|
+
showCurrentLocation: z46.boolean().optional().describe("Show a blue dot for the user's current location")
|
|
5532
|
+
})
|
|
5533
|
+
}).describe("An interactive Google Map with optional markers and info windows");
|
|
5412
5534
|
|
|
5413
|
-
// src/ui/
|
|
5535
|
+
// src/ui/Calendar/schema.ts
|
|
5414
5536
|
import { z as z47 } from "zod";
|
|
5415
|
-
var
|
|
5416
|
-
type: z47.literal("
|
|
5537
|
+
var calendarSchema = z47.object({
|
|
5538
|
+
type: z47.literal("calendar"),
|
|
5417
5539
|
props: z47.object({
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
|
|
5540
|
+
showOutsideDays: z47.boolean().optional().describe("Show days from adjacent months. Defaults to true"),
|
|
5541
|
+
captionLayout: z47.enum(["label", "dropdown", "dropdown-months", "dropdown-years"]).optional().describe("Caption display mode. Defaults to 'label'"),
|
|
5542
|
+
buttonVariant: z47.enum(["primary", "secondary", "outline", "destructive", "ghost", "soft"]).optional().describe("Navigation button style. Defaults to 'ghost'"),
|
|
5543
|
+
mode: z47.enum(["single", "multiple", "range"]).optional().describe("Selection mode"),
|
|
5544
|
+
numberOfMonths: z47.number().optional().describe("Number of months to display"),
|
|
5423
5545
|
disabled: z47.boolean().optional()
|
|
5424
5546
|
}).optional()
|
|
5425
|
-
}).describe("A
|
|
5547
|
+
}).describe("A date calendar for picking dates or date ranges");
|
|
5426
5548
|
|
|
5427
|
-
// src/ui/
|
|
5549
|
+
// src/ui/FileInput/schema.ts
|
|
5428
5550
|
import { z as z48 } from "zod";
|
|
5429
|
-
var
|
|
5430
|
-
type: z48.literal("
|
|
5551
|
+
var fileInputSchema = z48.object({
|
|
5552
|
+
type: z48.literal("file-input"),
|
|
5431
5553
|
props: z48.object({
|
|
5432
|
-
|
|
5433
|
-
|
|
5554
|
+
label: z48.string().optional().describe("Label text above the input"),
|
|
5555
|
+
helperText: z48.string().optional().describe("Helper text below the input"),
|
|
5556
|
+
error: z48.boolean().optional().describe("Show error styling. Defaults to false"),
|
|
5557
|
+
accept: z48.string().optional().describe("Accepted file types, e.g. 'image/*,.pdf'"),
|
|
5558
|
+
multiple: z48.boolean().optional().describe("Allow multiple files. Defaults to false"),
|
|
5559
|
+
disabled: z48.boolean().optional()
|
|
5434
5560
|
}).optional()
|
|
5435
|
-
}).describe("A
|
|
5561
|
+
}).describe("A file input with choose-file button and upload progress");
|
|
5436
5562
|
|
|
5437
|
-
// src/ui/
|
|
5563
|
+
// src/ui/ToolToggle/schema.ts
|
|
5438
5564
|
import { z as z49 } from "zod";
|
|
5439
|
-
var
|
|
5440
|
-
type: z49.literal("toggle
|
|
5565
|
+
var toolToggleSchema = z49.object({
|
|
5566
|
+
type: z49.literal("tool-toggle"),
|
|
5441
5567
|
props: z49.object({
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5568
|
+
icon: z49.string().optional().describe("Icon name (resolved by the renderer)"),
|
|
5569
|
+
dropdown: z49.boolean().optional().describe("Show dropdown chevron")
|
|
5570
|
+
}).optional()
|
|
5571
|
+
}).describe("A round toggle button used in toolbars, optionally with a dropdown");
|
|
5572
|
+
|
|
5573
|
+
// src/ui/ToggleDropdownButton/schema.ts
|
|
5574
|
+
import { z as z50 } from "zod";
|
|
5575
|
+
var toggleDropdownButtonSchema = z50.object({
|
|
5576
|
+
type: z50.literal("toggle-dropdown-button"),
|
|
5577
|
+
props: z50.object({
|
|
5578
|
+
type: z50.enum(["text", "icon"]).describe("Button content type"),
|
|
5579
|
+
selected: z50.boolean().describe("Whether the button is selected"),
|
|
5580
|
+
variant: z50.enum(["primary", "secondary", "destructive"]).describe("Button color variant")
|
|
5445
5581
|
})
|
|
5446
5582
|
}).describe("A split toggle button with an attached dropdown trigger");
|
|
5447
5583
|
|
|
5448
5584
|
// src/ui/IconContainer/schema.ts
|
|
5449
|
-
import { z as
|
|
5450
|
-
var iconContainerSchema =
|
|
5451
|
-
type:
|
|
5452
|
-
props:
|
|
5453
|
-
icon:
|
|
5454
|
-
size:
|
|
5455
|
-
colorInFill:
|
|
5456
|
-
disableTheme:
|
|
5585
|
+
import { z as z51 } from "zod";
|
|
5586
|
+
var iconContainerSchema = z51.object({
|
|
5587
|
+
type: z51.literal("icon-container"),
|
|
5588
|
+
props: z51.object({
|
|
5589
|
+
icon: z51.string().optional().describe("Icon name (resolved by the renderer)"),
|
|
5590
|
+
size: z51.enum(["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "auto"]).optional().describe("Icon size. Defaults to 'sm'"),
|
|
5591
|
+
colorInFill: z51.boolean().optional().describe("Apply fill colors to SVG paths. Defaults to true"),
|
|
5592
|
+
disableTheme: z51.boolean().optional().describe("Disable theme-aware coloring. Defaults to false")
|
|
5457
5593
|
}).optional(),
|
|
5458
|
-
children:
|
|
5594
|
+
children: z51.array(uiNodeSchema).optional().describe("Icon element")
|
|
5459
5595
|
}).describe("A sized container for static icons with theme-aware coloring");
|
|
5460
5596
|
|
|
5461
5597
|
// src/ui/IconProfile/schema.ts
|
|
5462
|
-
import { z as
|
|
5463
|
-
var iconProfileSchema =
|
|
5464
|
-
type:
|
|
5465
|
-
props:
|
|
5466
|
-
icon:
|
|
5467
|
-
color:
|
|
5598
|
+
import { z as z52 } from "zod";
|
|
5599
|
+
var iconProfileSchema = z52.object({
|
|
5600
|
+
type: z52.literal("icon-profile"),
|
|
5601
|
+
props: z52.object({
|
|
5602
|
+
icon: z52.string().describe("Icon name (resolved by the renderer)"),
|
|
5603
|
+
color: z52.enum([
|
|
5468
5604
|
"red",
|
|
5469
5605
|
"orange",
|
|
5470
5606
|
"amber",
|
|
@@ -5484,18 +5620,18 @@ var iconProfileSchema = z51.object({
|
|
|
5484
5620
|
"rose",
|
|
5485
5621
|
"slate"
|
|
5486
5622
|
]).optional().describe("Background glow and icon color. Defaults to 'red'"),
|
|
5487
|
-
size:
|
|
5488
|
-
externalIcon:
|
|
5623
|
+
size: z52.enum(["26", "32", "40", "48", "56", "64"]).optional().describe("Size in pixels. Defaults to '64'"),
|
|
5624
|
+
externalIcon: z52.boolean().optional().describe("Whether the icon is external")
|
|
5489
5625
|
})
|
|
5490
5626
|
}).describe("An icon with a colored radial glow background");
|
|
5491
5627
|
|
|
5492
5628
|
// src/ui/ButtonWithTooltip/schema.ts
|
|
5493
|
-
import { z as
|
|
5494
|
-
var buttonWithTooltipSchema =
|
|
5495
|
-
type:
|
|
5496
|
-
props:
|
|
5497
|
-
content:
|
|
5498
|
-
position:
|
|
5629
|
+
import { z as z53 } from "zod";
|
|
5630
|
+
var buttonWithTooltipSchema = z53.object({
|
|
5631
|
+
type: z53.literal("button-with-tooltip"),
|
|
5632
|
+
props: z53.object({
|
|
5633
|
+
content: z53.string().describe("Tooltip text"),
|
|
5634
|
+
position: z53.enum([
|
|
5499
5635
|
"top",
|
|
5500
5636
|
"top-center",
|
|
5501
5637
|
"top-left",
|
|
@@ -5507,147 +5643,147 @@ var buttonWithTooltipSchema = z52.object({
|
|
|
5507
5643
|
"left",
|
|
5508
5644
|
"right"
|
|
5509
5645
|
]).optional().describe("Tooltip placement"),
|
|
5510
|
-
withArrow:
|
|
5646
|
+
withArrow: z53.boolean().optional().describe("Show an arrow pointer")
|
|
5511
5647
|
}),
|
|
5512
|
-
children:
|
|
5648
|
+
children: z53.array(uiNodeSchema).optional().describe("The button element to wrap with a tooltip")
|
|
5513
5649
|
}).describe("A button wrapped with a tooltip that appears on hover");
|
|
5514
5650
|
|
|
5515
5651
|
// src/ui/Sheet/schema.ts
|
|
5516
|
-
import { z as
|
|
5517
|
-
var sheetSchema =
|
|
5518
|
-
type:
|
|
5519
|
-
props:
|
|
5520
|
-
children:
|
|
5652
|
+
import { z as z54 } from "zod";
|
|
5653
|
+
var sheetSchema = z54.object({
|
|
5654
|
+
type: z54.literal("sheet"),
|
|
5655
|
+
props: z54.object({}).optional(),
|
|
5656
|
+
children: z54.array(uiNodeSchema).optional().describe("Compose with sheet-trigger and sheet-content")
|
|
5521
5657
|
}).describe("A slide-out panel overlay");
|
|
5522
|
-
var sheetTriggerSchema =
|
|
5523
|
-
type:
|
|
5524
|
-
props:
|
|
5525
|
-
children:
|
|
5658
|
+
var sheetTriggerSchema = z54.object({
|
|
5659
|
+
type: z54.literal("sheet-trigger"),
|
|
5660
|
+
props: z54.object({}).optional(),
|
|
5661
|
+
children: z54.array(uiNodeSchema).optional().describe("The element that opens the sheet")
|
|
5526
5662
|
}).describe("Trigger element that opens a sheet");
|
|
5527
|
-
var sheetContentSchema =
|
|
5528
|
-
type:
|
|
5529
|
-
props:
|
|
5530
|
-
side:
|
|
5531
|
-
showCloseButton:
|
|
5663
|
+
var sheetContentSchema = z54.object({
|
|
5664
|
+
type: z54.literal("sheet-content"),
|
|
5665
|
+
props: z54.object({
|
|
5666
|
+
side: z54.enum(["top", "right", "bottom", "left"]).optional().describe("Slide-in direction. Defaults to 'right'"),
|
|
5667
|
+
showCloseButton: z54.boolean().optional().describe("Show close button. Defaults to true")
|
|
5532
5668
|
}).optional(),
|
|
5533
|
-
children:
|
|
5669
|
+
children: z54.array(uiNodeSchema).optional().describe("Sheet body content")
|
|
5534
5670
|
}).describe("Content panel of a sheet");
|
|
5535
|
-
var sheetHeaderSchema =
|
|
5536
|
-
type:
|
|
5537
|
-
props:
|
|
5538
|
-
children:
|
|
5671
|
+
var sheetHeaderSchema = z54.object({
|
|
5672
|
+
type: z54.literal("sheet-header"),
|
|
5673
|
+
props: z54.object({}).optional(),
|
|
5674
|
+
children: z54.array(uiNodeSchema).optional()
|
|
5539
5675
|
}).describe("Header section of a sheet");
|
|
5540
|
-
var sheetFooterSchema =
|
|
5541
|
-
type:
|
|
5542
|
-
props:
|
|
5543
|
-
children:
|
|
5676
|
+
var sheetFooterSchema = z54.object({
|
|
5677
|
+
type: z54.literal("sheet-footer"),
|
|
5678
|
+
props: z54.object({}).optional(),
|
|
5679
|
+
children: z54.array(uiNodeSchema).optional()
|
|
5544
5680
|
}).describe("Footer section of a sheet");
|
|
5545
|
-
var sheetTitleSchema =
|
|
5546
|
-
type:
|
|
5547
|
-
props:
|
|
5548
|
-
children:
|
|
5681
|
+
var sheetTitleSchema = z54.object({
|
|
5682
|
+
type: z54.literal("sheet-title"),
|
|
5683
|
+
props: z54.object({
|
|
5684
|
+
children: z54.string().optional().describe("Title text")
|
|
5549
5685
|
}).optional(),
|
|
5550
|
-
children:
|
|
5686
|
+
children: z54.array(uiNodeSchema).optional()
|
|
5551
5687
|
}).describe("Title inside a sheet-header");
|
|
5552
|
-
var sheetDescriptionSchema =
|
|
5553
|
-
type:
|
|
5554
|
-
props:
|
|
5555
|
-
children:
|
|
5688
|
+
var sheetDescriptionSchema = z54.object({
|
|
5689
|
+
type: z54.literal("sheet-description"),
|
|
5690
|
+
props: z54.object({
|
|
5691
|
+
children: z54.string().optional().describe("Description text")
|
|
5556
5692
|
}).optional(),
|
|
5557
|
-
children:
|
|
5693
|
+
children: z54.array(uiNodeSchema).optional()
|
|
5558
5694
|
}).describe("Description text inside a sheet-header");
|
|
5559
5695
|
|
|
5560
5696
|
// src/ui/Dropdown/schema.ts
|
|
5561
|
-
import { z as
|
|
5562
|
-
var dropdownMenuSchema =
|
|
5563
|
-
type:
|
|
5564
|
-
props:
|
|
5565
|
-
children:
|
|
5697
|
+
import { z as z55 } from "zod";
|
|
5698
|
+
var dropdownMenuSchema = z55.object({
|
|
5699
|
+
type: z55.literal("dropdown-menu"),
|
|
5700
|
+
props: z55.object({}).optional(),
|
|
5701
|
+
children: z55.array(uiNodeSchema).optional().describe("Compose with dropdown-menu-trigger and dropdown-menu-content")
|
|
5566
5702
|
}).describe("A dropdown menu container");
|
|
5567
|
-
var dropdownMenuTriggerSchema =
|
|
5568
|
-
type:
|
|
5569
|
-
props:
|
|
5570
|
-
children:
|
|
5703
|
+
var dropdownMenuTriggerSchema = z55.object({
|
|
5704
|
+
type: z55.literal("dropdown-menu-trigger"),
|
|
5705
|
+
props: z55.object({}).optional(),
|
|
5706
|
+
children: z55.array(uiNodeSchema).optional().describe("The element that opens the dropdown")
|
|
5571
5707
|
}).describe("Trigger element that opens a dropdown menu");
|
|
5572
|
-
var dropdownMenuContentSchema =
|
|
5573
|
-
type:
|
|
5574
|
-
props:
|
|
5575
|
-
side:
|
|
5576
|
-
align:
|
|
5708
|
+
var dropdownMenuContentSchema = z55.object({
|
|
5709
|
+
type: z55.literal("dropdown-menu-content"),
|
|
5710
|
+
props: z55.object({
|
|
5711
|
+
side: z55.enum(["top", "right", "bottom", "left"]).optional(),
|
|
5712
|
+
align: z55.enum(["start", "center", "end"]).optional()
|
|
5577
5713
|
}).optional(),
|
|
5578
|
-
children:
|
|
5714
|
+
children: z55.array(uiNodeSchema).optional().describe("Menu items")
|
|
5579
5715
|
}).describe("Content panel of a dropdown menu");
|
|
5580
|
-
var dropdownMenuItemSchema =
|
|
5581
|
-
type:
|
|
5582
|
-
props:
|
|
5583
|
-
children:
|
|
5584
|
-
variant:
|
|
5585
|
-
disabled:
|
|
5716
|
+
var dropdownMenuItemSchema = z55.object({
|
|
5717
|
+
type: z55.literal("dropdown-menu-item"),
|
|
5718
|
+
props: z55.object({
|
|
5719
|
+
children: z55.string().optional().describe("Menu item text"),
|
|
5720
|
+
variant: z55.enum(["default", "destructive"]).optional().describe("Item style. Defaults to 'default'"),
|
|
5721
|
+
disabled: z55.boolean().optional()
|
|
5586
5722
|
}).optional(),
|
|
5587
|
-
children:
|
|
5723
|
+
children: z55.array(uiNodeSchema).optional()
|
|
5588
5724
|
}).describe("A single item inside a dropdown menu");
|
|
5589
|
-
var dropdownMenuSeparatorSchema =
|
|
5590
|
-
type:
|
|
5591
|
-
props:
|
|
5725
|
+
var dropdownMenuSeparatorSchema = z55.object({
|
|
5726
|
+
type: z55.literal("dropdown-menu-separator"),
|
|
5727
|
+
props: z55.object({}).optional()
|
|
5592
5728
|
}).describe("A visual separator between dropdown menu items");
|
|
5593
|
-
var dropdownMenuLabelSchema =
|
|
5594
|
-
type:
|
|
5595
|
-
props:
|
|
5596
|
-
children:
|
|
5729
|
+
var dropdownMenuLabelSchema = z55.object({
|
|
5730
|
+
type: z55.literal("dropdown-menu-label"),
|
|
5731
|
+
props: z55.object({
|
|
5732
|
+
children: z55.string().optional().describe("Label text")
|
|
5597
5733
|
}).optional(),
|
|
5598
|
-
children:
|
|
5734
|
+
children: z55.array(uiNodeSchema).optional()
|
|
5599
5735
|
}).describe("A non-interactive label inside a dropdown menu");
|
|
5600
5736
|
|
|
5601
5737
|
// src/ui/Popover/schema.ts
|
|
5602
|
-
import { z as
|
|
5603
|
-
var popoverSchema =
|
|
5604
|
-
type:
|
|
5605
|
-
props:
|
|
5606
|
-
children:
|
|
5738
|
+
import { z as z56 } from "zod";
|
|
5739
|
+
var popoverSchema = z56.object({
|
|
5740
|
+
type: z56.literal("popover"),
|
|
5741
|
+
props: z56.object({}).optional(),
|
|
5742
|
+
children: z56.array(uiNodeSchema).optional().describe("Compose with popover-trigger and popover-content")
|
|
5607
5743
|
}).describe("A popover overlay container");
|
|
5608
|
-
var popoverTriggerSchema =
|
|
5609
|
-
type:
|
|
5610
|
-
props:
|
|
5611
|
-
children:
|
|
5744
|
+
var popoverTriggerSchema = z56.object({
|
|
5745
|
+
type: z56.literal("popover-trigger"),
|
|
5746
|
+
props: z56.object({}).optional(),
|
|
5747
|
+
children: z56.array(uiNodeSchema).optional().describe("The element that opens the popover")
|
|
5612
5748
|
}).describe("Trigger element that opens a popover");
|
|
5613
|
-
var popoverContentSchema =
|
|
5614
|
-
type:
|
|
5615
|
-
props:
|
|
5616
|
-
align:
|
|
5617
|
-
sideOffset:
|
|
5749
|
+
var popoverContentSchema = z56.object({
|
|
5750
|
+
type: z56.literal("popover-content"),
|
|
5751
|
+
props: z56.object({
|
|
5752
|
+
align: z56.enum(["start", "center", "end"]).optional().describe("Alignment relative to trigger. Defaults to 'center'"),
|
|
5753
|
+
sideOffset: z56.number().optional().describe("Offset from trigger in px. Defaults to 4")
|
|
5618
5754
|
}).optional(),
|
|
5619
|
-
children:
|
|
5755
|
+
children: z56.array(uiNodeSchema).optional().describe("Popover body content")
|
|
5620
5756
|
}).describe("Content panel of a popover");
|
|
5621
5757
|
|
|
5622
5758
|
// src/ui/ContextMenu/schema.ts
|
|
5623
|
-
import { z as
|
|
5624
|
-
var contextMenuSchema =
|
|
5625
|
-
type:
|
|
5626
|
-
props:
|
|
5627
|
-
children:
|
|
5759
|
+
import { z as z57 } from "zod";
|
|
5760
|
+
var contextMenuSchema = z57.object({
|
|
5761
|
+
type: z57.literal("context-menu"),
|
|
5762
|
+
props: z57.object({}).optional(),
|
|
5763
|
+
children: z57.array(uiNodeSchema).optional().describe("Compose with context-menu-trigger and context-menu-content")
|
|
5628
5764
|
}).describe("A right-click context menu container");
|
|
5629
|
-
var contextMenuTriggerSchema =
|
|
5630
|
-
type:
|
|
5631
|
-
props:
|
|
5632
|
-
children:
|
|
5765
|
+
var contextMenuTriggerSchema = z57.object({
|
|
5766
|
+
type: z57.literal("context-menu-trigger"),
|
|
5767
|
+
props: z57.object({}).optional(),
|
|
5768
|
+
children: z57.array(uiNodeSchema).optional().describe("The element that triggers the context menu on right-click")
|
|
5633
5769
|
}).describe("Trigger area for a context menu");
|
|
5634
|
-
var contextMenuContentSchema =
|
|
5635
|
-
type:
|
|
5636
|
-
props:
|
|
5637
|
-
children:
|
|
5770
|
+
var contextMenuContentSchema = z57.object({
|
|
5771
|
+
type: z57.literal("context-menu-content"),
|
|
5772
|
+
props: z57.object({}).optional(),
|
|
5773
|
+
children: z57.array(uiNodeSchema).optional().describe("Menu items")
|
|
5638
5774
|
}).describe("Content panel of a context menu");
|
|
5639
|
-
var contextMenuItemSchema =
|
|
5640
|
-
type:
|
|
5641
|
-
props:
|
|
5642
|
-
children:
|
|
5643
|
-
variant:
|
|
5644
|
-
disabled:
|
|
5775
|
+
var contextMenuItemSchema = z57.object({
|
|
5776
|
+
type: z57.literal("context-menu-item"),
|
|
5777
|
+
props: z57.object({
|
|
5778
|
+
children: z57.string().optional().describe("Menu item text"),
|
|
5779
|
+
variant: z57.enum(["default", "destructive"]).optional().describe("Item style. Defaults to 'default'"),
|
|
5780
|
+
disabled: z57.boolean().optional()
|
|
5645
5781
|
}).optional(),
|
|
5646
|
-
children:
|
|
5782
|
+
children: z57.array(uiNodeSchema).optional()
|
|
5647
5783
|
}).describe("A single item inside a context menu");
|
|
5648
|
-
var contextMenuSeparatorSchema =
|
|
5649
|
-
type:
|
|
5650
|
-
props:
|
|
5784
|
+
var contextMenuSeparatorSchema = z57.object({
|
|
5785
|
+
type: z57.literal("context-menu-separator"),
|
|
5786
|
+
props: z57.object({}).optional()
|
|
5651
5787
|
}).describe("A visual separator between context menu items");
|
|
5652
5788
|
|
|
5653
5789
|
// src/schema.ts
|
|
@@ -9283,11 +9419,136 @@ function LinkButton({
|
|
|
9283
9419
|
);
|
|
9284
9420
|
}
|
|
9285
9421
|
|
|
9422
|
+
// src/ui/Map/index.tsx
|
|
9423
|
+
import {
|
|
9424
|
+
APIProvider,
|
|
9425
|
+
Map as GoogleMap,
|
|
9426
|
+
Marker,
|
|
9427
|
+
InfoWindow,
|
|
9428
|
+
useMap
|
|
9429
|
+
} from "@vis.gl/react-google-maps";
|
|
9430
|
+
import { useState as useState6, useCallback as useCallback3, useEffect as useEffect5 } from "react";
|
|
9431
|
+
import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
9432
|
+
function MarkerWithInfo({
|
|
9433
|
+
marker,
|
|
9434
|
+
index,
|
|
9435
|
+
onMarkerClick
|
|
9436
|
+
}) {
|
|
9437
|
+
const [open, setOpen] = useState6(false);
|
|
9438
|
+
const handleClick = useCallback3(() => {
|
|
9439
|
+
setOpen((prev) => !prev);
|
|
9440
|
+
onMarkerClick?.(marker, index);
|
|
9441
|
+
}, [marker, index, onMarkerClick]);
|
|
9442
|
+
return /* @__PURE__ */ jsxs25(Fragment5, { children: [
|
|
9443
|
+
/* @__PURE__ */ jsx34(
|
|
9444
|
+
Marker,
|
|
9445
|
+
{
|
|
9446
|
+
position: { lat: marker.lat, lng: marker.lng },
|
|
9447
|
+
title: marker.title,
|
|
9448
|
+
onClick: handleClick
|
|
9449
|
+
}
|
|
9450
|
+
),
|
|
9451
|
+
open && (marker.title || marker.description) && /* @__PURE__ */ jsx34(
|
|
9452
|
+
InfoWindow,
|
|
9453
|
+
{
|
|
9454
|
+
position: { lat: marker.lat, lng: marker.lng },
|
|
9455
|
+
onCloseClick: () => setOpen(false),
|
|
9456
|
+
children: /* @__PURE__ */ jsxs25("div", { className: "max-w-xs", children: [
|
|
9457
|
+
marker.title && /* @__PURE__ */ jsx34("h3", { className: "text-body-sm font-semibold", children: marker.title }),
|
|
9458
|
+
marker.description && /* @__PURE__ */ jsx34("p", { className: "text-body-sm text-element-inverse-gray mt-1", children: marker.description })
|
|
9459
|
+
] })
|
|
9460
|
+
}
|
|
9461
|
+
)
|
|
9462
|
+
] });
|
|
9463
|
+
}
|
|
9464
|
+
var CURRENT_LOCATION_ICON = {
|
|
9465
|
+
path: 0,
|
|
9466
|
+
// google.maps.SymbolPath.CIRCLE
|
|
9467
|
+
scale: 8,
|
|
9468
|
+
fillColor: "#4285F4",
|
|
9469
|
+
fillOpacity: 1,
|
|
9470
|
+
strokeColor: "#ffffff",
|
|
9471
|
+
strokeWeight: 2.5
|
|
9472
|
+
};
|
|
9473
|
+
function CurrentLocationMarker() {
|
|
9474
|
+
const map = useMap();
|
|
9475
|
+
const [position, setPosition] = useState6(null);
|
|
9476
|
+
useEffect5(() => {
|
|
9477
|
+
if (!navigator.geolocation) return;
|
|
9478
|
+
const watchId = navigator.geolocation.watchPosition(
|
|
9479
|
+
(pos) => {
|
|
9480
|
+
const coords = { lat: pos.coords.latitude, lng: pos.coords.longitude };
|
|
9481
|
+
setPosition(coords);
|
|
9482
|
+
},
|
|
9483
|
+
() => {
|
|
9484
|
+
},
|
|
9485
|
+
{ enableHighAccuracy: true, maximumAge: 1e4 }
|
|
9486
|
+
);
|
|
9487
|
+
return () => navigator.geolocation.clearWatch(watchId);
|
|
9488
|
+
}, [map]);
|
|
9489
|
+
if (!position) return null;
|
|
9490
|
+
return /* @__PURE__ */ jsx34(
|
|
9491
|
+
Marker,
|
|
9492
|
+
{
|
|
9493
|
+
position,
|
|
9494
|
+
title: "Your location",
|
|
9495
|
+
icon: CURRENT_LOCATION_ICON,
|
|
9496
|
+
clickable: false
|
|
9497
|
+
}
|
|
9498
|
+
);
|
|
9499
|
+
}
|
|
9500
|
+
var DEFAULT_CENTER = { lat: 16.8661, lng: 96.1951 };
|
|
9501
|
+
function GoogleMapView({
|
|
9502
|
+
apiKey,
|
|
9503
|
+
center = DEFAULT_CENTER,
|
|
9504
|
+
zoom = 12,
|
|
9505
|
+
markers = [],
|
|
9506
|
+
mapId,
|
|
9507
|
+
height = "400px",
|
|
9508
|
+
width = "100%",
|
|
9509
|
+
className,
|
|
9510
|
+
gestureHandling = "cooperative",
|
|
9511
|
+
disableDefaultUI = false,
|
|
9512
|
+
showCurrentLocation = false,
|
|
9513
|
+
onMarkerClick
|
|
9514
|
+
}) {
|
|
9515
|
+
return /* @__PURE__ */ jsx34(APIProvider, { apiKey, children: /* @__PURE__ */ jsx34(
|
|
9516
|
+
"div",
|
|
9517
|
+
{
|
|
9518
|
+
className: cn("overflow-hidden rounded-unit-corner-radius-xl", className),
|
|
9519
|
+
style: { height, width },
|
|
9520
|
+
children: /* @__PURE__ */ jsxs25(
|
|
9521
|
+
GoogleMap,
|
|
9522
|
+
{
|
|
9523
|
+
defaultCenter: center,
|
|
9524
|
+
defaultZoom: zoom,
|
|
9525
|
+
mapId,
|
|
9526
|
+
gestureHandling,
|
|
9527
|
+
disableDefaultUI,
|
|
9528
|
+
style: { width: "100%", height: "100%" },
|
|
9529
|
+
children: [
|
|
9530
|
+
showCurrentLocation && /* @__PURE__ */ jsx34(CurrentLocationMarker, {}),
|
|
9531
|
+
markers.map((marker, i) => /* @__PURE__ */ jsx34(
|
|
9532
|
+
MarkerWithInfo,
|
|
9533
|
+
{
|
|
9534
|
+
marker,
|
|
9535
|
+
index: i,
|
|
9536
|
+
onMarkerClick
|
|
9537
|
+
},
|
|
9538
|
+
`${marker.lat}-${marker.lng}-${i}`
|
|
9539
|
+
))
|
|
9540
|
+
]
|
|
9541
|
+
}
|
|
9542
|
+
)
|
|
9543
|
+
}
|
|
9544
|
+
) });
|
|
9545
|
+
}
|
|
9546
|
+
|
|
9286
9547
|
// src/ui/Media/index.tsx
|
|
9287
9548
|
import { cva as cva10 } from "class-variance-authority";
|
|
9288
9549
|
import { Pause, Play } from "lucide-react";
|
|
9289
9550
|
import * as React10 from "react";
|
|
9290
|
-
import { Fragment as
|
|
9551
|
+
import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
9291
9552
|
var mediaVariants = cva10(
|
|
9292
9553
|
"relative overflow-hidden bg-gray-100 dark:bg-gray-800",
|
|
9293
9554
|
{
|
|
@@ -9385,7 +9646,7 @@ var Media = React10.forwardRef(
|
|
|
9385
9646
|
const handleImageError = () => {
|
|
9386
9647
|
setImageError(true);
|
|
9387
9648
|
};
|
|
9388
|
-
return /* @__PURE__ */
|
|
9649
|
+
return /* @__PURE__ */ jsx35(
|
|
9389
9650
|
"div",
|
|
9390
9651
|
{
|
|
9391
9652
|
ref,
|
|
@@ -9393,8 +9654,8 @@ var Media = React10.forwardRef(
|
|
|
9393
9654
|
onMouseEnter: () => setIsHovered(true),
|
|
9394
9655
|
onMouseLeave: () => setIsHovered(false),
|
|
9395
9656
|
...props,
|
|
9396
|
-
children: type === "image" ? /* @__PURE__ */
|
|
9397
|
-
/* @__PURE__ */
|
|
9657
|
+
children: type === "image" ? /* @__PURE__ */ jsxs26(Fragment6, { children: [
|
|
9658
|
+
/* @__PURE__ */ jsx35(
|
|
9398
9659
|
"img",
|
|
9399
9660
|
{
|
|
9400
9661
|
src,
|
|
@@ -9412,13 +9673,13 @@ var Media = React10.forwardRef(
|
|
|
9412
9673
|
style: { objectFit }
|
|
9413
9674
|
}
|
|
9414
9675
|
),
|
|
9415
|
-
!imageLoaded && !imageError && /* @__PURE__ */
|
|
9416
|
-
imageError && /* @__PURE__ */
|
|
9417
|
-
/* @__PURE__ */
|
|
9418
|
-
/* @__PURE__ */
|
|
9676
|
+
!imageLoaded && !imageError && /* @__PURE__ */ jsx35("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ jsx35("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) }),
|
|
9677
|
+
imageError && /* @__PURE__ */ jsx35("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ jsxs26("div", { className: "text-center text-gray-500", children: [
|
|
9678
|
+
/* @__PURE__ */ jsx35("div", { className: "text-2xl", children: "\u{1F4F7}" }),
|
|
9679
|
+
/* @__PURE__ */ jsx35("div", { className: "text-sm", children: "Failed to load" })
|
|
9419
9680
|
] }) })
|
|
9420
|
-
] }) : /* @__PURE__ */
|
|
9421
|
-
/* @__PURE__ */
|
|
9681
|
+
] }) : /* @__PURE__ */ jsxs26(Fragment6, { children: [
|
|
9682
|
+
/* @__PURE__ */ jsx35(
|
|
9422
9683
|
"video",
|
|
9423
9684
|
{
|
|
9424
9685
|
ref: videoRef,
|
|
@@ -9431,7 +9692,7 @@ var Media = React10.forwardRef(
|
|
|
9431
9692
|
preload: "metadata"
|
|
9432
9693
|
}
|
|
9433
9694
|
),
|
|
9434
|
-
showPlayButton && /* @__PURE__ */
|
|
9695
|
+
showPlayButton && /* @__PURE__ */ jsx35(
|
|
9435
9696
|
"div",
|
|
9436
9697
|
{
|
|
9437
9698
|
className: cn(
|
|
@@ -9441,10 +9702,10 @@ var Media = React10.forwardRef(
|
|
|
9441
9702
|
"opacity-0": !isHovered && !videoPlaying
|
|
9442
9703
|
}
|
|
9443
9704
|
),
|
|
9444
|
-
children: /* @__PURE__ */
|
|
9705
|
+
children: /* @__PURE__ */ jsx35(
|
|
9445
9706
|
IconButton,
|
|
9446
9707
|
{
|
|
9447
|
-
icon: videoPlaying ? /* @__PURE__ */
|
|
9708
|
+
icon: videoPlaying ? /* @__PURE__ */ jsx35(Pause, { className: "text-gray-900" }) : /* @__PURE__ */ jsx35(Play, { className: "ml-1 text-gray-900" }),
|
|
9448
9709
|
onClick: videoPlaying ? handlePause : handlePlay,
|
|
9449
9710
|
varient: "outline",
|
|
9450
9711
|
size: "md",
|
|
@@ -9465,7 +9726,7 @@ Media.displayName = "Media";
|
|
|
9465
9726
|
// src/ui/MultiSelect/index.tsx
|
|
9466
9727
|
import { ChevronDown as ChevronDown2, CircleXIcon, X as X3 } from "lucide-react";
|
|
9467
9728
|
import * as React11 from "react";
|
|
9468
|
-
import { jsx as
|
|
9729
|
+
import { jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
9469
9730
|
function MultiSelect({
|
|
9470
9731
|
options,
|
|
9471
9732
|
selected,
|
|
@@ -9538,8 +9799,8 @@ function MultiSelect({
|
|
|
9538
9799
|
e.preventDefault();
|
|
9539
9800
|
inputRef.current?.focus();
|
|
9540
9801
|
};
|
|
9541
|
-
return /* @__PURE__ */
|
|
9542
|
-
/* @__PURE__ */
|
|
9802
|
+
return /* @__PURE__ */ jsxs27(Popover, { open, onOpenChange: setOpen, children: [
|
|
9803
|
+
/* @__PURE__ */ jsx36(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs27(
|
|
9543
9804
|
"div",
|
|
9544
9805
|
{
|
|
9545
9806
|
ref: containerRef,
|
|
@@ -9551,10 +9812,10 @@ function MultiSelect({
|
|
|
9551
9812
|
),
|
|
9552
9813
|
onClick: handleContainerClick,
|
|
9553
9814
|
children: [
|
|
9554
|
-
/* @__PURE__ */
|
|
9815
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex flex-1 flex-wrap items-center gap-1", children: [
|
|
9555
9816
|
selected.map((value) => {
|
|
9556
9817
|
const option = options.find((opt) => opt.value === value);
|
|
9557
|
-
return /* @__PURE__ */
|
|
9818
|
+
return /* @__PURE__ */ jsx36(
|
|
9558
9819
|
Chip,
|
|
9559
9820
|
{
|
|
9560
9821
|
label: option?.label || value,
|
|
@@ -9565,12 +9826,12 @@ function MultiSelect({
|
|
|
9565
9826
|
className: cn(
|
|
9566
9827
|
disabled && "pointer-events-none cursor-not-allowed"
|
|
9567
9828
|
),
|
|
9568
|
-
children: /* @__PURE__ */
|
|
9829
|
+
children: /* @__PURE__ */ jsx36(X3, { className: "hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer" })
|
|
9569
9830
|
},
|
|
9570
9831
|
value
|
|
9571
9832
|
);
|
|
9572
9833
|
}),
|
|
9573
|
-
/* @__PURE__ */
|
|
9834
|
+
/* @__PURE__ */ jsx36(
|
|
9574
9835
|
"input",
|
|
9575
9836
|
{
|
|
9576
9837
|
ref: inputRef,
|
|
@@ -9584,25 +9845,25 @@ function MultiSelect({
|
|
|
9584
9845
|
}
|
|
9585
9846
|
)
|
|
9586
9847
|
] }),
|
|
9587
|
-
selected.length > 0 && /* @__PURE__ */
|
|
9848
|
+
selected.length > 0 && /* @__PURE__ */ jsx36(
|
|
9588
9849
|
CircleXIcon,
|
|
9589
9850
|
{
|
|
9590
9851
|
className: "text-icon-default size-4.5 shrink-0",
|
|
9591
9852
|
onClick: () => onChange([])
|
|
9592
9853
|
}
|
|
9593
9854
|
),
|
|
9594
|
-
!createConfig?.enabled && /* @__PURE__ */
|
|
9855
|
+
!createConfig?.enabled && /* @__PURE__ */ jsx36(ChevronDown2, { className: "text-icon-default size-4.5 shrink-0" })
|
|
9595
9856
|
]
|
|
9596
9857
|
}
|
|
9597
9858
|
) }),
|
|
9598
|
-
/* @__PURE__ */
|
|
9859
|
+
/* @__PURE__ */ jsx36(
|
|
9599
9860
|
PopoverContent,
|
|
9600
9861
|
{
|
|
9601
9862
|
className: "shadow-box w-[var(--radix-popover-trigger-width)] border-none bg-white p-2",
|
|
9602
9863
|
align: "start",
|
|
9603
|
-
children: /* @__PURE__ */
|
|
9604
|
-
createConfig?.enabled && /* @__PURE__ */
|
|
9605
|
-
filteredOptions.map((option) => /* @__PURE__ */
|
|
9864
|
+
children: /* @__PURE__ */ jsx36("div", { className: "p-0", children: /* @__PURE__ */ jsx36("div", { className: "max-h-[300px] overflow-y-auto", children: filteredOptions.length === 0 && !canCreate ? /* @__PURE__ */ jsx36("div", { className: "py-6 text-center text-gray-500", children: inputValue ? "No results found." : "Start typing to search..." }) : /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5", children: [
|
|
9865
|
+
createConfig?.enabled && /* @__PURE__ */ jsx36("p", { className: "text-text-default pb-0.5 font-semibold", children: "Select or create one" }),
|
|
9866
|
+
filteredOptions.map((option) => /* @__PURE__ */ jsx36(
|
|
9606
9867
|
Chip,
|
|
9607
9868
|
{
|
|
9608
9869
|
label: option.label,
|
|
@@ -9611,14 +9872,14 @@ function MultiSelect({
|
|
|
9611
9872
|
},
|
|
9612
9873
|
option.value
|
|
9613
9874
|
)),
|
|
9614
|
-
canCreate && /* @__PURE__ */
|
|
9875
|
+
canCreate && /* @__PURE__ */ jsxs27(
|
|
9615
9876
|
"div",
|
|
9616
9877
|
{
|
|
9617
9878
|
onClick: async () => await handleCreate(),
|
|
9618
9879
|
className: "flex items-center justify-between",
|
|
9619
9880
|
children: [
|
|
9620
|
-
/* @__PURE__ */
|
|
9621
|
-
/* @__PURE__ */
|
|
9881
|
+
/* @__PURE__ */ jsx36(Chip, { label: inputValue.trim(), className: "rounded-md" }),
|
|
9882
|
+
/* @__PURE__ */ jsx36(
|
|
9622
9883
|
Button,
|
|
9623
9884
|
{
|
|
9624
9885
|
variant: "ghost",
|
|
@@ -9642,7 +9903,7 @@ import {
|
|
|
9642
9903
|
OTPInputContext as BaseOTPInputContext
|
|
9643
9904
|
} from "input-otp";
|
|
9644
9905
|
import * as React12 from "react";
|
|
9645
|
-
import { jsx as
|
|
9906
|
+
import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
9646
9907
|
function OTPInput({
|
|
9647
9908
|
type = 4,
|
|
9648
9909
|
separate = false,
|
|
@@ -9650,8 +9911,8 @@ function OTPInput({
|
|
|
9650
9911
|
className,
|
|
9651
9912
|
...props
|
|
9652
9913
|
}) {
|
|
9653
|
-
return /* @__PURE__ */
|
|
9654
|
-
/* @__PURE__ */
|
|
9914
|
+
return /* @__PURE__ */ jsx37("div", { className: cn(className), children: /* @__PURE__ */ jsxs28(InputOTP, { disabled, className: "w-full", ...props, children: [
|
|
9915
|
+
/* @__PURE__ */ jsx37(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ jsx37(
|
|
9655
9916
|
InputOTPSlot,
|
|
9656
9917
|
{
|
|
9657
9918
|
className: "w-full",
|
|
@@ -9660,8 +9921,8 @@ function OTPInput({
|
|
|
9660
9921
|
},
|
|
9661
9922
|
index
|
|
9662
9923
|
)) }),
|
|
9663
|
-
separate && /* @__PURE__ */
|
|
9664
|
-
/* @__PURE__ */
|
|
9924
|
+
separate && /* @__PURE__ */ jsx37(InputOTPSeparator, {}),
|
|
9925
|
+
/* @__PURE__ */ jsx37(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ jsx37(
|
|
9665
9926
|
InputOTPSlot,
|
|
9666
9927
|
{
|
|
9667
9928
|
className: "w-full",
|
|
@@ -9677,7 +9938,7 @@ function InputOTP({
|
|
|
9677
9938
|
containerClassName,
|
|
9678
9939
|
...props
|
|
9679
9940
|
}) {
|
|
9680
|
-
return /* @__PURE__ */
|
|
9941
|
+
return /* @__PURE__ */ jsx37(
|
|
9681
9942
|
BaseOTPInput,
|
|
9682
9943
|
{
|
|
9683
9944
|
"data-slot": "input-otp",
|
|
@@ -9688,7 +9949,7 @@ function InputOTP({
|
|
|
9688
9949
|
);
|
|
9689
9950
|
}
|
|
9690
9951
|
function InputOTPGroup({ className, ...props }) {
|
|
9691
|
-
return /* @__PURE__ */
|
|
9952
|
+
return /* @__PURE__ */ jsx37(
|
|
9692
9953
|
"div",
|
|
9693
9954
|
{
|
|
9694
9955
|
"data-slot": "input-otp-group",
|
|
@@ -9706,7 +9967,7 @@ function InputOTPSlot({
|
|
|
9706
9967
|
}) {
|
|
9707
9968
|
const inputOTPContext = React12.useContext(BaseOTPInputContext);
|
|
9708
9969
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
9709
|
-
return /* @__PURE__ */
|
|
9970
|
+
return /* @__PURE__ */ jsxs28(
|
|
9710
9971
|
"div",
|
|
9711
9972
|
{
|
|
9712
9973
|
"data-slot": "input-otp-slot",
|
|
@@ -9721,26 +9982,26 @@ function InputOTPSlot({
|
|
|
9721
9982
|
),
|
|
9722
9983
|
...props,
|
|
9723
9984
|
children: [
|
|
9724
|
-
/* @__PURE__ */
|
|
9725
|
-
hasFakeCaret && /* @__PURE__ */
|
|
9985
|
+
/* @__PURE__ */ jsx37("span", { className: "text-h6", children: char || placeholder }),
|
|
9986
|
+
hasFakeCaret && /* @__PURE__ */ jsx37("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx37("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
|
|
9726
9987
|
]
|
|
9727
9988
|
}
|
|
9728
9989
|
);
|
|
9729
9990
|
}
|
|
9730
9991
|
function InputOTPSeparator({ ...props }) {
|
|
9731
|
-
return /* @__PURE__ */
|
|
9992
|
+
return /* @__PURE__ */ jsx37("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx37("div", { className: "bg-border-primary-normal h-0.5 w-2" }) });
|
|
9732
9993
|
}
|
|
9733
9994
|
|
|
9734
9995
|
// src/ui/PasswordInput/index.tsx
|
|
9735
9996
|
import * as React13 from "react";
|
|
9736
9997
|
import { Eye, EyeOff } from "lucide-react";
|
|
9737
|
-
import { jsx as
|
|
9998
|
+
import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
9738
9999
|
var PasswordInput = React13.memo(
|
|
9739
10000
|
({ type, label, className, ...props }) => {
|
|
9740
10001
|
const [showPassword, setShowPassword] = React13.useState(false);
|
|
9741
10002
|
const error = props["aria-invalid"] || false;
|
|
9742
10003
|
const inputRef = React13.useRef(null);
|
|
9743
|
-
return /* @__PURE__ */
|
|
10004
|
+
return /* @__PURE__ */ jsxs29(
|
|
9744
10005
|
"div",
|
|
9745
10006
|
{
|
|
9746
10007
|
className: cn(
|
|
@@ -9760,7 +10021,7 @@ var PasswordInput = React13.memo(
|
|
|
9760
10021
|
}
|
|
9761
10022
|
),
|
|
9762
10023
|
children: [
|
|
9763
|
-
/* @__PURE__ */
|
|
10024
|
+
/* @__PURE__ */ jsx38(
|
|
9764
10025
|
"input",
|
|
9765
10026
|
{
|
|
9766
10027
|
ref: inputRef,
|
|
@@ -9784,7 +10045,7 @@ var PasswordInput = React13.memo(
|
|
|
9784
10045
|
}
|
|
9785
10046
|
}
|
|
9786
10047
|
),
|
|
9787
|
-
/* @__PURE__ */
|
|
10048
|
+
/* @__PURE__ */ jsx38(
|
|
9788
10049
|
"button",
|
|
9789
10050
|
{
|
|
9790
10051
|
tabIndex: -1,
|
|
@@ -9793,7 +10054,7 @@ var PasswordInput = React13.memo(
|
|
|
9793
10054
|
onClick: () => setShowPassword(!showPassword),
|
|
9794
10055
|
"aria-label": showPassword ? "Hide password" : "Show password",
|
|
9795
10056
|
className: "hover:bg-primary-bg-soft absolute right-2 flex h-5 w-5 cursor-pointer items-center justify-center rounded-sm bg-white",
|
|
9796
|
-
children: showPassword ? /* @__PURE__ */
|
|
10057
|
+
children: showPassword ? /* @__PURE__ */ jsx38(Eye, { size: 16, className: "text-element-inverse-default-alt" }) : /* @__PURE__ */ jsx38(EyeOff, { size: 16, className: "text-element-inverse-default-alt" })
|
|
9797
10058
|
}
|
|
9798
10059
|
)
|
|
9799
10060
|
]
|
|
@@ -9805,16 +10066,16 @@ var PasswordInput = React13.memo(
|
|
|
9805
10066
|
// src/ui/Radio/index.tsx
|
|
9806
10067
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
9807
10068
|
import { CircleIcon as CircleIcon2 } from "lucide-react";
|
|
9808
|
-
import { jsx as
|
|
10069
|
+
import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
9809
10070
|
function Radio({ onSelect, options, ...props }) {
|
|
9810
|
-
return /* @__PURE__ */
|
|
9811
|
-
return /* @__PURE__ */
|
|
10071
|
+
return /* @__PURE__ */ jsx39(BaseRadioGroup, { ...props, children: options.map((option) => {
|
|
10072
|
+
return /* @__PURE__ */ jsxs30(
|
|
9812
10073
|
Label2,
|
|
9813
10074
|
{
|
|
9814
10075
|
htmlFor: option.value,
|
|
9815
10076
|
className: "hover:bg-surface-bg flex cursor-pointer items-center gap-x-2 rounded-lg p-1.5",
|
|
9816
10077
|
children: [
|
|
9817
|
-
/* @__PURE__ */
|
|
10078
|
+
/* @__PURE__ */ jsx39(
|
|
9818
10079
|
BaseRadioGroupItem,
|
|
9819
10080
|
{
|
|
9820
10081
|
onClick: () => {
|
|
@@ -9835,7 +10096,7 @@ function BaseRadioGroup({
|
|
|
9835
10096
|
className,
|
|
9836
10097
|
...props
|
|
9837
10098
|
}) {
|
|
9838
|
-
return /* @__PURE__ */
|
|
10099
|
+
return /* @__PURE__ */ jsx39(
|
|
9839
10100
|
RadioGroupPrimitive.Root,
|
|
9840
10101
|
{
|
|
9841
10102
|
"data-slot": "radio-group",
|
|
@@ -9848,7 +10109,7 @@ function BaseRadioGroupItem({
|
|
|
9848
10109
|
className,
|
|
9849
10110
|
...props
|
|
9850
10111
|
}) {
|
|
9851
|
-
return /* @__PURE__ */
|
|
10112
|
+
return /* @__PURE__ */ jsx39(
|
|
9852
10113
|
RadioGroupPrimitive.Item,
|
|
9853
10114
|
{
|
|
9854
10115
|
"data-slot": "radio-group-item",
|
|
@@ -9857,12 +10118,12 @@ function BaseRadioGroupItem({
|
|
|
9857
10118
|
className
|
|
9858
10119
|
),
|
|
9859
10120
|
...props,
|
|
9860
|
-
children: /* @__PURE__ */
|
|
10121
|
+
children: /* @__PURE__ */ jsx39(
|
|
9861
10122
|
RadioGroupPrimitive.Indicator,
|
|
9862
10123
|
{
|
|
9863
10124
|
"data-slot": "radio-group-indicator",
|
|
9864
10125
|
className: "relative flex items-center justify-center",
|
|
9865
|
-
children: /* @__PURE__ */
|
|
10126
|
+
children: /* @__PURE__ */ jsx39(CircleIcon2, { 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" })
|
|
9866
10127
|
}
|
|
9867
10128
|
)
|
|
9868
10129
|
}
|
|
@@ -9873,8 +10134,8 @@ function BaseRadioGroupItem({
|
|
|
9873
10134
|
import { debounce } from "lodash";
|
|
9874
10135
|
import { SearchIcon as SearchIcon2 } from "lucide-react";
|
|
9875
10136
|
import { useQueryState } from "nuqs";
|
|
9876
|
-
import { useCallback as
|
|
9877
|
-
import { jsx as
|
|
10137
|
+
import { useCallback as useCallback4, useEffect as useEffect7, useState as useState10 } from "react";
|
|
10138
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
9878
10139
|
function SearchInput({
|
|
9879
10140
|
searchKey,
|
|
9880
10141
|
placeholder = "Search by...",
|
|
@@ -9886,8 +10147,8 @@ function SearchInput({
|
|
|
9886
10147
|
const [search, setSearch] = useQueryState(searchKey, {
|
|
9887
10148
|
defaultValue: ""
|
|
9888
10149
|
});
|
|
9889
|
-
const [inputValue, setInputValue] =
|
|
9890
|
-
const debouncedSetValue =
|
|
10150
|
+
const [inputValue, setInputValue] = useState10(search ?? "");
|
|
10151
|
+
const debouncedSetValue = useCallback4(
|
|
9891
10152
|
debounce((value) => {
|
|
9892
10153
|
if (addToParam) {
|
|
9893
10154
|
setSearch(value);
|
|
@@ -9897,13 +10158,13 @@ function SearchInput({
|
|
|
9897
10158
|
}, debounceDelay),
|
|
9898
10159
|
[debounceDelay, addToParam, setSearch]
|
|
9899
10160
|
);
|
|
9900
|
-
|
|
10161
|
+
useEffect7(() => {
|
|
9901
10162
|
debouncedSetValue(inputValue);
|
|
9902
10163
|
return () => {
|
|
9903
10164
|
debouncedSetValue.cancel();
|
|
9904
10165
|
};
|
|
9905
10166
|
}, [inputValue, debouncedSetValue]);
|
|
9906
|
-
return /* @__PURE__ */
|
|
10167
|
+
return /* @__PURE__ */ jsx40("div", { className: cn("relative", className), children: /* @__PURE__ */ jsx40(
|
|
9907
10168
|
Input,
|
|
9908
10169
|
{
|
|
9909
10170
|
onChange: (e) => {
|
|
@@ -9912,7 +10173,7 @@ function SearchInput({
|
|
|
9912
10173
|
},
|
|
9913
10174
|
placeholder,
|
|
9914
10175
|
prefixNode: {
|
|
9915
|
-
node: /* @__PURE__ */
|
|
10176
|
+
node: /* @__PURE__ */ jsx40(SearchIcon2, { className: "text-element-inverse-default" }),
|
|
9916
10177
|
withBorder: false
|
|
9917
10178
|
},
|
|
9918
10179
|
value: inputValue,
|
|
@@ -9925,7 +10186,7 @@ function SearchInput({
|
|
|
9925
10186
|
// src/ui/SelectHover/index.tsx
|
|
9926
10187
|
import { Check as Check2 } from "lucide-react";
|
|
9927
10188
|
import * as React14 from "react";
|
|
9928
|
-
import { jsx as
|
|
10189
|
+
import { jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
9929
10190
|
function SelectHover({
|
|
9930
10191
|
options,
|
|
9931
10192
|
placeholder = "Select an option",
|
|
@@ -9952,15 +10213,15 @@ function SelectHover({
|
|
|
9952
10213
|
setIsOpen(false);
|
|
9953
10214
|
}, 300);
|
|
9954
10215
|
};
|
|
9955
|
-
return /* @__PURE__ */
|
|
9956
|
-
/* @__PURE__ */
|
|
9957
|
-
/* @__PURE__ */
|
|
10216
|
+
return /* @__PURE__ */ jsx41(Popover, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ jsxs31("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [
|
|
10217
|
+
/* @__PURE__ */ jsx41(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx41(Button, { role: "combobox", "aria-expanded": isOpen, className, children: /* @__PURE__ */ jsx41("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }) }) }),
|
|
10218
|
+
/* @__PURE__ */ jsx41(
|
|
9958
10219
|
PopoverContent,
|
|
9959
10220
|
{
|
|
9960
10221
|
className: "bg-surface-bg-container w-full rounded-3xl border-none p-2 shadow-md",
|
|
9961
10222
|
onMouseEnter: handleMouseEnter,
|
|
9962
10223
|
onMouseLeave: handleMouseLeave,
|
|
9963
|
-
children: /* @__PURE__ */
|
|
10224
|
+
children: /* @__PURE__ */ jsx41("div", { className: "flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto", children: options.map((option) => /* @__PURE__ */ jsxs31(
|
|
9964
10225
|
"button",
|
|
9965
10226
|
{
|
|
9966
10227
|
className: cn(
|
|
@@ -9969,8 +10230,8 @@ function SelectHover({
|
|
|
9969
10230
|
),
|
|
9970
10231
|
onClick: () => handleSelect(option.value),
|
|
9971
10232
|
children: [
|
|
9972
|
-
/* @__PURE__ */
|
|
9973
|
-
value === option.value && /* @__PURE__ */
|
|
10233
|
+
/* @__PURE__ */ jsx41("span", { className: "flex-1", children: option.label }),
|
|
10234
|
+
value === option.value && /* @__PURE__ */ jsx41(Check2, { className: "text-icon-secondary ml-2 h-4 w-4" })
|
|
9974
10235
|
]
|
|
9975
10236
|
},
|
|
9976
10237
|
option.value
|
|
@@ -9983,7 +10244,7 @@ function SelectHover({
|
|
|
9983
10244
|
// src/ui/SelectInput/index.tsx
|
|
9984
10245
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
9985
10246
|
import { CheckIcon as CheckIcon4, ChevronDownIcon as ChevronDownIcon3, ChevronUpIcon } from "lucide-react";
|
|
9986
|
-
import { jsx as
|
|
10247
|
+
import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
9987
10248
|
function SelectInput({
|
|
9988
10249
|
defaultValue,
|
|
9989
10250
|
options,
|
|
@@ -9996,8 +10257,8 @@ function SelectInput({
|
|
|
9996
10257
|
itemProps,
|
|
9997
10258
|
...props
|
|
9998
10259
|
}) {
|
|
9999
|
-
return /* @__PURE__ */
|
|
10000
|
-
/* @__PURE__ */
|
|
10260
|
+
return /* @__PURE__ */ jsxs32(BaseSelect, { onValueChange: onChange, defaultValue, ...props, children: [
|
|
10261
|
+
/* @__PURE__ */ jsx42(
|
|
10001
10262
|
BaseSelectTrigger,
|
|
10002
10263
|
{
|
|
10003
10264
|
withArrow,
|
|
@@ -10005,7 +10266,7 @@ function SelectInput({
|
|
|
10005
10266
|
"aria-invalid": props["aria-invalid"],
|
|
10006
10267
|
className: cn("w-full cursor-pointer", className),
|
|
10007
10268
|
variant,
|
|
10008
|
-
children: /* @__PURE__ */
|
|
10269
|
+
children: /* @__PURE__ */ jsx42(
|
|
10009
10270
|
BaseSelectValue,
|
|
10010
10271
|
{
|
|
10011
10272
|
className: "flex-1",
|
|
@@ -10014,7 +10275,7 @@ function SelectInput({
|
|
|
10014
10275
|
)
|
|
10015
10276
|
}
|
|
10016
10277
|
),
|
|
10017
|
-
/* @__PURE__ */
|
|
10278
|
+
/* @__PURE__ */ jsx42(
|
|
10018
10279
|
BaseSelectContent,
|
|
10019
10280
|
{
|
|
10020
10281
|
...contentProps,
|
|
@@ -10022,7 +10283,7 @@ function SelectInput({
|
|
|
10022
10283
|
"border-stroke-inverse-slate-02 border",
|
|
10023
10284
|
contentProps?.className
|
|
10024
10285
|
),
|
|
10025
|
-
children: options.map((option) => /* @__PURE__ */
|
|
10286
|
+
children: options.map((option) => /* @__PURE__ */ jsxs32(
|
|
10026
10287
|
BaseSelectItem,
|
|
10027
10288
|
{
|
|
10028
10289
|
value: option.value,
|
|
@@ -10042,12 +10303,12 @@ function SelectInput({
|
|
|
10042
10303
|
function BaseSelect({
|
|
10043
10304
|
...props
|
|
10044
10305
|
}) {
|
|
10045
|
-
return /* @__PURE__ */
|
|
10306
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
10046
10307
|
}
|
|
10047
10308
|
function BaseSelectValue({
|
|
10048
10309
|
...props
|
|
10049
10310
|
}) {
|
|
10050
|
-
return /* @__PURE__ */
|
|
10311
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
10051
10312
|
}
|
|
10052
10313
|
function BaseSelectTrigger({
|
|
10053
10314
|
className,
|
|
@@ -10057,7 +10318,7 @@ function BaseSelectTrigger({
|
|
|
10057
10318
|
children,
|
|
10058
10319
|
...props
|
|
10059
10320
|
}) {
|
|
10060
|
-
return /* @__PURE__ */
|
|
10321
|
+
return /* @__PURE__ */ jsxs32(
|
|
10061
10322
|
SelectPrimitive.Trigger,
|
|
10062
10323
|
{
|
|
10063
10324
|
"data-slot": "select-trigger",
|
|
@@ -10078,7 +10339,7 @@ function BaseSelectTrigger({
|
|
|
10078
10339
|
...props,
|
|
10079
10340
|
children: [
|
|
10080
10341
|
children,
|
|
10081
|
-
withArrow && /* @__PURE__ */
|
|
10342
|
+
withArrow && /* @__PURE__ */ jsx42(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx42(ChevronDownIcon3, { className: "text-icon-default size-4" }) })
|
|
10082
10343
|
]
|
|
10083
10344
|
}
|
|
10084
10345
|
);
|
|
@@ -10089,7 +10350,7 @@ function BaseSelectContent({
|
|
|
10089
10350
|
position = "popper",
|
|
10090
10351
|
...props
|
|
10091
10352
|
}) {
|
|
10092
|
-
return /* @__PURE__ */
|
|
10353
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs32(
|
|
10093
10354
|
SelectPrimitive.Content,
|
|
10094
10355
|
{
|
|
10095
10356
|
"data-slot": "select-content",
|
|
@@ -10101,8 +10362,8 @@ function BaseSelectContent({
|
|
|
10101
10362
|
position,
|
|
10102
10363
|
...props,
|
|
10103
10364
|
children: [
|
|
10104
|
-
/* @__PURE__ */
|
|
10105
|
-
/* @__PURE__ */
|
|
10365
|
+
/* @__PURE__ */ jsx42(BaseSelectScrollUpButton, {}),
|
|
10366
|
+
/* @__PURE__ */ jsx42(
|
|
10106
10367
|
SelectPrimitive.Viewport,
|
|
10107
10368
|
{
|
|
10108
10369
|
className: cn(
|
|
@@ -10112,7 +10373,7 @@ function BaseSelectContent({
|
|
|
10112
10373
|
children
|
|
10113
10374
|
}
|
|
10114
10375
|
),
|
|
10115
|
-
/* @__PURE__ */
|
|
10376
|
+
/* @__PURE__ */ jsx42(BaseSelectScrollDownButton, {})
|
|
10116
10377
|
]
|
|
10117
10378
|
}
|
|
10118
10379
|
) });
|
|
@@ -10122,7 +10383,7 @@ function BaseSelectItem({
|
|
|
10122
10383
|
children,
|
|
10123
10384
|
...props
|
|
10124
10385
|
}) {
|
|
10125
|
-
return /* @__PURE__ */
|
|
10386
|
+
return /* @__PURE__ */ jsxs32(
|
|
10126
10387
|
SelectPrimitive.Item,
|
|
10127
10388
|
{
|
|
10128
10389
|
"data-slot": "select-item",
|
|
@@ -10132,8 +10393,8 @@ function BaseSelectItem({
|
|
|
10132
10393
|
),
|
|
10133
10394
|
...props,
|
|
10134
10395
|
children: [
|
|
10135
|
-
/* @__PURE__ */
|
|
10136
|
-
/* @__PURE__ */
|
|
10396
|
+
/* @__PURE__ */ jsx42("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx42(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx42(CheckIcon4, { className: "text-icon-secondary size-4" }) }) }),
|
|
10397
|
+
/* @__PURE__ */ jsx42(SelectPrimitive.ItemText, { children })
|
|
10137
10398
|
]
|
|
10138
10399
|
}
|
|
10139
10400
|
);
|
|
@@ -10142,7 +10403,7 @@ function BaseSelectScrollUpButton({
|
|
|
10142
10403
|
className,
|
|
10143
10404
|
...props
|
|
10144
10405
|
}) {
|
|
10145
|
-
return /* @__PURE__ */
|
|
10406
|
+
return /* @__PURE__ */ jsx42(
|
|
10146
10407
|
SelectPrimitive.ScrollUpButton,
|
|
10147
10408
|
{
|
|
10148
10409
|
"data-slot": "select-scroll-up-button",
|
|
@@ -10151,7 +10412,7 @@ function BaseSelectScrollUpButton({
|
|
|
10151
10412
|
className
|
|
10152
10413
|
),
|
|
10153
10414
|
...props,
|
|
10154
|
-
children: /* @__PURE__ */
|
|
10415
|
+
children: /* @__PURE__ */ jsx42(ChevronUpIcon, { className: "size-4" })
|
|
10155
10416
|
}
|
|
10156
10417
|
);
|
|
10157
10418
|
}
|
|
@@ -10159,7 +10420,7 @@ function BaseSelectScrollDownButton({
|
|
|
10159
10420
|
className,
|
|
10160
10421
|
...props
|
|
10161
10422
|
}) {
|
|
10162
|
-
return /* @__PURE__ */
|
|
10423
|
+
return /* @__PURE__ */ jsx42(
|
|
10163
10424
|
SelectPrimitive.ScrollDownButton,
|
|
10164
10425
|
{
|
|
10165
10426
|
"data-slot": "select-scroll-down-button",
|
|
@@ -10168,7 +10429,7 @@ function BaseSelectScrollDownButton({
|
|
|
10168
10429
|
className
|
|
10169
10430
|
),
|
|
10170
10431
|
...props,
|
|
10171
|
-
children: /* @__PURE__ */
|
|
10432
|
+
children: /* @__PURE__ */ jsx42(ChevronDownIcon3, { className: "size-4" })
|
|
10172
10433
|
}
|
|
10173
10434
|
);
|
|
10174
10435
|
}
|
|
@@ -10176,15 +10437,15 @@ function BaseSelectScrollDownButton({
|
|
|
10176
10437
|
// src/ui/Sheet/index.tsx
|
|
10177
10438
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
10178
10439
|
import { XIcon as XIcon3 } from "lucide-react";
|
|
10179
|
-
import { jsx as
|
|
10440
|
+
import { jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
10180
10441
|
function Sheet({ ...props }) {
|
|
10181
|
-
return /* @__PURE__ */
|
|
10442
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
10182
10443
|
}
|
|
10183
10444
|
|
|
10184
10445
|
// src/ui/Skeleton/index.tsx
|
|
10185
|
-
import { jsx as
|
|
10446
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
10186
10447
|
function Skeleton({ className, ...props }) {
|
|
10187
|
-
return /* @__PURE__ */
|
|
10448
|
+
return /* @__PURE__ */ jsx44(
|
|
10188
10449
|
"div",
|
|
10189
10450
|
{
|
|
10190
10451
|
"data-slot": "skeleton",
|
|
@@ -10200,7 +10461,7 @@ function Skeleton({ className, ...props }) {
|
|
|
10200
10461
|
// src/ui/Slider/index.tsx
|
|
10201
10462
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
10202
10463
|
import * as React15 from "react";
|
|
10203
|
-
import { jsx as
|
|
10464
|
+
import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
10204
10465
|
function Slider({
|
|
10205
10466
|
className,
|
|
10206
10467
|
defaultValue,
|
|
@@ -10213,7 +10474,7 @@ function Slider({
|
|
|
10213
10474
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
10214
10475
|
[value, defaultValue, min, max]
|
|
10215
10476
|
);
|
|
10216
|
-
return /* @__PURE__ */
|
|
10477
|
+
return /* @__PURE__ */ jsxs34(
|
|
10217
10478
|
SliderPrimitive.Root,
|
|
10218
10479
|
{
|
|
10219
10480
|
"data-slot": "slider",
|
|
@@ -10227,14 +10488,14 @@ function Slider({
|
|
|
10227
10488
|
),
|
|
10228
10489
|
...props,
|
|
10229
10490
|
children: [
|
|
10230
|
-
/* @__PURE__ */
|
|
10491
|
+
/* @__PURE__ */ jsx45(
|
|
10231
10492
|
SliderPrimitive.Track,
|
|
10232
10493
|
{
|
|
10233
10494
|
"data-slot": "slider-track",
|
|
10234
10495
|
className: cn(
|
|
10235
10496
|
"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"
|
|
10236
10497
|
),
|
|
10237
|
-
children: /* @__PURE__ */
|
|
10498
|
+
children: /* @__PURE__ */ jsx45(
|
|
10238
10499
|
SliderPrimitive.Range,
|
|
10239
10500
|
{
|
|
10240
10501
|
"data-slot": "slider-range",
|
|
@@ -10245,7 +10506,7 @@ function Slider({
|
|
|
10245
10506
|
)
|
|
10246
10507
|
}
|
|
10247
10508
|
),
|
|
10248
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */
|
|
10509
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx45(
|
|
10249
10510
|
SliderPrimitive.Thumb,
|
|
10250
10511
|
{
|
|
10251
10512
|
"data-slot": "slider-thumb",
|
|
@@ -10261,10 +10522,10 @@ function Slider({
|
|
|
10261
10522
|
// src/ui/Sooner/index.tsx
|
|
10262
10523
|
import { useTheme } from "next-themes";
|
|
10263
10524
|
import { Toaster as Sonner } from "sonner";
|
|
10264
|
-
import { jsx as
|
|
10525
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
10265
10526
|
var Toaster = ({ ...props }) => {
|
|
10266
10527
|
const { theme = "system" } = useTheme();
|
|
10267
|
-
return /* @__PURE__ */
|
|
10528
|
+
return /* @__PURE__ */ jsx46(
|
|
10268
10529
|
Sonner,
|
|
10269
10530
|
{
|
|
10270
10531
|
theme,
|
|
@@ -10281,14 +10542,14 @@ var Toaster = ({ ...props }) => {
|
|
|
10281
10542
|
|
|
10282
10543
|
// src/ui/Switch/index.tsx
|
|
10283
10544
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
10284
|
-
import { jsx as
|
|
10545
|
+
import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
10285
10546
|
function Switch({
|
|
10286
10547
|
className,
|
|
10287
10548
|
label,
|
|
10288
10549
|
...props
|
|
10289
10550
|
}) {
|
|
10290
|
-
return /* @__PURE__ */
|
|
10291
|
-
/* @__PURE__ */
|
|
10551
|
+
return /* @__PURE__ */ jsxs35("div", { className: "flex items-center space-x-2", children: [
|
|
10552
|
+
/* @__PURE__ */ jsx47(
|
|
10292
10553
|
SwitchPrimitive.Root,
|
|
10293
10554
|
{
|
|
10294
10555
|
"data-slot": "switch",
|
|
@@ -10298,7 +10559,7 @@ function Switch({
|
|
|
10298
10559
|
className
|
|
10299
10560
|
),
|
|
10300
10561
|
...props,
|
|
10301
|
-
children: /* @__PURE__ */
|
|
10562
|
+
children: /* @__PURE__ */ jsx47(
|
|
10302
10563
|
SwitchPrimitive.Thumb,
|
|
10303
10564
|
{
|
|
10304
10565
|
"data-slot": "switch-thumb",
|
|
@@ -10309,7 +10570,7 @@ function Switch({
|
|
|
10309
10570
|
)
|
|
10310
10571
|
}
|
|
10311
10572
|
),
|
|
10312
|
-
label && /* @__PURE__ */
|
|
10573
|
+
label && /* @__PURE__ */ jsx47(Label2, { htmlFor: props.id || label, children: label })
|
|
10313
10574
|
] });
|
|
10314
10575
|
}
|
|
10315
10576
|
|
|
@@ -10332,8 +10593,8 @@ import {
|
|
|
10332
10593
|
MagickoCopySuccess
|
|
10333
10594
|
} from "magick-icons";
|
|
10334
10595
|
import * as React16 from "react";
|
|
10335
|
-
import { useState as
|
|
10336
|
-
import { Fragment as
|
|
10596
|
+
import { useState as useState12 } from "react";
|
|
10597
|
+
import { Fragment as Fragment7, jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
10337
10598
|
var Table = ({
|
|
10338
10599
|
columns,
|
|
10339
10600
|
tableData,
|
|
@@ -10341,7 +10602,7 @@ var Table = ({
|
|
|
10341
10602
|
emptyState = {
|
|
10342
10603
|
emptyAction: void 0,
|
|
10343
10604
|
label: "There is currently no data available to display in this table.",
|
|
10344
|
-
icon: /* @__PURE__ */
|
|
10605
|
+
icon: /* @__PURE__ */ jsx48(IconProfile, { icon: /* @__PURE__ */ jsx48(IconsaxBriefcaseBold, {}), color: "teal" })
|
|
10345
10606
|
},
|
|
10346
10607
|
onRowClick
|
|
10347
10608
|
}) => {
|
|
@@ -10353,41 +10614,41 @@ var Table = ({
|
|
|
10353
10614
|
getSortedRowModel: getSortedRowModel()
|
|
10354
10615
|
});
|
|
10355
10616
|
const rowCount = table.getRowModel().rows.length;
|
|
10356
|
-
return /* @__PURE__ */
|
|
10357
|
-
isLoading ? /* @__PURE__ */
|
|
10617
|
+
return /* @__PURE__ */ jsxs36("div", { className: "relative flex flex-col overflow-auto", children: [
|
|
10618
|
+
isLoading ? /* @__PURE__ */ jsx48(
|
|
10358
10619
|
"div",
|
|
10359
10620
|
{
|
|
10360
10621
|
className: cn(
|
|
10361
10622
|
rowCount === 0 ? "" : "bg-gray-100 dark:bg-gray-700",
|
|
10362
10623
|
"absolute top-10 left-0 w-full h-full min-h-[100px] opacity-70 z-10 flex items-center justify-center"
|
|
10363
10624
|
),
|
|
10364
|
-
children: /* @__PURE__ */
|
|
10625
|
+
children: /* @__PURE__ */ jsx48(Spinner, { className: "size-10 text-stroke-inverse-slate-04 " })
|
|
10365
10626
|
}
|
|
10366
10627
|
) : null,
|
|
10367
|
-
!isLoading && rowCount === 0 ? /* @__PURE__ */
|
|
10628
|
+
!isLoading && rowCount === 0 ? /* @__PURE__ */ jsx48("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2", children: /* @__PURE__ */ jsxs36("div", { className: "flex flex-col items-center gap-4", children: [
|
|
10368
10629
|
emptyState?.icon,
|
|
10369
|
-
/* @__PURE__ */
|
|
10370
|
-
emptyState?.emptyAction ? /* @__PURE__ */
|
|
10630
|
+
/* @__PURE__ */ jsx48(Text, { children: emptyState?.label }),
|
|
10631
|
+
emptyState?.emptyAction ? /* @__PURE__ */ jsx48(
|
|
10371
10632
|
Button,
|
|
10372
10633
|
{
|
|
10373
10634
|
variant: "outline",
|
|
10374
|
-
prefix: /* @__PURE__ */
|
|
10635
|
+
prefix: /* @__PURE__ */ jsx48(MagickoAdd, { className: "[&_path]:fill-element-inverse-default" }),
|
|
10375
10636
|
onClick: () => emptyState?.emptyAction?.(),
|
|
10376
10637
|
children: "Create new"
|
|
10377
10638
|
}
|
|
10378
10639
|
) : null
|
|
10379
10640
|
] }) }) : null,
|
|
10380
|
-
/* @__PURE__ */
|
|
10641
|
+
/* @__PURE__ */ jsx48("div", { className: "max-w-full flex-1 overflow-x-auto", children: /* @__PURE__ */ jsxs36(
|
|
10381
10642
|
"table",
|
|
10382
10643
|
{
|
|
10383
10644
|
className: "w-full caption-bottom text-sm",
|
|
10384
10645
|
style: { minWidth: "max-content" },
|
|
10385
10646
|
children: [
|
|
10386
|
-
/* @__PURE__ */
|
|
10647
|
+
/* @__PURE__ */ jsx48("thead", { className: "bg-fill-inverse-slate-03", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx48(
|
|
10387
10648
|
"tr",
|
|
10388
10649
|
{
|
|
10389
10650
|
className: "hover:bg-muted/50 border-stroke-inverse-slate-02 border-b transition-colors",
|
|
10390
|
-
children: headerGroup.headers.map((header) => /* @__PURE__ */
|
|
10651
|
+
children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx48(
|
|
10391
10652
|
"th",
|
|
10392
10653
|
{
|
|
10393
10654
|
className: "text-muted-foreground h-12 px-4 text-left align-middle font-medium",
|
|
@@ -10401,14 +10662,14 @@ var Table = ({
|
|
|
10401
10662
|
},
|
|
10402
10663
|
headerGroup.id
|
|
10403
10664
|
)) }),
|
|
10404
|
-
/* @__PURE__ */
|
|
10665
|
+
/* @__PURE__ */ jsxs36("tbody", { className: "relative", children: [
|
|
10405
10666
|
table.getRowModel().rows.map((row) => {
|
|
10406
|
-
return /* @__PURE__ */
|
|
10667
|
+
return /* @__PURE__ */ jsx48(
|
|
10407
10668
|
"tr",
|
|
10408
10669
|
{
|
|
10409
10670
|
className: "hover:bg-muted/50 bg-table-table-cell-unselected group/row border-stroke-inverse-slate-02 cursor-pointer border-b transition-colors",
|
|
10410
10671
|
onClick: () => onRowClick?.(row.original),
|
|
10411
|
-
children: row.getVisibleCells().map((cell) => /* @__PURE__ */
|
|
10672
|
+
children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx48("td", { className: "p-4", children: flexRender(
|
|
10412
10673
|
cell.column.columnDef.cell,
|
|
10413
10674
|
cell.getContext()
|
|
10414
10675
|
) }, cell.id))
|
|
@@ -10416,7 +10677,7 @@ var Table = ({
|
|
|
10416
10677
|
row.id
|
|
10417
10678
|
);
|
|
10418
10679
|
}),
|
|
10419
|
-
rowCount === 0 && Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */
|
|
10680
|
+
rowCount === 0 && Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx48("tr", { children: /* @__PURE__ */ jsx48("td", { colSpan: columns.length, className: "h-12 p-4", children: /* @__PURE__ */ jsx48("div", { className: "" }) }) }, index))
|
|
10420
10681
|
] })
|
|
10421
10682
|
]
|
|
10422
10683
|
}
|
|
@@ -10451,13 +10712,13 @@ var PrimaryCell = React16.forwardRef(
|
|
|
10451
10712
|
}, ref) => {
|
|
10452
10713
|
let content = children;
|
|
10453
10714
|
if (variant === "badge") {
|
|
10454
|
-
content = /* @__PURE__ */
|
|
10715
|
+
content = /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2", children: [
|
|
10455
10716
|
children,
|
|
10456
|
-
badgeContent && /* @__PURE__ */
|
|
10717
|
+
badgeContent && /* @__PURE__ */ jsx48(Badge, { type: badgeType, size: badgeSize, children: badgeContent })
|
|
10457
10718
|
] });
|
|
10458
10719
|
} else if (variant === "progress") {
|
|
10459
|
-
content = /* @__PURE__ */
|
|
10460
|
-
progressValue !== 100 && /* @__PURE__ */
|
|
10720
|
+
content = /* @__PURE__ */ jsxs36(Fragment7, { children: [
|
|
10721
|
+
progressValue !== 100 && /* @__PURE__ */ jsx48(
|
|
10461
10722
|
ProgressIndicator,
|
|
10462
10723
|
{
|
|
10463
10724
|
variant: "circle",
|
|
@@ -10466,23 +10727,23 @@ var PrimaryCell = React16.forwardRef(
|
|
|
10466
10727
|
showPercentage: showProgressPercentage
|
|
10467
10728
|
}
|
|
10468
10729
|
),
|
|
10469
|
-
children && /* @__PURE__ */
|
|
10730
|
+
children && /* @__PURE__ */ jsx48("span", { className: "text-body-sm text-element-inverse-default", children })
|
|
10470
10731
|
] });
|
|
10471
10732
|
} else if (variant === "error") {
|
|
10472
|
-
content = /* @__PURE__ */
|
|
10473
|
-
/* @__PURE__ */
|
|
10474
|
-
errorMessage ? /* @__PURE__ */
|
|
10733
|
+
content = /* @__PURE__ */ jsxs36(Fragment7, { children: [
|
|
10734
|
+
/* @__PURE__ */ jsx48(AlertCircle, { className: "size-4 shrink-0" }),
|
|
10735
|
+
errorMessage ? /* @__PURE__ */ jsx48("span", { className: "text-body-sm", children: errorMessage }) : children
|
|
10475
10736
|
] });
|
|
10476
10737
|
}
|
|
10477
|
-
return /* @__PURE__ */
|
|
10738
|
+
return /* @__PURE__ */ jsxs36(
|
|
10478
10739
|
"div",
|
|
10479
10740
|
{
|
|
10480
10741
|
ref,
|
|
10481
10742
|
className: cn(primaryCellVariants({ variant })),
|
|
10482
10743
|
...props,
|
|
10483
10744
|
children: [
|
|
10484
|
-
/* @__PURE__ */
|
|
10485
|
-
hoverUI && /* @__PURE__ */
|
|
10745
|
+
/* @__PURE__ */ jsx48("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: content }),
|
|
10746
|
+
hoverUI && /* @__PURE__ */ jsx48("div", { className: "ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100", children: hoverUI })
|
|
10486
10747
|
]
|
|
10487
10748
|
}
|
|
10488
10749
|
);
|
|
@@ -10491,7 +10752,7 @@ var PrimaryCell = React16.forwardRef(
|
|
|
10491
10752
|
PrimaryCell.displayName = "PrimaryCell";
|
|
10492
10753
|
Table.PrimaryCell = PrimaryCell;
|
|
10493
10754
|
var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props }, ref) => {
|
|
10494
|
-
const [isCopied, setIsCopied] =
|
|
10755
|
+
const [isCopied, setIsCopied] = useState12(false);
|
|
10495
10756
|
const [hoverRef, isHovering] = useHover();
|
|
10496
10757
|
const handleCopy = () => {
|
|
10497
10758
|
navigator.clipboard.writeText(text);
|
|
@@ -10504,11 +10765,11 @@ var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props
|
|
|
10504
10765
|
}, 1200);
|
|
10505
10766
|
}
|
|
10506
10767
|
}, [isCopied]);
|
|
10507
|
-
return /* @__PURE__ */
|
|
10508
|
-
copyable && isHovering && /* @__PURE__ */
|
|
10768
|
+
return /* @__PURE__ */ jsx48("div", { className: cn("w-full h-full", className), ref, ...props, children: /* @__PURE__ */ jsxs36("div", { className: "relative", ref: hoverRef, children: [
|
|
10769
|
+
copyable && isHovering && /* @__PURE__ */ jsx48(
|
|
10509
10770
|
IconButton,
|
|
10510
10771
|
{
|
|
10511
|
-
icon: isCopied ? /* @__PURE__ */
|
|
10772
|
+
icon: isCopied ? /* @__PURE__ */ jsx48(
|
|
10512
10773
|
MagickoCopySuccess,
|
|
10513
10774
|
{
|
|
10514
10775
|
className: cn(
|
|
@@ -10516,16 +10777,16 @@ var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props
|
|
|
10516
10777
|
"transition-all ease-in duration-200"
|
|
10517
10778
|
)
|
|
10518
10779
|
}
|
|
10519
|
-
) : /* @__PURE__ */
|
|
10780
|
+
) : /* @__PURE__ */ jsx48(MagickoCopy, { className: "size-4" }),
|
|
10520
10781
|
className: "absolute top-1/2 -right-3 -translate-y-1/2",
|
|
10521
10782
|
size: "sm",
|
|
10522
10783
|
varient: "soft",
|
|
10523
10784
|
onClick: handleCopy
|
|
10524
10785
|
}
|
|
10525
10786
|
),
|
|
10526
|
-
/* @__PURE__ */
|
|
10527
|
-
/* @__PURE__ */
|
|
10528
|
-
/* @__PURE__ */
|
|
10787
|
+
/* @__PURE__ */ jsxs36(Popover, { children: [
|
|
10788
|
+
/* @__PURE__ */ jsx48(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx48(Text, { className: "truncate line-clamp-1", children: text ?? "-" }) }),
|
|
10789
|
+
/* @__PURE__ */ jsx48(PopoverContent, { className: "", children: /* @__PURE__ */ jsx48(Text, { children: text ?? "-" }) })
|
|
10529
10790
|
] })
|
|
10530
10791
|
] }) });
|
|
10531
10792
|
});
|
|
@@ -10535,7 +10796,7 @@ var Table_default = Table;
|
|
|
10535
10796
|
|
|
10536
10797
|
// src/ui/Tabs/index.tsx
|
|
10537
10798
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
10538
|
-
import { jsx as
|
|
10799
|
+
import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
10539
10800
|
function Tabs({
|
|
10540
10801
|
defaultActiveTab,
|
|
10541
10802
|
tabSmall,
|
|
@@ -10544,8 +10805,8 @@ function Tabs({
|
|
|
10544
10805
|
showContent = true,
|
|
10545
10806
|
...props
|
|
10546
10807
|
}) {
|
|
10547
|
-
return /* @__PURE__ */
|
|
10548
|
-
/* @__PURE__ */
|
|
10808
|
+
return /* @__PURE__ */ jsxs37(BaseTabs, { defaultValue: defaultActiveTab, className, ...props, children: [
|
|
10809
|
+
/* @__PURE__ */ jsx49(BaseTabsList, { children: tabs.map((tab) => /* @__PURE__ */ jsxs37(
|
|
10549
10810
|
BaseTabsTrigger,
|
|
10550
10811
|
{
|
|
10551
10812
|
tabSmall,
|
|
@@ -10553,22 +10814,22 @@ function Tabs({
|
|
|
10553
10814
|
className: "relative flex cursor-pointer items-center justify-center gap-x-2",
|
|
10554
10815
|
onClick: typeof tab === "object" && "onClick" in tab ? tab.onClick : void 0,
|
|
10555
10816
|
children: [
|
|
10556
|
-
tab.icon && /* @__PURE__ */
|
|
10817
|
+
tab.icon && /* @__PURE__ */ jsx49("div", { children: tab.icon }),
|
|
10557
10818
|
tab.label,
|
|
10558
|
-
tab.notification && /* @__PURE__ */
|
|
10559
|
-
!!tab.count && /* @__PURE__ */
|
|
10819
|
+
tab.notification && /* @__PURE__ */ jsx49("div", { className: "bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full" }),
|
|
10820
|
+
!!tab.count && /* @__PURE__ */ jsx49(Badge, { type: "primary-soft", children: tab.count })
|
|
10560
10821
|
]
|
|
10561
10822
|
},
|
|
10562
10823
|
tab.value
|
|
10563
10824
|
)) }),
|
|
10564
|
-
showContent && "content" in tabs[0] && tabs.map((tab) => /* @__PURE__ */
|
|
10825
|
+
showContent && "content" in tabs[0] && tabs.map((tab) => /* @__PURE__ */ jsx49(BaseTabsContent, { value: tab.value, children: tab.content }, tab.value))
|
|
10565
10826
|
] });
|
|
10566
10827
|
}
|
|
10567
10828
|
function BaseTabs({
|
|
10568
10829
|
className,
|
|
10569
10830
|
...props
|
|
10570
10831
|
}) {
|
|
10571
|
-
return /* @__PURE__ */
|
|
10832
|
+
return /* @__PURE__ */ jsx49(
|
|
10572
10833
|
TabsPrimitive.Root,
|
|
10573
10834
|
{
|
|
10574
10835
|
"data-slot": "tabs",
|
|
@@ -10581,7 +10842,7 @@ function BaseTabsList({
|
|
|
10581
10842
|
className,
|
|
10582
10843
|
...props
|
|
10583
10844
|
}) {
|
|
10584
|
-
return /* @__PURE__ */
|
|
10845
|
+
return /* @__PURE__ */ jsx49(
|
|
10585
10846
|
TabsPrimitive.List,
|
|
10586
10847
|
{
|
|
10587
10848
|
"data-slot": "tabs-list",
|
|
@@ -10598,7 +10859,7 @@ function BaseTabsTrigger({
|
|
|
10598
10859
|
tabSmall,
|
|
10599
10860
|
...props
|
|
10600
10861
|
}) {
|
|
10601
|
-
return /* @__PURE__ */
|
|
10862
|
+
return /* @__PURE__ */ jsx49(
|
|
10602
10863
|
TabsPrimitive.Trigger,
|
|
10603
10864
|
{
|
|
10604
10865
|
"data-slot": "tabs-trigger",
|
|
@@ -10615,7 +10876,7 @@ function BaseTabsContent({
|
|
|
10615
10876
|
className,
|
|
10616
10877
|
...props
|
|
10617
10878
|
}) {
|
|
10618
|
-
return /* @__PURE__ */
|
|
10879
|
+
return /* @__PURE__ */ jsx49(
|
|
10619
10880
|
TabsPrimitive.Content,
|
|
10620
10881
|
{
|
|
10621
10882
|
"data-slot": "tabs-content",
|
|
@@ -10627,7 +10888,7 @@ function BaseTabsContent({
|
|
|
10627
10888
|
|
|
10628
10889
|
// src/ui/Tag/index.tsx
|
|
10629
10890
|
import { cva as cva12 } from "class-variance-authority";
|
|
10630
|
-
import { jsx as
|
|
10891
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
10631
10892
|
var tagVariants = cva12("px-1 rounded-sm", {
|
|
10632
10893
|
variants: {
|
|
10633
10894
|
variant: {
|
|
@@ -10645,14 +10906,14 @@ function Tag({
|
|
|
10645
10906
|
variant,
|
|
10646
10907
|
className
|
|
10647
10908
|
}) {
|
|
10648
|
-
return /* @__PURE__ */
|
|
10909
|
+
return /* @__PURE__ */ jsx50("div", { "data-slot": "tag", className: cn(tagVariants({ variant }), className), children: /* @__PURE__ */ jsx50("span", { className: "text-caption font-semibold text-white", children: label }) });
|
|
10649
10910
|
}
|
|
10650
10911
|
|
|
10651
10912
|
// src/ui/TextAreaInput/index.tsx
|
|
10652
10913
|
import * as React17 from "react";
|
|
10653
|
-
import { jsx as
|
|
10914
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
10654
10915
|
var TextareaInput = React17.forwardRef(({ className, label, ...props }, ref) => {
|
|
10655
|
-
return /* @__PURE__ */
|
|
10916
|
+
return /* @__PURE__ */ jsx51(
|
|
10656
10917
|
"textarea",
|
|
10657
10918
|
{
|
|
10658
10919
|
ref,
|
|
@@ -10672,8 +10933,8 @@ var TextAreaInput_default = TextareaInput;
|
|
|
10672
10933
|
|
|
10673
10934
|
// src/ui/TimePicker/index.tsx
|
|
10674
10935
|
import { Clock } from "lucide-react";
|
|
10675
|
-
import { useState as
|
|
10676
|
-
import { jsx as
|
|
10936
|
+
import { useState as useState13 } from "react";
|
|
10937
|
+
import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
10677
10938
|
function TimePicker({
|
|
10678
10939
|
label,
|
|
10679
10940
|
onValueChange,
|
|
@@ -10682,7 +10943,7 @@ function TimePicker({
|
|
|
10682
10943
|
value,
|
|
10683
10944
|
...props
|
|
10684
10945
|
}) {
|
|
10685
|
-
const [isOpen, setIsOpen] =
|
|
10946
|
+
const [isOpen, setIsOpen] = useState13(false);
|
|
10686
10947
|
const currentValue = value || defaultValue || "";
|
|
10687
10948
|
const formatTimeForDisplay = (timeValue) => {
|
|
10688
10949
|
if (!timeValue) return "";
|
|
@@ -10694,10 +10955,10 @@ function TimePicker({
|
|
|
10694
10955
|
const handleChange = (value2) => {
|
|
10695
10956
|
onValueChange?.(value2);
|
|
10696
10957
|
};
|
|
10697
|
-
return /* @__PURE__ */
|
|
10698
|
-
label && /* @__PURE__ */
|
|
10699
|
-
/* @__PURE__ */
|
|
10700
|
-
/* @__PURE__ */
|
|
10958
|
+
return /* @__PURE__ */ jsxs38("div", { className: "flex flex-col gap-3", children: [
|
|
10959
|
+
label && /* @__PURE__ */ jsx52(Label2, { htmlFor: "time-picker", className: "px-1", children: "Time" }),
|
|
10960
|
+
/* @__PURE__ */ jsxs38(DropdownMenu, { open: isOpen, onOpenChange: setIsOpen, children: [
|
|
10961
|
+
/* @__PURE__ */ jsx52(DropdownMenuTrigger, { className: "!p-0", children: /* @__PURE__ */ jsx52(
|
|
10701
10962
|
Input,
|
|
10702
10963
|
{
|
|
10703
10964
|
...props,
|
|
@@ -10705,17 +10966,17 @@ function TimePicker({
|
|
|
10705
10966
|
value: currentValue ? formatTimeForDisplay(currentValue) : "",
|
|
10706
10967
|
onKeyDown: (e) => e.preventDefault(),
|
|
10707
10968
|
prefixNode: {
|
|
10708
|
-
node: /* @__PURE__ */
|
|
10969
|
+
node: /* @__PURE__ */ jsx52(Clock, { className: "pointer-events-none h-5 w-5 text-gray-700" }),
|
|
10709
10970
|
withBorder: false
|
|
10710
10971
|
}
|
|
10711
10972
|
}
|
|
10712
10973
|
) }),
|
|
10713
|
-
/* @__PURE__ */
|
|
10974
|
+
/* @__PURE__ */ jsx52(
|
|
10714
10975
|
DropdownMenuContent,
|
|
10715
10976
|
{
|
|
10716
10977
|
align: "start",
|
|
10717
10978
|
className: "max-h-60 min-w-41 overflow-y-auto",
|
|
10718
|
-
children: timeOptions?.map((item) => /* @__PURE__ */
|
|
10979
|
+
children: timeOptions?.map((item) => /* @__PURE__ */ jsx52(
|
|
10719
10980
|
DropdownMenuItem,
|
|
10720
10981
|
{
|
|
10721
10982
|
className: cn(
|
|
@@ -10736,11 +10997,11 @@ function TimePicker({
|
|
|
10736
10997
|
// src/ui/Title/index.tsx
|
|
10737
10998
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
10738
10999
|
import * as React18 from "react";
|
|
10739
|
-
import { jsx as
|
|
11000
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
10740
11001
|
var Title2 = React18.forwardRef(
|
|
10741
11002
|
({ className, asChild = false, ...props }, ref) => {
|
|
10742
11003
|
const Comp = asChild ? Slot6 : "h2";
|
|
10743
|
-
return /* @__PURE__ */
|
|
11004
|
+
return /* @__PURE__ */ jsx53(
|
|
10744
11005
|
Comp,
|
|
10745
11006
|
{
|
|
10746
11007
|
ref,
|
|
@@ -10759,7 +11020,7 @@ var Title_default = Title2;
|
|
|
10759
11020
|
// src/ui/Toggle/index.tsx
|
|
10760
11021
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
10761
11022
|
import { cva as cva13 } from "class-variance-authority";
|
|
10762
|
-
import { jsx as
|
|
11023
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
10763
11024
|
var toggleVariants = cva13(
|
|
10764
11025
|
"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",
|
|
10765
11026
|
{
|
|
@@ -10794,7 +11055,7 @@ function Toggle({
|
|
|
10794
11055
|
size,
|
|
10795
11056
|
...props
|
|
10796
11057
|
}) {
|
|
10797
|
-
return /* @__PURE__ */
|
|
11058
|
+
return /* @__PURE__ */ jsx54(
|
|
10798
11059
|
TogglePrimitive.Root,
|
|
10799
11060
|
{
|
|
10800
11061
|
"data-slot": "toggle",
|
|
@@ -10811,7 +11072,7 @@ import { useRef as useRef10 } from "react";
|
|
|
10811
11072
|
// src/ui/ToggleDropdownButton/ToggleDropdownLeftButton.tsx
|
|
10812
11073
|
import { cva as cva14 } from "class-variance-authority";
|
|
10813
11074
|
import * as React19 from "react";
|
|
10814
|
-
import { jsx as
|
|
11075
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
10815
11076
|
var toggleDropdownLeftButtonVariants = cva14(
|
|
10816
11077
|
"flex items-center justify-center cursor-pointer transition-all",
|
|
10817
11078
|
{
|
|
@@ -10907,7 +11168,7 @@ function ToggleDropdownLeftButton({
|
|
|
10907
11168
|
}) {
|
|
10908
11169
|
const iconClass = selected ? "text-element-static-white fill-element-static-white" : "text-element-inverse-default fill-element-inverse-default";
|
|
10909
11170
|
const isIcon = React19.isValidElement(children);
|
|
10910
|
-
return type === "text" ? /* @__PURE__ */
|
|
11171
|
+
return type === "text" ? /* @__PURE__ */ jsx55(
|
|
10911
11172
|
"button",
|
|
10912
11173
|
{
|
|
10913
11174
|
type: "button",
|
|
@@ -10916,7 +11177,7 @@ function ToggleDropdownLeftButton({
|
|
|
10916
11177
|
className
|
|
10917
11178
|
),
|
|
10918
11179
|
...props,
|
|
10919
|
-
children: isIcon ? /* @__PURE__ */
|
|
11180
|
+
children: isIcon ? /* @__PURE__ */ jsx55(
|
|
10920
11181
|
IconContainer,
|
|
10921
11182
|
{
|
|
10922
11183
|
colorInFill: false,
|
|
@@ -10929,7 +11190,7 @@ function ToggleDropdownLeftButton({
|
|
|
10929
11190
|
}
|
|
10930
11191
|
) : children
|
|
10931
11192
|
}
|
|
10932
|
-
) : /* @__PURE__ */
|
|
11193
|
+
) : /* @__PURE__ */ jsx55(
|
|
10933
11194
|
"button",
|
|
10934
11195
|
{
|
|
10935
11196
|
type: "button",
|
|
@@ -10938,7 +11199,7 @@ function ToggleDropdownLeftButton({
|
|
|
10938
11199
|
className
|
|
10939
11200
|
),
|
|
10940
11201
|
...props,
|
|
10941
|
-
children: /* @__PURE__ */
|
|
11202
|
+
children: /* @__PURE__ */ jsx55(
|
|
10942
11203
|
IconContainer,
|
|
10943
11204
|
{
|
|
10944
11205
|
colorInFill: false,
|
|
@@ -10957,7 +11218,7 @@ function ToggleDropdownLeftButton({
|
|
|
10957
11218
|
// src/ui/ToggleDropdownButton/ToggleDropdownRightButton.tsx
|
|
10958
11219
|
import { cva as cva15 } from "class-variance-authority";
|
|
10959
11220
|
import * as React20 from "react";
|
|
10960
|
-
import { jsx as
|
|
11221
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
10961
11222
|
var toggleDropdownRightButtonVariants = cva15(
|
|
10962
11223
|
"flex items-center justify-center group cursor-pointer transition-all",
|
|
10963
11224
|
{
|
|
@@ -11053,7 +11314,7 @@ function ToggleDropdownRightButton({
|
|
|
11053
11314
|
}) {
|
|
11054
11315
|
const iconClass = selected ? "text-element-static-white fill-element-static-white" : "text-element-inverse-default fill-element-inverse-default";
|
|
11055
11316
|
const isIcon = React20.isValidElement(children);
|
|
11056
|
-
return type === "text" ? /* @__PURE__ */
|
|
11317
|
+
return type === "text" ? /* @__PURE__ */ jsx56(
|
|
11057
11318
|
"button",
|
|
11058
11319
|
{
|
|
11059
11320
|
type: "button",
|
|
@@ -11062,7 +11323,7 @@ function ToggleDropdownRightButton({
|
|
|
11062
11323
|
className
|
|
11063
11324
|
),
|
|
11064
11325
|
...props,
|
|
11065
|
-
children: isIcon ? /* @__PURE__ */
|
|
11326
|
+
children: isIcon ? /* @__PURE__ */ jsx56(
|
|
11066
11327
|
IconContainer,
|
|
11067
11328
|
{
|
|
11068
11329
|
colorInFill: false,
|
|
@@ -11075,7 +11336,7 @@ function ToggleDropdownRightButton({
|
|
|
11075
11336
|
}
|
|
11076
11337
|
) : children
|
|
11077
11338
|
}
|
|
11078
|
-
) : /* @__PURE__ */
|
|
11339
|
+
) : /* @__PURE__ */ jsx56(
|
|
11079
11340
|
"button",
|
|
11080
11341
|
{
|
|
11081
11342
|
type: "button",
|
|
@@ -11084,7 +11345,7 @@ function ToggleDropdownRightButton({
|
|
|
11084
11345
|
className
|
|
11085
11346
|
),
|
|
11086
11347
|
...props,
|
|
11087
|
-
children: /* @__PURE__ */
|
|
11348
|
+
children: /* @__PURE__ */ jsx56(
|
|
11088
11349
|
IconContainer,
|
|
11089
11350
|
{
|
|
11090
11351
|
colorInFill: false,
|
|
@@ -11101,10 +11362,10 @@ function ToggleDropdownRightButton({
|
|
|
11101
11362
|
}
|
|
11102
11363
|
|
|
11103
11364
|
// src/ui/ToggleDropdownButton/useToggleDropdown.ts
|
|
11104
|
-
import { useState as
|
|
11365
|
+
import { useState as useState14, useCallback as useCallback5 } from "react";
|
|
11105
11366
|
|
|
11106
11367
|
// src/ui/ToggleDropdownButton/index.tsx
|
|
11107
|
-
import { jsx as
|
|
11368
|
+
import { jsx as jsx57, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
11108
11369
|
var ToggleDropdownButton = ({
|
|
11109
11370
|
type,
|
|
11110
11371
|
selected,
|
|
@@ -11122,8 +11383,8 @@ var ToggleDropdownButton = ({
|
|
|
11122
11383
|
const handleLeftButtonClick = () => {
|
|
11123
11384
|
onLeftButtonClick?.();
|
|
11124
11385
|
};
|
|
11125
|
-
return /* @__PURE__ */
|
|
11126
|
-
/* @__PURE__ */
|
|
11386
|
+
return /* @__PURE__ */ jsxs39("div", { className: "gap-x-unit-1px flex items-center", children: [
|
|
11387
|
+
/* @__PURE__ */ jsx57(
|
|
11127
11388
|
ToggleDropdownLeftButton,
|
|
11128
11389
|
{
|
|
11129
11390
|
selected,
|
|
@@ -11134,8 +11395,8 @@ var ToggleDropdownButton = ({
|
|
|
11134
11395
|
children: leftButtonChildren
|
|
11135
11396
|
}
|
|
11136
11397
|
),
|
|
11137
|
-
/* @__PURE__ */
|
|
11138
|
-
/* @__PURE__ */
|
|
11398
|
+
/* @__PURE__ */ jsxs39("div", { className: "relative", children: [
|
|
11399
|
+
/* @__PURE__ */ jsx57(
|
|
11139
11400
|
ToggleDropdownRightButton,
|
|
11140
11401
|
{
|
|
11141
11402
|
ref: rightButtonRef,
|
|
@@ -11155,8 +11416,8 @@ var ToggleDropdownButton_default = ToggleDropdownButton;
|
|
|
11155
11416
|
|
|
11156
11417
|
// src/ui/ToolToggle/index.tsx
|
|
11157
11418
|
import { ChevronDown as ChevronDown3 } from "lucide-react";
|
|
11158
|
-
import { useState as
|
|
11159
|
-
import { jsx as
|
|
11419
|
+
import { useState as useState15 } from "react";
|
|
11420
|
+
import { jsx as jsx58, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
11160
11421
|
var ToolToggle = ({
|
|
11161
11422
|
dropdown,
|
|
11162
11423
|
dropdownContent,
|
|
@@ -11164,41 +11425,41 @@ var ToolToggle = ({
|
|
|
11164
11425
|
className,
|
|
11165
11426
|
onClick
|
|
11166
11427
|
}) => {
|
|
11167
|
-
const [active, setActive] =
|
|
11428
|
+
const [active, setActive] = useState15(false);
|
|
11168
11429
|
const handleClick = () => {
|
|
11169
11430
|
setActive(!active);
|
|
11170
11431
|
onClick?.(active);
|
|
11171
11432
|
};
|
|
11172
|
-
return /* @__PURE__ */
|
|
11173
|
-
/* @__PURE__ */
|
|
11433
|
+
return /* @__PURE__ */ jsx58("div", { className: cn(dropdown ? "min-w-20" : "min-w-[52px]", className), children: /* @__PURE__ */ jsxs40(DropdownMenu, { children: [
|
|
11434
|
+
/* @__PURE__ */ jsx58(
|
|
11174
11435
|
DropdownMenuTrigger,
|
|
11175
11436
|
{
|
|
11176
11437
|
className: cn(
|
|
11177
11438
|
"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",
|
|
11178
11439
|
active && "!bg-toggle-bg-activeDefault hover:!bg-toggle-bg-activeHover"
|
|
11179
11440
|
),
|
|
11180
|
-
children: /* @__PURE__ */
|
|
11441
|
+
children: /* @__PURE__ */ jsxs40(
|
|
11181
11442
|
"div",
|
|
11182
11443
|
{
|
|
11183
11444
|
className: "flex items-center justify-center gap-x-2",
|
|
11184
11445
|
onClick: handleClick,
|
|
11185
11446
|
children: [
|
|
11186
11447
|
icon,
|
|
11187
|
-
dropdown && /* @__PURE__ */
|
|
11448
|
+
dropdown && /* @__PURE__ */ jsx58(ChevronDown3, { className: "text-icon-default size-5" })
|
|
11188
11449
|
]
|
|
11189
11450
|
}
|
|
11190
11451
|
)
|
|
11191
11452
|
}
|
|
11192
11453
|
),
|
|
11193
|
-
dropdown && /* @__PURE__ */
|
|
11454
|
+
dropdown && /* @__PURE__ */ jsx58(DropdownMenuContent, { align: "start", className: "min-w-41", children: dropdownContent })
|
|
11194
11455
|
] }) });
|
|
11195
11456
|
};
|
|
11196
11457
|
|
|
11197
11458
|
// src/ui/WrapperCard/index.tsx
|
|
11198
|
-
import { jsx as
|
|
11459
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
11199
11460
|
var WrapperCard = (props) => {
|
|
11200
11461
|
const { children, className } = props;
|
|
11201
|
-
return /* @__PURE__ */
|
|
11462
|
+
return /* @__PURE__ */ jsx59(
|
|
11202
11463
|
"div",
|
|
11203
11464
|
{
|
|
11204
11465
|
className: cn(
|
|
@@ -11219,7 +11480,7 @@ import {
|
|
|
11219
11480
|
useFormContext,
|
|
11220
11481
|
useFormState
|
|
11221
11482
|
} from "react-hook-form";
|
|
11222
|
-
import { jsx as
|
|
11483
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
11223
11484
|
var BaseForm = FormProvider;
|
|
11224
11485
|
var FormFieldContext = React21.createContext(
|
|
11225
11486
|
{}
|
|
@@ -11227,7 +11488,7 @@ var FormFieldContext = React21.createContext(
|
|
|
11227
11488
|
var BaseFormField = ({
|
|
11228
11489
|
...props
|
|
11229
11490
|
}) => {
|
|
11230
|
-
return /* @__PURE__ */
|
|
11491
|
+
return /* @__PURE__ */ jsx60(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx60(Controller, { ...props }) });
|
|
11231
11492
|
};
|
|
11232
11493
|
var useFormField = () => {
|
|
11233
11494
|
const fieldContext = React21.useContext(FormFieldContext);
|
|
@@ -11253,7 +11514,7 @@ var FormItemContext = React21.createContext(
|
|
|
11253
11514
|
);
|
|
11254
11515
|
function BaseFormItem({ className, ...props }) {
|
|
11255
11516
|
const id = React21.useId();
|
|
11256
|
-
return /* @__PURE__ */
|
|
11517
|
+
return /* @__PURE__ */ jsx60(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx60(
|
|
11257
11518
|
"div",
|
|
11258
11519
|
{
|
|
11259
11520
|
"data-slot": "form-item",
|
|
@@ -11267,7 +11528,7 @@ function BaseFormLabel({
|
|
|
11267
11528
|
...props
|
|
11268
11529
|
}) {
|
|
11269
11530
|
const { error, formItemId } = useFormField();
|
|
11270
|
-
return /* @__PURE__ */
|
|
11531
|
+
return /* @__PURE__ */ jsx60(
|
|
11271
11532
|
Label2,
|
|
11272
11533
|
{
|
|
11273
11534
|
"data-slot": "form-label",
|
|
@@ -11283,7 +11544,7 @@ function BaseFormLabel({
|
|
|
11283
11544
|
}
|
|
11284
11545
|
function BaseFormControl({ ...props }) {
|
|
11285
11546
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
11286
|
-
return /* @__PURE__ */
|
|
11547
|
+
return /* @__PURE__ */ jsx60(
|
|
11287
11548
|
Slot7,
|
|
11288
11549
|
{
|
|
11289
11550
|
"data-slot": "form-control",
|
|
@@ -11299,7 +11560,7 @@ function BaseFormDescription({
|
|
|
11299
11560
|
...props
|
|
11300
11561
|
}) {
|
|
11301
11562
|
const { formDescriptionId } = useFormField();
|
|
11302
|
-
return /* @__PURE__ */
|
|
11563
|
+
return /* @__PURE__ */ jsx60(
|
|
11303
11564
|
"p",
|
|
11304
11565
|
{
|
|
11305
11566
|
"data-slot": "form-description",
|
|
@@ -11315,7 +11576,7 @@ function BaseFormMessage({ className, ...props }) {
|
|
|
11315
11576
|
if (!body) {
|
|
11316
11577
|
return null;
|
|
11317
11578
|
}
|
|
11318
|
-
return /* @__PURE__ */
|
|
11579
|
+
return /* @__PURE__ */ jsx60(
|
|
11319
11580
|
"p",
|
|
11320
11581
|
{
|
|
11321
11582
|
"data-slot": "form-message",
|
|
@@ -11329,7 +11590,7 @@ function BaseFormMessage({ className, ...props }) {
|
|
|
11329
11590
|
|
|
11330
11591
|
// src/ui/form/FormField.tsx
|
|
11331
11592
|
import * as React22 from "react";
|
|
11332
|
-
import { jsx as
|
|
11593
|
+
import { jsx as jsx61, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
11333
11594
|
var FormField = ({
|
|
11334
11595
|
control,
|
|
11335
11596
|
field,
|
|
@@ -11337,18 +11598,18 @@ var FormField = ({
|
|
|
11337
11598
|
onBlur,
|
|
11338
11599
|
className
|
|
11339
11600
|
}) => {
|
|
11340
|
-
return /* @__PURE__ */
|
|
11601
|
+
return /* @__PURE__ */ jsx61(
|
|
11341
11602
|
BaseFormField,
|
|
11342
11603
|
{
|
|
11343
11604
|
control,
|
|
11344
11605
|
name: field.name,
|
|
11345
|
-
render: ({ field: formField }) => /* @__PURE__ */
|
|
11346
|
-
field.label && /* @__PURE__ */
|
|
11606
|
+
render: ({ field: formField }) => /* @__PURE__ */ jsxs41(BaseFormItem, { className: cn("w-full", className), children: [
|
|
11607
|
+
field.label && /* @__PURE__ */ jsxs41(BaseFormLabel, { className: "gap-1", children: [
|
|
11347
11608
|
field.label,
|
|
11348
|
-
field.required && /* @__PURE__ */
|
|
11349
|
-
field.optional && /* @__PURE__ */
|
|
11609
|
+
field.required && /* @__PURE__ */ jsx61("span", { className: "text-element-inverse-red", children: "*" }),
|
|
11610
|
+
field.optional && /* @__PURE__ */ jsx61("span", { className: "text-title-sm!", children: "(Optional)" })
|
|
11350
11611
|
] }),
|
|
11351
|
-
/* @__PURE__ */
|
|
11612
|
+
/* @__PURE__ */ jsx61(BaseFormControl, { children: React22.isValidElement(field.render) ? React22.cloneElement(
|
|
11352
11613
|
field.render,
|
|
11353
11614
|
{
|
|
11354
11615
|
...formField,
|
|
@@ -11358,7 +11619,7 @@ var FormField = ({
|
|
|
11358
11619
|
}
|
|
11359
11620
|
}
|
|
11360
11621
|
) : field.render }),
|
|
11361
|
-
isShowError && /* @__PURE__ */
|
|
11622
|
+
isShowError && /* @__PURE__ */ jsx61(BaseFormMessage, {})
|
|
11362
11623
|
] })
|
|
11363
11624
|
},
|
|
11364
11625
|
field.name
|
|
@@ -11371,7 +11632,7 @@ import {
|
|
|
11371
11632
|
Controller as Controller2,
|
|
11372
11633
|
useFormContext as useFormContext2
|
|
11373
11634
|
} from "react-hook-form";
|
|
11374
|
-
import { jsx as
|
|
11635
|
+
import { jsx as jsx62, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
11375
11636
|
var FormMethodsContext = createContext4(
|
|
11376
11637
|
null
|
|
11377
11638
|
);
|
|
@@ -11382,11 +11643,11 @@ function Form({
|
|
|
11382
11643
|
className,
|
|
11383
11644
|
children
|
|
11384
11645
|
}) {
|
|
11385
|
-
return /* @__PURE__ */
|
|
11646
|
+
return /* @__PURE__ */ jsx62(
|
|
11386
11647
|
FormMethodsContext.Provider,
|
|
11387
11648
|
{
|
|
11388
11649
|
value: formMethods,
|
|
11389
|
-
children: /* @__PURE__ */
|
|
11650
|
+
children: /* @__PURE__ */ jsx62(BaseForm, { ...formMethods, children: /* @__PURE__ */ jsx62(
|
|
11390
11651
|
"form",
|
|
11391
11652
|
{
|
|
11392
11653
|
id,
|
|
@@ -11407,7 +11668,7 @@ Form.InputField = function InputField({
|
|
|
11407
11668
|
...props
|
|
11408
11669
|
}) {
|
|
11409
11670
|
const { control } = useFormContext2();
|
|
11410
|
-
return /* @__PURE__ */
|
|
11671
|
+
return /* @__PURE__ */ jsx62(
|
|
11411
11672
|
FormField,
|
|
11412
11673
|
{
|
|
11413
11674
|
className: "w-full",
|
|
@@ -11418,7 +11679,7 @@ Form.InputField = function InputField({
|
|
|
11418
11679
|
name,
|
|
11419
11680
|
label,
|
|
11420
11681
|
required,
|
|
11421
|
-
render: /* @__PURE__ */
|
|
11682
|
+
render: /* @__PURE__ */ jsx62(Input, { ...props, inputClassName: props.inputClassName })
|
|
11422
11683
|
}
|
|
11423
11684
|
}
|
|
11424
11685
|
);
|
|
@@ -11429,7 +11690,7 @@ Form.PasswordField = function PasswordField({
|
|
|
11429
11690
|
...props
|
|
11430
11691
|
}) {
|
|
11431
11692
|
const { control } = useFormContext2();
|
|
11432
|
-
return /* @__PURE__ */
|
|
11693
|
+
return /* @__PURE__ */ jsx62(
|
|
11433
11694
|
FormField,
|
|
11434
11695
|
{
|
|
11435
11696
|
className: "w-full",
|
|
@@ -11437,7 +11698,7 @@ Form.PasswordField = function PasswordField({
|
|
|
11437
11698
|
field: {
|
|
11438
11699
|
name,
|
|
11439
11700
|
label,
|
|
11440
|
-
render: /* @__PURE__ */
|
|
11701
|
+
render: /* @__PURE__ */ jsx62(PasswordInput, { ...props })
|
|
11441
11702
|
}
|
|
11442
11703
|
}
|
|
11443
11704
|
);
|
|
@@ -11449,7 +11710,7 @@ Form.SelectInputField = function SelectInputField({
|
|
|
11449
11710
|
...props
|
|
11450
11711
|
}) {
|
|
11451
11712
|
const { control } = useFormContext2();
|
|
11452
|
-
return /* @__PURE__ */
|
|
11713
|
+
return /* @__PURE__ */ jsx62(
|
|
11453
11714
|
FormField,
|
|
11454
11715
|
{
|
|
11455
11716
|
control,
|
|
@@ -11457,7 +11718,7 @@ Form.SelectInputField = function SelectInputField({
|
|
|
11457
11718
|
name,
|
|
11458
11719
|
required,
|
|
11459
11720
|
label,
|
|
11460
|
-
render: /* @__PURE__ */
|
|
11721
|
+
render: /* @__PURE__ */ jsx62(SelectInput, { ...props })
|
|
11461
11722
|
}
|
|
11462
11723
|
}
|
|
11463
11724
|
);
|
|
@@ -11469,14 +11730,14 @@ Form.MultiSelectField = function MultiSelectField({
|
|
|
11469
11730
|
}) {
|
|
11470
11731
|
const { control, watch, setValue } = useFormContext2();
|
|
11471
11732
|
const selectedValues = watch(name) || [];
|
|
11472
|
-
return /* @__PURE__ */
|
|
11733
|
+
return /* @__PURE__ */ jsx62(
|
|
11473
11734
|
FormField,
|
|
11474
11735
|
{
|
|
11475
11736
|
control,
|
|
11476
11737
|
field: {
|
|
11477
11738
|
name,
|
|
11478
11739
|
label,
|
|
11479
|
-
render: /* @__PURE__ */
|
|
11740
|
+
render: /* @__PURE__ */ jsx62(
|
|
11480
11741
|
MultiSelect,
|
|
11481
11742
|
{
|
|
11482
11743
|
...props,
|
|
@@ -11495,7 +11756,7 @@ Form.TextareaField = function TextareaField({
|
|
|
11495
11756
|
...props
|
|
11496
11757
|
}) {
|
|
11497
11758
|
const { control } = useFormContext2();
|
|
11498
|
-
return /* @__PURE__ */
|
|
11759
|
+
return /* @__PURE__ */ jsx62(
|
|
11499
11760
|
FormField,
|
|
11500
11761
|
{
|
|
11501
11762
|
control,
|
|
@@ -11503,7 +11764,7 @@ Form.TextareaField = function TextareaField({
|
|
|
11503
11764
|
name,
|
|
11504
11765
|
label,
|
|
11505
11766
|
optional,
|
|
11506
|
-
render: /* @__PURE__ */
|
|
11767
|
+
render: /* @__PURE__ */ jsx62(TextAreaInput_default, { ...props })
|
|
11507
11768
|
}
|
|
11508
11769
|
}
|
|
11509
11770
|
);
|
|
@@ -11521,14 +11782,14 @@ Form.FileUploadField = function FileUploadFieldComponent({
|
|
|
11521
11782
|
const { control, formState } = useFormContext2();
|
|
11522
11783
|
const fieldError = formState.errors[name];
|
|
11523
11784
|
const hasValidationError = !!fieldError;
|
|
11524
|
-
return /* @__PURE__ */
|
|
11785
|
+
return /* @__PURE__ */ jsx62(
|
|
11525
11786
|
Controller2,
|
|
11526
11787
|
{
|
|
11527
11788
|
control,
|
|
11528
11789
|
name,
|
|
11529
|
-
render: ({ field: formField }) => /* @__PURE__ */
|
|
11530
|
-
label && /* @__PURE__ */
|
|
11531
|
-
/* @__PURE__ */
|
|
11790
|
+
render: ({ field: formField }) => /* @__PURE__ */ jsxs42("div", { className: "space-y-1", children: [
|
|
11791
|
+
label && /* @__PURE__ */ jsx62("label", { htmlFor: name, className: "font-medium", children: label }),
|
|
11792
|
+
/* @__PURE__ */ jsx62(
|
|
11532
11793
|
FileUploadField,
|
|
11533
11794
|
{
|
|
11534
11795
|
field: { name, isMultiple, maxFiles, children },
|
|
@@ -11559,7 +11820,7 @@ Form.DateInputField = function DateInputField({
|
|
|
11559
11820
|
}) {
|
|
11560
11821
|
const { control, watch, setValue } = useFormContext2();
|
|
11561
11822
|
const value = watch(name);
|
|
11562
|
-
return /* @__PURE__ */
|
|
11823
|
+
return /* @__PURE__ */ jsx62(
|
|
11563
11824
|
FormField,
|
|
11564
11825
|
{
|
|
11565
11826
|
control,
|
|
@@ -11567,7 +11828,7 @@ Form.DateInputField = function DateInputField({
|
|
|
11567
11828
|
name,
|
|
11568
11829
|
label,
|
|
11569
11830
|
required,
|
|
11570
|
-
render: /* @__PURE__ */
|
|
11831
|
+
render: /* @__PURE__ */ jsx62(
|
|
11571
11832
|
DatePickerInput,
|
|
11572
11833
|
{
|
|
11573
11834
|
...props,
|
|
@@ -11586,14 +11847,14 @@ Form.TimeInputField = function TimeInputField({
|
|
|
11586
11847
|
...props
|
|
11587
11848
|
}) {
|
|
11588
11849
|
const { control, setValue } = useFormContext2();
|
|
11589
|
-
return /* @__PURE__ */
|
|
11850
|
+
return /* @__PURE__ */ jsx62(
|
|
11590
11851
|
FormField,
|
|
11591
11852
|
{
|
|
11592
11853
|
control,
|
|
11593
11854
|
field: {
|
|
11594
11855
|
name,
|
|
11595
11856
|
label,
|
|
11596
|
-
render: /* @__PURE__ */
|
|
11857
|
+
render: /* @__PURE__ */ jsx62(
|
|
11597
11858
|
TimePicker,
|
|
11598
11859
|
{
|
|
11599
11860
|
onValueChange: (value) => {
|
|
@@ -11612,13 +11873,13 @@ Form.CheckboxField = function CheckboxField({
|
|
|
11612
11873
|
...props
|
|
11613
11874
|
}) {
|
|
11614
11875
|
const { control } = useFormContext2();
|
|
11615
|
-
return /* @__PURE__ */
|
|
11876
|
+
return /* @__PURE__ */ jsx62(
|
|
11616
11877
|
FormField,
|
|
11617
11878
|
{
|
|
11618
11879
|
control,
|
|
11619
11880
|
field: {
|
|
11620
11881
|
name,
|
|
11621
|
-
render: /* @__PURE__ */
|
|
11882
|
+
render: /* @__PURE__ */ jsx62(Checkbox, { value: name, label, ...props })
|
|
11622
11883
|
}
|
|
11623
11884
|
}
|
|
11624
11885
|
);
|
|
@@ -11628,12 +11889,12 @@ Form.OTPInputField = function OTPInputField({
|
|
|
11628
11889
|
...props
|
|
11629
11890
|
}) {
|
|
11630
11891
|
const { control } = useFormContext2();
|
|
11631
|
-
return /* @__PURE__ */
|
|
11892
|
+
return /* @__PURE__ */ jsx62(
|
|
11632
11893
|
FormField,
|
|
11633
11894
|
{
|
|
11634
11895
|
className: "w-full",
|
|
11635
11896
|
control,
|
|
11636
|
-
field: { name, render: /* @__PURE__ */
|
|
11897
|
+
field: { name, render: /* @__PURE__ */ jsx62(OTPInput, { ...props }) }
|
|
11637
11898
|
}
|
|
11638
11899
|
);
|
|
11639
11900
|
};
|
|
@@ -11644,14 +11905,14 @@ Form.RadioField = function RadioField({
|
|
|
11644
11905
|
}) {
|
|
11645
11906
|
const { control } = useFormContext2();
|
|
11646
11907
|
const { setValue } = useFormContext2();
|
|
11647
|
-
return /* @__PURE__ */
|
|
11908
|
+
return /* @__PURE__ */ jsx62(
|
|
11648
11909
|
FormField,
|
|
11649
11910
|
{
|
|
11650
11911
|
control,
|
|
11651
11912
|
field: {
|
|
11652
11913
|
name,
|
|
11653
11914
|
label,
|
|
11654
|
-
render: /* @__PURE__ */
|
|
11915
|
+
render: /* @__PURE__ */ jsx62(
|
|
11655
11916
|
Radio,
|
|
11656
11917
|
{
|
|
11657
11918
|
...props,
|
|
@@ -11668,13 +11929,13 @@ Form.ComboboxField = function ComboboxField({
|
|
|
11668
11929
|
}) {
|
|
11669
11930
|
const { control, setValue, watch } = useFormContext2();
|
|
11670
11931
|
const value = watch(name);
|
|
11671
|
-
return /* @__PURE__ */
|
|
11932
|
+
return /* @__PURE__ */ jsx62(
|
|
11672
11933
|
FormField,
|
|
11673
11934
|
{
|
|
11674
11935
|
control,
|
|
11675
11936
|
field: {
|
|
11676
11937
|
name,
|
|
11677
|
-
render: /* @__PURE__ */
|
|
11938
|
+
render: /* @__PURE__ */ jsx62(
|
|
11678
11939
|
Combobox,
|
|
11679
11940
|
{
|
|
11680
11941
|
...props,
|
|
@@ -11696,7 +11957,7 @@ Form.SwitchField = function SwitchField({
|
|
|
11696
11957
|
}) {
|
|
11697
11958
|
const { control, setValue, watch } = useFormContext2();
|
|
11698
11959
|
const value = watch(name);
|
|
11699
|
-
return /* @__PURE__ */
|
|
11960
|
+
return /* @__PURE__ */ jsx62(
|
|
11700
11961
|
FormField,
|
|
11701
11962
|
{
|
|
11702
11963
|
control,
|
|
@@ -11704,9 +11965,9 @@ Form.SwitchField = function SwitchField({
|
|
|
11704
11965
|
field: {
|
|
11705
11966
|
name,
|
|
11706
11967
|
label,
|
|
11707
|
-
render: /* @__PURE__ */
|
|
11708
|
-
prefix && /* @__PURE__ */
|
|
11709
|
-
/* @__PURE__ */
|
|
11968
|
+
render: /* @__PURE__ */ jsxs42("div", { className: "flex items-center", children: [
|
|
11969
|
+
prefix && /* @__PURE__ */ jsx62("span", { className: "mr-2", children: prefix }),
|
|
11970
|
+
/* @__PURE__ */ jsx62(
|
|
11710
11971
|
Switch,
|
|
11711
11972
|
{
|
|
11712
11973
|
...props,
|
|
@@ -11714,7 +11975,7 @@ Form.SwitchField = function SwitchField({
|
|
|
11714
11975
|
onCheckedChange: (checked) => setValue(name, checked)
|
|
11715
11976
|
}
|
|
11716
11977
|
),
|
|
11717
|
-
suffix && /* @__PURE__ */
|
|
11978
|
+
suffix && /* @__PURE__ */ jsx62("span", { className: "ml-2", children: suffix })
|
|
11718
11979
|
] })
|
|
11719
11980
|
}
|
|
11720
11981
|
}
|
|
@@ -12727,6 +12988,7 @@ export {
|
|
|
12727
12988
|
FileUploadField,
|
|
12728
12989
|
Form,
|
|
12729
12990
|
FormField,
|
|
12991
|
+
GoogleMapView,
|
|
12730
12992
|
GradientContainer,
|
|
12731
12993
|
Grid,
|
|
12732
12994
|
IconButton,
|