@amogads/ui 1.1.4 → 1.1.5

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.mjs CHANGED
@@ -11089,8 +11089,1633 @@ function AiChatHeader({
11089
11089
  );
11090
11090
  }
11091
11091
 
11092
+ // src/design-system/components/files/file-card-item.tsx
11093
+ import React19 from "react";
11094
+ import {
11095
+ Eye as Eye3,
11096
+ Download as Download2,
11097
+ FileText as FileText3,
11098
+ Image as ImageIcon,
11099
+ Film,
11100
+ FileSpreadsheet,
11101
+ FileCode,
11102
+ FileArchive,
11103
+ MoreHorizontal as MoreHorizontal4,
11104
+ Copy as Copy3,
11105
+ Trash2 as Trash26,
11106
+ Pencil as Pencil3,
11107
+ Share2 as Share22
11108
+ } from "lucide-react";
11109
+ import { formatDistanceToNow } from "date-fns";
11110
+ import { Fragment as Fragment3, jsx as jsx94, jsxs as jsxs56 } from "react/jsx-runtime";
11111
+ function getFileCategoryTheme(category) {
11112
+ switch (category) {
11113
+ case "Pdf":
11114
+ return {
11115
+ bg: "bg-red-500/10 dark:bg-red-950/40",
11116
+ text: "text-red-600 dark:text-red-400",
11117
+ border: "border-red-200/40 dark:border-red-900/40",
11118
+ gradient: "from-red-500/20 to-orange-500/10"
11119
+ };
11120
+ case "Doc":
11121
+ return {
11122
+ bg: "bg-blue-500/10 dark:bg-blue-950/40",
11123
+ text: "text-blue-600 dark:text-blue-400",
11124
+ border: "border-blue-200/40 dark:border-blue-900/40",
11125
+ gradient: "from-blue-500/20 to-indigo-500/10"
11126
+ };
11127
+ case "Xls":
11128
+ case "Csv":
11129
+ return {
11130
+ bg: "bg-emerald-500/10 dark:bg-emerald-950/40",
11131
+ text: "text-emerald-600 dark:text-emerald-400",
11132
+ border: "border-emerald-200/40 dark:border-emerald-900/40",
11133
+ gradient: "from-emerald-500/20 to-teal-500/10"
11134
+ };
11135
+ case "Images":
11136
+ return {
11137
+ bg: "bg-amber-500/10 dark:bg-amber-950/40",
11138
+ text: "text-amber-600 dark:text-amber-400",
11139
+ border: "border-amber-200/40 dark:border-amber-900/40",
11140
+ gradient: "from-amber-500/20 to-yellow-500/10"
11141
+ };
11142
+ case "Videos":
11143
+ return {
11144
+ bg: "bg-purple-500/10 dark:bg-purple-950/40",
11145
+ text: "text-purple-600 dark:text-purple-400",
11146
+ border: "border-purple-200/40 dark:border-purple-900/40",
11147
+ gradient: "from-purple-500/20 to-pink-500/10"
11148
+ };
11149
+ case "Zip":
11150
+ return {
11151
+ bg: "bg-orange-500/10 dark:bg-orange-950/40",
11152
+ text: "text-orange-600 dark:text-orange-400",
11153
+ border: "border-orange-200/40 dark:border-orange-900/40",
11154
+ gradient: "from-orange-500/20 to-amber-500/10"
11155
+ };
11156
+ default:
11157
+ return {
11158
+ bg: "bg-indigo-500/10 dark:bg-indigo-950/40",
11159
+ text: "text-indigo-600 dark:text-indigo-400",
11160
+ border: "border-indigo-200/40 dark:border-indigo-900/40",
11161
+ gradient: "from-indigo-500/20 to-purple-500/10"
11162
+ };
11163
+ }
11164
+ }
11165
+ function formatBytes(bytes) {
11166
+ if (!bytes || bytes === 0) return "0 B";
11167
+ const k = 1024;
11168
+ const sizes = ["B", "KB", "MB", "GB", "TB"];
11169
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
11170
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i]}`;
11171
+ }
11172
+ function FileCardItem({
11173
+ file,
11174
+ isSelected = false,
11175
+ viewMode = "grid",
11176
+ onSelect,
11177
+ onPreview,
11178
+ onDownload,
11179
+ onCopyLink,
11180
+ onRename,
11181
+ onDelete,
11182
+ onShare,
11183
+ className
11184
+ }) {
11185
+ const theme = getFileCategoryTheme(file.category);
11186
+ const isImage = file.category === "Images" || /\.(jpg|jpeg|png|webp|svg|gif)$/i.test(file.fileName);
11187
+ const isVideo = file.category === "Videos" || /\.(mp4|webm|mov|mkv)$/i.test(file.fileName);
11188
+ const isPdf = file.category === "Pdf" || /\.pdf$/i.test(file.fileName);
11189
+ const isSheet = file.category === "Xls" || file.category === "Csv" || /\.(xls|xlsx|csv)$/i.test(file.fileName);
11190
+ const isZip = file.category === "Zip" || /\.(zip|rar|7z|tar|gz)$/i.test(file.fileName);
11191
+ const updatedTimeDisplay = React19.useMemo(() => {
11192
+ if (!file.updatedAt) return "Recently";
11193
+ try {
11194
+ const d = new Date(file.updatedAt);
11195
+ return formatDistanceToNow(d, { addSuffix: true });
11196
+ } catch {
11197
+ return "Recently";
11198
+ }
11199
+ }, [file.updatedAt]);
11200
+ if (viewMode === "table") {
11201
+ return /* @__PURE__ */ jsxs56(
11202
+ "tr",
11203
+ {
11204
+ onClick: () => onSelect?.(file),
11205
+ className: cn(
11206
+ "group border-b border-border/50 transition-colors hover:bg-muted/40 cursor-pointer",
11207
+ isSelected && "bg-primary/5",
11208
+ className
11209
+ ),
11210
+ children: [
11211
+ /* @__PURE__ */ jsx94("td", { className: "py-3 px-4", children: /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-3", children: [
11212
+ /* @__PURE__ */ jsx94(
11213
+ "div",
11214
+ {
11215
+ className: cn(
11216
+ "flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border shadow-2xs",
11217
+ theme.bg,
11218
+ theme.border
11219
+ ),
11220
+ children: isImage ? /* @__PURE__ */ jsx94(ImageIcon, { className: cn("h-4 w-4", theme.text) }) : isVideo ? /* @__PURE__ */ jsx94(Film, { className: cn("h-4 w-4", theme.text) }) : isPdf ? /* @__PURE__ */ jsx94(FileText3, { className: cn("h-4 w-4", theme.text) }) : isSheet ? /* @__PURE__ */ jsx94(FileSpreadsheet, { className: cn("h-4 w-4", theme.text) }) : isZip ? /* @__PURE__ */ jsx94(FileArchive, { className: cn("h-4 w-4", theme.text) }) : /* @__PURE__ */ jsx94(FileCode, { className: cn("h-4 w-4", theme.text) })
11221
+ }
11222
+ ),
11223
+ /* @__PURE__ */ jsxs56("div", { className: "min-w-0", children: [
11224
+ /* @__PURE__ */ jsx94("p", { className: "font-semibold text-xs text-foreground truncate max-w-[240px] sm:max-w-xs", children: file.fileName }),
11225
+ /* @__PURE__ */ jsx94("p", { className: "text-[11px] text-muted-foreground", children: file.folderPath || file.section || "General" })
11226
+ ] })
11227
+ ] }) }),
11228
+ /* @__PURE__ */ jsx94("td", { className: "py-3 px-4 text-xs", children: /* @__PURE__ */ jsx94(
11229
+ Badge,
11230
+ {
11231
+ variant: "outline",
11232
+ className: cn("text-[10px] px-2 py-0.5 font-bold", theme.bg, theme.text, theme.border),
11233
+ children: file.category
11234
+ }
11235
+ ) }),
11236
+ /* @__PURE__ */ jsx94("td", { className: "py-3 px-4 text-xs text-muted-foreground font-mono", children: formatBytes(file.fileSize) }),
11237
+ /* @__PURE__ */ jsx94("td", { className: "py-3 px-4 text-xs text-muted-foreground hidden sm:table-cell", children: updatedTimeDisplay }),
11238
+ /* @__PURE__ */ jsx94("td", { className: "py-3 px-4 text-right", children: /* @__PURE__ */ jsxs56("div", { className: "flex items-center justify-end gap-1", children: [
11239
+ /* @__PURE__ */ jsx94(
11240
+ "button",
11241
+ {
11242
+ type: "button",
11243
+ onClick: (e) => {
11244
+ e.stopPropagation();
11245
+ onPreview?.(file);
11246
+ },
11247
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11248
+ title: "Preview",
11249
+ children: /* @__PURE__ */ jsx94(Eye3, { className: "h-4 w-4" })
11250
+ }
11251
+ ),
11252
+ /* @__PURE__ */ jsx94(
11253
+ "button",
11254
+ {
11255
+ type: "button",
11256
+ onClick: (e) => {
11257
+ e.stopPropagation();
11258
+ onDownload?.(file);
11259
+ },
11260
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11261
+ title: "Download",
11262
+ children: /* @__PURE__ */ jsx94(Download2, { className: "h-4 w-4" })
11263
+ }
11264
+ ),
11265
+ /* @__PURE__ */ jsxs56(DropdownMenu, { children: [
11266
+ /* @__PURE__ */ jsx94(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx94(
11267
+ "button",
11268
+ {
11269
+ type: "button",
11270
+ onClick: (e) => e.stopPropagation(),
11271
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11272
+ title: "More actions",
11273
+ children: /* @__PURE__ */ jsx94(MoreHorizontal4, { className: "h-4 w-4" })
11274
+ }
11275
+ ) }),
11276
+ /* @__PURE__ */ jsxs56(DropdownMenuContent, { align: "end", className: "w-40 rounded-xl p-1 shadow-lg", children: [
11277
+ /* @__PURE__ */ jsxs56(
11278
+ DropdownMenuItem,
11279
+ {
11280
+ onClick: () => onPreview?.(file),
11281
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11282
+ children: [
11283
+ /* @__PURE__ */ jsx94(Eye3, { className: "h-3.5 w-3.5 text-blue-500" }),
11284
+ /* @__PURE__ */ jsx94("span", { children: "Preview" })
11285
+ ]
11286
+ }
11287
+ ),
11288
+ /* @__PURE__ */ jsxs56(
11289
+ DropdownMenuItem,
11290
+ {
11291
+ onClick: () => onDownload?.(file),
11292
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11293
+ children: [
11294
+ /* @__PURE__ */ jsx94(Download2, { className: "h-3.5 w-3.5 text-emerald-500" }),
11295
+ /* @__PURE__ */ jsx94("span", { children: "Download" })
11296
+ ]
11297
+ }
11298
+ ),
11299
+ /* @__PURE__ */ jsxs56(
11300
+ DropdownMenuItem,
11301
+ {
11302
+ onClick: () => onCopyLink?.(file),
11303
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11304
+ children: [
11305
+ /* @__PURE__ */ jsx94(Copy3, { className: "h-3.5 w-3.5 text-amber-500" }),
11306
+ /* @__PURE__ */ jsx94("span", { children: "Copy Link" })
11307
+ ]
11308
+ }
11309
+ ),
11310
+ onShare && /* @__PURE__ */ jsxs56(
11311
+ DropdownMenuItem,
11312
+ {
11313
+ onClick: () => onShare(file),
11314
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11315
+ children: [
11316
+ /* @__PURE__ */ jsx94(Share22, { className: "h-3.5 w-3.5 text-indigo-500" }),
11317
+ /* @__PURE__ */ jsx94("span", { children: "Share" })
11318
+ ]
11319
+ }
11320
+ ),
11321
+ onRename && /* @__PURE__ */ jsxs56(
11322
+ DropdownMenuItem,
11323
+ {
11324
+ onClick: () => onRename(file),
11325
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11326
+ children: [
11327
+ /* @__PURE__ */ jsx94(Pencil3, { className: "h-3.5 w-3.5 text-purple-500" }),
11328
+ /* @__PURE__ */ jsx94("span", { children: "Rename" })
11329
+ ]
11330
+ }
11331
+ ),
11332
+ onDelete && /* @__PURE__ */ jsxs56(Fragment3, { children: [
11333
+ /* @__PURE__ */ jsx94(DropdownMenuSeparator, {}),
11334
+ /* @__PURE__ */ jsxs56(
11335
+ DropdownMenuItem,
11336
+ {
11337
+ onClick: () => onDelete(file),
11338
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5 text-rose-500 hover:text-rose-600 hover:bg-rose-50 dark:hover:bg-rose-950/30 rounded-md",
11339
+ children: [
11340
+ /* @__PURE__ */ jsx94(Trash26, { className: "h-3.5 w-3.5 text-rose-500" }),
11341
+ /* @__PURE__ */ jsx94("span", { children: "Delete" })
11342
+ ]
11343
+ }
11344
+ )
11345
+ ] })
11346
+ ] })
11347
+ ] })
11348
+ ] }) })
11349
+ ]
11350
+ }
11351
+ );
11352
+ }
11353
+ return /* @__PURE__ */ jsxs56(
11354
+ "div",
11355
+ {
11356
+ onClick: () => onSelect?.(file),
11357
+ className: cn(
11358
+ "group relative flex flex-col justify-between overflow-hidden rounded-2xl border border-border/80 bg-card p-3.5 shadow-2xs transition-all duration-200 hover:shadow-md hover:border-indigo-300 dark:hover:border-indigo-700/60 cursor-pointer select-none",
11359
+ isSelected && "border-indigo-500 ring-2 ring-indigo-500/20 bg-indigo-500/5",
11360
+ className
11361
+ ),
11362
+ children: [
11363
+ /* @__PURE__ */ jsxs56("div", { className: "relative mb-3 flex items-center justify-center overflow-hidden rounded-xl bg-muted/20 border border-border/40 min-h-[105px]", children: [
11364
+ isImage && file.fileUrl ? /* @__PURE__ */ jsx94(
11365
+ "img",
11366
+ {
11367
+ src: file.fileUrl,
11368
+ alt: file.fileName,
11369
+ className: "h-28 w-full object-cover transition-transform duration-300 group-hover:scale-105",
11370
+ loading: "lazy"
11371
+ }
11372
+ ) : /* @__PURE__ */ jsx94(
11373
+ "div",
11374
+ {
11375
+ className: cn(
11376
+ "flex h-16 w-16 items-center justify-center rounded-2xl border shadow-inner transition-transform duration-200 group-hover:scale-110",
11377
+ theme.bg,
11378
+ theme.border
11379
+ ),
11380
+ children: isPdf ? /* @__PURE__ */ jsx94(FileText3, { className: cn("h-8 w-8", theme.text) }) : isVideo ? /* @__PURE__ */ jsx94(Film, { className: cn("h-8 w-8", theme.text) }) : isSheet ? /* @__PURE__ */ jsx94(FileSpreadsheet, { className: cn("h-8 w-8", theme.text) }) : isZip ? /* @__PURE__ */ jsx94(FileArchive, { className: cn("h-8 w-8", theme.text) }) : /* @__PURE__ */ jsx94(FileCode, { className: cn("h-8 w-8", theme.text) })
11381
+ }
11382
+ ),
11383
+ /* @__PURE__ */ jsx94(
11384
+ Badge,
11385
+ {
11386
+ variant: "outline",
11387
+ className: cn(
11388
+ "absolute top-2 right-2 backdrop-blur-md text-[10px] font-bold px-1.5 py-0.5 shadow-2xs",
11389
+ theme.bg,
11390
+ theme.text,
11391
+ theme.border
11392
+ ),
11393
+ children: file.category
11394
+ }
11395
+ )
11396
+ ] }),
11397
+ /* @__PURE__ */ jsxs56("div", { className: "flex flex-col gap-1 min-w-0", children: [
11398
+ /* @__PURE__ */ jsx94("h4", { className: "font-bold text-xs text-foreground truncate tracking-tight", title: file.fileName, children: file.fileName }),
11399
+ /* @__PURE__ */ jsxs56("div", { className: "flex items-center justify-between text-[11px] text-muted-foreground", children: [
11400
+ /* @__PURE__ */ jsx94("span", { className: "font-mono", children: formatBytes(file.fileSize) }),
11401
+ /* @__PURE__ */ jsx94("span", { className: "truncate", children: updatedTimeDisplay })
11402
+ ] })
11403
+ ] }),
11404
+ /* @__PURE__ */ jsxs56("div", { className: "mt-3 pt-2.5 flex items-center justify-between border-t border-border/50 text-muted-foreground", children: [
11405
+ /* @__PURE__ */ jsx94("span", { className: "text-[10px] text-muted-foreground/70 font-medium truncate max-w-[120px]", children: file.folderPath || file.section || "General" }),
11406
+ /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-1", children: [
11407
+ /* @__PURE__ */ jsx94(
11408
+ "button",
11409
+ {
11410
+ type: "button",
11411
+ onClick: (e) => {
11412
+ e.stopPropagation();
11413
+ onPreview?.(file);
11414
+ },
11415
+ className: "p-1 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11416
+ title: "Preview file",
11417
+ children: /* @__PURE__ */ jsx94(Eye3, { className: "h-3.5 w-3.5" })
11418
+ }
11419
+ ),
11420
+ /* @__PURE__ */ jsx94(
11421
+ "button",
11422
+ {
11423
+ type: "button",
11424
+ onClick: (e) => {
11425
+ e.stopPropagation();
11426
+ onDownload?.(file);
11427
+ },
11428
+ className: "p-1 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11429
+ title: "Download file",
11430
+ children: /* @__PURE__ */ jsx94(Download2, { className: "h-3.5 w-3.5" })
11431
+ }
11432
+ ),
11433
+ /* @__PURE__ */ jsxs56(DropdownMenu, { children: [
11434
+ /* @__PURE__ */ jsx94(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx94(
11435
+ "button",
11436
+ {
11437
+ type: "button",
11438
+ onClick: (e) => e.stopPropagation(),
11439
+ className: "p-1 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11440
+ title: "More",
11441
+ children: /* @__PURE__ */ jsx94(MoreHorizontal4, { className: "h-3.5 w-3.5" })
11442
+ }
11443
+ ) }),
11444
+ /* @__PURE__ */ jsxs56(DropdownMenuContent, { align: "end", className: "w-38 rounded-xl p-1 shadow-lg", children: [
11445
+ /* @__PURE__ */ jsxs56(
11446
+ DropdownMenuItem,
11447
+ {
11448
+ onClick: () => onPreview?.(file),
11449
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11450
+ children: [
11451
+ /* @__PURE__ */ jsx94(Eye3, { className: "h-3.5 w-3.5 text-blue-500" }),
11452
+ /* @__PURE__ */ jsx94("span", { children: "Preview" })
11453
+ ]
11454
+ }
11455
+ ),
11456
+ /* @__PURE__ */ jsxs56(
11457
+ DropdownMenuItem,
11458
+ {
11459
+ onClick: () => onDownload?.(file),
11460
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11461
+ children: [
11462
+ /* @__PURE__ */ jsx94(Download2, { className: "h-3.5 w-3.5 text-emerald-500" }),
11463
+ /* @__PURE__ */ jsx94("span", { children: "Download" })
11464
+ ]
11465
+ }
11466
+ ),
11467
+ /* @__PURE__ */ jsxs56(
11468
+ DropdownMenuItem,
11469
+ {
11470
+ onClick: () => onCopyLink?.(file),
11471
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5",
11472
+ children: [
11473
+ /* @__PURE__ */ jsx94(Copy3, { className: "h-3.5 w-3.5 text-amber-500" }),
11474
+ /* @__PURE__ */ jsx94("span", { children: "Copy Link" })
11475
+ ]
11476
+ }
11477
+ ),
11478
+ onDelete && /* @__PURE__ */ jsxs56(Fragment3, { children: [
11479
+ /* @__PURE__ */ jsx94(DropdownMenuSeparator, {}),
11480
+ /* @__PURE__ */ jsxs56(
11481
+ DropdownMenuItem,
11482
+ {
11483
+ onClick: () => onDelete(file),
11484
+ className: "cursor-pointer text-xs flex items-center gap-2 py-1.5 text-rose-500 hover:text-rose-600 hover:bg-rose-50 dark:hover:bg-rose-950/30 rounded-md",
11485
+ children: [
11486
+ /* @__PURE__ */ jsx94(Trash26, { className: "h-3.5 w-3.5 text-rose-500" }),
11487
+ /* @__PURE__ */ jsx94("span", { children: "Delete" })
11488
+ ]
11489
+ }
11490
+ )
11491
+ ] })
11492
+ ] })
11493
+ ] })
11494
+ ] })
11495
+ ] })
11496
+ ]
11497
+ }
11498
+ );
11499
+ }
11500
+
11501
+ // src/design-system/components/files/folder-tree-item.tsx
11502
+ import { FolderOpen, ChevronDown as ChevronDown3, ChevronRight as ChevronRight7, Folder } from "lucide-react";
11503
+ import { jsx as jsx95, jsxs as jsxs57 } from "react/jsx-runtime";
11504
+ function FolderTreeItem({
11505
+ folder,
11506
+ isFolderActive,
11507
+ isExpanded,
11508
+ onToggleExpand,
11509
+ onSelectFolder,
11510
+ className
11511
+ }) {
11512
+ const isLevel0 = folder.level === 0;
11513
+ const isLevel1 = folder.level === 1;
11514
+ const isLevel2 = folder.level === 2;
11515
+ const hasChildren = isLevel0 || isLevel1;
11516
+ return /* @__PURE__ */ jsxs57(
11517
+ "div",
11518
+ {
11519
+ id: `folder-card-${folder.id}`,
11520
+ onClick: () => {
11521
+ if (hasChildren) {
11522
+ onToggleExpand(folder.id);
11523
+ } else {
11524
+ onSelectFolder(folder);
11525
+ }
11526
+ },
11527
+ className: cn(
11528
+ "group relative flex cursor-pointer items-center justify-between gap-2 rounded-xl py-1.5 px-2 transition-all duration-200 select-none border",
11529
+ isLevel0 && "font-bold bg-muted/20 border-border/50 my-1",
11530
+ isLevel1 && "ml-3 border-border/40 my-0.5",
11531
+ isLevel2 && "ml-6 border-transparent hover:bg-muted/40 my-0.5",
11532
+ isFolderActive ? "border-indigo-300 bg-indigo-500/15 text-indigo-600 dark:border-indigo-800 dark:bg-indigo-950/40 dark:text-indigo-400 font-bold shadow-2xs" : "bg-card hover:bg-indigo-500/5 hover:border-indigo-200/40",
11533
+ className
11534
+ ),
11535
+ children: [
11536
+ isFolderActive && /* @__PURE__ */ jsx95("div", { className: "absolute top-1 bottom-1 left-0 w-1 rounded-l-full bg-indigo-600" }),
11537
+ /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1.5 min-w-0 flex-1", children: [
11538
+ hasChildren && /* @__PURE__ */ jsx95(
11539
+ "button",
11540
+ {
11541
+ type: "button",
11542
+ onClick: (e) => onToggleExpand(folder.id, e),
11543
+ className: "flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted hover:text-foreground cursor-pointer",
11544
+ children: isExpanded ? /* @__PURE__ */ jsx95(ChevronDown3, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx95(ChevronRight7, { className: "h-3 w-3" })
11545
+ }
11546
+ ),
11547
+ /* @__PURE__ */ jsx95(
11548
+ "div",
11549
+ {
11550
+ className: cn(
11551
+ "flex shrink-0 items-center justify-center rounded-lg text-indigo-600 dark:text-indigo-400 transition-colors",
11552
+ isLevel0 ? "h-6 w-6 border border-indigo-200/40 bg-indigo-500/10" : isLevel1 ? "h-5.5 w-5.5 border border-indigo-200/30 bg-indigo-500/5" : "h-5 w-5"
11553
+ ),
11554
+ children: isExpanded ? /* @__PURE__ */ jsx95(
11555
+ FolderOpen,
11556
+ {
11557
+ className: isLevel0 ? "h-3.5 w-3.5" : isLevel1 ? "h-3 w-3" : "h-3 w-3 text-indigo-500"
11558
+ }
11559
+ ) : /* @__PURE__ */ jsx95(
11560
+ Folder,
11561
+ {
11562
+ className: isLevel0 ? "h-3.5 w-3.5" : isLevel1 ? "h-3 w-3" : "h-3 w-3 text-indigo-500"
11563
+ }
11564
+ )
11565
+ }
11566
+ ),
11567
+ /* @__PURE__ */ jsx95(
11568
+ "span",
11569
+ {
11570
+ className: cn(
11571
+ "truncate text-foreground",
11572
+ isLevel0 ? "text-xs font-bold" : isLevel1 ? "text-[11px] font-semibold" : "text-[11px] font-medium",
11573
+ isFolderActive && "text-indigo-600 dark:text-indigo-400"
11574
+ ),
11575
+ children: folder.name
11576
+ }
11577
+ )
11578
+ ] }),
11579
+ /* @__PURE__ */ jsx95(
11580
+ Badge,
11581
+ {
11582
+ variant: isFolderActive ? "default" : "secondary",
11583
+ className: cn(
11584
+ "text-[10px] px-1.5 py-0 h-4 min-w-4 flex items-center justify-center font-mono",
11585
+ isFolderActive ? "bg-indigo-600 text-white" : "bg-muted text-muted-foreground group-hover:bg-indigo-500/10 group-hover:text-indigo-600"
11586
+ ),
11587
+ children: folder.fileCount
11588
+ }
11589
+ )
11590
+ ]
11591
+ }
11592
+ );
11593
+ }
11594
+
11595
+ // src/design-system/components/files/storage-stat-card.tsx
11596
+ import { HardDrive, FileText as FileText4, Image as ImageIcon2, Film as Film2, Database, ArrowUpRight as ArrowUpRight2 } from "lucide-react";
11597
+ import { jsx as jsx96, jsxs as jsxs58 } from "react/jsx-runtime";
11598
+ function StorageStatCard({
11599
+ totalFiles,
11600
+ totalSizeBytes = 0,
11601
+ maxStorageBytes = 10 * 1024 * 1024 * 1024,
11602
+ // 10 GB default
11603
+ stats,
11604
+ onViewAllFiles,
11605
+ onUploadClick,
11606
+ className
11607
+ }) {
11608
+ const percentUsed = Math.min(
11609
+ 100,
11610
+ Math.max(1, Math.round(totalSizeBytes / (maxStorageBytes || 1) * 100))
11611
+ );
11612
+ const defaultStats = stats || [
11613
+ {
11614
+ label: "Documents & PDFs",
11615
+ count: Math.round(totalFiles * 0.4),
11616
+ sizeBytes: Math.round(totalSizeBytes * 0.45),
11617
+ colorClass: "bg-red-500",
11618
+ icon: /* @__PURE__ */ jsx96(FileText4, { className: "h-4 w-4 text-red-500" })
11619
+ },
11620
+ {
11621
+ label: "Images & Photos",
11622
+ count: Math.round(totalFiles * 0.35),
11623
+ sizeBytes: Math.round(totalSizeBytes * 0.3),
11624
+ colorClass: "bg-amber-500",
11625
+ icon: /* @__PURE__ */ jsx96(ImageIcon2, { className: "h-4 w-4 text-amber-500" })
11626
+ },
11627
+ {
11628
+ label: "Media & Videos",
11629
+ count: Math.round(totalFiles * 0.15),
11630
+ sizeBytes: Math.round(totalSizeBytes * 0.2),
11631
+ colorClass: "bg-purple-500",
11632
+ icon: /* @__PURE__ */ jsx96(Film2, { className: "h-4 w-4 text-purple-500" })
11633
+ },
11634
+ {
11635
+ label: "Other & Archives",
11636
+ count: Math.max(0, totalFiles - Math.round(totalFiles * 0.9)),
11637
+ sizeBytes: Math.round(totalSizeBytes * 0.05),
11638
+ colorClass: "bg-indigo-500",
11639
+ icon: /* @__PURE__ */ jsx96(Database, { className: "h-4 w-4 text-indigo-500" })
11640
+ }
11641
+ ];
11642
+ return /* @__PURE__ */ jsxs58(
11643
+ "div",
11644
+ {
11645
+ className: cn(
11646
+ "flex flex-col gap-4 rounded-2xl border border-border/80 bg-card p-4 shadow-2xs select-none",
11647
+ className
11648
+ ),
11649
+ children: [
11650
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between", children: [
11651
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2.5", children: [
11652
+ /* @__PURE__ */ jsx96("div", { className: "flex h-9 w-9 items-center justify-center rounded-xl bg-indigo-500/10 text-indigo-600 dark:text-indigo-400 border border-indigo-200/40", children: /* @__PURE__ */ jsx96(HardDrive, { className: "h-5 w-5" }) }),
11653
+ /* @__PURE__ */ jsxs58("div", { children: [
11654
+ /* @__PURE__ */ jsx96("h3", { className: "text-xs font-bold text-foreground", children: "Storage Overview" }),
11655
+ /* @__PURE__ */ jsxs58("p", { className: "text-[11px] text-muted-foreground", children: [
11656
+ totalFiles,
11657
+ " items stored in workspace"
11658
+ ] })
11659
+ ] })
11660
+ ] }),
11661
+ /* @__PURE__ */ jsxs58("div", { className: "text-right", children: [
11662
+ /* @__PURE__ */ jsx96("p", { className: "text-xs font-bold text-foreground font-mono", children: formatBytes(totalSizeBytes) }),
11663
+ /* @__PURE__ */ jsxs58("p", { className: "text-[10px] text-muted-foreground font-mono", children: [
11664
+ "of ",
11665
+ formatBytes(maxStorageBytes)
11666
+ ] })
11667
+ ] })
11668
+ ] }),
11669
+ /* @__PURE__ */ jsxs58("div", { className: "space-y-1.5", children: [
11670
+ /* @__PURE__ */ jsx96("div", { className: "flex h-2.5 w-full overflow-hidden rounded-full bg-muted/60 p-0.5 border border-border/40", children: /* @__PURE__ */ jsx96(
11671
+ "div",
11672
+ {
11673
+ className: "h-full rounded-full bg-linear-to-r from-indigo-500 via-purple-500 to-amber-500 transition-all duration-500",
11674
+ style: { width: `${percentUsed}%` }
11675
+ }
11676
+ ) }),
11677
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between text-[10px] text-muted-foreground", children: [
11678
+ /* @__PURE__ */ jsxs58("span", { children: [
11679
+ percentUsed,
11680
+ "% capacity utilized"
11681
+ ] }),
11682
+ /* @__PURE__ */ jsxs58("span", { children: [
11683
+ formatBytes(Math.max(0, maxStorageBytes - totalSizeBytes)),
11684
+ " available"
11685
+ ] })
11686
+ ] })
11687
+ ] }),
11688
+ /* @__PURE__ */ jsx96("div", { className: "grid grid-cols-2 gap-2 pt-1", children: defaultStats.map((item, idx) => /* @__PURE__ */ jsxs58(
11689
+ "div",
11690
+ {
11691
+ className: "flex items-center gap-2 rounded-xl border border-border/40 bg-muted/20 p-2",
11692
+ children: [
11693
+ /* @__PURE__ */ jsx96("div", { className: "shrink-0", children: item.icon }),
11694
+ /* @__PURE__ */ jsxs58("div", { className: "min-w-0 flex-1", children: [
11695
+ /* @__PURE__ */ jsx96("p", { className: "truncate text-[11px] font-semibold text-foreground", children: item.label }),
11696
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between text-[10px] text-muted-foreground", children: [
11697
+ /* @__PURE__ */ jsxs58("span", { children: [
11698
+ item.count,
11699
+ " files"
11700
+ ] }),
11701
+ /* @__PURE__ */ jsx96("span", { className: "font-mono", children: formatBytes(item.sizeBytes) })
11702
+ ] })
11703
+ ] })
11704
+ ]
11705
+ },
11706
+ idx
11707
+ )) }),
11708
+ (onViewAllFiles || onUploadClick) && /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between pt-2 border-t border-border/50", children: [
11709
+ onViewAllFiles && /* @__PURE__ */ jsxs58(
11710
+ "button",
11711
+ {
11712
+ type: "button",
11713
+ onClick: onViewAllFiles,
11714
+ className: "text-xs font-semibold text-indigo-600 dark:text-indigo-400 hover:underline flex items-center gap-1 cursor-pointer",
11715
+ children: [
11716
+ /* @__PURE__ */ jsx96("span", { children: "Explore All Files" }),
11717
+ /* @__PURE__ */ jsx96(ArrowUpRight2, { className: "h-3.5 w-3.5" })
11718
+ ]
11719
+ }
11720
+ ),
11721
+ onUploadClick && /* @__PURE__ */ jsx96(
11722
+ "button",
11723
+ {
11724
+ type: "button",
11725
+ onClick: onUploadClick,
11726
+ className: "text-xs font-semibold bg-indigo-600 text-white hover:bg-indigo-700 px-3 py-1 rounded-lg transition-colors cursor-pointer",
11727
+ children: "Upload New"
11728
+ }
11729
+ )
11730
+ ] })
11731
+ ]
11732
+ }
11733
+ );
11734
+ }
11735
+
11736
+ // src/design-system/components/files/user-file-cards-view.tsx
11737
+ import { useState as useState12, useMemo as useMemo7 } from "react";
11738
+ import {
11739
+ Search as Search6,
11740
+ X as X5,
11741
+ FolderOpen as FolderOpen2,
11742
+ ArrowLeft as ArrowLeft3,
11743
+ ArrowUpDown,
11744
+ LayoutGrid,
11745
+ Table as TableIcon,
11746
+ ChevronLeft as ChevronLeft2,
11747
+ ChevronRight as ChevronRight9,
11748
+ Upload,
11749
+ Trash2 as Trash28,
11750
+ Download as Download3
11751
+ } from "lucide-react";
11752
+
11753
+ // src/features/Message/components/chat/header-actions.tsx
11754
+ import {
11755
+ Bell as Bell4,
11756
+ Flag as Flag4,
11757
+ MoreVertical as MoreVertical3,
11758
+ Reply,
11759
+ Forward,
11760
+ Pin as Pin4,
11761
+ Star as Star4,
11762
+ Heart as Heart4,
11763
+ Archive as Archive4,
11764
+ Trash2 as Trash27,
11765
+ X as X4
11766
+ } from "lucide-react";
11767
+ import { toast as toast2 } from "sonner";
11768
+ import { jsx as jsx97, jsxs as jsxs59 } from "react/jsx-runtime";
11769
+ function HeaderActions({
11770
+ onDelete,
11771
+ onDownload,
11772
+ onPrint,
11773
+ onShare,
11774
+ onReply,
11775
+ onForward,
11776
+ onPin,
11777
+ onStar,
11778
+ onFavorite,
11779
+ onArchive,
11780
+ onActionThis,
11781
+ onClose
11782
+ }) {
11783
+ return /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-1 shrink-0 select-none", children: [
11784
+ /* @__PURE__ */ jsx97(
11785
+ "button",
11786
+ {
11787
+ type: "button",
11788
+ onClick: () => {
11789
+ if (onActionThis) onActionThis();
11790
+ else toast2.info("Act on this option selected");
11791
+ },
11792
+ className: "p-1.5 rounded-lg hover:bg-muted text-amber-500 hover:text-amber-600 transition-colors cursor-pointer",
11793
+ title: "Act on this",
11794
+ children: /* @__PURE__ */ jsx97(Bell4, { className: "h-4.5 w-4.5" })
11795
+ }
11796
+ ),
11797
+ /* @__PURE__ */ jsx97(
11798
+ "button",
11799
+ {
11800
+ type: "button",
11801
+ onClick: () => toast2.success("Flagged item"),
11802
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11803
+ title: "Flag",
11804
+ children: /* @__PURE__ */ jsx97(Flag4, { className: "h-4.5 w-4.5" })
11805
+ }
11806
+ ),
11807
+ /* @__PURE__ */ jsxs59(DropdownMenu, { children: [
11808
+ /* @__PURE__ */ jsx97(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx97(
11809
+ "button",
11810
+ {
11811
+ type: "button",
11812
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
11813
+ title: "More options",
11814
+ children: /* @__PURE__ */ jsx97(MoreVertical3, { className: "h-4.5 w-4.5" })
11815
+ }
11816
+ ) }),
11817
+ /* @__PURE__ */ jsxs59(
11818
+ DropdownMenuContent,
11819
+ {
11820
+ align: "end",
11821
+ className: "w-48 border border-border/80 bg-background shadow-lg p-1 space-y-0.5",
11822
+ children: [
11823
+ /* @__PURE__ */ jsx97(
11824
+ DropdownMenuItem,
11825
+ {
11826
+ onClick: () => {
11827
+ if (onReply) onReply();
11828
+ else toast2.info("Reply option selected");
11829
+ },
11830
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11831
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11832
+ /* @__PURE__ */ jsx97(Reply, { className: "h-4 w-4 text-blue-500" }),
11833
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Reply" })
11834
+ ] })
11835
+ }
11836
+ ),
11837
+ /* @__PURE__ */ jsx97(
11838
+ DropdownMenuItem,
11839
+ {
11840
+ onClick: () => {
11841
+ if (onForward) onForward();
11842
+ else toast2.info("Forward option selected");
11843
+ },
11844
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11845
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11846
+ /* @__PURE__ */ jsx97(Forward, { className: "h-4 w-4 text-sky-400" }),
11847
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Forward" })
11848
+ ] })
11849
+ }
11850
+ ),
11851
+ /* @__PURE__ */ jsx97(
11852
+ DropdownMenuItem,
11853
+ {
11854
+ onClick: () => {
11855
+ if (onPin) onPin();
11856
+ else toast2.success("Message pinned");
11857
+ },
11858
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11859
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11860
+ /* @__PURE__ */ jsx97(Pin4, { className: "h-4 w-4 text-purple-500" }),
11861
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Pin Message" })
11862
+ ] })
11863
+ }
11864
+ ),
11865
+ /* @__PURE__ */ jsx97(
11866
+ DropdownMenuItem,
11867
+ {
11868
+ onClick: () => {
11869
+ if (onStar) onStar();
11870
+ else toast2.success("Starred successfully");
11871
+ },
11872
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11873
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11874
+ /* @__PURE__ */ jsx97(Star4, { className: "h-4 w-4 text-amber-500" }),
11875
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Star" })
11876
+ ] })
11877
+ }
11878
+ ),
11879
+ /* @__PURE__ */ jsx97(
11880
+ DropdownMenuItem,
11881
+ {
11882
+ onClick: () => {
11883
+ if (onFavorite) onFavorite();
11884
+ else toast2.success("Added to favorites");
11885
+ },
11886
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11887
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11888
+ /* @__PURE__ */ jsx97(Heart4, { className: "h-4 w-4 text-rose-500" }),
11889
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Favorite" })
11890
+ ] })
11891
+ }
11892
+ ),
11893
+ /* @__PURE__ */ jsx97(
11894
+ DropdownMenuItem,
11895
+ {
11896
+ onClick: () => toast2.success("Flagged message"),
11897
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11898
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11899
+ /* @__PURE__ */ jsx97(Flag4, { className: "h-4 w-4 text-red-500" }),
11900
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Flag" })
11901
+ ] })
11902
+ }
11903
+ ),
11904
+ /* @__PURE__ */ jsx97(
11905
+ DropdownMenuItem,
11906
+ {
11907
+ onClick: () => {
11908
+ if (onArchive) onArchive();
11909
+ else toast2.success("Archived successfully");
11910
+ },
11911
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11912
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11913
+ /* @__PURE__ */ jsx97(Archive4, { className: "h-4 w-4 text-indigo-500" }),
11914
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Archive" })
11915
+ ] })
11916
+ }
11917
+ ),
11918
+ /* @__PURE__ */ jsx97(
11919
+ DropdownMenuItem,
11920
+ {
11921
+ onClick: () => {
11922
+ if (onActionThis) onActionThis();
11923
+ else toast2.info("Action This selected");
11924
+ },
11925
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-muted/80 rounded-md",
11926
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11927
+ /* @__PURE__ */ jsx97(Bell4, { className: "h-4 w-4 text-amber-500" }),
11928
+ /* @__PURE__ */ jsx97("span", { className: "text-foreground", children: "Action This" })
11929
+ ] })
11930
+ }
11931
+ ),
11932
+ /* @__PURE__ */ jsx97(
11933
+ DropdownMenuItem,
11934
+ {
11935
+ onClick: () => {
11936
+ if (onDelete) onDelete();
11937
+ else toast2.success("Item deleted");
11938
+ },
11939
+ className: "cursor-pointer text-xs flex items-center justify-between py-2 px-2.5 font-medium hover:bg-red-500/10 rounded-md text-red-500 focus:text-red-500",
11940
+ children: /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2.5", children: [
11941
+ /* @__PURE__ */ jsx97(Trash27, { className: "h-4 w-4 text-red-500" }),
11942
+ /* @__PURE__ */ jsx97("span", { className: "font-semibold text-red-500", children: "Delete" })
11943
+ ] })
11944
+ }
11945
+ )
11946
+ ]
11947
+ }
11948
+ )
11949
+ ] }),
11950
+ onClose && /* @__PURE__ */ jsx97(
11951
+ "button",
11952
+ {
11953
+ type: "button",
11954
+ onClick: onClose,
11955
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer ml-0.5",
11956
+ title: "Close",
11957
+ "aria-label": "Close",
11958
+ children: /* @__PURE__ */ jsx97(X4, { className: "h-4.5 w-4.5" })
11959
+ }
11960
+ )
11961
+ ] });
11962
+ }
11963
+
11964
+ // src/design-system/components/files/user-file-cards-view.tsx
11965
+ import { jsx as jsx98, jsxs as jsxs60 } from "react/jsx-runtime";
11966
+ var CATEGORY_TABS = [
11967
+ { label: "All Files", value: "all" },
11968
+ { label: "PDFs", value: "Pdf" },
11969
+ { label: "Documents", value: "Doc" },
11970
+ { label: "Spreadsheets", value: "Xls" },
11971
+ { label: "Images", value: "Images" },
11972
+ { label: "Videos", value: "Videos" },
11973
+ { label: "Archives", value: "Zip" }
11974
+ ];
11975
+ function UserFileCardsView({
11976
+ folder,
11977
+ files,
11978
+ selectedFileId,
11979
+ onSelectFileForPreview,
11980
+ onDownloadFile,
11981
+ onDeleteFile,
11982
+ onCopyLink,
11983
+ onRenameFile,
11984
+ onShareFile,
11985
+ onUploadClick,
11986
+ onBack,
11987
+ className
11988
+ }) {
11989
+ const [searchQuery, setSearchQuery] = useState12("");
11990
+ const [selectedCategory, setSelectedCategory] = useState12("all");
11991
+ const [sortBy, setSortBy] = useState12("date");
11992
+ const [sortOrder, setSortOrder] = useState12("desc");
11993
+ const [viewMode, setViewMode] = useState12("grid");
11994
+ const [currentPage, setCurrentPage] = useState12(1);
11995
+ const itemsPerPage = viewMode === "grid" ? 12 : 20;
11996
+ const [selectedIds, setSelectedIds] = useState12(/* @__PURE__ */ new Set());
11997
+ const filteredFiles = useMemo7(() => {
11998
+ return files.filter((f) => {
11999
+ const matchCategory = selectedCategory === "all" || f.category.toLowerCase() === selectedCategory.toLowerCase() || selectedCategory === "Xls" && (f.category === "Csv" || f.category === "Xls");
12000
+ const matchSearch = !searchQuery.trim() || f.fileName.toLowerCase().includes(searchQuery.toLowerCase()) || f.folderPath && f.folderPath.toLowerCase().includes(searchQuery.toLowerCase());
12001
+ return matchCategory && matchSearch;
12002
+ });
12003
+ }, [files, selectedCategory, searchQuery]);
12004
+ const sortedFiles = useMemo7(() => {
12005
+ return [...filteredFiles].sort((a, b) => {
12006
+ let compare = 0;
12007
+ if (sortBy === "date") {
12008
+ const timeA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
12009
+ const timeB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;
12010
+ compare = timeB - timeA;
12011
+ } else if (sortBy === "name") {
12012
+ compare = a.fileName.localeCompare(b.fileName);
12013
+ } else if (sortBy === "size") {
12014
+ compare = (b.fileSize || 0) - (a.fileSize || 0);
12015
+ }
12016
+ return sortOrder === "asc" ? -compare : compare;
12017
+ });
12018
+ }, [filteredFiles, sortBy, sortOrder]);
12019
+ const totalPages = Math.ceil(sortedFiles.length / itemsPerPage) || 1;
12020
+ const paginatedFiles = useMemo7(() => {
12021
+ const start = (currentPage - 1) * itemsPerPage;
12022
+ return sortedFiles.slice(start, start + itemsPerPage);
12023
+ }, [sortedFiles, currentPage, itemsPerPage]);
12024
+ const totalBytes = useMemo7(() => {
12025
+ return files.reduce((acc, curr) => acc + (curr.fileSize || 0), 0);
12026
+ }, [files]);
12027
+ const toggleSelectAll = () => {
12028
+ if (selectedIds.size === paginatedFiles.length) {
12029
+ setSelectedIds(/* @__PURE__ */ new Set());
12030
+ } else {
12031
+ setSelectedIds(new Set(paginatedFiles.map((f) => f.id)));
12032
+ }
12033
+ };
12034
+ const toggleSelectOne = (id) => {
12035
+ setSelectedIds((prev) => {
12036
+ const next = new Set(prev);
12037
+ if (next.has(id)) next.delete(id);
12038
+ else next.add(id);
12039
+ return next;
12040
+ });
12041
+ };
12042
+ const handleBulkDownload = () => {
12043
+ const toDownload = files.filter((f) => selectedIds.has(f.id));
12044
+ toDownload.forEach((f) => onDownloadFile?.(f));
12045
+ };
12046
+ const handleBulkDelete = () => {
12047
+ const toDelete = files.filter((f) => selectedIds.has(f.id));
12048
+ toDelete.forEach((f) => onDeleteFile?.(f));
12049
+ setSelectedIds(/* @__PURE__ */ new Set());
12050
+ };
12051
+ return /* @__PURE__ */ jsxs60(
12052
+ "div",
12053
+ {
12054
+ className: cn(
12055
+ "flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-background select-none",
12056
+ className
12057
+ ),
12058
+ children: [
12059
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center justify-between border-b border-border bg-background px-4 py-3 shrink-0", children: [
12060
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2.5 min-w-0", children: [
12061
+ onBack && /* @__PURE__ */ jsx98(
12062
+ "button",
12063
+ {
12064
+ type: "button",
12065
+ onClick: onBack,
12066
+ className: "flex h-8 w-8 items-center justify-center rounded-xl text-muted-foreground hover:bg-muted hover:text-foreground transition-colors cursor-pointer",
12067
+ title: "Back",
12068
+ children: /* @__PURE__ */ jsx98(ArrowLeft3, { className: "h-4 w-4" })
12069
+ }
12070
+ ),
12071
+ /* @__PURE__ */ jsx98("div", { className: "flex h-10 w-10 items-center justify-center rounded-xl bg-indigo-500/10 text-indigo-600 dark:text-indigo-400 border border-indigo-200/50 shrink-0 shadow-2xs", children: /* @__PURE__ */ jsx98(FolderOpen2, { className: "h-5 w-5" }) }),
12072
+ /* @__PURE__ */ jsxs60("div", { className: "min-w-0", children: [
12073
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2", children: [
12074
+ /* @__PURE__ */ jsx98("h2", { className: "truncate text-sm font-bold text-foreground tracking-tight", children: folder?.name || "All Files & Folders" }),
12075
+ /* @__PURE__ */ jsxs60(Badge, { variant: "secondary", className: "text-[10px] px-1.5 py-0 h-4 font-mono", children: [
12076
+ filteredFiles.length,
12077
+ " files"
12078
+ ] })
12079
+ ] }),
12080
+ /* @__PURE__ */ jsxs60("p", { className: "truncate text-xs text-muted-foreground", children: [
12081
+ folder?.path || "Storage Space",
12082
+ " \xB7 Total size: ",
12083
+ formatBytes(totalBytes)
12084
+ ] })
12085
+ ] })
12086
+ ] }),
12087
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-1.5 shrink-0", children: [
12088
+ onUploadClick && /* @__PURE__ */ jsxs60(
12089
+ Button,
12090
+ {
12091
+ size: "sm",
12092
+ onClick: onUploadClick,
12093
+ className: "gap-1.5 h-8 text-xs font-semibold shadow-xs",
12094
+ children: [
12095
+ /* @__PURE__ */ jsx98(Upload, { className: "h-3.5 w-3.5" }),
12096
+ /* @__PURE__ */ jsx98("span", { className: "hidden sm:inline", children: "Upload Files" })
12097
+ ]
12098
+ }
12099
+ ),
12100
+ /* @__PURE__ */ jsx98(HeaderActions, { onDelete: onBack })
12101
+ ] })
12102
+ ] }),
12103
+ /* @__PURE__ */ jsxs60("div", { className: "flex flex-col gap-2.5 border-b border-border/60 bg-muted/10 p-3 shrink-0", children: [
12104
+ /* @__PURE__ */ jsxs60("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
12105
+ /* @__PURE__ */ jsxs60("div", { className: "relative min-w-[200px] flex-1 max-w-md", children: [
12106
+ /* @__PURE__ */ jsx98(Search6, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground" }),
12107
+ /* @__PURE__ */ jsx98(
12108
+ Input,
12109
+ {
12110
+ value: searchQuery,
12111
+ onChange: (e) => {
12112
+ setSearchQuery(e.target.value);
12113
+ setCurrentPage(1);
12114
+ },
12115
+ placeholder: "Search files by name, type, or path...",
12116
+ className: "h-8.5 pl-8 pr-8 text-xs rounded-xl bg-background border-border/80"
12117
+ }
12118
+ ),
12119
+ searchQuery && /* @__PURE__ */ jsx98(
12120
+ "button",
12121
+ {
12122
+ type: "button",
12123
+ onClick: () => setSearchQuery(""),
12124
+ className: "absolute right-2.5 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",
12125
+ children: /* @__PURE__ */ jsx98(X5, { className: "h-3.5 w-3.5" })
12126
+ }
12127
+ )
12128
+ ] }),
12129
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-1.5", children: [
12130
+ /* @__PURE__ */ jsxs60(DropdownMenu, { children: [
12131
+ /* @__PURE__ */ jsx98(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs60(Button, { variant: "outline", size: "sm", className: "h-8 gap-1.5 text-xs rounded-xl", children: [
12132
+ /* @__PURE__ */ jsx98(ArrowUpDown, { className: "h-3.5 w-3.5 text-muted-foreground" }),
12133
+ /* @__PURE__ */ jsxs60("span", { className: "hidden sm:inline capitalize", children: [
12134
+ "Sort: ",
12135
+ sortBy
12136
+ ] })
12137
+ ] }) }),
12138
+ /* @__PURE__ */ jsxs60(DropdownMenuContent, { align: "end", className: "w-44 rounded-xl p-1 shadow-lg", children: [
12139
+ /* @__PURE__ */ jsx98(DropdownMenuLabel, { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-wider", children: "Sort By" }),
12140
+ /* @__PURE__ */ jsx98(
12141
+ DropdownMenuItem,
12142
+ {
12143
+ onClick: () => setSortBy("date"),
12144
+ className: cn("text-xs cursor-pointer", sortBy === "date" && "font-bold text-primary"),
12145
+ children: "Last Updated"
12146
+ }
12147
+ ),
12148
+ /* @__PURE__ */ jsx98(
12149
+ DropdownMenuItem,
12150
+ {
12151
+ onClick: () => setSortBy("name"),
12152
+ className: cn("text-xs cursor-pointer", sortBy === "name" && "font-bold text-primary"),
12153
+ children: "File Name (A-Z)"
12154
+ }
12155
+ ),
12156
+ /* @__PURE__ */ jsx98(
12157
+ DropdownMenuItem,
12158
+ {
12159
+ onClick: () => setSortBy("size"),
12160
+ className: cn("text-xs cursor-pointer", sortBy === "size" && "font-bold text-primary"),
12161
+ children: "File Size"
12162
+ }
12163
+ ),
12164
+ /* @__PURE__ */ jsx98(DropdownMenuSeparator, {}),
12165
+ /* @__PURE__ */ jsxs60(
12166
+ DropdownMenuItem,
12167
+ {
12168
+ onClick: () => setSortOrder((prev) => prev === "asc" ? "desc" : "asc"),
12169
+ className: "text-xs cursor-pointer",
12170
+ children: [
12171
+ "Order: ",
12172
+ sortOrder === "asc" ? "Ascending \u2191" : "Descending \u2193"
12173
+ ]
12174
+ }
12175
+ )
12176
+ ] })
12177
+ ] }),
12178
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center rounded-xl bg-muted/50 p-0.5 border border-border/60", children: [
12179
+ /* @__PURE__ */ jsx98(
12180
+ "button",
12181
+ {
12182
+ type: "button",
12183
+ onClick: () => setViewMode("grid"),
12184
+ className: cn(
12185
+ "flex h-7 w-7 items-center justify-center rounded-lg transition-all cursor-pointer",
12186
+ viewMode === "grid" ? "bg-background text-foreground shadow-2xs font-bold" : "text-muted-foreground hover:text-foreground"
12187
+ ),
12188
+ title: "Grid View",
12189
+ children: /* @__PURE__ */ jsx98(LayoutGrid, { className: "h-3.5 w-3.5" })
12190
+ }
12191
+ ),
12192
+ /* @__PURE__ */ jsx98(
12193
+ "button",
12194
+ {
12195
+ type: "button",
12196
+ onClick: () => setViewMode("table"),
12197
+ className: cn(
12198
+ "flex h-7 w-7 items-center justify-center rounded-lg transition-all cursor-pointer",
12199
+ viewMode === "table" ? "bg-background text-foreground shadow-2xs font-bold" : "text-muted-foreground hover:text-foreground"
12200
+ ),
12201
+ title: "Table View",
12202
+ children: /* @__PURE__ */ jsx98(TableIcon, { className: "h-3.5 w-3.5" })
12203
+ }
12204
+ )
12205
+ ] })
12206
+ ] })
12207
+ ] }),
12208
+ /* @__PURE__ */ jsx98("div", { className: "flex items-center gap-1.5 overflow-x-auto scrollbar-none pb-0.5", children: CATEGORY_TABS.map((tab) => /* @__PURE__ */ jsx98(
12209
+ "button",
12210
+ {
12211
+ type: "button",
12212
+ onClick: () => {
12213
+ setSelectedCategory(tab.value);
12214
+ setCurrentPage(1);
12215
+ },
12216
+ className: cn(
12217
+ "rounded-lg px-2.5 py-1 text-xs font-semibold whitespace-nowrap transition-all duration-200 cursor-pointer border",
12218
+ selectedCategory === tab.value ? "bg-indigo-600 text-white border-indigo-600 shadow-2xs" : "bg-background border-border/80 text-muted-foreground hover:text-foreground hover:bg-muted/40"
12219
+ ),
12220
+ children: tab.label
12221
+ },
12222
+ tab.value
12223
+ )) })
12224
+ ] }),
12225
+ selectedIds.size > 0 && /* @__PURE__ */ jsxs60("div", { className: "flex items-center justify-between bg-indigo-500/10 border-b border-indigo-200/40 px-4 py-2 text-xs", children: [
12226
+ /* @__PURE__ */ jsxs60("span", { className: "font-semibold text-indigo-700 dark:text-indigo-300", children: [
12227
+ selectedIds.size,
12228
+ " files selected"
12229
+ ] }),
12230
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2", children: [
12231
+ /* @__PURE__ */ jsxs60(
12232
+ Button,
12233
+ {
12234
+ size: "sm",
12235
+ variant: "outline",
12236
+ onClick: handleBulkDownload,
12237
+ className: "h-7 text-xs gap-1 bg-background",
12238
+ children: [
12239
+ /* @__PURE__ */ jsx98(Download3, { className: "h-3 w-3" }),
12240
+ /* @__PURE__ */ jsx98("span", { children: "Download" })
12241
+ ]
12242
+ }
12243
+ ),
12244
+ onDeleteFile && /* @__PURE__ */ jsxs60(
12245
+ Button,
12246
+ {
12247
+ size: "sm",
12248
+ variant: "destructive",
12249
+ onClick: handleBulkDelete,
12250
+ className: "h-7 text-xs gap-1",
12251
+ children: [
12252
+ /* @__PURE__ */ jsx98(Trash28, { className: "h-3 w-3" }),
12253
+ /* @__PURE__ */ jsx98("span", { children: "Delete" })
12254
+ ]
12255
+ }
12256
+ ),
12257
+ /* @__PURE__ */ jsx98(
12258
+ Button,
12259
+ {
12260
+ size: "sm",
12261
+ variant: "ghost",
12262
+ onClick: () => setSelectedIds(/* @__PURE__ */ new Set()),
12263
+ className: "h-7 text-xs",
12264
+ children: "Clear"
12265
+ }
12266
+ )
12267
+ ] })
12268
+ ] }),
12269
+ /* @__PURE__ */ jsx98("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: paginatedFiles.length === 0 ? /* @__PURE__ */ jsxs60("div", { className: "flex h-64 flex-col items-center justify-center gap-3 text-center text-muted-foreground border-2 border-dashed border-border/60 rounded-2xl bg-muted/5 p-8", children: [
12270
+ /* @__PURE__ */ jsx98(FolderOpen2, { className: "h-10 w-10 text-muted-foreground/40" }),
12271
+ /* @__PURE__ */ jsxs60("div", { children: [
12272
+ /* @__PURE__ */ jsx98("p", { className: "text-sm font-bold text-foreground", children: "No files found" }),
12273
+ /* @__PURE__ */ jsx98("p", { className: "text-xs text-muted-foreground mt-0.5", children: searchQuery ? "No documents match your search criteria" : "This folder is currently empty. Upload your first document." })
12274
+ ] }),
12275
+ onUploadClick && /* @__PURE__ */ jsxs60(Button, { size: "sm", onClick: onUploadClick, className: "gap-1.5 text-xs mt-2", children: [
12276
+ /* @__PURE__ */ jsx98(Upload, { className: "h-3.5 w-3.5" }),
12277
+ /* @__PURE__ */ jsx98("span", { children: "Upload New File" })
12278
+ ] })
12279
+ ] }) : viewMode === "grid" ? /* @__PURE__ */ jsx98("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3.5", children: paginatedFiles.map((file) => /* @__PURE__ */ jsx98(
12280
+ FileCardItem,
12281
+ {
12282
+ file,
12283
+ isSelected: file.id === selectedFileId || selectedIds.has(file.id),
12284
+ viewMode: "grid",
12285
+ onSelect: () => onSelectFileForPreview?.(file),
12286
+ onPreview: () => onSelectFileForPreview?.(file),
12287
+ onDownload: () => onDownloadFile?.(file),
12288
+ onCopyLink: () => onCopyLink?.(file),
12289
+ onRename: () => onRenameFile?.(file),
12290
+ onDelete: () => onDeleteFile?.(file),
12291
+ onShare: () => onShareFile?.(file)
12292
+ },
12293
+ file.id
12294
+ )) }) : /* @__PURE__ */ jsx98("div", { className: "overflow-hidden rounded-2xl border border-border/80 bg-card shadow-2xs", children: /* @__PURE__ */ jsxs60("table", { className: "w-full text-left text-xs border-collapse", children: [
12295
+ /* @__PURE__ */ jsx98("thead", { className: "border-b border-border/80 bg-muted/30 text-muted-foreground font-bold", children: /* @__PURE__ */ jsxs60("tr", { children: [
12296
+ /* @__PURE__ */ jsx98("th", { className: "py-2.5 px-4", children: "Name" }),
12297
+ /* @__PURE__ */ jsx98("th", { className: "py-2.5 px-4", children: "Category" }),
12298
+ /* @__PURE__ */ jsx98("th", { className: "py-2.5 px-4", children: "Size" }),
12299
+ /* @__PURE__ */ jsx98("th", { className: "py-2.5 px-4 hidden sm:table-cell", children: "Updated" }),
12300
+ /* @__PURE__ */ jsx98("th", { className: "py-2.5 px-4 text-right", children: "Actions" })
12301
+ ] }) }),
12302
+ /* @__PURE__ */ jsx98("tbody", { children: paginatedFiles.map((file) => /* @__PURE__ */ jsx98(
12303
+ FileCardItem,
12304
+ {
12305
+ file,
12306
+ isSelected: file.id === selectedFileId || selectedIds.has(file.id),
12307
+ viewMode: "table",
12308
+ onSelect: () => onSelectFileForPreview?.(file),
12309
+ onPreview: () => onSelectFileForPreview?.(file),
12310
+ onDownload: () => onDownloadFile?.(file),
12311
+ onCopyLink: () => onCopyLink?.(file),
12312
+ onRename: () => onRenameFile?.(file),
12313
+ onDelete: () => onDeleteFile?.(file),
12314
+ onShare: () => onShareFile?.(file)
12315
+ },
12316
+ file.id
12317
+ )) })
12318
+ ] }) }) }),
12319
+ totalPages > 1 && /* @__PURE__ */ jsxs60("div", { className: "flex items-center justify-between border-t border-border bg-background px-4 py-2.5 shrink-0 text-xs text-muted-foreground", children: [
12320
+ /* @__PURE__ */ jsxs60("span", { children: [
12321
+ "Showing ",
12322
+ (currentPage - 1) * itemsPerPage + 1,
12323
+ " -",
12324
+ " ",
12325
+ Math.min(currentPage * itemsPerPage, sortedFiles.length),
12326
+ " of ",
12327
+ sortedFiles.length
12328
+ ] }),
12329
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-1", children: [
12330
+ /* @__PURE__ */ jsx98(
12331
+ Button,
12332
+ {
12333
+ variant: "outline",
12334
+ size: "sm",
12335
+ onClick: () => setCurrentPage((p) => Math.max(1, p - 1)),
12336
+ disabled: currentPage === 1,
12337
+ className: "h-7 w-7 p-0 rounded-lg",
12338
+ children: /* @__PURE__ */ jsx98(ChevronLeft2, { className: "h-3.5 w-3.5" })
12339
+ }
12340
+ ),
12341
+ /* @__PURE__ */ jsxs60("span", { className: "px-2 font-mono font-bold text-foreground", children: [
12342
+ currentPage,
12343
+ " / ",
12344
+ totalPages
12345
+ ] }),
12346
+ /* @__PURE__ */ jsx98(
12347
+ Button,
12348
+ {
12349
+ variant: "outline",
12350
+ size: "sm",
12351
+ onClick: () => setCurrentPage((p) => Math.min(totalPages, p + 1)),
12352
+ disabled: currentPage === totalPages,
12353
+ className: "h-7 w-7 p-0 rounded-lg",
12354
+ children: /* @__PURE__ */ jsx98(ChevronRight9, { className: "h-3.5 w-3.5" })
12355
+ }
12356
+ )
12357
+ ] })
12358
+ ] })
12359
+ ]
12360
+ }
12361
+ );
12362
+ }
12363
+
12364
+ // src/design-system/components/files/file-upload-form.tsx
12365
+ import { useState as useState13, useRef as useRef7 } from "react";
12366
+ import {
12367
+ Bold,
12368
+ Italic,
12369
+ Underline,
12370
+ List,
12371
+ ListOrdered,
12372
+ Paperclip as Paperclip2,
12373
+ Save,
12374
+ ArrowLeft as ArrowLeft4,
12375
+ Eye as Eye4,
12376
+ X as X6,
12377
+ Loader2 as Loader22,
12378
+ FileText as FileText5,
12379
+ UploadCloud
12380
+ } from "lucide-react";
12381
+ import { jsx as jsx99, jsxs as jsxs61 } from "react/jsx-runtime";
12382
+ var TEMPLATE_OPTIONS = [
12383
+ { id: "1", name: "Standard Document" },
12384
+ { id: "2", name: "Financial Invoice" },
12385
+ { id: "3", name: "Report & Spreadsheet" },
12386
+ { id: "4", name: "Contract & Legal" }
12387
+ ];
12388
+ var FOLDER_OPTIONS = ["Finance", "Chat", "Files", "Email", "AI Chat", "Order"];
12389
+ var SUB_FOLDER_OPTIONS = [
12390
+ "Pdf",
12391
+ "Doc",
12392
+ "Xls",
12393
+ "Images",
12394
+ "Videos",
12395
+ "Ppt",
12396
+ "Txt",
12397
+ "Csv",
12398
+ "Zip",
12399
+ "Other"
12400
+ ];
12401
+ function FileUploadForm({
12402
+ userEmail,
12403
+ folders,
12404
+ initialSubject = "",
12405
+ initialFolder = "Finance",
12406
+ initialSubFolder = "Pdf",
12407
+ onClose,
12408
+ onSave,
12409
+ onUploadSuccess,
12410
+ onPreviewAttachment,
12411
+ className
12412
+ }) {
12413
+ const [template, setTemplate] = useState13(TEMPLATE_OPTIONS[0].id);
12414
+ const [subject, setSubject] = useState13(initialSubject);
12415
+ const [folder, setFolder] = useState13(initialFolder);
12416
+ const [subFolder, setSubFolder] = useState13(initialSubFolder);
12417
+ const [remarks, setRemarks] = useState13("");
12418
+ const [body, setBody] = useState13("");
12419
+ const [attachments, setAttachments] = useState13([]);
12420
+ const [isSaving, setIsSaving] = useState13(false);
12421
+ const fileInputRef = useRef7(null);
12422
+ const handleFileChange = (e) => {
12423
+ const files = e.target.files;
12424
+ if (!files || files.length === 0) return;
12425
+ const newAttachments = Array.from(files).map((f) => ({
12426
+ id: `att-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
12427
+ name: f.name,
12428
+ type: f.type || "application/octet-stream",
12429
+ size: formatBytes(f.size),
12430
+ url: URL.createObjectURL(f),
12431
+ fileObj: f,
12432
+ progress: 100
12433
+ }));
12434
+ setAttachments((prev) => [...prev, ...newAttachments]);
12435
+ if (fileInputRef.current) fileInputRef.current.value = "";
12436
+ };
12437
+ const handleRemoveAttachment = (id) => {
12438
+ setAttachments((prev) => prev.filter((a) => a.id !== id));
12439
+ };
12440
+ const handleFormSubmit = async (e) => {
12441
+ e.preventDefault();
12442
+ setIsSaving(true);
12443
+ try {
12444
+ if (onSave) {
12445
+ await onSave({
12446
+ subject,
12447
+ folder,
12448
+ subFolder,
12449
+ remarks,
12450
+ body,
12451
+ attachments
12452
+ });
12453
+ }
12454
+ onUploadSuccess?.();
12455
+ } finally {
12456
+ setIsSaving(false);
12457
+ }
12458
+ };
12459
+ return /* @__PURE__ */ jsxs61(
12460
+ "div",
12461
+ {
12462
+ className: cn(
12463
+ "flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-background select-none",
12464
+ className
12465
+ ),
12466
+ children: [
12467
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center justify-between border-b border-border bg-background px-4 py-3 shrink-0", children: [
12468
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-2.5 min-w-0", children: [
12469
+ onClose && /* @__PURE__ */ jsx99(
12470
+ "button",
12471
+ {
12472
+ type: "button",
12473
+ onClick: onClose,
12474
+ className: "flex h-8 w-8 items-center justify-center rounded-xl text-muted-foreground hover:bg-muted hover:text-foreground transition-colors cursor-pointer",
12475
+ title: "Back",
12476
+ children: /* @__PURE__ */ jsx99(ArrowLeft4, { className: "h-4 w-4" })
12477
+ }
12478
+ ),
12479
+ /* @__PURE__ */ jsx99("div", { className: "flex h-10 w-10 items-center justify-center rounded-xl bg-indigo-500/10 text-indigo-600 dark:text-indigo-400 border border-indigo-200/50 shrink-0 shadow-2xs", children: /* @__PURE__ */ jsx99(FileText5, { className: "h-5 w-5" }) }),
12480
+ /* @__PURE__ */ jsxs61("div", { className: "min-w-0", children: [
12481
+ /* @__PURE__ */ jsx99("h2", { className: "truncate text-sm font-bold text-foreground tracking-tight", children: "Create & Upload Document" }),
12482
+ /* @__PURE__ */ jsx99("p", { className: "truncate text-xs text-muted-foreground", children: "Add metadata, descriptions, and attach files to your cloud storage" })
12483
+ ] })
12484
+ ] }),
12485
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-2 shrink-0", children: [
12486
+ onClose && /* @__PURE__ */ jsx99(Button, { variant: "ghost", size: "sm", onClick: onClose, className: "h-8 text-xs", children: "Cancel" }),
12487
+ /* @__PURE__ */ jsxs61(
12488
+ Button,
12489
+ {
12490
+ size: "sm",
12491
+ onClick: handleFormSubmit,
12492
+ disabled: isSaving || !subject && attachments.length === 0,
12493
+ className: "h-8 gap-1.5 text-xs font-semibold shadow-xs bg-indigo-600 hover:bg-indigo-700 text-white",
12494
+ children: [
12495
+ isSaving ? /* @__PURE__ */ jsx99(Loader22, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx99(Save, { className: "h-3.5 w-3.5" }),
12496
+ /* @__PURE__ */ jsx99("span", { children: "Save & Upload" })
12497
+ ]
12498
+ }
12499
+ )
12500
+ ] })
12501
+ ] }),
12502
+ /* @__PURE__ */ jsxs61("div", { className: "min-h-0 flex-1 overflow-y-auto p-4 space-y-4", children: [
12503
+ /* @__PURE__ */ jsxs61("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-3 p-3.5 rounded-2xl border border-border/80 bg-muted/10", children: [
12504
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-1.5", children: [
12505
+ /* @__PURE__ */ jsx99(Label, { className: "text-xs font-semibold text-foreground", children: "Document Template" }),
12506
+ /* @__PURE__ */ jsxs61(Select, { value: template, onValueChange: setTemplate, children: [
12507
+ /* @__PURE__ */ jsx99(SelectTrigger, { className: "h-8.5 text-xs rounded-xl bg-background border-border/80", children: /* @__PURE__ */ jsx99(SelectValue, { placeholder: "Select template" }) }),
12508
+ /* @__PURE__ */ jsx99(SelectContent, { className: "rounded-xl shadow-lg", children: TEMPLATE_OPTIONS.map((t) => /* @__PURE__ */ jsx99(SelectItem, { value: t.id, className: "text-xs", children: t.name }, t.id)) })
12509
+ ] })
12510
+ ] }),
12511
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-1.5", children: [
12512
+ /* @__PURE__ */ jsx99(Label, { className: "text-xs font-semibold text-foreground", children: "Target Space" }),
12513
+ /* @__PURE__ */ jsxs61(Select, { value: folder, onValueChange: setFolder, children: [
12514
+ /* @__PURE__ */ jsx99(SelectTrigger, { className: "h-8.5 text-xs rounded-xl bg-background border-border/80", children: /* @__PURE__ */ jsx99(SelectValue, { placeholder: "Select space" }) }),
12515
+ /* @__PURE__ */ jsx99(SelectContent, { className: "rounded-xl shadow-lg", children: (folders || FOLDER_OPTIONS.map((f) => ({ id: f, name: f }))).map((f) => /* @__PURE__ */ jsx99(SelectItem, { value: f.name, className: "text-xs", children: f.name }, f.id)) })
12516
+ ] })
12517
+ ] }),
12518
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-1.5", children: [
12519
+ /* @__PURE__ */ jsx99(Label, { className: "text-xs font-semibold text-foreground", children: "Category Subfolder" }),
12520
+ /* @__PURE__ */ jsxs61(Select, { value: subFolder, onValueChange: setSubFolder, children: [
12521
+ /* @__PURE__ */ jsx99(SelectTrigger, { className: "h-8.5 text-xs rounded-xl bg-background border-border/80", children: /* @__PURE__ */ jsx99(SelectValue, { placeholder: "Select category" }) }),
12522
+ /* @__PURE__ */ jsx99(SelectContent, { className: "rounded-xl shadow-lg", children: SUB_FOLDER_OPTIONS.map((cat) => /* @__PURE__ */ jsx99(SelectItem, { value: cat, className: "text-xs", children: cat }, cat)) })
12523
+ ] })
12524
+ ] })
12525
+ ] }),
12526
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-1.5", children: [
12527
+ /* @__PURE__ */ jsx99(Label, { className: "text-xs font-semibold text-foreground", children: "Document Title / Subject" }),
12528
+ /* @__PURE__ */ jsx99(
12529
+ Input,
12530
+ {
12531
+ value: subject,
12532
+ onChange: (e) => setSubject(e.target.value),
12533
+ placeholder: "e.g. Q3 Sales & Performance Report",
12534
+ className: "h-9 text-xs rounded-xl bg-background border-border/80"
12535
+ }
12536
+ )
12537
+ ] }),
12538
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-1.5", children: [
12539
+ /* @__PURE__ */ jsx99(Label, { className: "text-xs font-semibold text-foreground", children: "Document Content / Notes" }),
12540
+ /* @__PURE__ */ jsxs61("div", { className: "rounded-2xl border border-border/80 overflow-hidden bg-background", children: [
12541
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-1 border-b border-border/60 bg-muted/20 p-1.5", children: [
12542
+ /* @__PURE__ */ jsx99(
12543
+ "button",
12544
+ {
12545
+ type: "button",
12546
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground",
12547
+ title: "Bold",
12548
+ children: /* @__PURE__ */ jsx99(Bold, { className: "h-3.5 w-3.5" })
12549
+ }
12550
+ ),
12551
+ /* @__PURE__ */ jsx99(
12552
+ "button",
12553
+ {
12554
+ type: "button",
12555
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground",
12556
+ title: "Italic",
12557
+ children: /* @__PURE__ */ jsx99(Italic, { className: "h-3.5 w-3.5" })
12558
+ }
12559
+ ),
12560
+ /* @__PURE__ */ jsx99(
12561
+ "button",
12562
+ {
12563
+ type: "button",
12564
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground",
12565
+ title: "Underline",
12566
+ children: /* @__PURE__ */ jsx99(Underline, { className: "h-3.5 w-3.5" })
12567
+ }
12568
+ ),
12569
+ /* @__PURE__ */ jsx99("div", { className: "h-4 w-px bg-border/80 mx-1" }),
12570
+ /* @__PURE__ */ jsx99(
12571
+ "button",
12572
+ {
12573
+ type: "button",
12574
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground",
12575
+ title: "Bullet List",
12576
+ children: /* @__PURE__ */ jsx99(List, { className: "h-3.5 w-3.5" })
12577
+ }
12578
+ ),
12579
+ /* @__PURE__ */ jsx99(
12580
+ "button",
12581
+ {
12582
+ type: "button",
12583
+ className: "p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground",
12584
+ title: "Numbered List",
12585
+ children: /* @__PURE__ */ jsx99(ListOrdered, { className: "h-3.5 w-3.5" })
12586
+ }
12587
+ ),
12588
+ /* @__PURE__ */ jsx99("div", { className: "h-4 w-px bg-border/80 mx-1" }),
12589
+ /* @__PURE__ */ jsxs61(
12590
+ "button",
12591
+ {
12592
+ type: "button",
12593
+ onClick: () => fileInputRef.current?.click(),
12594
+ className: "p-1.5 rounded-lg hover:bg-muted text-indigo-600 dark:text-indigo-400 font-semibold flex items-center gap-1 text-xs",
12595
+ title: "Attach Files",
12596
+ children: [
12597
+ /* @__PURE__ */ jsx99(Paperclip2, { className: "h-3.5 w-3.5" }),
12598
+ /* @__PURE__ */ jsx99("span", { children: "Attach" })
12599
+ ]
12600
+ }
12601
+ )
12602
+ ] }),
12603
+ /* @__PURE__ */ jsx99(
12604
+ "textarea",
12605
+ {
12606
+ value: body,
12607
+ onChange: (e) => setBody(e.target.value),
12608
+ placeholder: "Write or paste your document notes and text here...",
12609
+ rows: 4,
12610
+ className: "w-full p-3 text-xs bg-transparent border-0 focus:outline-hidden resize-y min-h-[90px]"
12611
+ }
12612
+ )
12613
+ ] })
12614
+ ] }),
12615
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-2", children: [
12616
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center justify-between", children: [
12617
+ /* @__PURE__ */ jsxs61(Label, { className: "text-xs font-semibold text-foreground", children: [
12618
+ "Attachments (",
12619
+ attachments.length,
12620
+ ")"
12621
+ ] }),
12622
+ /* @__PURE__ */ jsx99(
12623
+ "input",
12624
+ {
12625
+ type: "file",
12626
+ multiple: true,
12627
+ ref: fileInputRef,
12628
+ onChange: handleFileChange,
12629
+ className: "hidden"
12630
+ }
12631
+ ),
12632
+ /* @__PURE__ */ jsxs61(
12633
+ Button,
12634
+ {
12635
+ type: "button",
12636
+ variant: "outline",
12637
+ size: "sm",
12638
+ onClick: () => fileInputRef.current?.click(),
12639
+ className: "h-7 text-xs gap-1.5 rounded-xl border-dashed",
12640
+ children: [
12641
+ /* @__PURE__ */ jsx99(Paperclip2, { className: "h-3 w-3" }),
12642
+ /* @__PURE__ */ jsx99("span", { children: "Browse Files" })
12643
+ ]
12644
+ }
12645
+ )
12646
+ ] }),
12647
+ attachments.length === 0 ? /* @__PURE__ */ jsxs61(
12648
+ "div",
12649
+ {
12650
+ onClick: () => fileInputRef.current?.click(),
12651
+ className: "flex flex-col items-center justify-center gap-2 p-6 border-2 border-dashed border-border/80 rounded-2xl bg-muted/10 text-muted-foreground hover:border-indigo-400 hover:bg-indigo-50/20 dark:hover:bg-indigo-950/20 transition-all cursor-pointer text-center",
12652
+ children: [
12653
+ /* @__PURE__ */ jsx99(UploadCloud, { className: "h-8 w-8 text-indigo-500" }),
12654
+ /* @__PURE__ */ jsxs61("div", { children: [
12655
+ /* @__PURE__ */ jsx99("p", { className: "text-xs font-bold text-foreground", children: "Click to upload or drag and drop" }),
12656
+ /* @__PURE__ */ jsx99("p", { className: "text-[11px] text-muted-foreground mt-0.5", children: "PDF, DOCX, XLSX, PNG, JPG, MP4 or ZIP up to 50MB" })
12657
+ ] })
12658
+ ]
12659
+ }
12660
+ ) : /* @__PURE__ */ jsx99("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2", children: attachments.map((att) => /* @__PURE__ */ jsxs61(
12661
+ "div",
12662
+ {
12663
+ className: "flex items-center justify-between gap-2 p-2.5 rounded-xl border border-border/80 bg-card shadow-2xs",
12664
+ children: [
12665
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-2.5 min-w-0", children: [
12666
+ /* @__PURE__ */ jsx99("div", { className: "flex h-8 w-8 items-center justify-center rounded-lg bg-indigo-500/10 text-indigo-600 shrink-0", children: /* @__PURE__ */ jsx99(FileText5, { className: "h-4 w-4" }) }),
12667
+ /* @__PURE__ */ jsxs61("div", { className: "min-w-0", children: [
12668
+ /* @__PURE__ */ jsx99("p", { className: "truncate text-xs font-semibold text-foreground", children: att.name }),
12669
+ /* @__PURE__ */ jsx99("p", { className: "text-[10px] text-muted-foreground font-mono", children: att.size })
12670
+ ] })
12671
+ ] }),
12672
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-1 shrink-0", children: [
12673
+ onPreviewAttachment && att.url && /* @__PURE__ */ jsx99(
12674
+ "button",
12675
+ {
12676
+ type: "button",
12677
+ onClick: () => onPreviewAttachment({ name: att.name, url: att.url }),
12678
+ className: "p-1 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground",
12679
+ title: "Preview",
12680
+ children: /* @__PURE__ */ jsx99(Eye4, { className: "h-3.5 w-3.5" })
12681
+ }
12682
+ ),
12683
+ /* @__PURE__ */ jsx99(
12684
+ "button",
12685
+ {
12686
+ type: "button",
12687
+ onClick: () => handleRemoveAttachment(att.id),
12688
+ className: "p-1 rounded-lg hover:bg-rose-50 dark:hover:bg-rose-950/30 text-rose-500 hover:text-rose-600",
12689
+ title: "Remove",
12690
+ children: /* @__PURE__ */ jsx99(X6, { className: "h-3.5 w-3.5" })
12691
+ }
12692
+ )
12693
+ ] })
12694
+ ]
12695
+ },
12696
+ att.id
12697
+ )) })
12698
+ ] }),
12699
+ /* @__PURE__ */ jsxs61("div", { className: "space-y-1.5", children: [
12700
+ /* @__PURE__ */ jsx99(Label, { className: "text-xs font-semibold text-foreground", children: "Remarks / Tags" }),
12701
+ /* @__PURE__ */ jsx99(
12702
+ Input,
12703
+ {
12704
+ value: remarks,
12705
+ onChange: (e) => setRemarks(e.target.value),
12706
+ placeholder: "e.g. Confidential, Q3 Approved, Client Copy",
12707
+ className: "h-8.5 text-xs rounded-xl bg-background border-border/80"
12708
+ }
12709
+ )
12710
+ ] })
12711
+ ] })
12712
+ ]
12713
+ }
12714
+ );
12715
+ }
12716
+
11092
12717
  // src/design-system/templates/list-template.tsx
11093
- import { jsx as jsx94, jsxs as jsxs56 } from "react/jsx-runtime";
12718
+ import { jsx as jsx100, jsxs as jsxs62 } from "react/jsx-runtime";
11094
12719
  function ListTemplate({
11095
12720
  title,
11096
12721
  description,
@@ -11110,8 +12735,8 @@ function ListTemplate({
11110
12735
  ...props
11111
12736
  }) {
11112
12737
  const hasFilterBar = Boolean(onSearchChange) || Boolean(filters) || activeFilters && activeFilters.length > 0 || Boolean(filterActions);
11113
- return /* @__PURE__ */ jsxs56("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11114
- /* @__PURE__ */ jsx94(
12738
+ return /* @__PURE__ */ jsxs62("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12739
+ /* @__PURE__ */ jsx100(
11115
12740
  PageHeader,
11116
12741
  {
11117
12742
  title,
@@ -11121,7 +12746,7 @@ function ListTemplate({
11121
12746
  actions
11122
12747
  }
11123
12748
  ),
11124
- hasFilterBar && /* @__PURE__ */ jsx94(
12749
+ hasFilterBar && /* @__PURE__ */ jsx100(
11125
12750
  FilterBar,
11126
12751
  {
11127
12752
  searchPlaceholder,
@@ -11133,14 +12758,14 @@ function ListTemplate({
11133
12758
  actions: filterActions
11134
12759
  }
11135
12760
  ),
11136
- /* @__PURE__ */ jsx94("div", { className: "flex-1", children }),
11137
- footer && /* @__PURE__ */ jsx94("div", { className: "pt-2", children: footer })
12761
+ /* @__PURE__ */ jsx100("div", { className: "flex-1", children }),
12762
+ footer && /* @__PURE__ */ jsx100("div", { className: "pt-2", children: footer })
11138
12763
  ] });
11139
12764
  }
11140
12765
 
11141
12766
  // src/design-system/templates/detail-template.tsx
11142
- import { ArrowLeft as ArrowLeft3 } from "lucide-react";
11143
- import { jsx as jsx95, jsxs as jsxs57 } from "react/jsx-runtime";
12767
+ import { ArrowLeft as ArrowLeft5 } from "lucide-react";
12768
+ import { jsx as jsx101, jsxs as jsxs63 } from "react/jsx-runtime";
11144
12769
  function DetailTemplate({
11145
12770
  title,
11146
12771
  description,
@@ -11155,9 +12780,9 @@ function DetailTemplate({
11155
12780
  className,
11156
12781
  ...props
11157
12782
  }) {
11158
- return /* @__PURE__ */ jsxs57("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11159
- /* @__PURE__ */ jsxs57("div", { className: "flex flex-col gap-2", children: [
11160
- onBack && /* @__PURE__ */ jsxs57(
12783
+ return /* @__PURE__ */ jsxs63("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12784
+ /* @__PURE__ */ jsxs63("div", { className: "flex flex-col gap-2", children: [
12785
+ onBack && /* @__PURE__ */ jsxs63(
11161
12786
  Button,
11162
12787
  {
11163
12788
  variant: "ghost",
@@ -11165,12 +12790,12 @@ function DetailTemplate({
11165
12790
  onClick: onBack,
11166
12791
  className: "w-fit gap-1.5 px-0 text-xs text-muted-foreground hover:bg-transparent hover:text-foreground",
11167
12792
  children: [
11168
- /* @__PURE__ */ jsx95(ArrowLeft3, { className: "h-3.5 w-3.5" }),
12793
+ /* @__PURE__ */ jsx101(ArrowLeft5, { className: "h-3.5 w-3.5" }),
11169
12794
  backLabel
11170
12795
  ]
11171
12796
  }
11172
12797
  ),
11173
- /* @__PURE__ */ jsx95(
12798
+ /* @__PURE__ */ jsx101(
11174
12799
  PageHeader,
11175
12800
  {
11176
12801
  title,
@@ -11181,8 +12806,8 @@ function DetailTemplate({
11181
12806
  }
11182
12807
  )
11183
12808
  ] }),
11184
- highlights && /* @__PURE__ */ jsx95("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: highlights }),
11185
- /* @__PURE__ */ jsxs57(
12809
+ highlights && /* @__PURE__ */ jsx101("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: highlights }),
12810
+ /* @__PURE__ */ jsxs63(
11186
12811
  "div",
11187
12812
  {
11188
12813
  className: cn(
@@ -11190,8 +12815,8 @@ function DetailTemplate({
11190
12815
  sidebar ? "grid-cols-1 lg:grid-cols-3" : "grid-cols-1"
11191
12816
  ),
11192
12817
  children: [
11193
- /* @__PURE__ */ jsx95("div", { className: cn(sidebar ? "lg:col-span-2 space-y-6" : "space-y-6"), children }),
11194
- sidebar && /* @__PURE__ */ jsx95("aside", { className: "space-y-6 lg:col-span-1", children: sidebar })
12818
+ /* @__PURE__ */ jsx101("div", { className: cn(sidebar ? "lg:col-span-2 space-y-6" : "space-y-6"), children }),
12819
+ sidebar && /* @__PURE__ */ jsx101("aside", { className: "space-y-6 lg:col-span-1", children: sidebar })
11195
12820
  ]
11196
12821
  }
11197
12822
  )
@@ -11199,8 +12824,8 @@ function DetailTemplate({
11199
12824
  }
11200
12825
 
11201
12826
  // src/design-system/templates/form-template.tsx
11202
- import { ArrowLeft as ArrowLeft4 } from "lucide-react";
11203
- import { jsx as jsx96, jsxs as jsxs58 } from "react/jsx-runtime";
12827
+ import { ArrowLeft as ArrowLeft6 } from "lucide-react";
12828
+ import { jsx as jsx102, jsxs as jsxs64 } from "react/jsx-runtime";
11204
12829
  function FormTemplate({
11205
12830
  title,
11206
12831
  description,
@@ -11219,9 +12844,9 @@ function FormTemplate({
11219
12844
  onSubmit,
11220
12845
  ...props
11221
12846
  }) {
11222
- return /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-6 p-4 sm:p-6 md:p-8", children: [
11223
- /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-2", children: [
11224
- onBack && /* @__PURE__ */ jsxs58(
12847
+ return /* @__PURE__ */ jsxs64("div", { className: "flex flex-col gap-6 p-4 sm:p-6 md:p-8", children: [
12848
+ /* @__PURE__ */ jsxs64("div", { className: "flex flex-col gap-2", children: [
12849
+ onBack && /* @__PURE__ */ jsxs64(
11225
12850
  Button,
11226
12851
  {
11227
12852
  type: "button",
@@ -11230,12 +12855,12 @@ function FormTemplate({
11230
12855
  onClick: onBack,
11231
12856
  className: "w-fit gap-1.5 px-0 text-xs text-muted-foreground hover:bg-transparent hover:text-foreground",
11232
12857
  children: [
11233
- /* @__PURE__ */ jsx96(ArrowLeft4, { className: "h-3.5 w-3.5" }),
12858
+ /* @__PURE__ */ jsx102(ArrowLeft6, { className: "h-3.5 w-3.5" }),
11234
12859
  backLabel
11235
12860
  ]
11236
12861
  }
11237
12862
  ),
11238
- /* @__PURE__ */ jsx96(
12863
+ /* @__PURE__ */ jsx102(
11239
12864
  PageHeader,
11240
12865
  {
11241
12866
  title,
@@ -11245,9 +12870,9 @@ function FormTemplate({
11245
12870
  }
11246
12871
  )
11247
12872
  ] }),
11248
- /* @__PURE__ */ jsxs58("form", { onSubmit, className: cn("space-y-8", className), ...props, children: [
11249
- /* @__PURE__ */ jsx96("div", { className: "space-y-6", children }),
11250
- /* @__PURE__ */ jsxs58(
12873
+ /* @__PURE__ */ jsxs64("form", { onSubmit, className: cn("space-y-8", className), ...props, children: [
12874
+ /* @__PURE__ */ jsx102("div", { className: "space-y-6", children }),
12875
+ /* @__PURE__ */ jsxs64(
11251
12876
  "div",
11252
12877
  {
11253
12878
  className: cn(
@@ -11255,9 +12880,9 @@ function FormTemplate({
11255
12880
  stickyFooter && "sticky bottom-0 -mx-4 -mb-4 bg-background/95 p-4 backdrop-blur border-t sm:-mx-6 sm:-mb-6 sm:p-6 md:-mx-8 md:-mb-8 md:p-8"
11256
12881
  ),
11257
12882
  children: [
11258
- /* @__PURE__ */ jsx96("div", { children: secondaryActions }),
11259
- /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-3", children: [
11260
- onCancel && /* @__PURE__ */ jsx96(
12883
+ /* @__PURE__ */ jsx102("div", { children: secondaryActions }),
12884
+ /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-3", children: [
12885
+ onCancel && /* @__PURE__ */ jsx102(
11261
12886
  Button,
11262
12887
  {
11263
12888
  type: "button",
@@ -11267,7 +12892,7 @@ function FormTemplate({
11267
12892
  children: cancelLabel
11268
12893
  }
11269
12894
  ),
11270
- /* @__PURE__ */ jsx96(Button, { type: "submit", disabled: isSubmitting, children: isSubmitting ? "Saving..." : submitLabel })
12895
+ /* @__PURE__ */ jsx102(Button, { type: "submit", disabled: isSubmitting, children: isSubmitting ? "Saving..." : submitLabel })
11271
12896
  ] })
11272
12897
  ]
11273
12898
  }
@@ -11277,8 +12902,8 @@ function FormTemplate({
11277
12902
  }
11278
12903
 
11279
12904
  // src/design-system/templates/wizard-template.tsx
11280
- import { Check as Check7, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight7 } from "lucide-react";
11281
- import { jsx as jsx97, jsxs as jsxs59 } from "react/jsx-runtime";
12905
+ import { Check as Check8, ChevronLeft as ChevronLeft3, ChevronRight as ChevronRight10 } from "lucide-react";
12906
+ import { jsx as jsx103, jsxs as jsxs65 } from "react/jsx-runtime";
11282
12907
  function WizardTemplate({
11283
12908
  title,
11284
12909
  description,
@@ -11299,18 +12924,18 @@ function WizardTemplate({
11299
12924
  }) {
11300
12925
  const isLastStep = currentStepIndex === steps.length - 1;
11301
12926
  const isFirstStep = currentStepIndex === 0;
11302
- return /* @__PURE__ */ jsxs59("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11303
- /* @__PURE__ */ jsx97(PageHeader, { title, description }),
11304
- /* @__PURE__ */ jsx97("nav", { "aria-label": "Wizard Progress", className: "py-2", children: /* @__PURE__ */ jsx97("ol", { className: "flex items-center justify-between gap-2 overflow-x-auto pb-2", children: steps.map((step, idx) => {
12927
+ return /* @__PURE__ */ jsxs65("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12928
+ /* @__PURE__ */ jsx103(PageHeader, { title, description }),
12929
+ /* @__PURE__ */ jsx103("nav", { "aria-label": "Wizard Progress", className: "py-2", children: /* @__PURE__ */ jsx103("ol", { className: "flex items-center justify-between gap-2 overflow-x-auto pb-2", children: steps.map((step, idx) => {
11305
12930
  const isCompleted = idx < currentStepIndex;
11306
12931
  const isCurrent = idx === currentStepIndex;
11307
12932
  const isClickable = onStepChange && idx < currentStepIndex;
11308
- return /* @__PURE__ */ jsxs59(
12933
+ return /* @__PURE__ */ jsxs65(
11309
12934
  "li",
11310
12935
  {
11311
12936
  className: "flex flex-1 items-center gap-2.5 min-w-[120px]",
11312
12937
  children: [
11313
- /* @__PURE__ */ jsxs59(
12938
+ /* @__PURE__ */ jsxs65(
11314
12939
  "button",
11315
12940
  {
11316
12941
  type: "button",
@@ -11321,7 +12946,7 @@ function WizardTemplate({
11321
12946
  isClickable && "cursor-pointer hover:opacity-80"
11322
12947
  ),
11323
12948
  children: [
11324
- /* @__PURE__ */ jsx97(
12949
+ /* @__PURE__ */ jsx103(
11325
12950
  "span",
11326
12951
  {
11327
12952
  className: cn(
@@ -11330,10 +12955,10 @@ function WizardTemplate({
11330
12955
  isCurrent && "border-2 border-primary bg-primary/10 text-primary font-bold",
11331
12956
  !isCompleted && !isCurrent && "border border-border bg-muted text-muted-foreground"
11332
12957
  ),
11333
- children: isCompleted ? /* @__PURE__ */ jsx97(Check7, { className: "h-4 w-4" }) : idx + 1
12958
+ children: isCompleted ? /* @__PURE__ */ jsx103(Check8, { className: "h-4 w-4" }) : idx + 1
11334
12959
  }
11335
12960
  ),
11336
- /* @__PURE__ */ jsx97("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsx97(
12961
+ /* @__PURE__ */ jsx103("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsx103(
11337
12962
  "div",
11338
12963
  {
11339
12964
  className: cn(
@@ -11346,7 +12971,7 @@ function WizardTemplate({
11346
12971
  ]
11347
12972
  }
11348
12973
  ),
11349
- idx < steps.length - 1 && /* @__PURE__ */ jsx97(
12974
+ idx < steps.length - 1 && /* @__PURE__ */ jsx103(
11350
12975
  "div",
11351
12976
  {
11352
12977
  className: cn(
@@ -11360,9 +12985,9 @@ function WizardTemplate({
11360
12985
  step.id
11361
12986
  );
11362
12987
  }) }) }),
11363
- /* @__PURE__ */ jsx97("div", { className: "flex-1 rounded-lg border bg-card p-4 sm:p-6", children }),
11364
- /* @__PURE__ */ jsxs59("div", { className: "flex items-center justify-between pt-2", children: [
11365
- /* @__PURE__ */ jsxs59(
12988
+ /* @__PURE__ */ jsx103("div", { className: "flex-1 rounded-lg border bg-card p-4 sm:p-6", children }),
12989
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between pt-2", children: [
12990
+ /* @__PURE__ */ jsxs65(
11366
12991
  Button,
11367
12992
  {
11368
12993
  type: "button",
@@ -11370,12 +12995,12 @@ function WizardTemplate({
11370
12995
  disabled: isFirstStep || isSubmitting,
11371
12996
  onClick: onPrevious,
11372
12997
  children: [
11373
- /* @__PURE__ */ jsx97(ChevronLeft2, { className: "mr-1 h-4 w-4" }),
12998
+ /* @__PURE__ */ jsx103(ChevronLeft3, { className: "mr-1 h-4 w-4" }),
11374
12999
  previousLabel
11375
13000
  ]
11376
13001
  }
11377
13002
  ),
11378
- isLastStep ? /* @__PURE__ */ jsx97(
13003
+ isLastStep ? /* @__PURE__ */ jsx103(
11379
13004
  Button,
11380
13005
  {
11381
13006
  type: "button",
@@ -11383,7 +13008,7 @@ function WizardTemplate({
11383
13008
  onClick: onSubmit,
11384
13009
  children: isSubmitting ? "Submitting..." : submitLabel
11385
13010
  }
11386
- ) : /* @__PURE__ */ jsxs59(
13011
+ ) : /* @__PURE__ */ jsxs65(
11387
13012
  Button,
11388
13013
  {
11389
13014
  type: "button",
@@ -11391,7 +13016,7 @@ function WizardTemplate({
11391
13016
  onClick: onNext,
11392
13017
  children: [
11393
13018
  nextLabel,
11394
- /* @__PURE__ */ jsx97(ChevronRight7, { className: "ml-1 h-4 w-4" })
13019
+ /* @__PURE__ */ jsx103(ChevronRight10, { className: "ml-1 h-4 w-4" })
11395
13020
  ]
11396
13021
  }
11397
13022
  )
@@ -11400,7 +13025,7 @@ function WizardTemplate({
11400
13025
  }
11401
13026
 
11402
13027
  // src/design-system/templates/dashboard-template.tsx
11403
- import { jsx as jsx98, jsxs as jsxs60 } from "react/jsx-runtime";
13028
+ import { jsx as jsx104, jsxs as jsxs66 } from "react/jsx-runtime";
11404
13029
  function DashboardTemplate({
11405
13030
  title,
11406
13031
  description,
@@ -11414,8 +13039,8 @@ function DashboardTemplate({
11414
13039
  className,
11415
13040
  ...props
11416
13041
  }) {
11417
- return /* @__PURE__ */ jsxs60("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11418
- /* @__PURE__ */ jsx98(
13042
+ return /* @__PURE__ */ jsxs66("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
13043
+ /* @__PURE__ */ jsx104(
11419
13044
  PageHeader,
11420
13045
  {
11421
13046
  title,
@@ -11425,15 +13050,15 @@ function DashboardTemplate({
11425
13050
  actions
11426
13051
  }
11427
13052
  ),
11428
- metrics && /* @__PURE__ */ jsx98("section", { "aria-label": "Key Metrics", className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: metrics }),
11429
- charts && /* @__PURE__ */ jsx98("section", { "aria-label": "Charts and Visualizations", className: "grid gap-4 md:grid-cols-2 lg:grid-cols-7", children: charts }),
11430
- activity && /* @__PURE__ */ jsx98("section", { "aria-label": "Recent Activity", className: "space-y-4", children: activity }),
11431
- children && /* @__PURE__ */ jsx98("div", { className: "space-y-6", children })
13053
+ metrics && /* @__PURE__ */ jsx104("section", { "aria-label": "Key Metrics", className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: metrics }),
13054
+ charts && /* @__PURE__ */ jsx104("section", { "aria-label": "Charts and Visualizations", className: "grid gap-4 md:grid-cols-2 lg:grid-cols-7", children: charts }),
13055
+ activity && /* @__PURE__ */ jsx104("section", { "aria-label": "Recent Activity", className: "space-y-4", children: activity }),
13056
+ children && /* @__PURE__ */ jsx104("div", { className: "space-y-6", children })
11432
13057
  ] });
11433
13058
  }
11434
13059
 
11435
13060
  // src/design-system/templates/workspace-template.tsx
11436
- import { jsx as jsx99, jsxs as jsxs61 } from "react/jsx-runtime";
13061
+ import { jsx as jsx105, jsxs as jsxs67 } from "react/jsx-runtime";
11437
13062
  function WorkspaceTemplate({
11438
13063
  header,
11439
13064
  leftSidebar,
@@ -11443,7 +13068,7 @@ function WorkspaceTemplate({
11443
13068
  className,
11444
13069
  ...props
11445
13070
  }) {
11446
- return /* @__PURE__ */ jsxs61(
13071
+ return /* @__PURE__ */ jsxs67(
11447
13072
  "div",
11448
13073
  {
11449
13074
  className: cn(
@@ -11452,13 +13077,13 @@ function WorkspaceTemplate({
11452
13077
  ),
11453
13078
  ...props,
11454
13079
  children: [
11455
- header && /* @__PURE__ */ jsx99("header", { className: "flex h-14 shrink-0 items-center border-b px-4 bg-background z-10", children: header }),
11456
- /* @__PURE__ */ jsxs61("div", { className: "flex flex-1 overflow-hidden", children: [
11457
- leftSidebar && /* @__PURE__ */ jsx99("aside", { className: "hidden md:flex w-64 shrink-0 flex-col border-r bg-sidebar p-3 overflow-y-auto", children: leftSidebar }),
11458
- /* @__PURE__ */ jsx99("main", { className: "flex flex-1 flex-col overflow-y-auto p-4 sm:p-6 bg-muted/20", children }),
11459
- rightSidebar && /* @__PURE__ */ jsx99("aside", { className: "hidden lg:flex w-80 shrink-0 flex-col border-l bg-background p-4 overflow-y-auto", children: rightSidebar })
13080
+ header && /* @__PURE__ */ jsx105("header", { className: "flex h-14 shrink-0 items-center border-b px-4 bg-background z-10", children: header }),
13081
+ /* @__PURE__ */ jsxs67("div", { className: "flex flex-1 overflow-hidden", children: [
13082
+ leftSidebar && /* @__PURE__ */ jsx105("aside", { className: "hidden md:flex w-64 shrink-0 flex-col border-r bg-sidebar p-3 overflow-y-auto", children: leftSidebar }),
13083
+ /* @__PURE__ */ jsx105("main", { className: "flex flex-1 flex-col overflow-y-auto p-4 sm:p-6 bg-muted/20", children }),
13084
+ rightSidebar && /* @__PURE__ */ jsx105("aside", { className: "hidden lg:flex w-80 shrink-0 flex-col border-l bg-background p-4 overflow-y-auto", children: rightSidebar })
11460
13085
  ] }),
11461
- footer && /* @__PURE__ */ jsx99("footer", { className: "flex h-10 shrink-0 items-center border-t px-4 text-xs text-muted-foreground bg-background", children: footer })
13086
+ footer && /* @__PURE__ */ jsx105("footer", { className: "flex h-10 shrink-0 items-center border-t px-4 text-xs text-muted-foreground bg-background", children: footer })
11462
13087
  ]
11463
13088
  }
11464
13089
  );
@@ -11466,14 +13091,14 @@ function WorkspaceTemplate({
11466
13091
 
11467
13092
  // src/design-system/templates/app-header.tsx
11468
13093
  import { useEffect as useEffect14 } from "react";
11469
- import { Bell as Bell4 } from "lucide-react";
13094
+ import { Bell as Bell5 } from "lucide-react";
11470
13095
  import { useRouter as useRouter2 } from "next/navigation";
11471
13096
 
11472
13097
  // src/components/layout/header.tsx
11473
- import { useEffect as useEffect13, useState as useState12 } from "react";
11474
- import { jsx as jsx100, jsxs as jsxs62 } from "react/jsx-runtime";
13098
+ import { useEffect as useEffect13, useState as useState14 } from "react";
13099
+ import { jsx as jsx106, jsxs as jsxs68 } from "react/jsx-runtime";
11475
13100
  function Header({ className, fixed, children, ...props }) {
11476
- const [offset, setOffset] = useState12(0);
13101
+ const [offset, setOffset] = useState14(0);
11477
13102
  useEffect13(() => {
11478
13103
  const onScroll = () => {
11479
13104
  setOffset(document.body.scrollTop || document.documentElement.scrollTop);
@@ -11483,7 +13108,7 @@ function Header({ className, fixed, children, ...props }) {
11483
13108
  }, []);
11484
13109
  return (
11485
13110
  // Page header container: fixed mode me top par sticky behavior deta hai.
11486
- /* @__PURE__ */ jsx100(
13111
+ /* @__PURE__ */ jsx106(
11487
13112
  "header",
11488
13113
  {
11489
13114
  className: cn(
@@ -11493,7 +13118,7 @@ function Header({ className, fixed, children, ...props }) {
11493
13118
  className
11494
13119
  ),
11495
13120
  ...props,
11496
- children: /* @__PURE__ */ jsxs62(
13121
+ children: /* @__PURE__ */ jsxs68(
11497
13122
  "div",
11498
13123
  {
11499
13124
  className: cn(
@@ -11502,7 +13127,7 @@ function Header({ className, fixed, children, ...props }) {
11502
13127
  offset > 10 && fixed && "after:absolute after:inset-0 after:-z-10 after:bg-background/20 after:backdrop-blur-lg"
11503
13128
  ),
11504
13129
  children: [
11505
- /* @__PURE__ */ jsx100(AppLogo, { className: "shrink-0 md:hidden" }),
13130
+ /* @__PURE__ */ jsx106(AppLogo, { className: "shrink-0 md:hidden" }),
11506
13131
  children
11507
13132
  ]
11508
13133
  }
@@ -11514,8 +13139,8 @@ function Header({ className, fixed, children, ...props }) {
11514
13139
 
11515
13140
  // src/components/search.tsx
11516
13141
  import { SearchIcon as SearchIcon5 } from "lucide-react";
11517
- import { jsx as jsx101 } from "react/jsx-runtime";
11518
- function Search6({
13142
+ import { jsx as jsx107 } from "react/jsx-runtime";
13143
+ function Search7({
11519
13144
  className = "",
11520
13145
  placeholder = "Search",
11521
13146
  iconOnly = true,
@@ -11527,7 +13152,7 @@ function Search6({
11527
13152
  search.setOpen(true);
11528
13153
  }
11529
13154
  };
11530
- return /* @__PURE__ */ jsx101(
13155
+ return /* @__PURE__ */ jsx107(
11531
13156
  Button,
11532
13157
  {
11533
13158
  ...props,
@@ -11537,7 +13162,7 @@ function Search6({
11537
13162
  "aria-label": "Search",
11538
13163
  "aria-keyshortcuts": "Meta+K Control+K",
11539
13164
  onClick: openSearch,
11540
- children: /* @__PURE__ */ jsx101(SearchIcon5, { className: "size-5", "aria-hidden": "true" })
13165
+ children: /* @__PURE__ */ jsx107(SearchIcon5, { className: "size-5", "aria-hidden": "true" })
11541
13166
  }
11542
13167
  );
11543
13168
  }
@@ -11706,7 +13331,7 @@ var useNotificationStore = create2((set, get) => ({
11706
13331
  }));
11707
13332
 
11708
13333
  // src/design-system/templates/app-header.tsx
11709
- import { Fragment as Fragment3, jsx as jsx102, jsxs as jsxs63 } from "react/jsx-runtime";
13334
+ import { Fragment as Fragment4, jsx as jsx108, jsxs as jsxs69 } from "react/jsx-runtime";
11710
13335
  function AppHeader({
11711
13336
  title,
11712
13337
  fixed = true,
@@ -11725,12 +13350,12 @@ function AppHeader({
11725
13350
  unsubscribe();
11726
13351
  };
11727
13352
  }, [currentUser, fetchNotifications, subscribeToNotifications, unsubscribe]);
11728
- return /* @__PURE__ */ jsx102(Header, { fixed, className: "border-b bg-background", children: /* @__PURE__ */ jsx102("div", { className: "flex flex-1 items-center justify-between w-full", children: iconsPosition === "left" ? /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-2 sm:gap-3 min-w-0", children: [
11729
- /* @__PURE__ */ jsx102("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
11730
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-1 sm:gap-2 shrink-0 ml-1", children: [
11731
- /* @__PURE__ */ jsx102(Search6, { iconOnly: true }),
13353
+ return /* @__PURE__ */ jsx108(Header, { fixed, className: "border-b bg-background", children: /* @__PURE__ */ jsx108("div", { className: "flex flex-1 items-center justify-between w-full", children: iconsPosition === "left" ? /* @__PURE__ */ jsxs69("div", { className: "flex items-center gap-2 sm:gap-3 min-w-0", children: [
13354
+ /* @__PURE__ */ jsx108("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
13355
+ /* @__PURE__ */ jsxs69("div", { className: "flex items-center gap-1 sm:gap-2 shrink-0 ml-1", children: [
13356
+ /* @__PURE__ */ jsx108(Search7, { iconOnly: true }),
11732
13357
  children,
11733
- /* @__PURE__ */ jsxs63(
13358
+ /* @__PURE__ */ jsxs69(
11734
13359
  Button,
11735
13360
  {
11736
13361
  variant: "ghost",
@@ -11739,18 +13364,18 @@ function AppHeader({
11739
13364
  "aria-label": "Notifications",
11740
13365
  onClick: () => router.push("/notification"),
11741
13366
  children: [
11742
- /* @__PURE__ */ jsx102(Bell4, { className: "size-5" }),
11743
- unreadCount > 0 && /* @__PURE__ */ jsx102("span", { className: "absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-medium text-white shadow-xs", children: unreadCount > 5 ? "5+" : unreadCount })
13367
+ /* @__PURE__ */ jsx108(Bell5, { className: "size-5" }),
13368
+ unreadCount > 0 && /* @__PURE__ */ jsx108("span", { className: "absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-medium text-white shadow-xs", children: unreadCount > 5 ? "5+" : unreadCount })
11744
13369
  ]
11745
13370
  }
11746
13371
  )
11747
13372
  ] })
11748
- ] }) : /* @__PURE__ */ jsxs63(Fragment3, { children: [
11749
- /* @__PURE__ */ jsx102("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
11750
- /* @__PURE__ */ jsxs63("div", { className: "ml-auto flex items-center gap-2 sm:gap-3", children: [
11751
- /* @__PURE__ */ jsx102(Search6, { iconOnly: true }),
13373
+ ] }) : /* @__PURE__ */ jsxs69(Fragment4, { children: [
13374
+ /* @__PURE__ */ jsx108("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
13375
+ /* @__PURE__ */ jsxs69("div", { className: "ml-auto flex items-center gap-2 sm:gap-3", children: [
13376
+ /* @__PURE__ */ jsx108(Search7, { iconOnly: true }),
11752
13377
  children,
11753
- /* @__PURE__ */ jsxs63(
13378
+ /* @__PURE__ */ jsxs69(
11754
13379
  Button,
11755
13380
  {
11756
13381
  variant: "ghost",
@@ -11759,8 +13384,8 @@ function AppHeader({
11759
13384
  "aria-label": "Notifications",
11760
13385
  onClick: () => router.push("/notification"),
11761
13386
  children: [
11762
- /* @__PURE__ */ jsx102(Bell4, { className: "size-5" }),
11763
- unreadCount > 0 && /* @__PURE__ */ jsx102("span", { className: "absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-medium text-white shadow-xs", children: unreadCount > 5 ? "5+" : unreadCount })
13387
+ /* @__PURE__ */ jsx108(Bell5, { className: "size-5" }),
13388
+ unreadCount > 0 && /* @__PURE__ */ jsx108("span", { className: "absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-medium text-white shadow-xs", children: unreadCount > 5 ? "5+" : unreadCount })
11764
13389
  ]
11765
13390
  }
11766
13391
  )
@@ -11872,7 +13497,7 @@ var sidebarData2 = {
11872
13497
  };
11873
13498
 
11874
13499
  // src/design-system/templates/app-logo.tsx
11875
- import { jsx as jsx103 } from "react/jsx-runtime";
13500
+ import { jsx as jsx109 } from "react/jsx-runtime";
11876
13501
  function AppLogo({ className, onClick }) {
11877
13502
  const { toggleSidebar, setOpenMobile, isMobile } = useSidebar();
11878
13503
  const team = sidebarData2.teams[0];
@@ -11889,7 +13514,7 @@ function AppLogo({ className, onClick }) {
11889
13514
  toggleSidebar();
11890
13515
  }
11891
13516
  };
11892
- return /* @__PURE__ */ jsx103(
13517
+ return /* @__PURE__ */ jsx109(
11893
13518
  Button,
11894
13519
  {
11895
13520
  type: "button",
@@ -11900,14 +13525,14 @@ function AppLogo({ className, onClick }) {
11900
13525
  className
11901
13526
  ),
11902
13527
  "aria-label": "Open sidebar menu",
11903
- children: /* @__PURE__ */ jsx103("div", { className: "flex size-full items-center justify-center rounded-lg bg-primary text-primary-foreground", children: /* @__PURE__ */ jsx103(Logo, { className: "size-4" }) })
13528
+ children: /* @__PURE__ */ jsx109("div", { className: "flex size-full items-center justify-center rounded-lg bg-primary text-primary-foreground", children: /* @__PURE__ */ jsx109(Logo, { className: "size-4" }) })
11904
13529
  }
11905
13530
  );
11906
13531
  }
11907
13532
 
11908
13533
  // src/context/layout-provider.tsx
11909
- import { createContext as createContext9, useContext as useContext10, useState as useState13 } from "react";
11910
- import { jsx as jsx104 } from "react/jsx-runtime";
13534
+ import { createContext as createContext9, useContext as useContext10, useState as useState15 } from "react";
13535
+ import { jsx as jsx110 } from "react/jsx-runtime";
11911
13536
  var LAYOUT_COLLAPSIBLE_COOKIE_NAME = "layout_collapsible";
11912
13537
  var LAYOUT_VARIANT_COOKIE_NAME = "layout_variant";
11913
13538
  var LAYOUT_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
@@ -11915,15 +13540,15 @@ var DEFAULT_VARIANT = "inset";
11915
13540
  var DEFAULT_COLLAPSIBLE = "icon";
11916
13541
  var LayoutContext = createContext9(null);
11917
13542
  function LayoutProvider({ children }) {
11918
- const [collapsible, _setCollapsible] = useState13(() => {
13543
+ const [collapsible, _setCollapsible] = useState15(() => {
11919
13544
  const saved = getCookie(LAYOUT_COLLAPSIBLE_COOKIE_NAME);
11920
13545
  return saved || DEFAULT_COLLAPSIBLE;
11921
13546
  });
11922
- const [variant, _setVariant] = useState13(() => {
13547
+ const [variant, _setVariant] = useState15(() => {
11923
13548
  const saved = getCookie(LAYOUT_VARIANT_COOKIE_NAME);
11924
13549
  return saved || DEFAULT_VARIANT;
11925
13550
  });
11926
- const [showInlineNotFound, setShowInlineNotFound] = useState13(false);
13551
+ const [showInlineNotFound, setShowInlineNotFound] = useState15(false);
11927
13552
  const setCollapsible = (newCollapsible) => {
11928
13553
  _setCollapsible(newCollapsible);
11929
13554
  setCookie(
@@ -11951,7 +13576,7 @@ function LayoutProvider({ children }) {
11951
13576
  showInlineNotFound,
11952
13577
  setShowInlineNotFound
11953
13578
  };
11954
- return /* @__PURE__ */ jsx104(LayoutContext, { value: contextValue, children });
13579
+ return /* @__PURE__ */ jsx110(LayoutContext, { value: contextValue, children });
11955
13580
  }
11956
13581
  function useLayout() {
11957
13582
  const context = useContext10(LayoutContext);
@@ -11978,13 +13603,13 @@ function useLayout() {
11978
13603
  // src/design-system/templates/nav-group.tsx
11979
13604
  import Link3 from "next/link";
11980
13605
  import { usePathname } from "next/navigation";
11981
- import { ChevronRight as ChevronRight8, X as X4 } from "lucide-react";
11982
- import { jsx as jsx105, jsxs as jsxs64 } from "react/jsx-runtime";
13606
+ import { ChevronRight as ChevronRight11, X as X7 } from "lucide-react";
13607
+ import { jsx as jsx111, jsxs as jsxs70 } from "react/jsx-runtime";
11983
13608
  function NavGroup({ title, items }) {
11984
13609
  const { state, isMobile, openMobile, setOpenMobile } = useSidebar();
11985
13610
  const href = usePathname();
11986
- return /* @__PURE__ */ jsxs64(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
11987
- /* @__PURE__ */ jsxs64(
13611
+ return /* @__PURE__ */ jsxs70(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
13612
+ /* @__PURE__ */ jsxs70(
11988
13613
  SidebarGroupLabel,
11989
13614
  {
11990
13615
  className: cn(
@@ -11992,8 +13617,8 @@ function NavGroup({ title, items }) {
11992
13617
  title === "Menu" && state !== "collapsed" && "sticky top-0 z-20 bg-sidebar py-1.5"
11993
13618
  ),
11994
13619
  children: [
11995
- /* @__PURE__ */ jsx105("span", { children: title }),
11996
- title === "Menu" && !isMobile && /* @__PURE__ */ jsx105(
13620
+ /* @__PURE__ */ jsx111("span", { children: title }),
13621
+ title === "Menu" && !isMobile && /* @__PURE__ */ jsx111(
11997
13622
  SidebarTrigger,
11998
13623
  {
11999
13624
  variant: "ghost",
@@ -12001,7 +13626,7 @@ function NavGroup({ title, items }) {
12001
13626
  "aria-label": "Toggle sidebar"
12002
13627
  }
12003
13628
  ),
12004
- title === "Menu" && isMobile && openMobile && /* @__PURE__ */ jsx105(
13629
+ title === "Menu" && isMobile && openMobile && /* @__PURE__ */ jsx111(
12005
13630
  Button,
12006
13631
  {
12007
13632
  type: "button",
@@ -12010,37 +13635,37 @@ function NavGroup({ title, items }) {
12010
13635
  className: "size-6 shrink-0",
12011
13636
  "aria-label": "Close sidebar",
12012
13637
  onClick: () => setOpenMobile(false),
12013
- children: /* @__PURE__ */ jsx105(X4, { className: "size-4", "aria-hidden": "true" })
13638
+ children: /* @__PURE__ */ jsx111(X7, { className: "size-4", "aria-hidden": "true" })
12014
13639
  }
12015
13640
  )
12016
13641
  ]
12017
13642
  }
12018
13643
  ),
12019
- /* @__PURE__ */ jsx105(SidebarMenu, { children: items.map((item) => {
13644
+ /* @__PURE__ */ jsx111(SidebarMenu, { children: items.map((item) => {
12020
13645
  const key = `${item.title}-${item.url}`;
12021
13646
  if (!item.items)
12022
- return /* @__PURE__ */ jsx105(SidebarMenuLink, { item, href }, key);
13647
+ return /* @__PURE__ */ jsx111(SidebarMenuLink, { item, href }, key);
12023
13648
  if (item.title === "Settings" && item.items.length === 0)
12024
- return /* @__PURE__ */ jsx105(SidebarMenuSettings, { item }, key);
13649
+ return /* @__PURE__ */ jsx111(SidebarMenuSettings, { item }, key);
12025
13650
  if (state === "collapsed" && !isMobile)
12026
- return /* @__PURE__ */ jsx105(SidebarMenuCollapsedDropdown, { item, href }, key);
12027
- return /* @__PURE__ */ jsx105(SidebarMenuCollapsible, { item, href }, key);
13651
+ return /* @__PURE__ */ jsx111(SidebarMenuCollapsedDropdown, { item, href }, key);
13652
+ return /* @__PURE__ */ jsx111(SidebarMenuCollapsible, { item, href }, key);
12028
13653
  }) })
12029
13654
  ] });
12030
13655
  }
12031
13656
  function NavBadge({ children }) {
12032
- return /* @__PURE__ */ jsx105(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
13657
+ return /* @__PURE__ */ jsx111(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
12033
13658
  }
12034
13659
  function SidebarMenuLink({ item, href }) {
12035
13660
  const { setOpenMobile } = useSidebar();
12036
13661
  const { setShowInlineNotFound } = useLayout();
12037
- return /* @__PURE__ */ jsx105(SidebarMenuItem, { children: /* @__PURE__ */ jsx105(
13662
+ return /* @__PURE__ */ jsx111(SidebarMenuItem, { children: /* @__PURE__ */ jsx111(
12038
13663
  SidebarMenuButton,
12039
13664
  {
12040
13665
  asChild: true,
12041
13666
  isActive: checkIsActive(href, item),
12042
13667
  tooltip: item.title,
12043
- children: /* @__PURE__ */ jsxs64(
13668
+ children: /* @__PURE__ */ jsxs70(
12044
13669
  Link3,
12045
13670
  {
12046
13671
  href: item.url,
@@ -12049,9 +13674,9 @@ function SidebarMenuLink({ item, href }) {
12049
13674
  setOpenMobile(false);
12050
13675
  },
12051
13676
  children: [
12052
- item.icon && /* @__PURE__ */ jsx105(item.icon, {}),
12053
- /* @__PURE__ */ jsx105("span", { children: item.title }),
12054
- item.badge && /* @__PURE__ */ jsx105(NavBadge, { children: item.badge })
13677
+ item.icon && /* @__PURE__ */ jsx111(item.icon, {}),
13678
+ /* @__PURE__ */ jsx111("span", { children: item.title }),
13679
+ item.badge && /* @__PURE__ */ jsx111(NavBadge, { children: item.badge })
12055
13680
  ]
12056
13681
  }
12057
13682
  )
@@ -12061,7 +13686,7 @@ function SidebarMenuLink({ item, href }) {
12061
13686
  function SidebarMenuSettings({ item }) {
12062
13687
  const { setOpenMobile } = useSidebar();
12063
13688
  const { showInlineNotFound, setShowInlineNotFound } = useLayout();
12064
- return /* @__PURE__ */ jsx105(SidebarMenuItem, { children: /* @__PURE__ */ jsxs64(
13689
+ return /* @__PURE__ */ jsx111(SidebarMenuItem, { children: /* @__PURE__ */ jsxs70(
12065
13690
  SidebarMenuButton,
12066
13691
  {
12067
13692
  tooltip: item.title,
@@ -12071,8 +13696,8 @@ function SidebarMenuSettings({ item }) {
12071
13696
  setOpenMobile(false);
12072
13697
  },
12073
13698
  children: [
12074
- item.icon && /* @__PURE__ */ jsx105(item.icon, {}),
12075
- /* @__PURE__ */ jsx105("span", { children: item.title })
13699
+ item.icon && /* @__PURE__ */ jsx111(item.icon, {}),
13700
+ /* @__PURE__ */ jsx111("span", { children: item.title })
12076
13701
  ]
12077
13702
  }
12078
13703
  ) });
@@ -12083,25 +13708,25 @@ function SidebarMenuCollapsible({
12083
13708
  }) {
12084
13709
  const { setOpenMobile } = useSidebar();
12085
13710
  const { setShowInlineNotFound } = useLayout();
12086
- return /* @__PURE__ */ jsx105(
13711
+ return /* @__PURE__ */ jsx111(
12087
13712
  Collapsible,
12088
13713
  {
12089
13714
  asChild: true,
12090
13715
  defaultOpen: checkIsActive(href, item, true),
12091
13716
  className: "group/collapsible",
12092
- children: /* @__PURE__ */ jsxs64(SidebarMenuItem, { children: [
12093
- /* @__PURE__ */ jsx105(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxs64(SidebarMenuButton, { tooltip: item.title, children: [
12094
- item.icon && /* @__PURE__ */ jsx105(item.icon, {}),
12095
- /* @__PURE__ */ jsx105("span", { children: item.title }),
12096
- item.badge && /* @__PURE__ */ jsx105(NavBadge, { children: item.badge }),
12097
- /* @__PURE__ */ jsx105(ChevronRight8, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
13717
+ children: /* @__PURE__ */ jsxs70(SidebarMenuItem, { children: [
13718
+ /* @__PURE__ */ jsx111(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxs70(SidebarMenuButton, { tooltip: item.title, children: [
13719
+ item.icon && /* @__PURE__ */ jsx111(item.icon, {}),
13720
+ /* @__PURE__ */ jsx111("span", { children: item.title }),
13721
+ item.badge && /* @__PURE__ */ jsx111(NavBadge, { children: item.badge }),
13722
+ /* @__PURE__ */ jsx111(ChevronRight11, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
12098
13723
  ] }) }),
12099
- /* @__PURE__ */ jsx105(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ jsx105(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ jsx105(SidebarMenuSubItem, { children: /* @__PURE__ */ jsx105(
13724
+ /* @__PURE__ */ jsx111(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ jsx111(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ jsx111(SidebarMenuSubItem, { children: /* @__PURE__ */ jsx111(
12100
13725
  SidebarMenuSubButton,
12101
13726
  {
12102
13727
  asChild: true,
12103
13728
  isActive: checkIsActive(href, subItem),
12104
- children: /* @__PURE__ */ jsxs64(
13729
+ children: /* @__PURE__ */ jsxs70(
12105
13730
  Link3,
12106
13731
  {
12107
13732
  href: subItem.url,
@@ -12110,9 +13735,9 @@ function SidebarMenuCollapsible({
12110
13735
  setOpenMobile(false);
12111
13736
  },
12112
13737
  children: [
12113
- subItem.icon && /* @__PURE__ */ jsx105(subItem.icon, {}),
12114
- /* @__PURE__ */ jsx105("span", { children: subItem.title }),
12115
- subItem.badge && /* @__PURE__ */ jsx105(NavBadge, { children: subItem.badge })
13738
+ subItem.icon && /* @__PURE__ */ jsx111(subItem.icon, {}),
13739
+ /* @__PURE__ */ jsx111("span", { children: subItem.title }),
13740
+ subItem.badge && /* @__PURE__ */ jsx111(NavBadge, { children: subItem.badge })
12116
13741
  ]
12117
13742
  }
12118
13743
  )
@@ -12126,36 +13751,36 @@ function SidebarMenuCollapsedDropdown({
12126
13751
  item,
12127
13752
  href
12128
13753
  }) {
12129
- return /* @__PURE__ */ jsx105(SidebarMenuItem, { children: /* @__PURE__ */ jsxs64(DropdownMenu, { children: [
12130
- /* @__PURE__ */ jsx105(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs64(
13754
+ return /* @__PURE__ */ jsx111(SidebarMenuItem, { children: /* @__PURE__ */ jsxs70(DropdownMenu, { children: [
13755
+ /* @__PURE__ */ jsx111(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs70(
12131
13756
  SidebarMenuButton,
12132
13757
  {
12133
13758
  tooltip: item.title,
12134
13759
  isActive: checkIsActive(href, item),
12135
13760
  children: [
12136
- item.icon && /* @__PURE__ */ jsx105(item.icon, {}),
12137
- /* @__PURE__ */ jsx105("span", { children: item.title }),
12138
- item.badge && /* @__PURE__ */ jsx105(NavBadge, { children: item.badge }),
12139
- /* @__PURE__ */ jsx105(ChevronRight8, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
13761
+ item.icon && /* @__PURE__ */ jsx111(item.icon, {}),
13762
+ /* @__PURE__ */ jsx111("span", { children: item.title }),
13763
+ item.badge && /* @__PURE__ */ jsx111(NavBadge, { children: item.badge }),
13764
+ /* @__PURE__ */ jsx111(ChevronRight11, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
12140
13765
  ]
12141
13766
  }
12142
13767
  ) }),
12143
- /* @__PURE__ */ jsxs64(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
12144
- /* @__PURE__ */ jsxs64(DropdownMenuLabel, { children: [
13768
+ /* @__PURE__ */ jsxs70(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
13769
+ /* @__PURE__ */ jsxs70(DropdownMenuLabel, { children: [
12145
13770
  item.title,
12146
13771
  " ",
12147
13772
  item.badge ? `(${item.badge})` : ""
12148
13773
  ] }),
12149
- /* @__PURE__ */ jsx105(DropdownMenuSeparator, {}),
12150
- item.items.map((sub) => /* @__PURE__ */ jsx105(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs64(
13774
+ /* @__PURE__ */ jsx111(DropdownMenuSeparator, {}),
13775
+ item.items.map((sub) => /* @__PURE__ */ jsx111(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs70(
12151
13776
  Link3,
12152
13777
  {
12153
13778
  href: sub.url,
12154
13779
  className: `${checkIsActive(href, sub) ? "bg-secondary" : ""}`,
12155
13780
  children: [
12156
- sub.icon && /* @__PURE__ */ jsx105(sub.icon, {}),
12157
- /* @__PURE__ */ jsx105("span", { className: "max-w-52 text-wrap", children: sub.title }),
12158
- sub.badge && /* @__PURE__ */ jsx105("span", { className: "ms-auto text-xs", children: sub.badge })
13781
+ sub.icon && /* @__PURE__ */ jsx111(sub.icon, {}),
13782
+ /* @__PURE__ */ jsx111("span", { className: "max-w-52 text-wrap", children: sub.title }),
13783
+ sub.badge && /* @__PURE__ */ jsx111("span", { className: "ms-auto text-xs", children: sub.badge })
12159
13784
  ]
12160
13785
  }
12161
13786
  ) }, `${sub.title}-${sub.url}`))
@@ -12170,20 +13795,20 @@ function checkIsActive(href, item, mainNav = false) {
12170
13795
  }
12171
13796
 
12172
13797
  // src/design-system/templates/team-switcher.tsx
12173
- import { jsx as jsx106, jsxs as jsxs65 } from "react/jsx-runtime";
13798
+ import { jsx as jsx112, jsxs as jsxs71 } from "react/jsx-runtime";
12174
13799
  function TeamSwitcher({ teams }) {
12175
13800
  useSidebar();
12176
13801
  const activeTeam = teams[0];
12177
- return /* @__PURE__ */ jsx106(SidebarMenu, { children: /* @__PURE__ */ jsx106(SidebarMenuItem, { children: /* @__PURE__ */ jsxs65(
13802
+ return /* @__PURE__ */ jsx112(SidebarMenu, { children: /* @__PURE__ */ jsx112(SidebarMenuItem, { children: /* @__PURE__ */ jsxs71(
12178
13803
  SidebarMenuButton,
12179
13804
  {
12180
13805
  size: "lg",
12181
13806
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
12182
13807
  children: [
12183
- /* @__PURE__ */ jsx106("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: /* @__PURE__ */ jsx106(activeTeam.logo, { className: "size-4" }) }),
12184
- /* @__PURE__ */ jsxs65("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
12185
- /* @__PURE__ */ jsx106("span", { className: "truncate font-semibold", children: activeTeam.name }),
12186
- /* @__PURE__ */ jsx106("span", { className: "truncate text-xs", children: activeTeam.plan })
13808
+ /* @__PURE__ */ jsx112("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: /* @__PURE__ */ jsx112(activeTeam.logo, { className: "size-4" }) }),
13809
+ /* @__PURE__ */ jsxs71("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13810
+ /* @__PURE__ */ jsx112("span", { className: "truncate font-semibold", children: activeTeam.name }),
13811
+ /* @__PURE__ */ jsx112("span", { className: "truncate text-xs", children: activeTeam.plan })
12187
13812
  ] })
12188
13813
  ]
12189
13814
  }
@@ -12199,22 +13824,22 @@ import {
12199
13824
  } from "lucide-react";
12200
13825
 
12201
13826
  // src/hooks/use-dialog-state.tsx
12202
- import { useState as useState14 } from "react";
13827
+ import { useState as useState16 } from "react";
12203
13828
  function useDialogState(initialState2 = null) {
12204
- const [open, _setOpen] = useState14(initialState2);
13829
+ const [open, _setOpen] = useState16(initialState2);
12205
13830
  const setOpen = (str) => _setOpen((prev) => prev === str ? null : str);
12206
13831
  return [open, setOpen];
12207
13832
  }
12208
13833
 
12209
13834
  // src/components/config-drawer.tsx
12210
- import { useState as useState15 } from "react";
13835
+ import { useState as useState17 } from "react";
12211
13836
  import { Root as Radio, Item as Item2 } from "@radix-ui/react-radio-group";
12212
- import { Check as Check8, CircleCheck, RotateCcw, Search as Search7, Settings as Settings3 } from "lucide-react";
13837
+ import { Check as Check9, CircleCheck, RotateCcw, Search as Search8, Settings as Settings3 } from "lucide-react";
12213
13838
 
12214
13839
  // src/assets/custom/icon-theme-dark.tsx
12215
- import { jsx as jsx107, jsxs as jsxs66 } from "react/jsx-runtime";
13840
+ import { jsx as jsx113, jsxs as jsxs72 } from "react/jsx-runtime";
12216
13841
  function IconThemeDark(props) {
12217
- return /* @__PURE__ */ jsxs66(
13842
+ return /* @__PURE__ */ jsxs72(
12218
13843
  "svg",
12219
13844
  {
12220
13845
  "data-name": "icon-theme-dark",
@@ -12222,27 +13847,27 @@ function IconThemeDark(props) {
12222
13847
  viewBox: "0 0 79.86 51.14",
12223
13848
  ...props,
12224
13849
  children: [
12225
- /* @__PURE__ */ jsxs66("g", { fill: "#1d2b3f", children: [
12226
- /* @__PURE__ */ jsx107("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
12227
- /* @__PURE__ */ jsx107("path", { d: "M75.86 1c1.65 0 3 1.35 3 3v43.14c0 1.65-1.35 3-3 3H4.03c-1.65 0-3-1.35-3-3V4c0-1.65 1.35-3 3-3h71.83m0-1H4.03c-2.21 0-4 1.79-4 4v43.14c0 2.21 1.79 4 4 4h71.83c2.21 0 4-1.79 4-4V4c0-2.21-1.79-4-4-4z" })
13850
+ /* @__PURE__ */ jsxs72("g", { fill: "#1d2b3f", children: [
13851
+ /* @__PURE__ */ jsx113("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
13852
+ /* @__PURE__ */ jsx113("path", { d: "M75.86 1c1.65 0 3 1.35 3 3v43.14c0 1.65-1.35 3-3 3H4.03c-1.65 0-3-1.35-3-3V4c0-1.65 1.35-3 3-3h71.83m0-1H4.03c-2.21 0-4 1.79-4 4v43.14c0 2.21 1.79 4 4 4h71.83c2.21 0 4-1.79 4-4V4c0-2.21-1.79-4-4-4z" })
12228
13853
  ] }),
12229
- /* @__PURE__ */ jsx107(
13854
+ /* @__PURE__ */ jsx113(
12230
13855
  "path",
12231
13856
  {
12232
13857
  d: "M22.88 0h52.97c2.21 0 4 1.79 4 4v43.14c0 2.21-1.79 4-4 4H22.88V0z",
12233
13858
  fill: "#0d1628"
12234
13859
  }
12235
13860
  ),
12236
- /* @__PURE__ */ jsx107("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#426187" }),
12237
- /* @__PURE__ */ jsx107(
13861
+ /* @__PURE__ */ jsx113("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#426187" }),
13862
+ /* @__PURE__ */ jsx113(
12238
13863
  "path",
12239
13864
  {
12240
13865
  d: "M18.12 6.39h-5.87c-.6 0-1.09-.45-1.09-1s.49-1 1.09-1h5.87c.6 0 1.09.45 1.09 1s-.49 1-1.09 1zM16.55 9.77h-4.24c-.55 0-1-.45-1-1s.45-1 1-1h4.24c.55 0 1 .45 1 1s-.45 1-1 1zM18.32 17.37H4.59c-.69 0-1.25-.47-1.25-1.05s.56-1.05 1.25-1.05h13.73c.69 0 1.25.47 1.25 1.05s-.56 1.05-1.25 1.05zM15.34 21.26h-11c-.55 0-1-.41-1-.91s.45-.91 1-.91h11c.55 0 1 .41 1 .91s-.45.91-1 .91zM16.46 25.57H4.43c-.6 0-1.09-.44-1.09-.98s.49-.98 1.09-.98h12.03c.6 0 1.09.44 1.09.98s-.49.98-1.09.98z",
12241
13866
  fill: "#426187"
12242
13867
  }
12243
13868
  ),
12244
- /* @__PURE__ */ jsxs66("g", { fill: "#2a62bc", children: [
12245
- /* @__PURE__ */ jsx107(
13869
+ /* @__PURE__ */ jsxs72("g", { fill: "#2a62bc", children: [
13870
+ /* @__PURE__ */ jsx113(
12246
13871
  "rect",
12247
13872
  {
12248
13873
  x: 33.36,
@@ -12254,7 +13879,7 @@ function IconThemeDark(props) {
12254
13879
  opacity: 0.32
12255
13880
  }
12256
13881
  ),
12257
- /* @__PURE__ */ jsx107(
13882
+ /* @__PURE__ */ jsx113(
12258
13883
  "rect",
12259
13884
  {
12260
13885
  x: 29.64,
@@ -12266,7 +13891,7 @@ function IconThemeDark(props) {
12266
13891
  opacity: 0.44
12267
13892
  }
12268
13893
  ),
12269
- /* @__PURE__ */ jsx107(
13894
+ /* @__PURE__ */ jsx113(
12270
13895
  "rect",
12271
13896
  {
12272
13897
  x: 37.16,
@@ -12278,7 +13903,7 @@ function IconThemeDark(props) {
12278
13903
  opacity: 0.53
12279
13904
  }
12280
13905
  ),
12281
- /* @__PURE__ */ jsx107(
13906
+ /* @__PURE__ */ jsx113(
12282
13907
  "rect",
12283
13908
  {
12284
13909
  x: 41.19,
@@ -12291,8 +13916,8 @@ function IconThemeDark(props) {
12291
13916
  }
12292
13917
  )
12293
13918
  ] }),
12294
- /* @__PURE__ */ jsx107("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#2f5491", opacity: 0.5 }),
12295
- /* @__PURE__ */ jsx107(
13919
+ /* @__PURE__ */ jsx113("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#2f5491", opacity: 0.5 }),
13920
+ /* @__PURE__ */ jsx113(
12296
13921
  "path",
12297
13922
  {
12298
13923
  d: "M62.74 16.32l4.1-6.87c1.19.71 2.18 1.72 2.86 2.92s1.04 2.57 1.04 3.95h-8z",
@@ -12300,7 +13925,7 @@ function IconThemeDark(props) {
12300
13925
  opacity: 0.74
12301
13926
  }
12302
13927
  ),
12303
- /* @__PURE__ */ jsx107(
13928
+ /* @__PURE__ */ jsx113(
12304
13929
  "rect",
12305
13930
  {
12306
13931
  x: 29.64,
@@ -12318,9 +13943,9 @@ function IconThemeDark(props) {
12318
13943
  }
12319
13944
 
12320
13945
  // src/assets/custom/icon-theme-light.tsx
12321
- import { jsx as jsx108, jsxs as jsxs67 } from "react/jsx-runtime";
13946
+ import { jsx as jsx114, jsxs as jsxs73 } from "react/jsx-runtime";
12322
13947
  function IconThemeLight(props) {
12323
- return /* @__PURE__ */ jsxs67(
13948
+ return /* @__PURE__ */ jsxs73(
12324
13949
  "svg",
12325
13950
  {
12326
13951
  "data-name": "icon-theme-light",
@@ -12328,27 +13953,27 @@ function IconThemeLight(props) {
12328
13953
  viewBox: "0 0 79.86 51.14",
12329
13954
  ...props,
12330
13955
  children: [
12331
- /* @__PURE__ */ jsxs67("g", { fill: "#d9d9d9", children: [
12332
- /* @__PURE__ */ jsx108("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
12333
- /* @__PURE__ */ jsx108("path", { d: "M75.86 1c1.65 0 3 1.35 3 3v43.14c0 1.65-1.35 3-3 3H4.03c-1.65 0-3-1.35-3-3V4c0-1.65 1.35-3 3-3h71.83m0-1H4.03c-2.21 0-4 1.79-4 4v43.14c0 2.21 1.79 4 4 4h71.83c2.21 0 4-1.79 4-4V4c0-2.21-1.79-4-4-4z" })
13956
+ /* @__PURE__ */ jsxs73("g", { fill: "#d9d9d9", children: [
13957
+ /* @__PURE__ */ jsx114("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
13958
+ /* @__PURE__ */ jsx114("path", { d: "M75.86 1c1.65 0 3 1.35 3 3v43.14c0 1.65-1.35 3-3 3H4.03c-1.65 0-3-1.35-3-3V4c0-1.65 1.35-3 3-3h71.83m0-1H4.03c-2.21 0-4 1.79-4 4v43.14c0 2.21 1.79 4 4 4h71.83c2.21 0 4-1.79 4-4V4c0-2.21-1.79-4-4-4z" })
12334
13959
  ] }),
12335
- /* @__PURE__ */ jsx108(
13960
+ /* @__PURE__ */ jsx114(
12336
13961
  "path",
12337
13962
  {
12338
13963
  d: "M22.88 0h52.97c2.21 0 4 1.79 4 4v43.14c0 2.21-1.79 4-4 4H22.88V0z",
12339
13964
  fill: "#ecedef"
12340
13965
  }
12341
13966
  ),
12342
- /* @__PURE__ */ jsx108("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#fff" }),
12343
- /* @__PURE__ */ jsx108(
13967
+ /* @__PURE__ */ jsx114("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#fff" }),
13968
+ /* @__PURE__ */ jsx114(
12344
13969
  "path",
12345
13970
  {
12346
13971
  d: "M18.12 6.39h-5.87c-.6 0-1.09-.45-1.09-1s.49-1 1.09-1h5.87c.6 0 1.09.45 1.09 1s-.49 1-1.09 1zM16.55 9.77h-4.24c-.55 0-1-.45-1-1s.45-1 1-1h4.24c.55 0 1 .45 1 1s-.45 1-1 1zM18.32 17.37H4.59c-.69 0-1.25-.47-1.25-1.05s.56-1.05 1.25-1.05h13.73c.69 0 1.25.47 1.25 1.05s-.56 1.05-1.25 1.05zM15.34 21.26h-11c-.55 0-1-.41-1-.91s.45-.91 1-.91h11c.55 0 1 .41 1 .91s-.45.91-1 .91zM16.46 25.57H4.43c-.6 0-1.09-.44-1.09-.98s.49-.98 1.09-.98h12.03c.6 0 1.09.44 1.09.98s-.49.98-1.09.98z",
12347
13972
  fill: "#fff"
12348
13973
  }
12349
13974
  ),
12350
- /* @__PURE__ */ jsxs67("g", { fill: "#c0c4c4", children: [
12351
- /* @__PURE__ */ jsx108(
13975
+ /* @__PURE__ */ jsxs73("g", { fill: "#c0c4c4", children: [
13976
+ /* @__PURE__ */ jsx114(
12352
13977
  "rect",
12353
13978
  {
12354
13979
  x: 33.36,
@@ -12360,7 +13985,7 @@ function IconThemeLight(props) {
12360
13985
  opacity: 0.32
12361
13986
  }
12362
13987
  ),
12363
- /* @__PURE__ */ jsx108(
13988
+ /* @__PURE__ */ jsx114(
12364
13989
  "rect",
12365
13990
  {
12366
13991
  x: 29.64,
@@ -12372,7 +13997,7 @@ function IconThemeLight(props) {
12372
13997
  opacity: 0.44
12373
13998
  }
12374
13999
  ),
12375
- /* @__PURE__ */ jsx108(
14000
+ /* @__PURE__ */ jsx114(
12376
14001
  "rect",
12377
14002
  {
12378
14003
  x: 37.16,
@@ -12384,7 +14009,7 @@ function IconThemeLight(props) {
12384
14009
  opacity: 0.53
12385
14010
  }
12386
14011
  ),
12387
- /* @__PURE__ */ jsx108(
14012
+ /* @__PURE__ */ jsx114(
12388
14013
  "rect",
12389
14014
  {
12390
14015
  x: 41.19,
@@ -12397,12 +14022,12 @@ function IconThemeLight(props) {
12397
14022
  }
12398
14023
  )
12399
14024
  ] }),
12400
- /* @__PURE__ */ jsx108("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#fff" }),
12401
- /* @__PURE__ */ jsxs67("g", { fill: "#d9d9d9", children: [
12402
- /* @__PURE__ */ jsx108("path", { d: "M63.62 15.82L67 10.15c.93.64 1.7 1.48 2.26 2.47.56.98.89 2.08.96 3.21h-6.6z" }),
12403
- /* @__PURE__ */ jsx108("path", { d: "M67.14 10.88a6.977 6.977 0 012.52 4.44h-5.17l2.65-4.44m-.31-1.43l-4.1 6.87h8c0-1.39-.36-2.75-1.04-3.95s-1.67-2.21-2.86-2.92z" })
14025
+ /* @__PURE__ */ jsx114("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#fff" }),
14026
+ /* @__PURE__ */ jsxs73("g", { fill: "#d9d9d9", children: [
14027
+ /* @__PURE__ */ jsx114("path", { d: "M63.62 15.82L67 10.15c.93.64 1.7 1.48 2.26 2.47.56.98.89 2.08.96 3.21h-6.6z" }),
14028
+ /* @__PURE__ */ jsx114("path", { d: "M67.14 10.88a6.977 6.977 0 012.52 4.44h-5.17l2.65-4.44m-.31-1.43l-4.1 6.87h8c0-1.39-.36-2.75-1.04-3.95s-1.67-2.21-2.86-2.92z" })
12404
14029
  ] }),
12405
- /* @__PURE__ */ jsx108(
14030
+ /* @__PURE__ */ jsx114(
12406
14031
  "rect",
12407
14032
  {
12408
14033
  x: 29.64,
@@ -12420,12 +14045,12 @@ function IconThemeLight(props) {
12420
14045
  }
12421
14046
 
12422
14047
  // src/assets/custom/icon-theme-system.tsx
12423
- import { jsx as jsx109, jsxs as jsxs68 } from "react/jsx-runtime";
14048
+ import { jsx as jsx115, jsxs as jsxs74 } from "react/jsx-runtime";
12424
14049
  function IconThemeSystem({
12425
14050
  className,
12426
14051
  ...props
12427
14052
  }) {
12428
- return /* @__PURE__ */ jsxs68(
14053
+ return /* @__PURE__ */ jsxs74(
12429
14054
  "svg",
12430
14055
  {
12431
14056
  "data-name": "icon-theme-system",
@@ -12438,8 +14063,8 @@ function IconThemeSystem({
12438
14063
  ),
12439
14064
  ...props,
12440
14065
  children: [
12441
- /* @__PURE__ */ jsx109("path", { opacity: 0.2, d: "M0 0.03H22.88V51.17H0z" }),
12442
- /* @__PURE__ */ jsx109(
14066
+ /* @__PURE__ */ jsx115("path", { opacity: 0.2, d: "M0 0.03H22.88V51.17H0z" }),
14067
+ /* @__PURE__ */ jsx115(
12443
14068
  "circle",
12444
14069
  {
12445
14070
  cx: 6.7,
@@ -12452,7 +14077,7 @@ function IconThemeSystem({
12452
14077
  strokeMiterlimit: 10
12453
14078
  }
12454
14079
  ),
12455
- /* @__PURE__ */ jsx109(
14080
+ /* @__PURE__ */ jsx115(
12456
14081
  "path",
12457
14082
  {
12458
14083
  d: "M18.12 6.39h-5.87c-.6 0-1.09-.45-1.09-1s.49-1 1.09-1h5.87c.6 0 1.09.45 1.09 1s-.49 1-1.09 1zM16.55 9.77h-4.24c-.55 0-1-.45-1-1s.45-1 1-1h4.24c.55 0 1 .45 1 1s-.45 1-1 1z",
@@ -12461,7 +14086,7 @@ function IconThemeSystem({
12461
14086
  opacity: 0.75
12462
14087
  }
12463
14088
  ),
12464
- /* @__PURE__ */ jsx109(
14089
+ /* @__PURE__ */ jsx115(
12465
14090
  "path",
12466
14091
  {
12467
14092
  d: "M18.32 17.37H4.59c-.69 0-1.25-.47-1.25-1.05s.56-1.05 1.25-1.05h13.73c.69 0 1.25.47 1.25 1.05s-.56 1.05-1.25 1.05z",
@@ -12470,7 +14095,7 @@ function IconThemeSystem({
12470
14095
  opacity: 0.72
12471
14096
  }
12472
14097
  ),
12473
- /* @__PURE__ */ jsx109(
14098
+ /* @__PURE__ */ jsx115(
12474
14099
  "path",
12475
14100
  {
12476
14101
  d: "M15.34 21.26h-11c-.55 0-1-.41-1-.91s.45-.91 1-.91h11c.55 0 1 .41 1 .91s-.45.91-1 .91z",
@@ -12479,7 +14104,7 @@ function IconThemeSystem({
12479
14104
  opacity: 0.55
12480
14105
  }
12481
14106
  ),
12482
- /* @__PURE__ */ jsx109(
14107
+ /* @__PURE__ */ jsx115(
12483
14108
  "path",
12484
14109
  {
12485
14110
  d: "M16.46 25.57H4.43c-.6 0-1.09-.44-1.09-.98s.49-.98 1.09-.98h12.03c.6 0 1.09.44 1.09.98s-.49.98-1.09.98z",
@@ -12488,7 +14113,7 @@ function IconThemeSystem({
12488
14113
  opacity: 0.67
12489
14114
  }
12490
14115
  ),
12491
- /* @__PURE__ */ jsx109(
14116
+ /* @__PURE__ */ jsx115(
12492
14117
  "rect",
12493
14118
  {
12494
14119
  x: 33.36,
@@ -12501,7 +14126,7 @@ function IconThemeSystem({
12501
14126
  stroke: "none"
12502
14127
  }
12503
14128
  ),
12504
- /* @__PURE__ */ jsx109(
14129
+ /* @__PURE__ */ jsx115(
12505
14130
  "rect",
12506
14131
  {
12507
14132
  x: 29.64,
@@ -12514,7 +14139,7 @@ function IconThemeSystem({
12514
14139
  stroke: "none"
12515
14140
  }
12516
14141
  ),
12517
- /* @__PURE__ */ jsx109(
14142
+ /* @__PURE__ */ jsx115(
12518
14143
  "rect",
12519
14144
  {
12520
14145
  x: 37.16,
@@ -12527,7 +14152,7 @@ function IconThemeSystem({
12527
14152
  stroke: "none"
12528
14153
  }
12529
14154
  ),
12530
- /* @__PURE__ */ jsx109(
14155
+ /* @__PURE__ */ jsx115(
12531
14156
  "rect",
12532
14157
  {
12533
14158
  x: 41.19,
@@ -12540,9 +14165,9 @@ function IconThemeSystem({
12540
14165
  stroke: "none"
12541
14166
  }
12542
14167
  ),
12543
- /* @__PURE__ */ jsxs68("g", { children: [
12544
- /* @__PURE__ */ jsx109("circle", { cx: 62.74, cy: 16.32, r: 8, opacity: 0.25 }),
12545
- /* @__PURE__ */ jsx109(
14168
+ /* @__PURE__ */ jsxs74("g", { children: [
14169
+ /* @__PURE__ */ jsx115("circle", { cx: 62.74, cy: 16.32, r: 8, opacity: 0.25 }),
14170
+ /* @__PURE__ */ jsx115(
12546
14171
  "path",
12547
14172
  {
12548
14173
  d: "M62.74 16.32l4.1-6.87c1.19.71 2.18 1.72 2.86 2.92s1.04 2.57 1.04 3.95h-8z",
@@ -12550,7 +14175,7 @@ function IconThemeSystem({
12550
14175
  }
12551
14176
  )
12552
14177
  ] }),
12553
- /* @__PURE__ */ jsx109(
14178
+ /* @__PURE__ */ jsx115(
12554
14179
  "rect",
12555
14180
  {
12556
14181
  x: 29.64,
@@ -12571,7 +14196,7 @@ function IconThemeSystem({
12571
14196
  }
12572
14197
 
12573
14198
  // src/components/config-drawer.tsx
12574
- import { jsx as jsx110, jsxs as jsxs69 } from "react/jsx-runtime";
14199
+ import { jsx as jsx116, jsxs as jsxs75 } from "react/jsx-runtime";
12575
14200
  function ConfigDrawer({
12576
14201
  trigger
12577
14202
  }) {
@@ -12581,27 +14206,27 @@ function ConfigDrawer({
12581
14206
  resetTheme();
12582
14207
  resetColorTheme();
12583
14208
  };
12584
- return /* @__PURE__ */ jsxs69(Sheet, { children: [
12585
- /* @__PURE__ */ jsx110(SheetTrigger, { asChild: true, children: trigger ?? /* @__PURE__ */ jsx110(
14209
+ return /* @__PURE__ */ jsxs75(Sheet, { children: [
14210
+ /* @__PURE__ */ jsx116(SheetTrigger, { asChild: true, children: trigger ?? /* @__PURE__ */ jsx116(
12586
14211
  Button,
12587
14212
  {
12588
14213
  size: "icon",
12589
14214
  variant: "ghost",
12590
14215
  "aria-label": "Open theme settings",
12591
14216
  className: "rounded-full",
12592
- children: /* @__PURE__ */ jsx110(Settings3, { "aria-hidden": "true" })
14217
+ children: /* @__PURE__ */ jsx116(Settings3, { "aria-hidden": "true" })
12593
14218
  }
12594
14219
  ) }),
12595
- /* @__PURE__ */ jsxs69(SheetContent, { className: "flex flex-col", children: [
12596
- /* @__PURE__ */ jsxs69(SheetHeader, { className: "pb-0 text-start", children: [
12597
- /* @__PURE__ */ jsx110(SheetTitle, { children: "Theme Settings" }),
12598
- /* @__PURE__ */ jsx110(SheetDescription, { children: "Customize the look and feel of your dashboard." })
14220
+ /* @__PURE__ */ jsxs75(SheetContent, { className: "flex flex-col", children: [
14221
+ /* @__PURE__ */ jsxs75(SheetHeader, { className: "pb-0 text-start", children: [
14222
+ /* @__PURE__ */ jsx116(SheetTitle, { children: "Theme Settings" }),
14223
+ /* @__PURE__ */ jsx116(SheetDescription, { children: "Customize the look and feel of your dashboard." })
12599
14224
  ] }),
12600
- /* @__PURE__ */ jsxs69("div", { className: "flex flex-1 flex-col gap-6 overflow-hidden px-4", children: [
12601
- /* @__PURE__ */ jsx110(ThemeConfig, {}),
12602
- /* @__PURE__ */ jsx110(ThemeListSelector, {})
14225
+ /* @__PURE__ */ jsxs75("div", { className: "flex flex-1 flex-col gap-6 overflow-hidden px-4", children: [
14226
+ /* @__PURE__ */ jsx116(ThemeConfig, {}),
14227
+ /* @__PURE__ */ jsx116(ThemeListSelector, {})
12603
14228
  ] }),
12604
- /* @__PURE__ */ jsx110(SheetFooter, { className: "gap-2", children: /* @__PURE__ */ jsx110(
14229
+ /* @__PURE__ */ jsx116(SheetFooter, { className: "gap-2", children: /* @__PURE__ */ jsx116(
12605
14230
  Button,
12606
14231
  {
12607
14232
  variant: "destructive",
@@ -12619,7 +14244,7 @@ function SectionTitle({
12619
14244
  resetAriaLabel,
12620
14245
  className
12621
14246
  }) {
12622
- return /* @__PURE__ */ jsxs69(
14247
+ return /* @__PURE__ */ jsxs75(
12623
14248
  "div",
12624
14249
  {
12625
14250
  className: cn(
@@ -12628,7 +14253,7 @@ function SectionTitle({
12628
14253
  ),
12629
14254
  children: [
12630
14255
  title,
12631
- showReset && onReset && /* @__PURE__ */ jsx110(
14256
+ showReset && onReset && /* @__PURE__ */ jsx116(
12632
14257
  Button,
12633
14258
  {
12634
14259
  type: "button",
@@ -12637,7 +14262,7 @@ function SectionTitle({
12637
14262
  className: "size-4 rounded-full",
12638
14263
  onClick: onReset,
12639
14264
  "aria-label": resetAriaLabel,
12640
- children: /* @__PURE__ */ jsx110(RotateCcw, { className: "size-3" })
14265
+ children: /* @__PURE__ */ jsx116(RotateCcw, { className: "size-3" })
12641
14266
  }
12642
14267
  )
12643
14268
  ]
@@ -12648,7 +14273,7 @@ function RadioGroupItem2({
12648
14273
  item,
12649
14274
  isTheme = false
12650
14275
  }) {
12651
- return /* @__PURE__ */ jsxs69(
14276
+ return /* @__PURE__ */ jsxs75(
12652
14277
  Item2,
12653
14278
  {
12654
14279
  value: item.value,
@@ -12656,7 +14281,7 @@ function RadioGroupItem2({
12656
14281
  "aria-label": `Select ${item.label.toLowerCase()}`,
12657
14282
  "aria-describedby": `${item.value}-description`,
12658
14283
  children: [
12659
- /* @__PURE__ */ jsxs69(
14284
+ /* @__PURE__ */ jsxs75(
12660
14285
  "div",
12661
14286
  {
12662
14287
  className: cn(
@@ -12668,7 +14293,7 @@ function RadioGroupItem2({
12668
14293
  "aria-hidden": "false",
12669
14294
  "aria-label": `${item.label} option preview`,
12670
14295
  children: [
12671
- /* @__PURE__ */ jsx110(
14296
+ /* @__PURE__ */ jsx116(
12672
14297
  CircleCheck,
12673
14298
  {
12674
14299
  className: cn(
@@ -12679,7 +14304,7 @@ function RadioGroupItem2({
12679
14304
  "aria-hidden": "true"
12680
14305
  }
12681
14306
  ),
12682
- /* @__PURE__ */ jsx110(
14307
+ /* @__PURE__ */ jsx116(
12683
14308
  item.icon,
12684
14309
  {
12685
14310
  className: cn(
@@ -12691,7 +14316,7 @@ function RadioGroupItem2({
12691
14316
  ]
12692
14317
  }
12693
14318
  ),
12694
- /* @__PURE__ */ jsx110(
14319
+ /* @__PURE__ */ jsx116(
12695
14320
  "div",
12696
14321
  {
12697
14322
  className: "mt-1 text-xs",
@@ -12706,8 +14331,8 @@ function RadioGroupItem2({
12706
14331
  }
12707
14332
  function ThemeConfig() {
12708
14333
  const { defaultTheme, theme, setTheme } = useTheme2();
12709
- return /* @__PURE__ */ jsxs69("div", { children: [
12710
- /* @__PURE__ */ jsx110(
14334
+ return /* @__PURE__ */ jsxs75("div", { children: [
14335
+ /* @__PURE__ */ jsx116(
12711
14336
  SectionTitle,
12712
14337
  {
12713
14338
  title: "Theme",
@@ -12716,7 +14341,7 @@ function ThemeConfig() {
12716
14341
  resetAriaLabel: "Reset theme preference to default"
12717
14342
  }
12718
14343
  ),
12719
- /* @__PURE__ */ jsx110(
14344
+ /* @__PURE__ */ jsx116(
12720
14345
  Radio,
12721
14346
  {
12722
14347
  value: theme,
@@ -12740,20 +14365,20 @@ function ThemeConfig() {
12740
14365
  label: "Dark",
12741
14366
  icon: IconThemeDark
12742
14367
  }
12743
- ].map((item) => /* @__PURE__ */ jsx110(RadioGroupItem2, { item, isTheme: true }, item.value))
14368
+ ].map((item) => /* @__PURE__ */ jsx116(RadioGroupItem2, { item, isTheme: true }, item.value))
12744
14369
  }
12745
14370
  ),
12746
- /* @__PURE__ */ jsx110("div", { id: "theme-description", className: "sr-only", children: "Choose between system preference, light mode, or dark mode" })
14371
+ /* @__PURE__ */ jsx116("div", { id: "theme-description", className: "sr-only", children: "Choose between system preference, light mode, or dark mode" })
12747
14372
  ] });
12748
14373
  }
12749
14374
  function ThemeListSelector() {
12750
- const [search, setSearch] = useState15("");
14375
+ const [search, setSearch] = useState17("");
12751
14376
  const { colorTheme, setColorTheme } = useColorTheme();
12752
14377
  const filtered = colorThemes.filter(
12753
14378
  (t) => t.label.toLowerCase().includes(search.toLowerCase())
12754
14379
  );
12755
- return /* @__PURE__ */ jsxs69("div", { className: "flex min-h-0 flex-1 flex-col", children: [
12756
- /* @__PURE__ */ jsx110(
14380
+ return /* @__PURE__ */ jsxs75("div", { className: "flex min-h-0 flex-1 flex-col", children: [
14381
+ /* @__PURE__ */ jsx116(
12757
14382
  SectionTitle,
12758
14383
  {
12759
14384
  title: "Color Theme",
@@ -12762,9 +14387,9 @@ function ThemeListSelector() {
12762
14387
  resetAriaLabel: "Reset color theme to default"
12763
14388
  }
12764
14389
  ),
12765
- /* @__PURE__ */ jsxs69("div", { className: "relative mb-2.5", children: [
12766
- /* @__PURE__ */ jsx110(Search7, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
12767
- /* @__PURE__ */ jsx110(
14390
+ /* @__PURE__ */ jsxs75("div", { className: "relative mb-2.5", children: [
14391
+ /* @__PURE__ */ jsx116(Search8, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
14392
+ /* @__PURE__ */ jsx116(
12768
14393
  "input",
12769
14394
  {
12770
14395
  type: "text",
@@ -12780,21 +14405,21 @@ function ThemeListSelector() {
12780
14405
  }
12781
14406
  )
12782
14407
  ] }),
12783
- /* @__PURE__ */ jsxs69("p", { className: "mb-2 text-xs text-muted-foreground font-medium", children: [
14408
+ /* @__PURE__ */ jsxs75("p", { className: "mb-2 text-xs text-muted-foreground font-medium", children: [
12784
14409
  filtered.length,
12785
14410
  " theme",
12786
14411
  filtered.length !== 1 ? "s" : "",
12787
14412
  " available"
12788
14413
  ] }),
12789
- /* @__PURE__ */ jsxs69(
14414
+ /* @__PURE__ */ jsxs75(
12790
14415
  "div",
12791
14416
  {
12792
14417
  className: "flex-1 space-y-1 overflow-y-auto rounded-lg pr-1",
12793
14418
  role: "radiogroup",
12794
14419
  "aria-label": "Select color theme",
12795
14420
  children: [
12796
- filtered.length === 0 && /* @__PURE__ */ jsx110("p", { className: "py-8 text-center text-sm text-muted-foreground", children: "No themes found" }),
12797
- filtered.map((ct) => /* @__PURE__ */ jsxs69(
14421
+ filtered.length === 0 && /* @__PURE__ */ jsx116("p", { className: "py-8 text-center text-sm text-muted-foreground", children: "No themes found" }),
14422
+ filtered.map((ct) => /* @__PURE__ */ jsxs75(
12798
14423
  "button",
12799
14424
  {
12800
14425
  onClick: () => setColorTheme(ct.name),
@@ -12806,7 +14431,7 @@ function ThemeListSelector() {
12806
14431
  colorTheme === ct.name ? "bg-primary text-primary-foreground shadow-md" : "hover:bg-accent/80 hover:text-foreground border border-transparent hover:border-border/40"
12807
14432
  ),
12808
14433
  children: [
12809
- /* @__PURE__ */ jsx110("div", { className: "flex gap-1.5 shrink-0", children: ct.colors.map((color, i) => /* @__PURE__ */ jsx110(
14434
+ /* @__PURE__ */ jsx116("div", { className: "flex gap-1.5 shrink-0", children: ct.colors.map((color, i) => /* @__PURE__ */ jsx116(
12810
14435
  "span",
12811
14436
  {
12812
14437
  className: cn(
@@ -12817,9 +14442,9 @@ function ThemeListSelector() {
12817
14442
  },
12818
14443
  i
12819
14444
  )) }),
12820
- /* @__PURE__ */ jsxs69("div", { className: "flex items-center gap-1.5 truncate", children: [
12821
- /* @__PURE__ */ jsx110("span", { className: "text-sm font-medium truncate", children: ct.label }),
12822
- ct.category === "tweakcn" && /* @__PURE__ */ jsx110(
14445
+ /* @__PURE__ */ jsxs75("div", { className: "flex items-center gap-1.5 truncate", children: [
14446
+ /* @__PURE__ */ jsx116("span", { className: "text-sm font-medium truncate", children: ct.label }),
14447
+ ct.category === "tweakcn" && /* @__PURE__ */ jsx116(
12823
14448
  "span",
12824
14449
  {
12825
14450
  className: cn(
@@ -12829,7 +14454,7 @@ function ThemeListSelector() {
12829
14454
  }
12830
14455
  )
12831
14456
  ] }),
12832
- colorTheme === ct.name && /* @__PURE__ */ jsx110(Check8, { className: "ml-auto size-4 shrink-0", strokeWidth: 3 })
14457
+ colorTheme === ct.name && /* @__PURE__ */ jsx116(Check9, { className: "ml-auto size-4 shrink-0", strokeWidth: 3 })
12833
14458
  ]
12834
14459
  },
12835
14460
  ct.name
@@ -12841,7 +14466,7 @@ function ThemeListSelector() {
12841
14466
  }
12842
14467
 
12843
14468
  // src/design-system/templates/nav-user.tsx
12844
- import { Fragment as Fragment4, jsx as jsx111, jsxs as jsxs70 } from "react/jsx-runtime";
14469
+ import { Fragment as Fragment5, jsx as jsx117, jsxs as jsxs76 } from "react/jsx-runtime";
12845
14470
  function NavUser({ user: fallbackUser }) {
12846
14471
  const { isMobile } = useSidebar();
12847
14472
  const [open, setOpen] = useDialogState();
@@ -12850,28 +14475,28 @@ function NavUser({ user: fallbackUser }) {
12850
14475
  const userEmail = auth.user?.email || fallbackUser.email;
12851
14476
  const userAvatar = auth.user?.picture || fallbackUser.avatar;
12852
14477
  const userInitials = userName.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
12853
- return /* @__PURE__ */ jsxs70(Fragment4, { children: [
12854
- /* @__PURE__ */ jsx111(SidebarMenu, { children: /* @__PURE__ */ jsx111(SidebarMenuItem, { children: /* @__PURE__ */ jsxs70(DropdownMenu, { modal: false, children: [
12855
- /* @__PURE__ */ jsx111(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs70(
14478
+ return /* @__PURE__ */ jsxs76(Fragment5, { children: [
14479
+ /* @__PURE__ */ jsx117(SidebarMenu, { children: /* @__PURE__ */ jsx117(SidebarMenuItem, { children: /* @__PURE__ */ jsxs76(DropdownMenu, { modal: false, children: [
14480
+ /* @__PURE__ */ jsx117(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs76(
12856
14481
  SidebarMenuButton,
12857
14482
  {
12858
14483
  size: "lg",
12859
14484
  tooltip: userName,
12860
14485
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
12861
14486
  children: [
12862
- /* @__PURE__ */ jsxs70(Avatar, { className: "h-8 w-8 rounded-lg", children: [
12863
- /* @__PURE__ */ jsx111(AvatarImage, { src: userAvatar, alt: userName }),
12864
- /* @__PURE__ */ jsx111(AvatarFallback, { className: "rounded-lg", children: userInitials })
14487
+ /* @__PURE__ */ jsxs76(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14488
+ /* @__PURE__ */ jsx117(AvatarImage, { src: userAvatar, alt: userName }),
14489
+ /* @__PURE__ */ jsx117(AvatarFallback, { className: "rounded-lg", children: userInitials })
12865
14490
  ] }),
12866
- /* @__PURE__ */ jsxs70("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
12867
- /* @__PURE__ */ jsx111("span", { className: "truncate font-semibold", children: userName }),
12868
- /* @__PURE__ */ jsx111("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14491
+ /* @__PURE__ */ jsxs76("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14492
+ /* @__PURE__ */ jsx117("span", { className: "truncate font-semibold", children: userName }),
14493
+ /* @__PURE__ */ jsx117("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
12869
14494
  ] }),
12870
- /* @__PURE__ */ jsx111(ChevronsUpDown, { className: "ml-auto size-4 shrink-0" })
14495
+ /* @__PURE__ */ jsx117(ChevronsUpDown, { className: "ml-auto size-4 shrink-0" })
12871
14496
  ]
12872
14497
  }
12873
14498
  ) }),
12874
- /* @__PURE__ */ jsxs70(
14499
+ /* @__PURE__ */ jsxs76(
12875
14500
  DropdownMenuContent,
12876
14501
  {
12877
14502
  className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
@@ -12879,43 +14504,43 @@ function NavUser({ user: fallbackUser }) {
12879
14504
  align: "end",
12880
14505
  sideOffset: 4,
12881
14506
  children: [
12882
- /* @__PURE__ */ jsx111(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ jsxs70("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
12883
- /* @__PURE__ */ jsxs70(Avatar, { className: "h-8 w-8 rounded-lg", children: [
12884
- /* @__PURE__ */ jsx111(AvatarImage, { src: userAvatar, alt: userName }),
12885
- /* @__PURE__ */ jsx111(AvatarFallback, { className: "rounded-lg", children: userInitials })
14507
+ /* @__PURE__ */ jsx117(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ jsxs76("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
14508
+ /* @__PURE__ */ jsxs76(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14509
+ /* @__PURE__ */ jsx117(AvatarImage, { src: userAvatar, alt: userName }),
14510
+ /* @__PURE__ */ jsx117(AvatarFallback, { className: "rounded-lg", children: userInitials })
12886
14511
  ] }),
12887
- /* @__PURE__ */ jsxs70("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
12888
- /* @__PURE__ */ jsx111("span", { className: "truncate font-semibold", children: userName }),
12889
- /* @__PURE__ */ jsx111("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14512
+ /* @__PURE__ */ jsxs76("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14513
+ /* @__PURE__ */ jsx117("span", { className: "truncate font-semibold", children: userName }),
14514
+ /* @__PURE__ */ jsx117("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
12890
14515
  ] })
12891
14516
  ] }) }),
12892
- /* @__PURE__ */ jsx111(DropdownMenuSeparator, {}),
12893
- /* @__PURE__ */ jsx111(
14517
+ /* @__PURE__ */ jsx117(DropdownMenuSeparator, {}),
14518
+ /* @__PURE__ */ jsx117(
12894
14519
  ConfigDrawer,
12895
14520
  {
12896
- trigger: /* @__PURE__ */ jsxs70(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
12897
- /* @__PURE__ */ jsx111(Palette3, { className: "mr-2 h-4 w-4" }),
14521
+ trigger: /* @__PURE__ */ jsxs76(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
14522
+ /* @__PURE__ */ jsx117(Palette3, { className: "mr-2 h-4 w-4" }),
12898
14523
  "Theme"
12899
14524
  ] })
12900
14525
  }
12901
14526
  ),
12902
- /* @__PURE__ */ jsx111(
14527
+ /* @__PURE__ */ jsx117(
12903
14528
  ConfigDrawer,
12904
14529
  {
12905
- trigger: /* @__PURE__ */ jsxs70(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
12906
- /* @__PURE__ */ jsx111(Settings4, { className: "mr-2 h-4 w-4" }),
14530
+ trigger: /* @__PURE__ */ jsxs76(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
14531
+ /* @__PURE__ */ jsx117(Settings4, { className: "mr-2 h-4 w-4" }),
12907
14532
  "Setting"
12908
14533
  ] })
12909
14534
  }
12910
14535
  ),
12911
- /* @__PURE__ */ jsx111(DropdownMenuSeparator, {}),
12912
- /* @__PURE__ */ jsxs70(
14536
+ /* @__PURE__ */ jsx117(DropdownMenuSeparator, {}),
14537
+ /* @__PURE__ */ jsxs76(
12913
14538
  DropdownMenuItem,
12914
14539
  {
12915
14540
  variant: "destructive",
12916
14541
  onClick: () => setOpen(true),
12917
14542
  children: [
12918
- /* @__PURE__ */ jsx111(LogOut, { className: "mr-2 h-4 w-4" }),
14543
+ /* @__PURE__ */ jsx117(LogOut, { className: "mr-2 h-4 w-4" }),
12919
14544
  "Sign out"
12920
14545
  ]
12921
14546
  }
@@ -12924,19 +14549,19 @@ function NavUser({ user: fallbackUser }) {
12924
14549
  }
12925
14550
  )
12926
14551
  ] }) }) }),
12927
- /* @__PURE__ */ jsx111(SignOutDialog, { open: !!open, onOpenChange: setOpen })
14552
+ /* @__PURE__ */ jsx117(SignOutDialog, { open: !!open, onOpenChange: setOpen })
12928
14553
  ] });
12929
14554
  }
12930
14555
 
12931
14556
  // src/design-system/templates/app-sidebar.tsx
12932
- import { jsx as jsx112, jsxs as jsxs71 } from "react/jsx-runtime";
14557
+ import { jsx as jsx118, jsxs as jsxs77 } from "react/jsx-runtime";
12933
14558
  function AppSidebar() {
12934
14559
  const { collapsible } = useLayout();
12935
- return /* @__PURE__ */ jsxs71(Sidebar, { collapsible, variant: "sidebar", children: [
12936
- /* @__PURE__ */ jsxs71(SidebarHeader, { className: "p-2 pb-1", children: [
12937
- /* @__PURE__ */ jsxs71("div", { className: "flex items-center justify-between gap-1", children: [
12938
- /* @__PURE__ */ jsx112("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx112(TeamSwitcher, { teams: sidebarData2.teams }) }),
12939
- /* @__PURE__ */ jsx112("div", { className: "group-data-[collapsible=icon]:hidden shrink-0", children: /* @__PURE__ */ jsx112(
14560
+ return /* @__PURE__ */ jsxs77(Sidebar, { collapsible, variant: "sidebar", children: [
14561
+ /* @__PURE__ */ jsxs77(SidebarHeader, { className: "p-2 pb-1", children: [
14562
+ /* @__PURE__ */ jsxs77("div", { className: "flex items-center justify-between gap-1", children: [
14563
+ /* @__PURE__ */ jsx118("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx118(TeamSwitcher, { teams: sidebarData2.teams }) }),
14564
+ /* @__PURE__ */ jsx118("div", { className: "group-data-[collapsible=icon]:hidden shrink-0", children: /* @__PURE__ */ jsx118(
12940
14565
  SidebarTrigger,
12941
14566
  {
12942
14567
  variant: "ghost",
@@ -12945,7 +14570,7 @@ function AppSidebar() {
12945
14570
  }
12946
14571
  ) })
12947
14572
  ] }),
12948
- /* @__PURE__ */ jsx112("div", { className: "hidden group-data-[collapsible=icon]:flex justify-center pt-2 pb-1", children: /* @__PURE__ */ jsx112(
14573
+ /* @__PURE__ */ jsx118("div", { className: "hidden group-data-[collapsible=icon]:flex justify-center pt-2 pb-1", children: /* @__PURE__ */ jsx118(
12949
14574
  SidebarTrigger,
12950
14575
  {
12951
14576
  variant: "ghost",
@@ -12954,37 +14579,37 @@ function AppSidebar() {
12954
14579
  }
12955
14580
  ) })
12956
14581
  ] }),
12957
- /* @__PURE__ */ jsx112(SidebarContent, { children: sidebarData2.navGroups.map((props) => /* @__PURE__ */ jsx112(NavGroup, { ...props }, props.title)) }),
12958
- /* @__PURE__ */ jsx112(SidebarFooter, { children: /* @__PURE__ */ jsx112(NavUser, { user: sidebarData2.user }) })
14582
+ /* @__PURE__ */ jsx118(SidebarContent, { children: sidebarData2.navGroups.map((props) => /* @__PURE__ */ jsx118(NavGroup, { ...props }, props.title)) }),
14583
+ /* @__PURE__ */ jsx118(SidebarFooter, { children: /* @__PURE__ */ jsx118(NavUser, { user: sidebarData2.user }) })
12959
14584
  ] });
12960
14585
  }
12961
14586
 
12962
14587
  // src/design-system/templates/app-title.tsx
12963
14588
  import Link4 from "next/link";
12964
- import { Menu, X as X5 } from "lucide-react";
12965
- import { jsx as jsx113, jsxs as jsxs72 } from "react/jsx-runtime";
14589
+ import { Menu, X as X8 } from "lucide-react";
14590
+ import { jsx as jsx119, jsxs as jsxs78 } from "react/jsx-runtime";
12966
14591
  function AppTitle() {
12967
14592
  const { setOpenMobile } = useSidebar();
12968
- return /* @__PURE__ */ jsx113(SidebarMenu, { children: /* @__PURE__ */ jsx113(SidebarMenuItem, { children: /* @__PURE__ */ jsx113(
14593
+ return /* @__PURE__ */ jsx119(SidebarMenu, { children: /* @__PURE__ */ jsx119(SidebarMenuItem, { children: /* @__PURE__ */ jsx119(
12969
14594
  SidebarMenuButton,
12970
14595
  {
12971
14596
  size: "lg",
12972
14597
  className: "gap-0 py-0 hover:bg-transparent active:bg-transparent",
12973
14598
  asChild: true,
12974
- children: /* @__PURE__ */ jsxs72("div", { children: [
12975
- /* @__PURE__ */ jsxs72(
14599
+ children: /* @__PURE__ */ jsxs78("div", { children: [
14600
+ /* @__PURE__ */ jsxs78(
12976
14601
  Link4,
12977
14602
  {
12978
14603
  href: "/",
12979
14604
  onClick: () => setOpenMobile(false),
12980
14605
  className: "grid flex-1 text-start text-sm leading-tight",
12981
14606
  children: [
12982
- /* @__PURE__ */ jsx113("span", { className: "truncate font-bold", children: "Shadcn-Admin" }),
12983
- /* @__PURE__ */ jsx113("span", { className: "truncate text-xs", children: "Vite + ShadcnUI" })
14607
+ /* @__PURE__ */ jsx119("span", { className: "truncate font-bold", children: "Shadcn-Admin" }),
14608
+ /* @__PURE__ */ jsx119("span", { className: "truncate text-xs", children: "Vite + ShadcnUI" })
12984
14609
  ]
12985
14610
  }
12986
14611
  ),
12987
- /* @__PURE__ */ jsx113(ToggleSidebar, {})
14612
+ /* @__PURE__ */ jsx119(ToggleSidebar, {})
12988
14613
  ] })
12989
14614
  }
12990
14615
  ) }) });
@@ -12995,7 +14620,7 @@ function ToggleSidebar({
12995
14620
  ...props
12996
14621
  }) {
12997
14622
  const { toggleSidebar } = useSidebar();
12998
- return /* @__PURE__ */ jsxs72(
14623
+ return /* @__PURE__ */ jsxs78(
12999
14624
  Button,
13000
14625
  {
13001
14626
  "data-sidebar": "trigger",
@@ -13009,16 +14634,16 @@ function ToggleSidebar({
13009
14634
  },
13010
14635
  ...props,
13011
14636
  children: [
13012
- /* @__PURE__ */ jsx113(X5, { className: "md:hidden" }),
13013
- /* @__PURE__ */ jsx113(Menu, { className: "max-md:hidden" }),
13014
- /* @__PURE__ */ jsx113("span", { className: "sr-only", children: "Toggle Sidebar" })
14637
+ /* @__PURE__ */ jsx119(X8, { className: "md:hidden" }),
14638
+ /* @__PURE__ */ jsx119(Menu, { className: "max-md:hidden" }),
14639
+ /* @__PURE__ */ jsx119("span", { className: "sr-only", children: "Toggle Sidebar" })
13015
14640
  ]
13016
14641
  }
13017
14642
  );
13018
14643
  }
13019
14644
 
13020
14645
  // src/design-system/templates/authenticated-layout.tsx
13021
- import { useEffect as useEffect16, useState as useState16 } from "react";
14646
+ import { useEffect as useEffect16, useState as useState18 } from "react";
13022
14647
  import { usePathname as usePathname3 } from "next/navigation";
13023
14648
 
13024
14649
  // src/components/layout/app-sidebar.tsx
@@ -13027,13 +14652,13 @@ import { useEffect as useEffect15 } from "react";
13027
14652
  // src/components/layout/nav-group.tsx
13028
14653
  import Link5 from "next/link";
13029
14654
  import { usePathname as usePathname2 } from "next/navigation";
13030
- import { ChevronRight as ChevronRight9, X as X6 } from "lucide-react";
13031
- import { jsx as jsx114, jsxs as jsxs73 } from "react/jsx-runtime";
14655
+ import { ChevronRight as ChevronRight12, X as X9 } from "lucide-react";
14656
+ import { jsx as jsx120, jsxs as jsxs79 } from "react/jsx-runtime";
13032
14657
  function NavGroup2({ title, items }) {
13033
14658
  const { state, isMobile, openMobile, setOpenMobile } = useSidebar();
13034
14659
  const href = usePathname2();
13035
- return /* @__PURE__ */ jsxs73(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
13036
- /* @__PURE__ */ jsxs73(
14660
+ return /* @__PURE__ */ jsxs79(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
14661
+ /* @__PURE__ */ jsxs79(
13037
14662
  SidebarGroupLabel,
13038
14663
  {
13039
14664
  className: cn(
@@ -13041,8 +14666,8 @@ function NavGroup2({ title, items }) {
13041
14666
  title === "Menu" && state !== "collapsed" && "sticky top-0 z-20 bg-sidebar py-1.5"
13042
14667
  ),
13043
14668
  children: [
13044
- /* @__PURE__ */ jsx114("span", { children: title }),
13045
- title === "Menu" && !isMobile && /* @__PURE__ */ jsx114(
14669
+ /* @__PURE__ */ jsx120("span", { children: title }),
14670
+ title === "Menu" && !isMobile && /* @__PURE__ */ jsx120(
13046
14671
  SidebarTrigger,
13047
14672
  {
13048
14673
  variant: "ghost",
@@ -13050,7 +14675,7 @@ function NavGroup2({ title, items }) {
13050
14675
  "aria-label": "Toggle sidebar"
13051
14676
  }
13052
14677
  ),
13053
- title === "Menu" && isMobile && openMobile && /* @__PURE__ */ jsx114(
14678
+ title === "Menu" && isMobile && openMobile && /* @__PURE__ */ jsx120(
13054
14679
  Button,
13055
14680
  {
13056
14681
  type: "button",
@@ -13059,37 +14684,37 @@ function NavGroup2({ title, items }) {
13059
14684
  className: "size-6 shrink-0",
13060
14685
  "aria-label": "Close sidebar",
13061
14686
  onClick: () => setOpenMobile(false),
13062
- children: /* @__PURE__ */ jsx114(X6, { className: "size-4", "aria-hidden": "true" })
14687
+ children: /* @__PURE__ */ jsx120(X9, { className: "size-4", "aria-hidden": "true" })
13063
14688
  }
13064
14689
  )
13065
14690
  ]
13066
14691
  }
13067
14692
  ),
13068
- /* @__PURE__ */ jsx114(SidebarMenu, { children: items.map((item) => {
14693
+ /* @__PURE__ */ jsx120(SidebarMenu, { children: items.map((item) => {
13069
14694
  const key = `${item.title}-${item.url}`;
13070
14695
  if (!item.items)
13071
- return /* @__PURE__ */ jsx114(SidebarMenuLink2, { item, href }, key);
14696
+ return /* @__PURE__ */ jsx120(SidebarMenuLink2, { item, href }, key);
13072
14697
  if (item.title === "Settings" && item.items.length === 0)
13073
- return /* @__PURE__ */ jsx114(SidebarMenuSettings2, { item }, key);
14698
+ return /* @__PURE__ */ jsx120(SidebarMenuSettings2, { item }, key);
13074
14699
  if (state === "collapsed" && !isMobile)
13075
- return /* @__PURE__ */ jsx114(SidebarMenuCollapsedDropdown2, { item, href }, key);
13076
- return /* @__PURE__ */ jsx114(SidebarMenuCollapsible2, { item, href }, key);
14700
+ return /* @__PURE__ */ jsx120(SidebarMenuCollapsedDropdown2, { item, href }, key);
14701
+ return /* @__PURE__ */ jsx120(SidebarMenuCollapsible2, { item, href }, key);
13077
14702
  }) })
13078
14703
  ] });
13079
14704
  }
13080
14705
  function NavBadge2({ children }) {
13081
- return /* @__PURE__ */ jsx114(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
14706
+ return /* @__PURE__ */ jsx120(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
13082
14707
  }
13083
14708
  function SidebarMenuLink2({ item, href }) {
13084
14709
  const { setOpenMobile } = useSidebar();
13085
14710
  const { setShowInlineNotFound } = useLayout();
13086
- return /* @__PURE__ */ jsx114(SidebarMenuItem, { children: /* @__PURE__ */ jsx114(
14711
+ return /* @__PURE__ */ jsx120(SidebarMenuItem, { children: /* @__PURE__ */ jsx120(
13087
14712
  SidebarMenuButton,
13088
14713
  {
13089
14714
  asChild: true,
13090
14715
  isActive: checkIsActive2(href, item),
13091
14716
  tooltip: item.title,
13092
- children: /* @__PURE__ */ jsxs73(
14717
+ children: /* @__PURE__ */ jsxs79(
13093
14718
  Link5,
13094
14719
  {
13095
14720
  href: item.url,
@@ -13098,9 +14723,9 @@ function SidebarMenuLink2({ item, href }) {
13098
14723
  setOpenMobile(false);
13099
14724
  },
13100
14725
  children: [
13101
- item.icon && /* @__PURE__ */ jsx114(item.icon, {}),
13102
- /* @__PURE__ */ jsx114("span", { children: item.title }),
13103
- item.badge && /* @__PURE__ */ jsx114(NavBadge2, { children: item.badge })
14726
+ item.icon && /* @__PURE__ */ jsx120(item.icon, {}),
14727
+ /* @__PURE__ */ jsx120("span", { children: item.title }),
14728
+ item.badge && /* @__PURE__ */ jsx120(NavBadge2, { children: item.badge })
13104
14729
  ]
13105
14730
  }
13106
14731
  )
@@ -13110,7 +14735,7 @@ function SidebarMenuLink2({ item, href }) {
13110
14735
  function SidebarMenuSettings2({ item }) {
13111
14736
  const { setOpenMobile } = useSidebar();
13112
14737
  const { showInlineNotFound, setShowInlineNotFound } = useLayout();
13113
- return /* @__PURE__ */ jsx114(SidebarMenuItem, { children: /* @__PURE__ */ jsxs73(
14738
+ return /* @__PURE__ */ jsx120(SidebarMenuItem, { children: /* @__PURE__ */ jsxs79(
13114
14739
  SidebarMenuButton,
13115
14740
  {
13116
14741
  tooltip: item.title,
@@ -13120,8 +14745,8 @@ function SidebarMenuSettings2({ item }) {
13120
14745
  setOpenMobile(false);
13121
14746
  },
13122
14747
  children: [
13123
- item.icon && /* @__PURE__ */ jsx114(item.icon, {}),
13124
- /* @__PURE__ */ jsx114("span", { children: item.title })
14748
+ item.icon && /* @__PURE__ */ jsx120(item.icon, {}),
14749
+ /* @__PURE__ */ jsx120("span", { children: item.title })
13125
14750
  ]
13126
14751
  }
13127
14752
  ) });
@@ -13132,25 +14757,25 @@ function SidebarMenuCollapsible2({
13132
14757
  }) {
13133
14758
  const { setOpenMobile } = useSidebar();
13134
14759
  const { setShowInlineNotFound } = useLayout();
13135
- return /* @__PURE__ */ jsx114(
14760
+ return /* @__PURE__ */ jsx120(
13136
14761
  Collapsible,
13137
14762
  {
13138
14763
  asChild: true,
13139
14764
  defaultOpen: checkIsActive2(href, item, true),
13140
14765
  className: "group/collapsible",
13141
- children: /* @__PURE__ */ jsxs73(SidebarMenuItem, { children: [
13142
- /* @__PURE__ */ jsx114(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxs73(SidebarMenuButton, { tooltip: item.title, children: [
13143
- item.icon && /* @__PURE__ */ jsx114(item.icon, {}),
13144
- /* @__PURE__ */ jsx114("span", { children: item.title }),
13145
- item.badge && /* @__PURE__ */ jsx114(NavBadge2, { children: item.badge }),
13146
- /* @__PURE__ */ jsx114(ChevronRight9, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
14766
+ children: /* @__PURE__ */ jsxs79(SidebarMenuItem, { children: [
14767
+ /* @__PURE__ */ jsx120(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxs79(SidebarMenuButton, { tooltip: item.title, children: [
14768
+ item.icon && /* @__PURE__ */ jsx120(item.icon, {}),
14769
+ /* @__PURE__ */ jsx120("span", { children: item.title }),
14770
+ item.badge && /* @__PURE__ */ jsx120(NavBadge2, { children: item.badge }),
14771
+ /* @__PURE__ */ jsx120(ChevronRight12, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
13147
14772
  ] }) }),
13148
- /* @__PURE__ */ jsx114(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ jsx114(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ jsx114(SidebarMenuSubItem, { children: /* @__PURE__ */ jsx114(
14773
+ /* @__PURE__ */ jsx120(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ jsx120(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ jsx120(SidebarMenuSubItem, { children: /* @__PURE__ */ jsx120(
13149
14774
  SidebarMenuSubButton,
13150
14775
  {
13151
14776
  asChild: true,
13152
14777
  isActive: checkIsActive2(href, subItem),
13153
- children: /* @__PURE__ */ jsxs73(
14778
+ children: /* @__PURE__ */ jsxs79(
13154
14779
  Link5,
13155
14780
  {
13156
14781
  href: subItem.url,
@@ -13159,9 +14784,9 @@ function SidebarMenuCollapsible2({
13159
14784
  setOpenMobile(false);
13160
14785
  },
13161
14786
  children: [
13162
- subItem.icon && /* @__PURE__ */ jsx114(subItem.icon, {}),
13163
- /* @__PURE__ */ jsx114("span", { children: subItem.title }),
13164
- subItem.badge && /* @__PURE__ */ jsx114(NavBadge2, { children: subItem.badge })
14787
+ subItem.icon && /* @__PURE__ */ jsx120(subItem.icon, {}),
14788
+ /* @__PURE__ */ jsx120("span", { children: subItem.title }),
14789
+ subItem.badge && /* @__PURE__ */ jsx120(NavBadge2, { children: subItem.badge })
13165
14790
  ]
13166
14791
  }
13167
14792
  )
@@ -13175,36 +14800,36 @@ function SidebarMenuCollapsedDropdown2({
13175
14800
  item,
13176
14801
  href
13177
14802
  }) {
13178
- return /* @__PURE__ */ jsx114(SidebarMenuItem, { children: /* @__PURE__ */ jsxs73(DropdownMenu, { children: [
13179
- /* @__PURE__ */ jsx114(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs73(
14803
+ return /* @__PURE__ */ jsx120(SidebarMenuItem, { children: /* @__PURE__ */ jsxs79(DropdownMenu, { children: [
14804
+ /* @__PURE__ */ jsx120(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs79(
13180
14805
  SidebarMenuButton,
13181
14806
  {
13182
14807
  tooltip: item.title,
13183
14808
  isActive: checkIsActive2(href, item),
13184
14809
  children: [
13185
- item.icon && /* @__PURE__ */ jsx114(item.icon, {}),
13186
- /* @__PURE__ */ jsx114("span", { children: item.title }),
13187
- item.badge && /* @__PURE__ */ jsx114(NavBadge2, { children: item.badge }),
13188
- /* @__PURE__ */ jsx114(ChevronRight9, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
14810
+ item.icon && /* @__PURE__ */ jsx120(item.icon, {}),
14811
+ /* @__PURE__ */ jsx120("span", { children: item.title }),
14812
+ item.badge && /* @__PURE__ */ jsx120(NavBadge2, { children: item.badge }),
14813
+ /* @__PURE__ */ jsx120(ChevronRight12, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
13189
14814
  ]
13190
14815
  }
13191
14816
  ) }),
13192
- /* @__PURE__ */ jsxs73(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
13193
- /* @__PURE__ */ jsxs73(DropdownMenuLabel, { children: [
14817
+ /* @__PURE__ */ jsxs79(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
14818
+ /* @__PURE__ */ jsxs79(DropdownMenuLabel, { children: [
13194
14819
  item.title,
13195
14820
  " ",
13196
14821
  item.badge ? `(${item.badge})` : ""
13197
14822
  ] }),
13198
- /* @__PURE__ */ jsx114(DropdownMenuSeparator, {}),
13199
- item.items.map((sub) => /* @__PURE__ */ jsx114(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs73(
14823
+ /* @__PURE__ */ jsx120(DropdownMenuSeparator, {}),
14824
+ item.items.map((sub) => /* @__PURE__ */ jsx120(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs79(
13200
14825
  Link5,
13201
14826
  {
13202
14827
  href: sub.url,
13203
14828
  className: `${checkIsActive2(href, sub) ? "bg-secondary" : ""}`,
13204
14829
  children: [
13205
- sub.icon && /* @__PURE__ */ jsx114(sub.icon, {}),
13206
- /* @__PURE__ */ jsx114("span", { className: "max-w-52 text-wrap", children: sub.title }),
13207
- sub.badge && /* @__PURE__ */ jsx114("span", { className: "ms-auto text-xs", children: sub.badge })
14830
+ sub.icon && /* @__PURE__ */ jsx120(sub.icon, {}),
14831
+ /* @__PURE__ */ jsx120("span", { className: "max-w-52 text-wrap", children: sub.title }),
14832
+ sub.badge && /* @__PURE__ */ jsx120("span", { className: "ms-auto text-xs", children: sub.badge })
13208
14833
  ]
13209
14834
  }
13210
14835
  ) }, `${sub.title}-${sub.url}`))
@@ -13223,7 +14848,7 @@ import {
13223
14848
  ChevronsUpDown as ChevronsUpDown2,
13224
14849
  LogOut as LogOut2,
13225
14850
  User as User2,
13226
- Bell as Bell5,
14851
+ Bell as Bell6,
13227
14852
  MessageCircle,
13228
14853
  CreditCard,
13229
14854
  ShoppingBag,
@@ -13231,7 +14856,7 @@ import {
13231
14856
  Palette as Palette4
13232
14857
  } from "lucide-react";
13233
14858
  import Link6 from "next/link";
13234
- import { Fragment as Fragment5, jsx as jsx115, jsxs as jsxs74 } from "react/jsx-runtime";
14859
+ import { Fragment as Fragment6, jsx as jsx121, jsxs as jsxs80 } from "react/jsx-runtime";
13235
14860
  function NavUser2({ user: fallbackUser }) {
13236
14861
  const { isMobile } = useSidebar();
13237
14862
  const [open, setOpen] = useDialogState();
@@ -13241,28 +14866,28 @@ function NavUser2({ user: fallbackUser }) {
13241
14866
  const userEmail = auth.user?.email || fallbackUser.email;
13242
14867
  const userAvatar = auth.user?.picture || fallbackUser.avatar;
13243
14868
  const userInitials = userName.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
13244
- return /* @__PURE__ */ jsxs74(Fragment5, { children: [
13245
- /* @__PURE__ */ jsx115(SidebarMenu, { children: /* @__PURE__ */ jsx115(SidebarMenuItem, { children: /* @__PURE__ */ jsxs74(DropdownMenu, { modal: false, children: [
13246
- /* @__PURE__ */ jsx115(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs74(
14869
+ return /* @__PURE__ */ jsxs80(Fragment6, { children: [
14870
+ /* @__PURE__ */ jsx121(SidebarMenu, { children: /* @__PURE__ */ jsx121(SidebarMenuItem, { children: /* @__PURE__ */ jsxs80(DropdownMenu, { modal: false, children: [
14871
+ /* @__PURE__ */ jsx121(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs80(
13247
14872
  SidebarMenuButton,
13248
14873
  {
13249
14874
  size: "lg",
13250
14875
  tooltip: userName,
13251
14876
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
13252
14877
  children: [
13253
- /* @__PURE__ */ jsxs74(Avatar, { className: "h-8 w-8 rounded-lg", children: [
13254
- /* @__PURE__ */ jsx115(AvatarImage, { src: userAvatar, alt: userName }),
13255
- /* @__PURE__ */ jsx115(AvatarFallback, { className: "rounded-lg", children: userInitials })
14878
+ /* @__PURE__ */ jsxs80(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14879
+ /* @__PURE__ */ jsx121(AvatarImage, { src: userAvatar, alt: userName }),
14880
+ /* @__PURE__ */ jsx121(AvatarFallback, { className: "rounded-lg", children: userInitials })
13256
14881
  ] }),
13257
- /* @__PURE__ */ jsxs74("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13258
- /* @__PURE__ */ jsx115("span", { className: "truncate font-semibold", children: userName }),
13259
- /* @__PURE__ */ jsx115("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14882
+ /* @__PURE__ */ jsxs80("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14883
+ /* @__PURE__ */ jsx121("span", { className: "truncate font-semibold", children: userName }),
14884
+ /* @__PURE__ */ jsx121("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
13260
14885
  ] }),
13261
- /* @__PURE__ */ jsx115(ChevronsUpDown2, { className: "ml-auto size-4 shrink-0" })
14886
+ /* @__PURE__ */ jsx121(ChevronsUpDown2, { className: "ml-auto size-4 shrink-0" })
13262
14887
  ]
13263
14888
  }
13264
14889
  ) }),
13265
- /* @__PURE__ */ jsxs74(
14890
+ /* @__PURE__ */ jsxs80(
13266
14891
  DropdownMenuContent,
13267
14892
  {
13268
14893
  className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
@@ -13270,59 +14895,59 @@ function NavUser2({ user: fallbackUser }) {
13270
14895
  align: "end",
13271
14896
  sideOffset: 4,
13272
14897
  children: [
13273
- /* @__PURE__ */ jsx115(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ jsxs74("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
13274
- /* @__PURE__ */ jsxs74(Avatar, { className: "h-8 w-8 rounded-lg", children: [
13275
- /* @__PURE__ */ jsx115(AvatarImage, { src: userAvatar, alt: userName }),
13276
- /* @__PURE__ */ jsx115(AvatarFallback, { className: "rounded-lg", children: userInitials })
14898
+ /* @__PURE__ */ jsx121(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
14899
+ /* @__PURE__ */ jsxs80(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14900
+ /* @__PURE__ */ jsx121(AvatarImage, { src: userAvatar, alt: userName }),
14901
+ /* @__PURE__ */ jsx121(AvatarFallback, { className: "rounded-lg", children: userInitials })
13277
14902
  ] }),
13278
- /* @__PURE__ */ jsxs74("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13279
- /* @__PURE__ */ jsx115("span", { className: "truncate font-semibold", children: userName }),
13280
- /* @__PURE__ */ jsx115("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14903
+ /* @__PURE__ */ jsxs80("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14904
+ /* @__PURE__ */ jsx121("span", { className: "truncate font-semibold", children: userName }),
14905
+ /* @__PURE__ */ jsx121("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
13281
14906
  ] })
13282
14907
  ] }) }),
13283
- /* @__PURE__ */ jsx115(DropdownMenuSeparator, {}),
13284
- /* @__PURE__ */ jsxs74(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13285
- /* @__PURE__ */ jsx115(User2, { className: "mr-2 h-4 w-4" }),
14908
+ /* @__PURE__ */ jsx121(DropdownMenuSeparator, {}),
14909
+ /* @__PURE__ */ jsxs80(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14910
+ /* @__PURE__ */ jsx121(User2, { className: "mr-2 h-4 w-4" }),
13286
14911
  "My Profile"
13287
14912
  ] }),
13288
- /* @__PURE__ */ jsxs74(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13289
- /* @__PURE__ */ jsx115(Bell5, { className: "mr-2 h-4 w-4" }),
14913
+ /* @__PURE__ */ jsxs80(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14914
+ /* @__PURE__ */ jsx121(Bell6, { className: "mr-2 h-4 w-4" }),
13290
14915
  "Notifications"
13291
14916
  ] }),
13292
- /* @__PURE__ */ jsxs74(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13293
- /* @__PURE__ */ jsx115(MessageCircle, { className: "mr-2 h-4 w-4" }),
14917
+ /* @__PURE__ */ jsxs80(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14918
+ /* @__PURE__ */ jsx121(MessageCircle, { className: "mr-2 h-4 w-4" }),
13294
14919
  "Help & Support"
13295
14920
  ] }),
13296
- /* @__PURE__ */ jsx115(DropdownMenuSeparator, {}),
13297
- /* @__PURE__ */ jsxs74(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13298
- /* @__PURE__ */ jsx115(CreditCard, { className: "mr-2 h-4 w-4" }),
14921
+ /* @__PURE__ */ jsx121(DropdownMenuSeparator, {}),
14922
+ /* @__PURE__ */ jsxs80(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14923
+ /* @__PURE__ */ jsx121(CreditCard, { className: "mr-2 h-4 w-4" }),
13299
14924
  "Subscriptions"
13300
14925
  ] }),
13301
- /* @__PURE__ */ jsx115(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs74(Link6, { href: "/apps", children: [
13302
- /* @__PURE__ */ jsx115(ShoppingBag, { className: "mr-2 h-4 w-4" }),
14926
+ /* @__PURE__ */ jsx121(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs80(Link6, { href: "/apps", children: [
14927
+ /* @__PURE__ */ jsx121(ShoppingBag, { className: "mr-2 h-4 w-4" }),
13303
14928
  "Buy Apps"
13304
14929
  ] }) }),
13305
- /* @__PURE__ */ jsx115(
14930
+ /* @__PURE__ */ jsx121(
13306
14931
  ConfigDrawer,
13307
14932
  {
13308
- trigger: /* @__PURE__ */ jsxs74(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
13309
- /* @__PURE__ */ jsx115(Palette4, { className: "mr-2 h-4 w-4" }),
14933
+ trigger: /* @__PURE__ */ jsxs80(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
14934
+ /* @__PURE__ */ jsx121(Palette4, { className: "mr-2 h-4 w-4" }),
13310
14935
  "Theme Settings"
13311
14936
  ] })
13312
14937
  }
13313
14938
  ),
13314
- /* @__PURE__ */ jsxs74(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13315
- /* @__PURE__ */ jsx115(Settings5, { className: "mr-2 h-4 w-4" }),
14939
+ /* @__PURE__ */ jsxs80(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14940
+ /* @__PURE__ */ jsx121(Settings5, { className: "mr-2 h-4 w-4" }),
13316
14941
  "Settings"
13317
14942
  ] }),
13318
- /* @__PURE__ */ jsx115(DropdownMenuSeparator, {}),
13319
- /* @__PURE__ */ jsxs74(
14943
+ /* @__PURE__ */ jsx121(DropdownMenuSeparator, {}),
14944
+ /* @__PURE__ */ jsxs80(
13320
14945
  DropdownMenuItem,
13321
14946
  {
13322
14947
  variant: "destructive",
13323
14948
  onClick: () => setOpen(true),
13324
14949
  children: [
13325
- /* @__PURE__ */ jsx115(LogOut2, { className: "mr-2 h-4 w-4" }),
14950
+ /* @__PURE__ */ jsx121(LogOut2, { className: "mr-2 h-4 w-4" }),
13326
14951
  "Sign out"
13327
14952
  ]
13328
14953
  }
@@ -13331,12 +14956,12 @@ function NavUser2({ user: fallbackUser }) {
13331
14956
  }
13332
14957
  )
13333
14958
  ] }) }) }),
13334
- /* @__PURE__ */ jsx115(SignOutDialog, { open: !!open, onOpenChange: setOpen })
14959
+ /* @__PURE__ */ jsx121(SignOutDialog, { open: !!open, onOpenChange: setOpen })
13335
14960
  ] });
13336
14961
  }
13337
14962
 
13338
14963
  // src/components/layout/app-sidebar.tsx
13339
- import { jsx as jsx116, jsxs as jsxs75 } from "react/jsx-runtime";
14964
+ import { jsx as jsx122, jsxs as jsxs81 } from "react/jsx-runtime";
13340
14965
  function AppSidebar2() {
13341
14966
  const { collapsible } = useLayout();
13342
14967
  const currentUser = useAuthStore((state) => state.auth.user);
@@ -13367,9 +14992,9 @@ function AppSidebar2() {
13367
14992
  };
13368
14993
  return (
13369
14994
  // Sidebar ko fixed "sidebar" variant par lock kiya gaya hai (floating remove).
13370
- /* @__PURE__ */ jsxs75(Sidebar, { collapsible, variant: "sidebar", children: [
13371
- /* @__PURE__ */ jsx116(SidebarHeader, { className: "pb-0", children: /* @__PURE__ */ jsx116(TeamSwitcher, { teams: dynamicSidebarData.teams }) }),
13372
- /* @__PURE__ */ jsx116("div", { className: "hidden group-data-[state=collapsed]:flex justify-center py-2", children: /* @__PURE__ */ jsx116(
14995
+ /* @__PURE__ */ jsxs81(Sidebar, { collapsible, variant: "sidebar", children: [
14996
+ /* @__PURE__ */ jsx122(SidebarHeader, { className: "pb-0", children: /* @__PURE__ */ jsx122(TeamSwitcher, { teams: dynamicSidebarData.teams }) }),
14997
+ /* @__PURE__ */ jsx122("div", { className: "hidden group-data-[state=collapsed]:flex justify-center py-2", children: /* @__PURE__ */ jsx122(
13373
14998
  SidebarTrigger,
13374
14999
  {
13375
15000
  variant: "ghost",
@@ -13377,16 +15002,16 @@ function AppSidebar2() {
13377
15002
  "aria-label": "Toggle sidebar"
13378
15003
  }
13379
15004
  ) }),
13380
- /* @__PURE__ */ jsx116(SidebarContent, { children: dynamicSidebarData.navGroups.map((props) => /* @__PURE__ */ jsx116(NavGroup2, { ...props }, props.title)) }),
13381
- /* @__PURE__ */ jsx116(SidebarFooter, { children: /* @__PURE__ */ jsx116(NavUser2, { user: dynamicSidebarData.user }) })
15005
+ /* @__PURE__ */ jsx122(SidebarContent, { children: dynamicSidebarData.navGroups.map((props) => /* @__PURE__ */ jsx122(NavGroup2, { ...props }, props.title)) }),
15006
+ /* @__PURE__ */ jsx122(SidebarFooter, { children: /* @__PURE__ */ jsx122(NavUser2, { user: dynamicSidebarData.user }) })
13382
15007
  ] })
13383
15008
  );
13384
15009
  }
13385
15010
 
13386
15011
  // src/components/skip-to-main.tsx
13387
- import { jsx as jsx117 } from "react/jsx-runtime";
15012
+ import { jsx as jsx123 } from "react/jsx-runtime";
13388
15013
  function SkipToMain() {
13389
- return /* @__PURE__ */ jsx117(
15014
+ return /* @__PURE__ */ jsx123(
13390
15015
  "a",
13391
15016
  {
13392
15017
  className: `fixed inset-s-44 z-999 -translate-y-52 bg-primary px-4 py-2 text-sm font-medium whitespace-nowrap text-primary-foreground opacity-95 shadow-sm transition hover:bg-primary/90 focus:translate-y-3 focus:transform focus-visible:ring-1 focus-visible:ring-ring`,
@@ -13398,7 +15023,7 @@ function SkipToMain() {
13398
15023
 
13399
15024
  // src/features/errors/not-found-error.tsx
13400
15025
  import { useRouter as useRouter3 } from "next/navigation";
13401
- import { jsx as jsx118, jsxs as jsxs76 } from "react/jsx-runtime";
15026
+ import { jsx as jsx124, jsxs as jsxs82 } from "react/jsx-runtime";
13402
15027
  function NotFoundError({
13403
15028
  className,
13404
15029
  embedded = false,
@@ -13416,8 +15041,8 @@ function NotFoundError({
13416
15041
  if (onDismiss) onDismiss();
13417
15042
  router.push("/");
13418
15043
  };
13419
- return /* @__PURE__ */ jsx118("div", { className: cn(embedded ? "min-h-96 w-full py-8" : "h-svh", className), children: /* @__PURE__ */ jsxs76("div", { className: "m-auto flex h-full w-full flex-col items-center justify-center gap-2", children: [
13420
- /* @__PURE__ */ jsx118(
15044
+ return /* @__PURE__ */ jsx124("div", { className: cn(embedded ? "min-h-96 w-full py-8" : "h-svh", className), children: /* @__PURE__ */ jsxs82("div", { className: "m-auto flex h-full w-full flex-col items-center justify-center gap-2", children: [
15045
+ /* @__PURE__ */ jsx124(
13421
15046
  "h1",
13422
15047
  {
13423
15048
  className: cn(
@@ -13427,31 +15052,31 @@ function NotFoundError({
13427
15052
  children: "404"
13428
15053
  }
13429
15054
  ),
13430
- /* @__PURE__ */ jsx118("span", { className: "font-medium", children: "Oops! Page Not Found :-(!" }),
13431
- /* @__PURE__ */ jsxs76("p", { className: "text-center text-muted-foreground", children: [
15055
+ /* @__PURE__ */ jsx124("span", { className: "font-medium", children: "Oops! Page Not Found :-(!" }),
15056
+ /* @__PURE__ */ jsxs82("p", { className: "text-center text-muted-foreground", children: [
13432
15057
  "It seems like the page you're looking for ",
13433
- /* @__PURE__ */ jsx118("br", {}),
15058
+ /* @__PURE__ */ jsx124("br", {}),
13434
15059
  "does not exist or might have been removed."
13435
15060
  ] }),
13436
- /* @__PURE__ */ jsxs76("div", { className: "mt-6 flex gap-4", children: [
13437
- /* @__PURE__ */ jsx118(Button, { variant: "outline", onClick: handleGoBack, children: "Go Back" }),
13438
- /* @__PURE__ */ jsx118(Button, { onClick: handleGoHome, children: "Back to Home" })
15061
+ /* @__PURE__ */ jsxs82("div", { className: "mt-6 flex gap-4", children: [
15062
+ /* @__PURE__ */ jsx124(Button, { variant: "outline", onClick: handleGoBack, children: "Go Back" }),
15063
+ /* @__PURE__ */ jsx124(Button, { onClick: handleGoHome, children: "Back to Home" })
13439
15064
  ] })
13440
15065
  ] }) });
13441
15066
  }
13442
15067
 
13443
15068
  // src/design-system/templates/authenticated-layout.tsx
13444
- import { Fragment as Fragment6, jsx as jsx119, jsxs as jsxs77 } from "react/jsx-runtime";
15069
+ import { Fragment as Fragment7, jsx as jsx125, jsxs as jsxs83 } from "react/jsx-runtime";
13445
15070
  function AuthenticatedLayoutContent({ children }) {
13446
15071
  const { showInlineNotFound, setShowInlineNotFound } = useLayout();
13447
15072
  const pathname = usePathname3();
13448
15073
  useEffect16(() => {
13449
15074
  setShowInlineNotFound(false);
13450
15075
  }, [pathname, setShowInlineNotFound]);
13451
- return /* @__PURE__ */ jsxs77(Fragment6, { children: [
13452
- /* @__PURE__ */ jsx119(SkipToMain, {}),
13453
- /* @__PURE__ */ jsx119(AppSidebar2, {}),
13454
- /* @__PURE__ */ jsx119(
15076
+ return /* @__PURE__ */ jsxs83(Fragment7, { children: [
15077
+ /* @__PURE__ */ jsx125(SkipToMain, {}),
15078
+ /* @__PURE__ */ jsx125(AppSidebar2, {}),
15079
+ /* @__PURE__ */ jsx125(
13455
15080
  SidebarInset,
13456
15081
  {
13457
15082
  className: cn(
@@ -13459,7 +15084,7 @@ function AuthenticatedLayoutContent({ children }) {
13459
15084
  "has-[[data-layout=fixed]]:h-svh has-data-[layout=fixed]:h-svh",
13460
15085
  "peer-data-[variant=inset]:has-data-[layout=fixed]:h-[calc(100svh-(var(--spacing)*4))]"
13461
15086
  ),
13462
- children: showInlineNotFound ? /* @__PURE__ */ jsx119(
15087
+ children: showInlineNotFound ? /* @__PURE__ */ jsx125(
13463
15088
  NotFoundError,
13464
15089
  {
13465
15090
  embedded: true,
@@ -13471,8 +15096,8 @@ function AuthenticatedLayoutContent({ children }) {
13471
15096
  ] });
13472
15097
  }
13473
15098
  function AuthenticatedLayout({ children }) {
13474
- const [defaultOpen, setDefaultOpen] = useState16(true);
13475
- const [isMounted, setIsMounted] = useState16(false);
15099
+ const [defaultOpen, setDefaultOpen] = useState18(true);
15100
+ const [isMounted, setIsMounted] = useState18(false);
13476
15101
  useEffect16(() => {
13477
15102
  setDefaultOpen(getCookie("sidebar_state") !== "false");
13478
15103
  setIsMounted(true);
@@ -13480,14 +15105,14 @@ function AuthenticatedLayout({ children }) {
13480
15105
  if (!isMounted) {
13481
15106
  return null;
13482
15107
  }
13483
- return /* @__PURE__ */ jsx119(SearchProvider, { children: /* @__PURE__ */ jsx119(LayoutProvider, { children: /* @__PURE__ */ jsx119(SidebarProvider, { defaultOpen, children: /* @__PURE__ */ jsx119(AuthenticatedLayoutContent, { children }) }) }) });
15108
+ return /* @__PURE__ */ jsx125(SearchProvider, { children: /* @__PURE__ */ jsx125(LayoutProvider, { children: /* @__PURE__ */ jsx125(SidebarProvider, { defaultOpen, children: /* @__PURE__ */ jsx125(AuthenticatedLayoutContent, { children }) }) }) });
13484
15109
  }
13485
15110
 
13486
15111
  // src/design-system/templates/header.tsx
13487
- import { useEffect as useEffect17, useState as useState17 } from "react";
13488
- import { jsx as jsx120, jsxs as jsxs78 } from "react/jsx-runtime";
15112
+ import { useEffect as useEffect17, useState as useState19 } from "react";
15113
+ import { jsx as jsx126, jsxs as jsxs84 } from "react/jsx-runtime";
13489
15114
  function Header2({ className, fixed, children, ...props }) {
13490
- const [offset, setOffset] = useState17(0);
15115
+ const [offset, setOffset] = useState19(0);
13491
15116
  useEffect17(() => {
13492
15117
  const onScroll = () => {
13493
15118
  setOffset(document.body.scrollTop || document.documentElement.scrollTop);
@@ -13497,7 +15122,7 @@ function Header2({ className, fixed, children, ...props }) {
13497
15122
  }, []);
13498
15123
  return (
13499
15124
  // Page header container: fixed mode me top par sticky behavior deta hai.
13500
- /* @__PURE__ */ jsx120(
15125
+ /* @__PURE__ */ jsx126(
13501
15126
  "header",
13502
15127
  {
13503
15128
  className: cn(
@@ -13507,7 +15132,7 @@ function Header2({ className, fixed, children, ...props }) {
13507
15132
  className
13508
15133
  ),
13509
15134
  ...props,
13510
- children: /* @__PURE__ */ jsxs78(
15135
+ children: /* @__PURE__ */ jsxs84(
13511
15136
  "div",
13512
15137
  {
13513
15138
  className: cn(
@@ -13516,7 +15141,7 @@ function Header2({ className, fixed, children, ...props }) {
13516
15141
  offset > 10 && fixed && "after:absolute after:inset-0 after:-z-10 after:bg-background/20 after:backdrop-blur-lg"
13517
15142
  ),
13518
15143
  children: [
13519
- /* @__PURE__ */ jsx120(AppLogo, { className: "shrink-0 md:hidden" }),
15144
+ /* @__PURE__ */ jsx126(AppLogo, { className: "shrink-0 md:hidden" }),
13520
15145
  children
13521
15146
  ]
13522
15147
  }
@@ -13527,9 +15152,9 @@ function Header2({ className, fixed, children, ...props }) {
13527
15152
  }
13528
15153
 
13529
15154
  // src/design-system/templates/main.tsx
13530
- import { jsx as jsx121 } from "react/jsx-runtime";
15155
+ import { jsx as jsx127 } from "react/jsx-runtime";
13531
15156
  function Main({ fixed, className, fluid, ...props }) {
13532
- return /* @__PURE__ */ jsx121(
15157
+ return /* @__PURE__ */ jsx127(
13533
15158
  "main",
13534
15159
  {
13535
15160
  "data-layout": fixed ? "fixed" : "auto",
@@ -13548,20 +15173,20 @@ function Main({ fixed, className, fluid, ...props }) {
13548
15173
 
13549
15174
  // src/design-system/templates/sidebar-search.tsx
13550
15175
  import { SearchIcon as SearchIcon7 } from "lucide-react";
13551
- import { jsx as jsx122, jsxs as jsxs79 } from "react/jsx-runtime";
15176
+ import { jsx as jsx128, jsxs as jsxs85 } from "react/jsx-runtime";
13552
15177
  function SidebarSearch() {
13553
15178
  const { setOpen } = useSearch();
13554
- return /* @__PURE__ */ jsx122(SidebarMenu, { children: /* @__PURE__ */ jsx122(SidebarMenuItem, { children: /* @__PURE__ */ jsxs79(
15179
+ return /* @__PURE__ */ jsx128(SidebarMenu, { children: /* @__PURE__ */ jsx128(SidebarMenuItem, { children: /* @__PURE__ */ jsxs85(
13555
15180
  SidebarMenuButton,
13556
15181
  {
13557
15182
  onClick: () => setOpen(true),
13558
15183
  tooltip: "Search (\u2318K)",
13559
15184
  className: "bg-sidebar-accent/50 hover:bg-sidebar-accent border border-sidebar-border/60 text-muted-foreground hover:text-foreground",
13560
15185
  children: [
13561
- /* @__PURE__ */ jsx122(SearchIcon7, { className: "size-4 shrink-0" }),
13562
- /* @__PURE__ */ jsx122("span", { className: "flex-1 text-left text-xs font-normal group-data-[collapsible=icon]:hidden", children: "Search..." }),
13563
- /* @__PURE__ */ jsxs79("kbd", { className: "pointer-events-none hidden h-4 select-none items-center gap-0.5 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 group-data-[collapsible=icon]:hidden sm:flex", children: [
13564
- /* @__PURE__ */ jsx122("span", { className: "text-[10px]", children: "\u2318" }),
15186
+ /* @__PURE__ */ jsx128(SearchIcon7, { className: "size-4 shrink-0" }),
15187
+ /* @__PURE__ */ jsx128("span", { className: "flex-1 text-left text-xs font-normal group-data-[collapsible=icon]:hidden", children: "Search..." }),
15188
+ /* @__PURE__ */ jsxs85("kbd", { className: "pointer-events-none hidden h-4 select-none items-center gap-0.5 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 group-data-[collapsible=icon]:hidden sm:flex", children: [
15189
+ /* @__PURE__ */ jsx128("span", { className: "text-[10px]", children: "\u2318" }),
13565
15190
  "K"
13566
15191
  ] })
13567
15192
  ]
@@ -13572,7 +15197,7 @@ function SidebarSearch() {
13572
15197
  // src/design-system/templates/top-nav.tsx
13573
15198
  import Link7 from "next/link";
13574
15199
  import { Menu as Menu2 } from "lucide-react";
13575
- import { Fragment as Fragment7, jsx as jsx123, jsxs as jsxs80 } from "react/jsx-runtime";
15200
+ import { Fragment as Fragment8, jsx as jsx129, jsxs as jsxs86 } from "react/jsx-runtime";
13576
15201
  function TopNav({ className, links, ...props }) {
13577
15202
  const renderLink = ({
13578
15203
  title,
@@ -13583,7 +15208,7 @@ function TopNav({ className, links, ...props }) {
13583
15208
  }) => {
13584
15209
  const className2 = `text-sm font-medium transition-colors hover:text-primary ${isActive ? "" : "text-muted-foreground"}`;
13585
15210
  if (onClick) {
13586
- return /* @__PURE__ */ jsx123(
15211
+ return /* @__PURE__ */ jsx129(
13587
15212
  "button",
13588
15213
  {
13589
15214
  type: "button",
@@ -13595,7 +15220,7 @@ function TopNav({ className, links, ...props }) {
13595
15220
  title
13596
15221
  );
13597
15222
  }
13598
- return /* @__PURE__ */ jsx123(
15223
+ return /* @__PURE__ */ jsx129(
13599
15224
  Link7,
13600
15225
  {
13601
15226
  href,
@@ -13606,9 +15231,9 @@ function TopNav({ className, links, ...props }) {
13606
15231
  title
13607
15232
  );
13608
15233
  };
13609
- return /* @__PURE__ */ jsxs80(Fragment7, { children: [
13610
- /* @__PURE__ */ jsxs80(DropdownMenu, { modal: false, children: [
13611
- /* @__PURE__ */ jsx123(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs80(
15234
+ return /* @__PURE__ */ jsxs86(Fragment8, { children: [
15235
+ /* @__PURE__ */ jsxs86(DropdownMenu, { modal: false, children: [
15236
+ /* @__PURE__ */ jsx129(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs86(
13612
15237
  Button,
13613
15238
  {
13614
15239
  size: "icon",
@@ -13618,18 +15243,18 @@ function TopNav({ className, links, ...props }) {
13618
15243
  className
13619
15244
  ),
13620
15245
  children: [
13621
- /* @__PURE__ */ jsx123(Menu2, {}),
13622
- /* @__PURE__ */ jsx123("span", { className: "sr-only", children: "Toggle navigation menu" })
15246
+ /* @__PURE__ */ jsx129(Menu2, {}),
15247
+ /* @__PURE__ */ jsx129("span", { className: "sr-only", children: "Toggle navigation menu" })
13623
15248
  ]
13624
15249
  }
13625
15250
  ) }),
13626
- /* @__PURE__ */ jsx123(DropdownMenuContent, { side: "bottom", align: "start", children: links.map((link) => /* @__PURE__ */ jsx123(
15251
+ /* @__PURE__ */ jsx129(DropdownMenuContent, { side: "bottom", align: "start", children: links.map((link) => /* @__PURE__ */ jsx129(
13627
15252
  DropdownMenuItem,
13628
15253
  {
13629
15254
  disabled: link.disabled,
13630
15255
  onClick: link.onClick,
13631
15256
  asChild: !link.onClick,
13632
- children: link.onClick ? /* @__PURE__ */ jsx123("span", { className: !link.isActive ? "text-muted-foreground" : "", children: link.title }) : /* @__PURE__ */ jsx123(
15257
+ children: link.onClick ? /* @__PURE__ */ jsx129("span", { className: !link.isActive ? "text-muted-foreground" : "", children: link.title }) : /* @__PURE__ */ jsx129(
13633
15258
  Link7,
13634
15259
  {
13635
15260
  href: link.href,
@@ -13642,7 +15267,7 @@ function TopNav({ className, links, ...props }) {
13642
15267
  link.title
13643
15268
  )) })
13644
15269
  ] }),
13645
- /* @__PURE__ */ jsx123(
15270
+ /* @__PURE__ */ jsx129(
13646
15271
  "nav",
13647
15272
  {
13648
15273
  className: cn(
@@ -13824,7 +15449,10 @@ export {
13824
15449
  FieldSeparator,
13825
15450
  FieldSet,
13826
15451
  FieldTitle,
15452
+ FileCardItem,
15453
+ FileUploadForm,
13827
15454
  FilterBar,
15455
+ FolderTreeItem,
13828
15456
  Form,
13829
15457
  FormControl,
13830
15458
  FormDescription,
@@ -13977,6 +15605,7 @@ export {
13977
15605
  Spinner,
13978
15606
  Stats01,
13979
15607
  StatusBadge,
15608
+ StorageStatCard,
13980
15609
  Switch,
13981
15610
  Table,
13982
15611
  TableBody,
@@ -14004,12 +15633,15 @@ export {
14004
15633
  TooltipTrigger,
14005
15634
  TopNav,
14006
15635
  TypingIndicator,
15636
+ UserFileCardsView,
14007
15637
  WizardTemplate,
14008
15638
  WorkspaceTemplate,
14009
15639
  badgeVariants,
14010
15640
  buttonGroupVariants,
14011
15641
  buttonVariants,
14012
15642
  downloadQrCode,
15643
+ formatBytes,
15644
+ getFileCategoryTheme,
14013
15645
  navigationMenuTriggerStyle,
14014
15646
  sidebarData2 as sidebarData,
14015
15647
  statusBadgeVariants,