@amogads/ui 1.1.4 → 1.1.6

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.js CHANGED
@@ -198,7 +198,10 @@ __export(design_system_exports, {
198
198
  FieldSeparator: () => FieldSeparator,
199
199
  FieldSet: () => FieldSet,
200
200
  FieldTitle: () => FieldTitle,
201
+ FileCardItem: () => FileCardItem,
202
+ FileUploadForm: () => FileUploadForm,
201
203
  FilterBar: () => FilterBar,
204
+ FolderTreeItem: () => FolderTreeItem,
202
205
  Form: () => Form,
203
206
  FormControl: () => FormControl,
204
207
  FormDescription: () => FormDescription,
@@ -351,6 +354,7 @@ __export(design_system_exports, {
351
354
  Spinner: () => Spinner,
352
355
  Stats01: () => Stats01,
353
356
  StatusBadge: () => StatusBadge,
357
+ StorageStatCard: () => StorageStatCard,
354
358
  Switch: () => Switch,
355
359
  Table: () => Table,
356
360
  TableBody: () => TableBody,
@@ -378,12 +382,16 @@ __export(design_system_exports, {
378
382
  TooltipTrigger: () => TooltipTrigger,
379
383
  TopNav: () => TopNav,
380
384
  TypingIndicator: () => TypingIndicator,
385
+ UserFileCardsView: () => UserFileCardsView,
381
386
  WizardTemplate: () => WizardTemplate,
382
387
  WorkspaceTemplate: () => WorkspaceTemplate,
383
388
  badgeVariants: () => badgeVariants,
384
389
  buttonGroupVariants: () => buttonGroupVariants,
385
390
  buttonVariants: () => buttonVariants,
386
391
  downloadQrCode: () => downloadQrCode,
392
+ formatBytes: () => formatBytes,
393
+ formatTimeAgo: () => formatTimeAgo,
394
+ getFileCategoryTheme: () => getFileCategoryTheme,
387
395
  navigationMenuTriggerStyle: () => navigationMenuTriggerStyle,
388
396
  sidebarData: () => sidebarData2,
389
397
  statusBadgeVariants: () => statusBadgeVariants,
@@ -11382,8 +11390,1262 @@ function AiChatHeader({
11382
11390
  );
11383
11391
  }
11384
11392
 
11393
+ // src/design-system/components/files/file-card-item.tsx
11394
+ var import_lucide_react48 = require("lucide-react");
11395
+ var import_jsx_runtime94 = require("react/jsx-runtime");
11396
+ function formatBytes(bytes, decimals = 1) {
11397
+ if (!bytes || bytes === 0) return "0 B";
11398
+ const k = 1024;
11399
+ const dm = decimals < 0 ? 0 : decimals;
11400
+ const sizes = ["B", "KB", "MB", "GB", "TB"];
11401
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
11402
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
11403
+ }
11404
+ function getFileCategoryTheme(category) {
11405
+ const cat = (category || "").toLowerCase();
11406
+ if (cat.includes("pdf")) {
11407
+ return {
11408
+ name: "Pdf",
11409
+ icon: import_lucide_react48.FileText,
11410
+ badgeColor: "bg-red-500/10 text-red-600 dark:text-red-400 border-red-200/50",
11411
+ iconColor: "text-red-500",
11412
+ bgColor: "bg-red-50 dark:bg-red-950/30"
11413
+ };
11414
+ }
11415
+ if (cat.includes("doc") || cat.includes("word") || cat.includes("txt")) {
11416
+ return {
11417
+ name: "Doc",
11418
+ icon: import_lucide_react48.FileText,
11419
+ badgeColor: "bg-blue-500/10 text-blue-600 dark:text-blue-400 border-blue-200/50",
11420
+ iconColor: "text-blue-500",
11421
+ bgColor: "bg-blue-50 dark:bg-blue-950/30"
11422
+ };
11423
+ }
11424
+ if (cat.includes("xls") || cat.includes("csv") || cat.includes("sheet")) {
11425
+ return {
11426
+ name: "Spreadsheet",
11427
+ icon: import_lucide_react48.FileSpreadsheet,
11428
+ badgeColor: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border-emerald-200/50",
11429
+ iconColor: "text-emerald-500",
11430
+ bgColor: "bg-emerald-50 dark:bg-emerald-950/30"
11431
+ };
11432
+ }
11433
+ if (cat.includes("image") || cat.includes("img") || cat.includes("png") || cat.includes("jpg")) {
11434
+ return {
11435
+ name: "Images",
11436
+ icon: import_lucide_react48.Image,
11437
+ badgeColor: "bg-amber-500/10 text-amber-600 dark:text-amber-400 border-amber-200/50",
11438
+ iconColor: "text-amber-500",
11439
+ bgColor: "bg-amber-50 dark:bg-amber-950/30"
11440
+ };
11441
+ }
11442
+ if (cat.includes("video") || cat.includes("mp4") || cat.includes("mov")) {
11443
+ return {
11444
+ name: "Videos",
11445
+ icon: import_lucide_react48.Film,
11446
+ badgeColor: "bg-purple-500/10 text-purple-600 dark:text-purple-400 border-purple-200/50",
11447
+ iconColor: "text-purple-500",
11448
+ bgColor: "bg-purple-50 dark:bg-purple-950/30"
11449
+ };
11450
+ }
11451
+ if (cat.includes("zip") || cat.includes("rar") || cat.includes("tar")) {
11452
+ return {
11453
+ name: "Archives",
11454
+ icon: import_lucide_react48.Archive,
11455
+ badgeColor: "bg-orange-500/10 text-orange-600 dark:text-orange-400 border-orange-200/50",
11456
+ iconColor: "text-orange-500",
11457
+ bgColor: "bg-orange-50 dark:bg-orange-950/30"
11458
+ };
11459
+ }
11460
+ return {
11461
+ name: "Other",
11462
+ icon: import_lucide_react48.File,
11463
+ badgeColor: "bg-muted text-muted-foreground border-border/80",
11464
+ iconColor: "text-muted-foreground",
11465
+ bgColor: "bg-muted/40"
11466
+ };
11467
+ }
11468
+ function formatTimeAgo(dateString) {
11469
+ if (!dateString) return "recently";
11470
+ try {
11471
+ const d = new Date(dateString);
11472
+ const diff = (Date.now() - d.getTime()) / 1e3;
11473
+ if (diff < 60) return "just now";
11474
+ if (diff < 3600) return `${Math.floor(diff / 60)} mins ago`;
11475
+ if (diff < 86400) {
11476
+ const hours = Math.floor(diff / 3600);
11477
+ return `${hours} hour${hours > 1 ? "s" : ""} ago`;
11478
+ }
11479
+ const days = Math.floor(diff / 86400);
11480
+ return `${days} day${days > 1 ? "s" : ""} ago`;
11481
+ } catch {
11482
+ return "recently";
11483
+ }
11484
+ }
11485
+ function FileCardItem({
11486
+ file,
11487
+ viewMode = "grid",
11488
+ isSelected = false,
11489
+ onSelect,
11490
+ onPreview,
11491
+ onDownload,
11492
+ onDelete,
11493
+ onCopyLink,
11494
+ onRename,
11495
+ onShare,
11496
+ className
11497
+ }) {
11498
+ const theme = getFileCategoryTheme(file.category);
11499
+ const isImage = theme.name === "Images" || file.fileName.match(/\.(jpg|jpeg|png|webp|gif|svg)$/i) || file.fileUrl && file.fileUrl.startsWith("http") && !file.fileUrl.endsWith(".pdf");
11500
+ if (viewMode === "table") {
11501
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11502
+ "tr",
11503
+ {
11504
+ className: cn(
11505
+ "group border-b border-border/60 transition-colors hover:bg-muted/40 text-xs",
11506
+ isSelected && "bg-primary/5",
11507
+ className
11508
+ ),
11509
+ children: [
11510
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("td", { className: "py-2.5 px-3", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center gap-2.5 min-w-0", children: [
11511
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11512
+ "div",
11513
+ {
11514
+ className: cn(
11515
+ "flex h-7 w-7 items-center justify-center rounded-lg shrink-0",
11516
+ theme.bgColor,
11517
+ theme.iconColor
11518
+ ),
11519
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(theme.icon, { className: "h-3.5 w-3.5" })
11520
+ }
11521
+ ),
11522
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "font-semibold text-foreground truncate max-w-[200px]", children: file.fileName })
11523
+ ] }) }),
11524
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("td", { className: "py-2.5 px-3 text-muted-foreground truncate max-w-[140px]", children: file.folderPath || file.section || "General" }),
11525
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("td", { className: "py-2.5 px-3 text-muted-foreground font-mono", children: formatBytes(file.fileSize) }),
11526
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("td", { className: "py-2.5 px-3 text-muted-foreground", children: formatTimeAgo(file.updatedAt) }),
11527
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("td", { className: "py-2.5 px-3 text-right", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-end gap-1", children: [
11528
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11529
+ Button,
11530
+ {
11531
+ size: "sm",
11532
+ variant: "ghost",
11533
+ onClick: () => onPreview?.(file),
11534
+ className: "h-7 px-2.5 rounded-lg bg-indigo-500/10 text-indigo-600 dark:text-indigo-400 hover:bg-indigo-500/20 text-xs font-semibold gap-1.5",
11535
+ children: [
11536
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Eye, { className: "h-3.5 w-3.5" }),
11537
+ " Preview"
11538
+ ]
11539
+ }
11540
+ ),
11541
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11542
+ Button,
11543
+ {
11544
+ size: "icon",
11545
+ variant: "ghost",
11546
+ onClick: () => onDownload?.(file),
11547
+ className: "h-7 w-7 rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground",
11548
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Download, { className: "h-3.5 w-3.5" })
11549
+ }
11550
+ ),
11551
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenu, { children: [
11552
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11553
+ Button,
11554
+ {
11555
+ size: "icon",
11556
+ variant: "ghost",
11557
+ className: "h-7 w-7 rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground",
11558
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.MoreHorizontal, { className: "h-3.5 w-3.5" })
11559
+ }
11560
+ ) }),
11561
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuContent, { align: "end", className: "w-40 rounded-xl p-1 shadow-lg", children: [
11562
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onPreview?.(file), className: "gap-2 text-xs", children: [
11563
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Eye, { className: "h-3.5 w-3.5" }),
11564
+ " Preview"
11565
+ ] }),
11566
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onDownload?.(file), className: "gap-2 text-xs", children: [
11567
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Download, { className: "h-3.5 w-3.5" }),
11568
+ " Download"
11569
+ ] }),
11570
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onCopyLink?.(file), className: "gap-2 text-xs", children: [
11571
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Copy, { className: "h-3.5 w-3.5" }),
11572
+ " Copy Link"
11573
+ ] }),
11574
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(DropdownMenuSeparator, {}),
11575
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11576
+ DropdownMenuItem,
11577
+ {
11578
+ onClick: () => onDelete?.(file),
11579
+ className: "gap-2 text-xs text-destructive focus:text-destructive",
11580
+ children: [
11581
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Trash2, { className: "h-3.5 w-3.5" }),
11582
+ " Delete"
11583
+ ]
11584
+ }
11585
+ )
11586
+ ] })
11587
+ ] })
11588
+ ] }) })
11589
+ ]
11590
+ }
11591
+ );
11592
+ }
11593
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11594
+ "div",
11595
+ {
11596
+ className: cn(
11597
+ "group relative flex flex-col justify-between rounded-2xl border border-border/80 bg-card p-2.5 shadow-2xs hover:shadow-md transition-all hover:border-indigo-300 dark:hover:border-indigo-700 select-none",
11598
+ isSelected && "ring-2 ring-indigo-500 bg-indigo-500/5",
11599
+ className
11600
+ ),
11601
+ children: [
11602
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { children: [
11603
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "relative w-full aspect-[16/10] rounded-xl overflow-hidden bg-muted/60 mb-2.5 flex items-center justify-center", children: isImage && file.fileUrl ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11604
+ "img",
11605
+ {
11606
+ src: file.fileUrl,
11607
+ alt: file.fileName,
11608
+ className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105",
11609
+ loading: "lazy"
11610
+ }
11611
+ ) : /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11612
+ "div",
11613
+ {
11614
+ className: cn(
11615
+ "flex flex-col items-center justify-center gap-1.5 w-full h-full p-4",
11616
+ theme.bgColor
11617
+ ),
11618
+ children: [
11619
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(theme.icon, { className: cn("h-10 w-10", theme.iconColor) }),
11620
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "text-[11px] font-bold uppercase tracking-wider text-muted-foreground", children: theme.name })
11621
+ ]
11622
+ }
11623
+ ) }),
11624
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "px-1 min-w-0", children: [
11625
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11626
+ "h3",
11627
+ {
11628
+ className: "text-sm font-bold text-foreground truncate tracking-tight",
11629
+ title: file.fileName,
11630
+ children: file.fileName
11631
+ }
11632
+ ),
11633
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("p", { className: "text-xs text-muted-foreground truncate mt-0.5 flex items-center gap-1", children: [
11634
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { children: file.folderPath || `Chat/${file.senderEmail || "amanmicropay@gmail.com"}` }),
11635
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { children: "\xB7" }),
11636
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { children: formatTimeAgo(file.updatedAt) })
11637
+ ] })
11638
+ ] })
11639
+ ] }),
11640
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center gap-1.5 mt-2.5 pt-2 border-t border-border/40 px-1", children: [
11641
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11642
+ Button,
11643
+ {
11644
+ size: "sm",
11645
+ variant: "ghost",
11646
+ onClick: () => onPreview?.(file),
11647
+ className: "h-7 px-2.5 rounded-lg bg-indigo-500/10 text-indigo-600 dark:text-indigo-400 hover:bg-indigo-500/20 text-xs font-semibold gap-1.5 flex-1 justify-center cursor-pointer",
11648
+ children: [
11649
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Eye, { className: "h-3.5 w-3.5" }),
11650
+ " Preview"
11651
+ ]
11652
+ }
11653
+ ),
11654
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11655
+ Button,
11656
+ {
11657
+ size: "icon",
11658
+ variant: "ghost",
11659
+ onClick: () => onDownload?.(file),
11660
+ className: "h-7 w-7 rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground cursor-pointer",
11661
+ title: "Download",
11662
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Download, { className: "h-3.5 w-3.5" })
11663
+ }
11664
+ ),
11665
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenu, { children: [
11666
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
11667
+ Button,
11668
+ {
11669
+ size: "icon",
11670
+ variant: "ghost",
11671
+ className: "h-7 w-7 rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground cursor-pointer",
11672
+ title: "More actions",
11673
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.MoreHorizontal, { className: "h-3.5 w-3.5" })
11674
+ }
11675
+ ) }),
11676
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuContent, { align: "end", className: "w-40 rounded-xl p-1 shadow-lg", children: [
11677
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onPreview?.(file), className: "gap-2 text-xs", children: [
11678
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Eye, { className: "h-3.5 w-3.5" }),
11679
+ " Preview"
11680
+ ] }),
11681
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onDownload?.(file), className: "gap-2 text-xs", children: [
11682
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Download, { className: "h-3.5 w-3.5" }),
11683
+ " Download"
11684
+ ] }),
11685
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onCopyLink?.(file), className: "gap-2 text-xs", children: [
11686
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Copy, { className: "h-3.5 w-3.5" }),
11687
+ " Copy Link"
11688
+ ] }),
11689
+ onShare && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onShare?.(file), className: "gap-2 text-xs", children: [
11690
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Share2, { className: "h-3.5 w-3.5" }),
11691
+ " Share"
11692
+ ] }),
11693
+ onRename && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(DropdownMenuItem, { onClick: () => onRename?.(file), className: "gap-2 text-xs", children: [
11694
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Edit2, { className: "h-3.5 w-3.5" }),
11695
+ " Rename"
11696
+ ] }),
11697
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(DropdownMenuSeparator, {}),
11698
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
11699
+ DropdownMenuItem,
11700
+ {
11701
+ onClick: () => onDelete?.(file),
11702
+ className: "gap-2 text-xs text-destructive focus:text-destructive",
11703
+ children: [
11704
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react48.Trash2, { className: "h-3.5 w-3.5" }),
11705
+ " Delete"
11706
+ ]
11707
+ }
11708
+ )
11709
+ ] })
11710
+ ] })
11711
+ ] })
11712
+ ]
11713
+ }
11714
+ );
11715
+ }
11716
+
11717
+ // src/design-system/components/files/folder-tree-item.tsx
11718
+ var import_lucide_react49 = require("lucide-react");
11719
+ var import_jsx_runtime95 = require("react/jsx-runtime");
11720
+ function FolderTreeItem({
11721
+ folder,
11722
+ isFolderActive,
11723
+ isExpanded,
11724
+ onToggleExpand,
11725
+ onSelectFolder,
11726
+ className
11727
+ }) {
11728
+ const isLevel0 = folder.level === 0;
11729
+ const isLevel1 = folder.level === 1;
11730
+ const isLevel2 = folder.level === 2;
11731
+ const hasChildren = isLevel0 || isLevel1;
11732
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
11733
+ "div",
11734
+ {
11735
+ id: `folder-card-${folder.id}`,
11736
+ onClick: () => {
11737
+ if (hasChildren) {
11738
+ onToggleExpand(folder.id);
11739
+ } else {
11740
+ onSelectFolder(folder);
11741
+ }
11742
+ },
11743
+ className: cn(
11744
+ "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",
11745
+ isLevel0 && "font-bold bg-muted/20 border-border/50 my-1",
11746
+ isLevel1 && "ml-3 border-border/40 my-0.5",
11747
+ isLevel2 && "ml-6 border-transparent hover:bg-muted/40 my-0.5",
11748
+ 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",
11749
+ className
11750
+ ),
11751
+ children: [
11752
+ isFolderActive && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "absolute top-1 bottom-1 left-0 w-1 rounded-l-full bg-indigo-600" }),
11753
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-1.5 min-w-0 flex-1", children: [
11754
+ hasChildren && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
11755
+ "button",
11756
+ {
11757
+ type: "button",
11758
+ onClick: (e) => onToggleExpand(folder.id, e),
11759
+ className: "flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted hover:text-foreground cursor-pointer",
11760
+ children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react49.ChevronDown, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react49.ChevronRight, { className: "h-3 w-3" })
11761
+ }
11762
+ ),
11763
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
11764
+ "div",
11765
+ {
11766
+ className: cn(
11767
+ "flex shrink-0 items-center justify-center rounded-lg text-indigo-600 dark:text-indigo-400 transition-colors",
11768
+ 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"
11769
+ ),
11770
+ children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
11771
+ import_lucide_react49.FolderOpen,
11772
+ {
11773
+ className: isLevel0 ? "h-3.5 w-3.5" : isLevel1 ? "h-3 w-3" : "h-3 w-3 text-indigo-500"
11774
+ }
11775
+ ) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
11776
+ import_lucide_react49.Folder,
11777
+ {
11778
+ className: isLevel0 ? "h-3.5 w-3.5" : isLevel1 ? "h-3 w-3" : "h-3 w-3 text-indigo-500"
11779
+ }
11780
+ )
11781
+ }
11782
+ ),
11783
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
11784
+ "span",
11785
+ {
11786
+ className: cn(
11787
+ "truncate text-foreground",
11788
+ isLevel0 ? "text-xs font-bold" : isLevel1 ? "text-[11px] font-semibold" : "text-[11px] font-medium",
11789
+ isFolderActive && "text-indigo-600 dark:text-indigo-400"
11790
+ ),
11791
+ children: folder.name
11792
+ }
11793
+ )
11794
+ ] }),
11795
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
11796
+ Badge,
11797
+ {
11798
+ variant: isFolderActive ? "default" : "secondary",
11799
+ className: cn(
11800
+ "text-[10px] px-1.5 py-0 h-4 min-w-4 flex items-center justify-center font-mono",
11801
+ isFolderActive ? "bg-indigo-600 text-white" : "bg-muted text-muted-foreground group-hover:bg-indigo-500/10 group-hover:text-indigo-600"
11802
+ ),
11803
+ children: folder.fileCount
11804
+ }
11805
+ )
11806
+ ]
11807
+ }
11808
+ );
11809
+ }
11810
+
11811
+ // src/design-system/components/files/storage-stat-card.tsx
11812
+ var import_lucide_react50 = require("lucide-react");
11813
+ var import_jsx_runtime96 = require("react/jsx-runtime");
11814
+ function StorageStatCard({
11815
+ totalFiles,
11816
+ totalSizeBytes = 0,
11817
+ maxStorageBytes = 10 * 1024 * 1024 * 1024,
11818
+ // 10 GB default
11819
+ stats,
11820
+ onViewAllFiles,
11821
+ onUploadClick,
11822
+ className
11823
+ }) {
11824
+ const percentUsed = Math.min(
11825
+ 100,
11826
+ Math.max(1, Math.round(totalSizeBytes / (maxStorageBytes || 1) * 100))
11827
+ );
11828
+ const defaultStats = stats || [
11829
+ {
11830
+ label: "Documents & PDFs",
11831
+ count: Math.round(totalFiles * 0.4),
11832
+ sizeBytes: Math.round(totalSizeBytes * 0.45),
11833
+ colorClass: "bg-red-500",
11834
+ icon: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react50.FileText, { className: "h-4 w-4 text-red-500" })
11835
+ },
11836
+ {
11837
+ label: "Images & Photos",
11838
+ count: Math.round(totalFiles * 0.35),
11839
+ sizeBytes: Math.round(totalSizeBytes * 0.3),
11840
+ colorClass: "bg-amber-500",
11841
+ icon: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react50.Image, { className: "h-4 w-4 text-amber-500" })
11842
+ },
11843
+ {
11844
+ label: "Media & Videos",
11845
+ count: Math.round(totalFiles * 0.15),
11846
+ sizeBytes: Math.round(totalSizeBytes * 0.2),
11847
+ colorClass: "bg-purple-500",
11848
+ icon: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react50.Film, { className: "h-4 w-4 text-purple-500" })
11849
+ },
11850
+ {
11851
+ label: "Other & Archives",
11852
+ count: Math.max(0, totalFiles - Math.round(totalFiles * 0.9)),
11853
+ sizeBytes: Math.round(totalSizeBytes * 0.05),
11854
+ colorClass: "bg-indigo-500",
11855
+ icon: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react50.Database, { className: "h-4 w-4 text-indigo-500" })
11856
+ }
11857
+ ];
11858
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
11859
+ "div",
11860
+ {
11861
+ className: cn(
11862
+ "flex flex-col gap-4 rounded-2xl border border-border/80 bg-card p-4 shadow-2xs select-none",
11863
+ className
11864
+ ),
11865
+ children: [
11866
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center justify-between", children: [
11867
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-2.5", children: [
11868
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("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__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react50.HardDrive, { className: "h-5 w-5" }) }),
11869
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { children: [
11870
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("h3", { className: "text-xs font-bold text-foreground", children: "Storage Overview" }),
11871
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("p", { className: "text-[11px] text-muted-foreground", children: [
11872
+ totalFiles,
11873
+ " items stored in workspace"
11874
+ ] })
11875
+ ] })
11876
+ ] }),
11877
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "text-right", children: [
11878
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { className: "text-xs font-bold text-foreground font-mono", children: formatBytes(totalSizeBytes) }),
11879
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("p", { className: "text-[10px] text-muted-foreground font-mono", children: [
11880
+ "of ",
11881
+ formatBytes(maxStorageBytes)
11882
+ ] })
11883
+ ] })
11884
+ ] }),
11885
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "space-y-1.5", children: [
11886
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex h-2.5 w-full overflow-hidden rounded-full bg-muted/60 p-0.5 border border-border/40", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
11887
+ "div",
11888
+ {
11889
+ className: "h-full rounded-full bg-linear-to-r from-indigo-500 via-purple-500 to-amber-500 transition-all duration-500",
11890
+ style: { width: `${percentUsed}%` }
11891
+ }
11892
+ ) }),
11893
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex justify-between text-[10px] text-muted-foreground", children: [
11894
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("span", { children: [
11895
+ percentUsed,
11896
+ "% capacity utilized"
11897
+ ] }),
11898
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("span", { children: [
11899
+ formatBytes(Math.max(0, maxStorageBytes - totalSizeBytes)),
11900
+ " available"
11901
+ ] })
11902
+ ] })
11903
+ ] }),
11904
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "grid grid-cols-2 gap-2 pt-1", children: defaultStats.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
11905
+ "div",
11906
+ {
11907
+ className: "flex items-center gap-2 rounded-xl border border-border/40 bg-muted/20 p-2",
11908
+ children: [
11909
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "shrink-0", children: item.icon }),
11910
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "min-w-0 flex-1", children: [
11911
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { className: "truncate text-[11px] font-semibold text-foreground", children: item.label }),
11912
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center justify-between text-[10px] text-muted-foreground", children: [
11913
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("span", { children: [
11914
+ item.count,
11915
+ " files"
11916
+ ] }),
11917
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "font-mono", children: formatBytes(item.sizeBytes) })
11918
+ ] })
11919
+ ] })
11920
+ ]
11921
+ },
11922
+ idx
11923
+ )) }),
11924
+ (onViewAllFiles || onUploadClick) && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center justify-between pt-2 border-t border-border/50", children: [
11925
+ onViewAllFiles && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
11926
+ "button",
11927
+ {
11928
+ type: "button",
11929
+ onClick: onViewAllFiles,
11930
+ className: "text-xs font-semibold text-indigo-600 dark:text-indigo-400 hover:underline flex items-center gap-1 cursor-pointer",
11931
+ children: [
11932
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { children: "Explore All Files" }),
11933
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react50.ArrowUpRight, { className: "h-3.5 w-3.5" })
11934
+ ]
11935
+ }
11936
+ ),
11937
+ onUploadClick && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
11938
+ "button",
11939
+ {
11940
+ type: "button",
11941
+ onClick: onUploadClick,
11942
+ className: "text-xs font-semibold bg-indigo-600 text-white hover:bg-indigo-700 px-3 py-1 rounded-lg transition-colors cursor-pointer",
11943
+ children: "Upload New"
11944
+ }
11945
+ )
11946
+ ] })
11947
+ ]
11948
+ }
11949
+ );
11950
+ }
11951
+
11952
+ // src/design-system/components/files/user-file-cards-view.tsx
11953
+ var import_react17 = require("react");
11954
+ var import_lucide_react51 = require("lucide-react");
11955
+ var import_jsx_runtime97 = require("react/jsx-runtime");
11956
+ function UserFileCardsView({
11957
+ folder,
11958
+ files,
11959
+ selectedFileId,
11960
+ onSelectFileForPreview,
11961
+ onDownloadFile,
11962
+ onDeleteFile,
11963
+ onCopyLink,
11964
+ onRenameFile,
11965
+ onShareFile,
11966
+ onUploadClick,
11967
+ onBack,
11968
+ onClose,
11969
+ className
11970
+ }) {
11971
+ const [searchQuery, setSearchQuery] = (0, import_react17.useState)("");
11972
+ const [selectedCategory, setSelectedCategory] = (0, import_react17.useState)("all");
11973
+ const [sortBy, setSortBy] = (0, import_react17.useState)("date");
11974
+ const [sortOrder, setSortOrder] = (0, import_react17.useState)("desc");
11975
+ const [viewMode, setViewMode] = (0, import_react17.useState)("grid");
11976
+ const [currentPage, setCurrentPage] = (0, import_react17.useState)(1);
11977
+ const itemsPerPage = viewMode === "grid" ? 12 : 20;
11978
+ const [selectedIds, setSelectedIds] = (0, import_react17.useState)(/* @__PURE__ */ new Set());
11979
+ const filteredFiles = (0, import_react17.useMemo)(() => {
11980
+ return files.filter((f) => {
11981
+ const matchCategory = selectedCategory === "all" || f.category.toLowerCase() === selectedCategory.toLowerCase() || selectedCategory === "Xls" && (f.category === "Csv" || f.category === "Xls");
11982
+ const matchSearch = !searchQuery.trim() || f.fileName.toLowerCase().includes(searchQuery.toLowerCase()) || f.folderPath && f.folderPath.toLowerCase().includes(searchQuery.toLowerCase());
11983
+ return matchCategory && matchSearch;
11984
+ });
11985
+ }, [files, selectedCategory, searchQuery]);
11986
+ const sortedFiles = (0, import_react17.useMemo)(() => {
11987
+ return [...filteredFiles].sort((a, b) => {
11988
+ let compare = 0;
11989
+ if (sortBy === "date") {
11990
+ const timeA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
11991
+ const timeB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;
11992
+ compare = timeB - timeA;
11993
+ } else if (sortBy === "name") {
11994
+ compare = a.fileName.localeCompare(b.fileName);
11995
+ } else if (sortBy === "size") {
11996
+ compare = (b.fileSize || 0) - (a.fileSize || 0);
11997
+ }
11998
+ return sortOrder === "asc" ? -compare : compare;
11999
+ });
12000
+ }, [filteredFiles, sortBy, sortOrder]);
12001
+ const totalPages = Math.ceil(sortedFiles.length / itemsPerPage) || 1;
12002
+ const paginatedFiles = (0, import_react17.useMemo)(() => {
12003
+ const start = (currentPage - 1) * itemsPerPage;
12004
+ return sortedFiles.slice(start, start + itemsPerPage);
12005
+ }, [sortedFiles, currentPage, itemsPerPage]);
12006
+ const totalBytes = (0, import_react17.useMemo)(() => {
12007
+ return files.reduce((acc, curr) => acc + (curr.fileSize || 0), 0);
12008
+ }, [files]);
12009
+ const handleBulkDownload = () => {
12010
+ const toDownload = files.filter((f) => selectedIds.has(f.id));
12011
+ toDownload.forEach((f) => onDownloadFile?.(f));
12012
+ };
12013
+ const handleBulkDelete = () => {
12014
+ const toDelete = files.filter((f) => selectedIds.has(f.id));
12015
+ toDelete.forEach((f) => onDeleteFile?.(f));
12016
+ setSelectedIds(/* @__PURE__ */ new Set());
12017
+ };
12018
+ const folderDisplayName = folder?.name || "Images";
12019
+ const folderDisplayPath = folder?.path || "Chat/amanmicropay@gmail.com/Images";
12020
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12021
+ "div",
12022
+ {
12023
+ className: cn(
12024
+ "flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-background select-none",
12025
+ className
12026
+ ),
12027
+ children: [
12028
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center justify-between border-b border-border bg-background px-4 py-3 shrink-0", children: [
12029
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-3 min-w-0", children: [
12030
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12031
+ "button",
12032
+ {
12033
+ type: "button",
12034
+ onClick: onBack,
12035
+ 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",
12036
+ title: "Back",
12037
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.ArrowLeft, { className: "h-4 w-4" })
12038
+ }
12039
+ ),
12040
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("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 dark:border-indigo-900/40 shrink-0 shadow-2xs", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.FolderOpen, { className: "h-5 w-5" }) }),
12041
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "min-w-0", children: [
12042
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-2", children: [
12043
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("h2", { className: "truncate text-base font-bold text-foreground tracking-tight", children: folderDisplayName }),
12044
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "px-2 py-0.5 rounded-full bg-muted text-xs font-normal text-muted-foreground shrink-0", children: [
12045
+ filteredFiles.length,
12046
+ " files"
12047
+ ] })
12048
+ ] }),
12049
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("p", { className: "truncate text-xs text-muted-foreground mt-0.5", children: [
12050
+ "Storage folder: ",
12051
+ folderDisplayPath
12052
+ ] })
12053
+ ] })
12054
+ ] }),
12055
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-1 shrink-0", children: [
12056
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12057
+ "button",
12058
+ {
12059
+ type: "button",
12060
+ className: "p-2 rounded-lg text-amber-500 hover:bg-muted transition-colors cursor-pointer",
12061
+ title: "Notifications",
12062
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.Bell, { className: "h-4 w-4" })
12063
+ }
12064
+ ),
12065
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12066
+ "button",
12067
+ {
12068
+ type: "button",
12069
+ className: "p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer",
12070
+ title: "Flag / Report",
12071
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.Flag, { className: "h-4 w-4" })
12072
+ }
12073
+ ),
12074
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(DropdownMenu, { children: [
12075
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12076
+ "button",
12077
+ {
12078
+ type: "button",
12079
+ className: "p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer",
12080
+ title: "Options",
12081
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.MoreVertical, { className: "h-4 w-4" })
12082
+ }
12083
+ ) }),
12084
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(DropdownMenuContent, { align: "end", className: "w-44 rounded-xl p-1 shadow-lg", children: [
12085
+ onUploadClick && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(DropdownMenuItem, { onClick: onUploadClick, className: "gap-2 text-xs", children: [
12086
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.Upload, { className: "h-3.5 w-3.5" }),
12087
+ " Upload Files"
12088
+ ] }),
12089
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(DropdownMenuItem, { onClick: () => setViewMode(viewMode === "grid" ? "table" : "grid"), className: "gap-2 text-xs", children: [
12090
+ viewMode === "grid" ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.List, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.LayoutGrid, { className: "h-3.5 w-3.5" }),
12091
+ "Switch to ",
12092
+ viewMode === "grid" ? "Table" : "Card",
12093
+ " View"
12094
+ ] })
12095
+ ] })
12096
+ ] }),
12097
+ (onClose || onBack) && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12098
+ "button",
12099
+ {
12100
+ type: "button",
12101
+ onClick: onClose || onBack,
12102
+ className: "p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer",
12103
+ title: "Close",
12104
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.X, { className: "h-4 w-4" })
12105
+ }
12106
+ )
12107
+ ] })
12108
+ ] }),
12109
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex flex-wrap items-center justify-between gap-2 px-4 pt-3 pb-2 shrink-0", children: [
12110
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-2 overflow-x-auto py-0.5", children: [
12111
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12112
+ Button,
12113
+ {
12114
+ variant: "outline",
12115
+ size: "sm",
12116
+ className: "h-8 gap-1.5 text-xs font-bold text-muted-foreground rounded-xl border-border px-3 shrink-0",
12117
+ children: [
12118
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.ArrowLeftRight, { className: "h-3.5 w-3.5 text-muted-foreground" }),
12119
+ "LTR"
12120
+ ]
12121
+ }
12122
+ ),
12123
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12124
+ Button,
12125
+ {
12126
+ variant: "outline",
12127
+ size: "sm",
12128
+ className: "h-8 gap-1.5 text-xs font-bold text-muted-foreground rounded-xl border-border px-3 shrink-0",
12129
+ children: [
12130
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.Filter, { className: "h-3.5 w-3.5 text-muted-foreground" }),
12131
+ "FILTER"
12132
+ ]
12133
+ }
12134
+ ),
12135
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(DropdownMenu, { children: [
12136
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12137
+ Button,
12138
+ {
12139
+ variant: "outline",
12140
+ size: "sm",
12141
+ className: "h-8 gap-1.5 text-xs font-bold text-muted-foreground rounded-xl border-border px-3 shrink-0",
12142
+ children: [
12143
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.ArrowUpDown, { className: "h-3.5 w-3.5 text-muted-foreground" }),
12144
+ "SORT"
12145
+ ]
12146
+ }
12147
+ ) }),
12148
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(DropdownMenuContent, { align: "start", className: "w-40 rounded-xl p-1 shadow-lg", children: [
12149
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DropdownMenuItem, { onClick: () => setSortBy("date"), className: "text-xs", children: "Date Modified" }),
12150
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DropdownMenuItem, { onClick: () => setSortBy("name"), className: "text-xs", children: "File Name" }),
12151
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DropdownMenuItem, { onClick: () => setSortBy("size"), className: "text-xs", children: "File Size" })
12152
+ ] })
12153
+ ] }),
12154
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12155
+ Button,
12156
+ {
12157
+ variant: "outline",
12158
+ size: "sm",
12159
+ className: "h-8 gap-1.5 text-xs font-bold text-muted-foreground rounded-xl border-border px-3 shrink-0",
12160
+ children: [
12161
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.SlidersHorizontal, { className: "h-3.5 w-3.5 text-muted-foreground" }),
12162
+ "SHORT"
12163
+ ]
12164
+ }
12165
+ )
12166
+ ] }),
12167
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12168
+ Button,
12169
+ {
12170
+ onClick: () => setViewMode(viewMode === "grid" ? "table" : "grid"),
12171
+ size: "sm",
12172
+ className: "h-8 gap-1.5 text-xs font-bold rounded-xl bg-indigo-600 hover:bg-indigo-700 text-white shadow-xs px-3.5 shrink-0 cursor-pointer",
12173
+ children: viewMode === "grid" ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
12174
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.LayoutGrid, { className: "h-3.5 w-3.5" }),
12175
+ "VIEW: CARD"
12176
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
12177
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.List, { className: "h-3.5 w-3.5" }),
12178
+ "VIEW: TABLE"
12179
+ ] })
12180
+ }
12181
+ )
12182
+ ] }),
12183
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "px-4 pb-2 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "relative w-full", children: [
12184
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.Search, { className: "absolute left-3.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
12185
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12186
+ Input,
12187
+ {
12188
+ value: searchQuery,
12189
+ onChange: (e) => {
12190
+ setSearchQuery(e.target.value);
12191
+ setCurrentPage(1);
12192
+ },
12193
+ placeholder: "Search files by name, format, or sender...",
12194
+ className: "h-10 pl-10 pr-9 text-sm rounded-xl bg-background border-border/80 focus-visible:ring-1 focus-visible:ring-indigo-500"
12195
+ }
12196
+ ),
12197
+ searchQuery && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12198
+ "button",
12199
+ {
12200
+ type: "button",
12201
+ onClick: () => setSearchQuery(""),
12202
+ className: "absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",
12203
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.X, { className: "h-4 w-4" })
12204
+ }
12205
+ )
12206
+ ] }) }),
12207
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center justify-between px-4 py-2 text-xs text-muted-foreground font-medium shrink-0", children: [
12208
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { children: [
12209
+ filteredFiles.length,
12210
+ " files"
12211
+ ] }),
12212
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-2", children: [
12213
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { children: sortedFiles.length === 0 ? "0 of 0" : `${(currentPage - 1) * itemsPerPage + 1}\u2013${Math.min(
12214
+ currentPage * itemsPerPage,
12215
+ sortedFiles.length
12216
+ )} of ${sortedFiles.length}` }),
12217
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-0.5", children: [
12218
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12219
+ Button,
12220
+ {
12221
+ variant: "ghost",
12222
+ size: "icon",
12223
+ disabled: currentPage <= 1,
12224
+ onClick: () => setCurrentPage((p) => Math.max(1, p - 1)),
12225
+ className: "h-6 w-6 rounded-md text-muted-foreground hover:text-foreground",
12226
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.ChevronLeft, { className: "h-3.5 w-3.5" })
12227
+ }
12228
+ ),
12229
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12230
+ Button,
12231
+ {
12232
+ variant: "ghost",
12233
+ size: "icon",
12234
+ disabled: currentPage >= totalPages,
12235
+ onClick: () => setCurrentPage((p) => Math.min(totalPages, p + 1)),
12236
+ className: "h-6 w-6 rounded-md text-muted-foreground hover:text-foreground",
12237
+ children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.ChevronRight, { className: "h-3.5 w-3.5" })
12238
+ }
12239
+ )
12240
+ ] })
12241
+ ] })
12242
+ ] }),
12243
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: paginatedFiles.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex flex-col items-center justify-center h-64 text-center p-6 rounded-2xl border border-dashed border-border/80 bg-muted/5", children: [
12244
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "flex h-12 w-12 items-center justify-center rounded-2xl bg-indigo-500/10 text-indigo-600 mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.FolderOpen, { className: "h-6 w-6" }) }),
12245
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("h3", { className: "text-sm font-bold text-foreground", children: "No files found" }),
12246
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("p", { className: "text-xs text-muted-foreground max-w-xs mt-1", children: searchQuery ? `No files match your query "${searchQuery}" in this folder.` : "This folder is currently empty. Upload documents or media to get started." }),
12247
+ onUploadClick && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12248
+ Button,
12249
+ {
12250
+ size: "sm",
12251
+ onClick: onUploadClick,
12252
+ className: "mt-4 gap-1.5 text-xs font-semibold bg-indigo-600 hover:bg-indigo-700 text-white rounded-xl shadow-xs",
12253
+ children: [
12254
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react51.Upload, { className: "h-3.5 w-3.5" }),
12255
+ "Upload First File"
12256
+ ]
12257
+ }
12258
+ )
12259
+ ] }) : viewMode === "table" ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "overflow-x-auto rounded-2xl border border-border/80 bg-card shadow-2xs", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("table", { className: "w-full text-left text-xs border-collapse", children: [
12260
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("tr", { className: "border-b border-border/60 bg-muted/20 text-muted-foreground font-semibold", children: [
12261
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("th", { className: "py-2.5 px-3", children: "File Name" }),
12262
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("th", { className: "py-2.5 px-3", children: "Storage Space" }),
12263
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("th", { className: "py-2.5 px-3", children: "Size" }),
12264
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("th", { className: "py-2.5 px-3", children: "Updated" }),
12265
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("th", { className: "py-2.5 px-3 text-right", children: "Actions" })
12266
+ ] }) }),
12267
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("tbody", { children: paginatedFiles.map((file) => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12268
+ FileCardItem,
12269
+ {
12270
+ file,
12271
+ viewMode: "table",
12272
+ isSelected: selectedIds.has(file.id),
12273
+ onSelect: () => {
12274
+ setSelectedIds((prev) => {
12275
+ const next = new Set(prev);
12276
+ if (next.has(file.id)) next.delete(file.id);
12277
+ else next.add(file.id);
12278
+ return next;
12279
+ });
12280
+ },
12281
+ onPreview: onSelectFileForPreview,
12282
+ onDownload: onDownloadFile,
12283
+ onDelete: onDeleteFile,
12284
+ onCopyLink,
12285
+ onRename: onRenameFile,
12286
+ onShare: onShareFile
12287
+ },
12288
+ file.id
12289
+ )) })
12290
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", children: paginatedFiles.map((file) => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12291
+ FileCardItem,
12292
+ {
12293
+ file,
12294
+ viewMode: "grid",
12295
+ isSelected: selectedIds.has(file.id),
12296
+ onPreview: onSelectFileForPreview,
12297
+ onDownload: onDownloadFile,
12298
+ onDelete: onDeleteFile,
12299
+ onCopyLink,
12300
+ onRename: onRenameFile,
12301
+ onShare: onShareFile
12302
+ },
12303
+ file.id
12304
+ )) }) })
12305
+ ]
12306
+ }
12307
+ );
12308
+ }
12309
+
12310
+ // src/design-system/components/files/file-upload-form.tsx
12311
+ var import_react18 = require("react");
12312
+ var import_lucide_react52 = require("lucide-react");
12313
+ var import_jsx_runtime98 = require("react/jsx-runtime");
12314
+ var TEMPLATE_OPTIONS = [
12315
+ { id: "standard", name: "Standard Document" },
12316
+ { id: "invoice", name: "Financial Invoice" },
12317
+ { id: "report", name: "Report & Spreadsheet" },
12318
+ { id: "contract", name: "Contract & Legal" }
12319
+ ];
12320
+ var FOLDER_OPTIONS = ["Finance", "Chat", "Files", "Email", "AI Chat", "Order"];
12321
+ var SUB_FOLDER_OPTIONS = [
12322
+ "Pdf",
12323
+ "Doc",
12324
+ "Xls",
12325
+ "Images",
12326
+ "Videos",
12327
+ "Ppt",
12328
+ "Txt",
12329
+ "Csv",
12330
+ "Zip",
12331
+ "Other"
12332
+ ];
12333
+ function FileUploadForm({
12334
+ userEmail,
12335
+ folders,
12336
+ initialSubject = "",
12337
+ initialFolder = "Finance",
12338
+ initialSubFolder = "Pdf",
12339
+ onClose,
12340
+ onSave,
12341
+ onSaveDraft,
12342
+ onUploadSuccess,
12343
+ onPreviewAttachment,
12344
+ className
12345
+ }) {
12346
+ const [template, setTemplate] = (0, import_react18.useState)("standard");
12347
+ const [subject, setSubject] = (0, import_react18.useState)(initialSubject);
12348
+ const [folder, setFolder] = (0, import_react18.useState)(initialFolder);
12349
+ const [subFolder, setSubFolder] = (0, import_react18.useState)(initialSubFolder);
12350
+ const [remarks, setRemarks] = (0, import_react18.useState)("");
12351
+ const [body, setBody] = (0, import_react18.useState)("");
12352
+ const [attachments, setAttachments] = (0, import_react18.useState)([]);
12353
+ const [isSaving, setIsSaving] = (0, import_react18.useState)(false);
12354
+ const fileInputRef = (0, import_react18.useRef)(null);
12355
+ const handleFileChange = (e) => {
12356
+ const files = e.target.files;
12357
+ if (!files || files.length === 0) return;
12358
+ const newAttachments = Array.from(files).map((f) => ({
12359
+ id: `att-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
12360
+ name: f.name,
12361
+ type: f.type || "application/octet-stream",
12362
+ size: formatBytes(f.size),
12363
+ url: URL.createObjectURL(f),
12364
+ fileObj: f,
12365
+ progress: 100
12366
+ }));
12367
+ setAttachments((prev) => [...prev, ...newAttachments]);
12368
+ if (fileInputRef.current) fileInputRef.current.value = "";
12369
+ };
12370
+ const handleRemoveAttachment = (id) => {
12371
+ setAttachments((prev) => prev.filter((a) => a.id !== id));
12372
+ };
12373
+ const handleFormSubmit = async (e) => {
12374
+ if (e) e.preventDefault();
12375
+ setIsSaving(true);
12376
+ try {
12377
+ if (onSave) {
12378
+ await onSave({
12379
+ subject,
12380
+ folder,
12381
+ subFolder,
12382
+ remarks,
12383
+ body,
12384
+ attachments
12385
+ });
12386
+ }
12387
+ onUploadSuccess?.();
12388
+ } finally {
12389
+ setIsSaving(false);
12390
+ }
12391
+ };
12392
+ const handleDraftSubmit = async () => {
12393
+ if (onSaveDraft) {
12394
+ await onSaveDraft({
12395
+ subject,
12396
+ folder,
12397
+ subFolder,
12398
+ remarks,
12399
+ body,
12400
+ attachments
12401
+ });
12402
+ } else {
12403
+ await handleFormSubmit();
12404
+ }
12405
+ };
12406
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
12407
+ "div",
12408
+ {
12409
+ className: cn(
12410
+ "flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden bg-background select-none",
12411
+ className
12412
+ ),
12413
+ children: [
12414
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center justify-between border-b border-border bg-background px-6 py-4 shrink-0", children: [
12415
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("h2", { className: "text-xl font-bold text-foreground tracking-tight", children: "New File Upload" }),
12416
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
12417
+ "button",
12418
+ {
12419
+ type: "button",
12420
+ onClick: onClose,
12421
+ className: "flex items-center gap-1.5 text-sm font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
12422
+ children: [
12423
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.ArrowLeft, { className: "h-4 w-4" }),
12424
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { children: "Back to Storage" })
12425
+ ]
12426
+ }
12427
+ )
12428
+ ] }),
12429
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "min-h-0 flex-1 overflow-y-auto p-6 space-y-5", children: [
12430
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-1.5", children: [
12431
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Label, { className: "text-xs font-semibold text-foreground", children: "Select Template" }),
12432
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "w-full max-w-sm", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Select, { value: template, onValueChange: setTemplate, children: [
12433
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectTrigger, { className: "h-10 text-sm rounded-xl bg-background border-border/80", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectValue, { placeholder: "Select template" }) }),
12434
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectContent, { className: "rounded-xl shadow-lg", children: TEMPLATE_OPTIONS.map((t) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectItem, { value: t.id, className: "text-sm", children: t.name }, t.id)) })
12435
+ ] }) })
12436
+ ] }),
12437
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-1.5", children: [
12438
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Label, { className: "text-xs font-semibold text-foreground", children: "Document Title / Subject" }),
12439
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12440
+ Input,
12441
+ {
12442
+ value: subject,
12443
+ onChange: (e) => setSubject(e.target.value),
12444
+ placeholder: "Enter document title or reference name",
12445
+ className: "h-10 text-sm rounded-xl bg-background border-border/80"
12446
+ }
12447
+ )
12448
+ ] }),
12449
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-1.5", children: [
12450
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Label, { className: "text-xs font-semibold text-foreground", children: "Folder" }),
12451
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Select, { value: folder, onValueChange: setFolder, children: [
12452
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectTrigger, { className: "h-10 text-sm rounded-xl bg-background border-border/80", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2", children: [
12453
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Folder, { className: "h-4 w-4 text-amber-500 fill-amber-500" }),
12454
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectValue, { placeholder: "Select folder" })
12455
+ ] }) }),
12456
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectContent, { className: "rounded-xl shadow-lg", children: (folders || FOLDER_OPTIONS.map((f) => ({ id: f, name: f }))).map((f) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectItem, { value: f.name, className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2", children: [
12457
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Folder, { className: "h-3.5 w-3.5 text-amber-500 fill-amber-500" }),
12458
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { children: f.name })
12459
+ ] }) }, f.id)) })
12460
+ ] }) })
12461
+ ] }),
12462
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-1.5", children: [
12463
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Label, { className: "text-xs font-semibold text-foreground", children: "Sub folder" }),
12464
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "w-full max-w-xs", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Select, { value: subFolder, onValueChange: setSubFolder, children: [
12465
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectTrigger, { className: "h-10 text-sm rounded-xl bg-background border-border/80", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2", children: [
12466
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Folder, { className: "h-4 w-4 text-amber-500 fill-amber-500" }),
12467
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectValue, { placeholder: "Select subfolder" })
12468
+ ] }) }),
12469
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectContent, { className: "rounded-xl shadow-lg", children: SUB_FOLDER_OPTIONS.map((sf) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SelectItem, { value: sf, className: "text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2", children: [
12470
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Folder, { className: "h-3.5 w-3.5 text-amber-500 fill-amber-500" }),
12471
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { children: sf })
12472
+ ] }) }, sf)) })
12473
+ ] }) })
12474
+ ] }),
12475
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-1.5", children: [
12476
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Label, { className: "text-xs font-semibold text-foreground", children: "Remarks" }),
12477
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12478
+ Textarea,
12479
+ {
12480
+ value: remarks,
12481
+ onChange: (e) => setRemarks(e.target.value),
12482
+ placeholder: "Add a note about these attachments...",
12483
+ className: "min-h-[80px] text-sm rounded-xl bg-background border-border/80 resize-y"
12484
+ }
12485
+ )
12486
+ ] }),
12487
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-1.5", children: [
12488
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Label, { className: "text-xs font-semibold text-foreground", children: "Description / Notes" }),
12489
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "overflow-hidden rounded-xl border border-border/80 bg-background focus-within:ring-1 focus-within:ring-indigo-500", children: [
12490
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-1 p-2 border-b border-border/60 bg-muted/20", children: [
12491
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12492
+ "button",
12493
+ {
12494
+ type: "button",
12495
+ className: "flex h-7 w-7 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground text-xs font-bold transition-colors",
12496
+ title: "Bold",
12497
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Bold, { className: "h-3.5 w-3.5" })
12498
+ }
12499
+ ),
12500
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12501
+ "button",
12502
+ {
12503
+ type: "button",
12504
+ className: "flex h-7 w-7 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground text-xs font-bold transition-colors",
12505
+ title: "Italic",
12506
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Italic, { className: "h-3.5 w-3.5" })
12507
+ }
12508
+ ),
12509
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12510
+ "button",
12511
+ {
12512
+ type: "button",
12513
+ className: "flex h-7 w-7 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground text-xs font-bold transition-colors",
12514
+ title: "Underline",
12515
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Underline, { className: "h-3.5 w-3.5" })
12516
+ }
12517
+ ),
12518
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "h-4 w-[1px] bg-border mx-1" }),
12519
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12520
+ "button",
12521
+ {
12522
+ type: "button",
12523
+ className: "flex h-7 w-7 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground text-xs font-bold transition-colors",
12524
+ title: "Bullet List",
12525
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.List, { className: "h-3.5 w-3.5" })
12526
+ }
12527
+ ),
12528
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12529
+ "button",
12530
+ {
12531
+ type: "button",
12532
+ className: "flex h-7 w-7 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground text-xs font-bold transition-colors",
12533
+ title: "Numbered List",
12534
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.ListOrdered, { className: "h-3.5 w-3.5" })
12535
+ }
12536
+ ),
12537
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "h-4 w-[1px] bg-border mx-1" }),
12538
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12539
+ "button",
12540
+ {
12541
+ type: "button",
12542
+ onClick: () => fileInputRef.current?.click(),
12543
+ className: "flex h-7 w-7 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted hover:text-foreground text-xs font-bold transition-colors cursor-pointer",
12544
+ title: "Attach Files",
12545
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Paperclip, { className: "h-3.5 w-3.5" })
12546
+ }
12547
+ ),
12548
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12549
+ "input",
12550
+ {
12551
+ ref: fileInputRef,
12552
+ type: "file",
12553
+ multiple: true,
12554
+ className: "hidden",
12555
+ onChange: handleFileChange
12556
+ }
12557
+ )
12558
+ ] }),
12559
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12560
+ "textarea",
12561
+ {
12562
+ value: body,
12563
+ onChange: (e) => setBody(e.target.value),
12564
+ placeholder: "Type description, remarks, or notes here...",
12565
+ rows: 4,
12566
+ className: "w-full bg-transparent p-3 text-sm outline-none resize-y border-0 focus:ring-0"
12567
+ }
12568
+ )
12569
+ ] })
12570
+ ] }),
12571
+ attachments.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "space-y-2 pt-1", children: [
12572
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Label, { className: "text-xs font-semibold text-foreground", children: [
12573
+ "Attached Files (",
12574
+ attachments.length,
12575
+ ")"
12576
+ ] }),
12577
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "flex flex-wrap gap-2", children: attachments.map((att) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
12578
+ "div",
12579
+ {
12580
+ className: "flex items-center gap-2 px-3 py-1.5 rounded-xl border border-border/80 bg-muted/30 text-xs text-foreground font-medium",
12581
+ children: [
12582
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Paperclip, { className: "h-3.5 w-3.5 text-indigo-500" }),
12583
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "max-w-[200px] truncate", children: att.name }),
12584
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("span", { className: "text-[10px] text-muted-foreground", children: [
12585
+ "(",
12586
+ att.size,
12587
+ ")"
12588
+ ] }),
12589
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12590
+ "button",
12591
+ {
12592
+ type: "button",
12593
+ onClick: () => handleRemoveAttachment(att.id),
12594
+ className: "text-muted-foreground hover:text-destructive cursor-pointer ml-1",
12595
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.X, { className: "h-3.5 w-3.5" })
12596
+ }
12597
+ )
12598
+ ]
12599
+ },
12600
+ att.id
12601
+ )) })
12602
+ ] })
12603
+ ] }),
12604
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center justify-between border-t border-border bg-background px-6 py-4 shrink-0", children: [
12605
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12606
+ Button,
12607
+ {
12608
+ variant: "outline",
12609
+ onClick: onClose,
12610
+ className: "h-9 px-4 rounded-xl text-sm font-semibold border-border/80 cursor-pointer",
12611
+ children: "Cancel"
12612
+ }
12613
+ ),
12614
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2", children: [
12615
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
12616
+ Button,
12617
+ {
12618
+ variant: "outline",
12619
+ onClick: handleDraftSubmit,
12620
+ disabled: isSaving,
12621
+ className: "h-9 px-4 rounded-xl text-sm font-semibold border-border/80 gap-2 cursor-pointer",
12622
+ children: [
12623
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Save, { className: "h-4 w-4 text-muted-foreground" }),
12624
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { children: "Save as Draft" })
12625
+ ]
12626
+ }
12627
+ ),
12628
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
12629
+ Button,
12630
+ {
12631
+ onClick: () => handleFormSubmit(),
12632
+ disabled: isSaving,
12633
+ className: "h-9 px-5 rounded-xl text-sm font-semibold gap-2 bg-indigo-600 hover:bg-indigo-700 text-white shadow-xs cursor-pointer",
12634
+ children: [
12635
+ isSaving ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Loader2, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react52.Save, { className: "h-4 w-4" }),
12636
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { children: "Save" })
12637
+ ]
12638
+ }
12639
+ )
12640
+ ] })
12641
+ ] })
12642
+ ]
12643
+ }
12644
+ );
12645
+ }
12646
+
11385
12647
  // src/design-system/templates/list-template.tsx
11386
- var import_jsx_runtime94 = require("react/jsx-runtime");
12648
+ var import_jsx_runtime99 = require("react/jsx-runtime");
11387
12649
  function ListTemplate({
11388
12650
  title,
11389
12651
  description,
@@ -11403,8 +12665,8 @@ function ListTemplate({
11403
12665
  ...props
11404
12666
  }) {
11405
12667
  const hasFilterBar = Boolean(onSearchChange) || Boolean(filters) || activeFilters && activeFilters.length > 0 || Boolean(filterActions);
11406
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11407
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
12668
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12669
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
11408
12670
  PageHeader,
11409
12671
  {
11410
12672
  title,
@@ -11414,7 +12676,7 @@ function ListTemplate({
11414
12676
  actions
11415
12677
  }
11416
12678
  ),
11417
- hasFilterBar && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
12679
+ hasFilterBar && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
11418
12680
  FilterBar,
11419
12681
  {
11420
12682
  searchPlaceholder,
@@ -11426,14 +12688,14 @@ function ListTemplate({
11426
12688
  actions: filterActions
11427
12689
  }
11428
12690
  ),
11429
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex-1", children }),
11430
- footer && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "pt-2", children: footer })
12691
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "flex-1", children }),
12692
+ footer && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "pt-2", children: footer })
11431
12693
  ] });
11432
12694
  }
11433
12695
 
11434
12696
  // src/design-system/templates/detail-template.tsx
11435
- var import_lucide_react48 = require("lucide-react");
11436
- var import_jsx_runtime95 = require("react/jsx-runtime");
12697
+ var import_lucide_react53 = require("lucide-react");
12698
+ var import_jsx_runtime100 = require("react/jsx-runtime");
11437
12699
  function DetailTemplate({
11438
12700
  title,
11439
12701
  description,
@@ -11448,9 +12710,9 @@ function DetailTemplate({
11448
12710
  className,
11449
12711
  ...props
11450
12712
  }) {
11451
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11452
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex flex-col gap-2", children: [
11453
- onBack && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
12713
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12714
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex flex-col gap-2", children: [
12715
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
11454
12716
  Button,
11455
12717
  {
11456
12718
  variant: "ghost",
@@ -11458,12 +12720,12 @@ function DetailTemplate({
11458
12720
  onClick: onBack,
11459
12721
  className: "w-fit gap-1.5 px-0 text-xs text-muted-foreground hover:bg-transparent hover:text-foreground",
11460
12722
  children: [
11461
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react48.ArrowLeft, { className: "h-3.5 w-3.5" }),
12723
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react53.ArrowLeft, { className: "h-3.5 w-3.5" }),
11462
12724
  backLabel
11463
12725
  ]
11464
12726
  }
11465
12727
  ),
11466
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
12728
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
11467
12729
  PageHeader,
11468
12730
  {
11469
12731
  title,
@@ -11474,8 +12736,8 @@ function DetailTemplate({
11474
12736
  }
11475
12737
  )
11476
12738
  ] }),
11477
- highlights && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: highlights }),
11478
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
12739
+ highlights && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: highlights }),
12740
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
11479
12741
  "div",
11480
12742
  {
11481
12743
  className: cn(
@@ -11483,8 +12745,8 @@ function DetailTemplate({
11483
12745
  sidebar ? "grid-cols-1 lg:grid-cols-3" : "grid-cols-1"
11484
12746
  ),
11485
12747
  children: [
11486
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: cn(sidebar ? "lg:col-span-2 space-y-6" : "space-y-6"), children }),
11487
- sidebar && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("aside", { className: "space-y-6 lg:col-span-1", children: sidebar })
12748
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: cn(sidebar ? "lg:col-span-2 space-y-6" : "space-y-6"), children }),
12749
+ sidebar && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("aside", { className: "space-y-6 lg:col-span-1", children: sidebar })
11488
12750
  ]
11489
12751
  }
11490
12752
  )
@@ -11492,8 +12754,8 @@ function DetailTemplate({
11492
12754
  }
11493
12755
 
11494
12756
  // src/design-system/templates/form-template.tsx
11495
- var import_lucide_react49 = require("lucide-react");
11496
- var import_jsx_runtime96 = require("react/jsx-runtime");
12757
+ var import_lucide_react54 = require("lucide-react");
12758
+ var import_jsx_runtime101 = require("react/jsx-runtime");
11497
12759
  function FormTemplate({
11498
12760
  title,
11499
12761
  description,
@@ -11512,9 +12774,9 @@ function FormTemplate({
11512
12774
  onSubmit,
11513
12775
  ...props
11514
12776
  }) {
11515
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col gap-6 p-4 sm:p-6 md:p-8", children: [
11516
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col gap-2", children: [
11517
- onBack && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
12777
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex flex-col gap-6 p-4 sm:p-6 md:p-8", children: [
12778
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex flex-col gap-2", children: [
12779
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
11518
12780
  Button,
11519
12781
  {
11520
12782
  type: "button",
@@ -11523,12 +12785,12 @@ function FormTemplate({
11523
12785
  onClick: onBack,
11524
12786
  className: "w-fit gap-1.5 px-0 text-xs text-muted-foreground hover:bg-transparent hover:text-foreground",
11525
12787
  children: [
11526
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react49.ArrowLeft, { className: "h-3.5 w-3.5" }),
12788
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react54.ArrowLeft, { className: "h-3.5 w-3.5" }),
11527
12789
  backLabel
11528
12790
  ]
11529
12791
  }
11530
12792
  ),
11531
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
12793
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
11532
12794
  PageHeader,
11533
12795
  {
11534
12796
  title,
@@ -11538,9 +12800,9 @@ function FormTemplate({
11538
12800
  }
11539
12801
  )
11540
12802
  ] }),
11541
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("form", { onSubmit, className: cn("space-y-8", className), ...props, children: [
11542
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "space-y-6", children }),
11543
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
12803
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("form", { onSubmit, className: cn("space-y-8", className), ...props, children: [
12804
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "space-y-6", children }),
12805
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
11544
12806
  "div",
11545
12807
  {
11546
12808
  className: cn(
@@ -11548,9 +12810,9 @@ function FormTemplate({
11548
12810
  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"
11549
12811
  ),
11550
12812
  children: [
11551
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { children: secondaryActions }),
11552
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-3", children: [
11553
- onCancel && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
12813
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { children: secondaryActions }),
12814
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex items-center gap-3", children: [
12815
+ onCancel && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
11554
12816
  Button,
11555
12817
  {
11556
12818
  type: "button",
@@ -11560,7 +12822,7 @@ function FormTemplate({
11560
12822
  children: cancelLabel
11561
12823
  }
11562
12824
  ),
11563
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Button, { type: "submit", disabled: isSubmitting, children: isSubmitting ? "Saving..." : submitLabel })
12825
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Button, { type: "submit", disabled: isSubmitting, children: isSubmitting ? "Saving..." : submitLabel })
11564
12826
  ] })
11565
12827
  ]
11566
12828
  }
@@ -11570,8 +12832,8 @@ function FormTemplate({
11570
12832
  }
11571
12833
 
11572
12834
  // src/design-system/templates/wizard-template.tsx
11573
- var import_lucide_react50 = require("lucide-react");
11574
- var import_jsx_runtime97 = require("react/jsx-runtime");
12835
+ var import_lucide_react55 = require("lucide-react");
12836
+ var import_jsx_runtime102 = require("react/jsx-runtime");
11575
12837
  function WizardTemplate({
11576
12838
  title,
11577
12839
  description,
@@ -11592,18 +12854,18 @@ function WizardTemplate({
11592
12854
  }) {
11593
12855
  const isLastStep = currentStepIndex === steps.length - 1;
11594
12856
  const isFirstStep = currentStepIndex === 0;
11595
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11596
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(PageHeader, { title, description }),
11597
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("nav", { "aria-label": "Wizard Progress", className: "py-2", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("ol", { className: "flex items-center justify-between gap-2 overflow-x-auto pb-2", children: steps.map((step, idx) => {
12857
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12858
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(PageHeader, { title, description }),
12859
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("nav", { "aria-label": "Wizard Progress", className: "py-2", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("ol", { className: "flex items-center justify-between gap-2 overflow-x-auto pb-2", children: steps.map((step, idx) => {
11598
12860
  const isCompleted = idx < currentStepIndex;
11599
12861
  const isCurrent = idx === currentStepIndex;
11600
12862
  const isClickable = onStepChange && idx < currentStepIndex;
11601
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12863
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
11602
12864
  "li",
11603
12865
  {
11604
12866
  className: "flex flex-1 items-center gap-2.5 min-w-[120px]",
11605
12867
  children: [
11606
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12868
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
11607
12869
  "button",
11608
12870
  {
11609
12871
  type: "button",
@@ -11614,7 +12876,7 @@ function WizardTemplate({
11614
12876
  isClickable && "cursor-pointer hover:opacity-80"
11615
12877
  ),
11616
12878
  children: [
11617
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12879
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
11618
12880
  "span",
11619
12881
  {
11620
12882
  className: cn(
@@ -11623,10 +12885,10 @@ function WizardTemplate({
11623
12885
  isCurrent && "border-2 border-primary bg-primary/10 text-primary font-bold",
11624
12886
  !isCompleted && !isCurrent && "border border-border bg-muted text-muted-foreground"
11625
12887
  ),
11626
- children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react50.Check, { className: "h-4 w-4" }) : idx + 1
12888
+ children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react55.Check, { className: "h-4 w-4" }) : idx + 1
11627
12889
  }
11628
12890
  ),
11629
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "hidden sm:block", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12891
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "hidden sm:block", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
11630
12892
  "div",
11631
12893
  {
11632
12894
  className: cn(
@@ -11639,7 +12901,7 @@ function WizardTemplate({
11639
12901
  ]
11640
12902
  }
11641
12903
  ),
11642
- idx < steps.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12904
+ idx < steps.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
11643
12905
  "div",
11644
12906
  {
11645
12907
  className: cn(
@@ -11653,9 +12915,9 @@ function WizardTemplate({
11653
12915
  step.id
11654
12916
  );
11655
12917
  }) }) }),
11656
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "flex-1 rounded-lg border bg-card p-4 sm:p-6", children }),
11657
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center justify-between pt-2", children: [
11658
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12918
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "flex-1 rounded-lg border bg-card p-4 sm:p-6", children }),
12919
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "flex items-center justify-between pt-2", children: [
12920
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
11659
12921
  Button,
11660
12922
  {
11661
12923
  type: "button",
@@ -11663,12 +12925,12 @@ function WizardTemplate({
11663
12925
  disabled: isFirstStep || isSubmitting,
11664
12926
  onClick: onPrevious,
11665
12927
  children: [
11666
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react50.ChevronLeft, { className: "mr-1 h-4 w-4" }),
12928
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react55.ChevronLeft, { className: "mr-1 h-4 w-4" }),
11667
12929
  previousLabel
11668
12930
  ]
11669
12931
  }
11670
12932
  ),
11671
- isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
12933
+ isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
11672
12934
  Button,
11673
12935
  {
11674
12936
  type: "button",
@@ -11676,7 +12938,7 @@ function WizardTemplate({
11676
12938
  onClick: onSubmit,
11677
12939
  children: isSubmitting ? "Submitting..." : submitLabel
11678
12940
  }
11679
- ) : /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
12941
+ ) : /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
11680
12942
  Button,
11681
12943
  {
11682
12944
  type: "button",
@@ -11684,7 +12946,7 @@ function WizardTemplate({
11684
12946
  onClick: onNext,
11685
12947
  children: [
11686
12948
  nextLabel,
11687
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react50.ChevronRight, { className: "ml-1 h-4 w-4" })
12949
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react55.ChevronRight, { className: "ml-1 h-4 w-4" })
11688
12950
  ]
11689
12951
  }
11690
12952
  )
@@ -11693,7 +12955,7 @@ function WizardTemplate({
11693
12955
  }
11694
12956
 
11695
12957
  // src/design-system/templates/dashboard-template.tsx
11696
- var import_jsx_runtime98 = require("react/jsx-runtime");
12958
+ var import_jsx_runtime103 = require("react/jsx-runtime");
11697
12959
  function DashboardTemplate({
11698
12960
  title,
11699
12961
  description,
@@ -11707,8 +12969,8 @@ function DashboardTemplate({
11707
12969
  className,
11708
12970
  ...props
11709
12971
  }) {
11710
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
11711
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
12972
+ return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: cn("flex flex-col gap-6 p-4 sm:p-6 md:p-8", className), ...props, children: [
12973
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
11712
12974
  PageHeader,
11713
12975
  {
11714
12976
  title,
@@ -11718,15 +12980,15 @@ function DashboardTemplate({
11718
12980
  actions
11719
12981
  }
11720
12982
  ),
11721
- metrics && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("section", { "aria-label": "Key Metrics", className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: metrics }),
11722
- charts && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("section", { "aria-label": "Charts and Visualizations", className: "grid gap-4 md:grid-cols-2 lg:grid-cols-7", children: charts }),
11723
- activity && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("section", { "aria-label": "Recent Activity", className: "space-y-4", children: activity }),
11724
- children && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "space-y-6", children })
12983
+ metrics && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("section", { "aria-label": "Key Metrics", className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: metrics }),
12984
+ charts && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("section", { "aria-label": "Charts and Visualizations", className: "grid gap-4 md:grid-cols-2 lg:grid-cols-7", children: charts }),
12985
+ activity && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("section", { "aria-label": "Recent Activity", className: "space-y-4", children: activity }),
12986
+ children && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: "space-y-6", children })
11725
12987
  ] });
11726
12988
  }
11727
12989
 
11728
12990
  // src/design-system/templates/workspace-template.tsx
11729
- var import_jsx_runtime99 = require("react/jsx-runtime");
12991
+ var import_jsx_runtime104 = require("react/jsx-runtime");
11730
12992
  function WorkspaceTemplate({
11731
12993
  header,
11732
12994
  leftSidebar,
@@ -11736,7 +12998,7 @@ function WorkspaceTemplate({
11736
12998
  className,
11737
12999
  ...props
11738
13000
  }) {
11739
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
13001
+ return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
11740
13002
  "div",
11741
13003
  {
11742
13004
  className: cn(
@@ -11745,29 +13007,29 @@ function WorkspaceTemplate({
11745
13007
  ),
11746
13008
  ...props,
11747
13009
  children: [
11748
- header && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("header", { className: "flex h-14 shrink-0 items-center border-b px-4 bg-background z-10", children: header }),
11749
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "flex flex-1 overflow-hidden", children: [
11750
- leftSidebar && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("aside", { className: "hidden md:flex w-64 shrink-0 flex-col border-r bg-sidebar p-3 overflow-y-auto", children: leftSidebar }),
11751
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("main", { className: "flex flex-1 flex-col overflow-y-auto p-4 sm:p-6 bg-muted/20", children }),
11752
- rightSidebar && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("aside", { className: "hidden lg:flex w-80 shrink-0 flex-col border-l bg-background p-4 overflow-y-auto", children: rightSidebar })
13010
+ header && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("header", { className: "flex h-14 shrink-0 items-center border-b px-4 bg-background z-10", children: header }),
13011
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex flex-1 overflow-hidden", children: [
13012
+ leftSidebar && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("aside", { className: "hidden md:flex w-64 shrink-0 flex-col border-r bg-sidebar p-3 overflow-y-auto", children: leftSidebar }),
13013
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("main", { className: "flex flex-1 flex-col overflow-y-auto p-4 sm:p-6 bg-muted/20", children }),
13014
+ rightSidebar && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("aside", { className: "hidden lg:flex w-80 shrink-0 flex-col border-l bg-background p-4 overflow-y-auto", children: rightSidebar })
11753
13015
  ] }),
11754
- footer && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("footer", { className: "flex h-10 shrink-0 items-center border-t px-4 text-xs text-muted-foreground bg-background", children: footer })
13016
+ footer && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("footer", { className: "flex h-10 shrink-0 items-center border-t px-4 text-xs text-muted-foreground bg-background", children: footer })
11755
13017
  ]
11756
13018
  }
11757
13019
  );
11758
13020
  }
11759
13021
 
11760
13022
  // src/design-system/templates/app-header.tsx
11761
- var import_react18 = require("react");
11762
- var import_lucide_react52 = require("lucide-react");
13023
+ var import_react20 = require("react");
13024
+ var import_lucide_react57 = require("lucide-react");
11763
13025
  var import_navigation2 = require("next/navigation");
11764
13026
 
11765
13027
  // src/components/layout/header.tsx
11766
- var import_react17 = require("react");
11767
- var import_jsx_runtime100 = require("react/jsx-runtime");
13028
+ var import_react19 = require("react");
13029
+ var import_jsx_runtime105 = require("react/jsx-runtime");
11768
13030
  function Header({ className, fixed, children, ...props }) {
11769
- const [offset, setOffset] = (0, import_react17.useState)(0);
11770
- (0, import_react17.useEffect)(() => {
13031
+ const [offset, setOffset] = (0, import_react19.useState)(0);
13032
+ (0, import_react19.useEffect)(() => {
11771
13033
  const onScroll = () => {
11772
13034
  setOffset(document.body.scrollTop || document.documentElement.scrollTop);
11773
13035
  };
@@ -11776,7 +13038,7 @@ function Header({ className, fixed, children, ...props }) {
11776
13038
  }, []);
11777
13039
  return (
11778
13040
  // Page header container: fixed mode me top par sticky behavior deta hai.
11779
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
13041
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
11780
13042
  "header",
11781
13043
  {
11782
13044
  className: cn(
@@ -11786,7 +13048,7 @@ function Header({ className, fixed, children, ...props }) {
11786
13048
  className
11787
13049
  ),
11788
13050
  ...props,
11789
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
13051
+ children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
11790
13052
  "div",
11791
13053
  {
11792
13054
  className: cn(
@@ -11795,7 +13057,7 @@ function Header({ className, fixed, children, ...props }) {
11795
13057
  offset > 10 && fixed && "after:absolute after:inset-0 after:-z-10 after:bg-background/20 after:backdrop-blur-lg"
11796
13058
  ),
11797
13059
  children: [
11798
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(AppLogo, { className: "shrink-0 md:hidden" }),
13060
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(AppLogo, { className: "shrink-0 md:hidden" }),
11799
13061
  children
11800
13062
  ]
11801
13063
  }
@@ -11806,9 +13068,9 @@ function Header({ className, fixed, children, ...props }) {
11806
13068
  }
11807
13069
 
11808
13070
  // src/components/search.tsx
11809
- var import_lucide_react51 = require("lucide-react");
11810
- var import_jsx_runtime101 = require("react/jsx-runtime");
11811
- function Search6({
13071
+ var import_lucide_react56 = require("lucide-react");
13072
+ var import_jsx_runtime106 = require("react/jsx-runtime");
13073
+ function Search7({
11812
13074
  className = "",
11813
13075
  placeholder = "Search",
11814
13076
  iconOnly = true,
@@ -11820,7 +13082,7 @@ function Search6({
11820
13082
  search.setOpen(true);
11821
13083
  }
11822
13084
  };
11823
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
13085
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
11824
13086
  Button,
11825
13087
  {
11826
13088
  ...props,
@@ -11830,7 +13092,7 @@ function Search6({
11830
13092
  "aria-label": "Search",
11831
13093
  "aria-keyshortcuts": "Meta+K Control+K",
11832
13094
  onClick: openSearch,
11833
- children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react51.SearchIcon, { className: "size-5", "aria-hidden": "true" })
13095
+ children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react56.SearchIcon, { className: "size-5", "aria-hidden": "true" })
11834
13096
  }
11835
13097
  );
11836
13098
  }
@@ -11859,6 +13121,7 @@ function createClient2() {
11859
13121
 
11860
13122
  // src/stores/notification-store.ts
11861
13123
  var activeChannel = null;
13124
+ var activeUserId = null;
11862
13125
  var useNotificationStore = (0, import_zustand2.create)((set, get) => ({
11863
13126
  notifications: [],
11864
13127
  unreadCount: 0,
@@ -11999,7 +13262,7 @@ var useNotificationStore = (0, import_zustand2.create)((set, get) => ({
11999
13262
  }));
12000
13263
 
12001
13264
  // src/design-system/templates/app-header.tsx
12002
- var import_jsx_runtime102 = require("react/jsx-runtime");
13265
+ var import_jsx_runtime107 = require("react/jsx-runtime");
12003
13266
  function AppHeader({
12004
13267
  title,
12005
13268
  fixed = true,
@@ -12009,7 +13272,7 @@ function AppHeader({
12009
13272
  const router = (0, import_navigation2.useRouter)();
12010
13273
  const currentUser = useAuthStore((state) => state.auth.user);
12011
13274
  const { unreadCount, fetchNotifications, subscribeToNotifications, unsubscribe } = useNotificationStore();
12012
- (0, import_react18.useEffect)(() => {
13275
+ (0, import_react20.useEffect)(() => {
12013
13276
  if (currentUser) {
12014
13277
  fetchNotifications(currentUser.accountNo);
12015
13278
  subscribeToNotifications(currentUser.accountNo);
@@ -12018,12 +13281,12 @@ function AppHeader({
12018
13281
  unsubscribe();
12019
13282
  };
12020
13283
  }, [currentUser, fetchNotifications, subscribeToNotifications, unsubscribe]);
12021
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Header, { fixed, className: "border-b bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "flex flex-1 items-center justify-between w-full", children: iconsPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "flex items-center gap-2 sm:gap-3 min-w-0", children: [
12022
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
12023
- /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "flex items-center gap-1 sm:gap-2 shrink-0 ml-1", children: [
12024
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Search6, { iconOnly: true }),
13284
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Header, { fixed, className: "border-b bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex flex-1 items-center justify-between w-full", children: iconsPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-2 sm:gap-3 min-w-0", children: [
13285
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
13286
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-1 sm:gap-2 shrink-0 ml-1", children: [
13287
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Search7, { iconOnly: true }),
12025
13288
  children,
12026
- /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
13289
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
12027
13290
  Button,
12028
13291
  {
12029
13292
  variant: "ghost",
@@ -12032,18 +13295,18 @@ function AppHeader({
12032
13295
  "aria-label": "Notifications",
12033
13296
  onClick: () => router.push("/notification"),
12034
13297
  children: [
12035
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react52.Bell, { className: "size-5" }),
12036
- unreadCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("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 })
13298
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_lucide_react57.Bell, { className: "size-5" }),
13299
+ unreadCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("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 })
12037
13300
  ]
12038
13301
  }
12039
13302
  )
12040
13303
  ] })
12041
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_jsx_runtime102.Fragment, { children: [
12042
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
12043
- /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "ml-auto flex items-center gap-2 sm:gap-3", children: [
12044
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Search6, { iconOnly: true }),
13304
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(import_jsx_runtime107.Fragment, { children: [
13305
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("h1", { className: "min-w-0 truncate text-base font-semibold sm:text-lg", children: title }),
13306
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "ml-auto flex items-center gap-2 sm:gap-3", children: [
13307
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Search7, { iconOnly: true }),
12045
13308
  children,
12046
- /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
13309
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
12047
13310
  Button,
12048
13311
  {
12049
13312
  variant: "ghost",
@@ -12052,8 +13315,8 @@ function AppHeader({
12052
13315
  "aria-label": "Notifications",
12053
13316
  onClick: () => router.push("/notification"),
12054
13317
  children: [
12055
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react52.Bell, { className: "size-5" }),
12056
- unreadCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("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 })
13318
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_lucide_react57.Bell, { className: "size-5" }),
13319
+ unreadCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("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 })
12057
13320
  ]
12058
13321
  }
12059
13322
  )
@@ -12062,7 +13325,7 @@ function AppHeader({
12062
13325
  }
12063
13326
 
12064
13327
  // src/design-system/templates/data/sidebar-data.ts
12065
- var import_lucide_react53 = require("lucide-react");
13328
+ var import_lucide_react58 = require("lucide-react");
12066
13329
  var sidebarData2 = {
12067
13330
  user: {
12068
13331
  name: "satnaing",
@@ -12072,7 +13335,7 @@ var sidebarData2 = {
12072
13335
  teams: [
12073
13336
  {
12074
13337
  name: "Amoga App",
12075
- logo: import_lucide_react53.Command,
13338
+ logo: import_lucide_react58.Command,
12076
13339
  plan: "Demo Company"
12077
13340
  }
12078
13341
  ],
@@ -12083,52 +13346,52 @@ var sidebarData2 = {
12083
13346
  {
12084
13347
  title: "Message",
12085
13348
  url: "/message",
12086
- icon: import_lucide_react53.Mail
13349
+ icon: import_lucide_react58.Mail
12087
13350
  },
12088
13351
  {
12089
13352
  title: "Email Settings",
12090
13353
  url: "/email-settings",
12091
- icon: import_lucide_react53.Settings
13354
+ icon: import_lucide_react58.Settings
12092
13355
  },
12093
13356
  {
12094
13357
  title: "Design System",
12095
13358
  url: "/",
12096
- icon: import_lucide_react53.Settings
13359
+ icon: import_lucide_react58.Settings
12097
13360
  },
12098
13361
  {
12099
13362
  title: "Vouchers",
12100
13363
  url: "/vouchers",
12101
- icon: import_lucide_react53.Ticket
13364
+ icon: import_lucide_react58.Ticket
12102
13365
  },
12103
13366
  {
12104
13367
  title: "AI Chat",
12105
13368
  url: "/ai_chat",
12106
- icon: import_lucide_react53.Bot
13369
+ icon: import_lucide_react58.Bot
12107
13370
  },
12108
13371
  {
12109
13372
  title: "AI Search",
12110
13373
  url: "/ai_search",
12111
- icon: import_lucide_react53.SearchIcon
13374
+ icon: import_lucide_react58.SearchIcon
12112
13375
  },
12113
13376
  {
12114
13377
  title: "Chart Template",
12115
13378
  url: "/charttemplate",
12116
- icon: import_lucide_react53.ChartArea
13379
+ icon: import_lucide_react58.ChartArea
12117
13380
  },
12118
13381
  {
12119
13382
  title: "Map Template",
12120
13383
  url: "/map",
12121
- icon: import_lucide_react53.Map
13384
+ icon: import_lucide_react58.Map
12122
13385
  },
12123
13386
  {
12124
13387
  title: "Route Doc",
12125
13388
  url: "/routedoc",
12126
- icon: import_lucide_react53.Route
13389
+ icon: import_lucide_react58.Route
12127
13390
  },
12128
13391
  {
12129
13392
  title: "Link Maker",
12130
13393
  url: "/link-maker",
12131
- icon: import_lucide_react53.Link
13394
+ icon: import_lucide_react58.Link
12132
13395
  }
12133
13396
  ]
12134
13397
  },
@@ -12137,7 +13400,7 @@ var sidebarData2 = {
12137
13400
  items: [
12138
13401
  {
12139
13402
  title: "Settings",
12140
- icon: import_lucide_react53.Settings,
13403
+ icon: import_lucide_react58.Settings,
12141
13404
  items: [
12142
13405
  // Add settings pages here
12143
13406
  ]
@@ -12145,7 +13408,7 @@ var sidebarData2 = {
12145
13408
  {
12146
13409
  title: "Help Center",
12147
13410
  url: "/help-center",
12148
- icon: import_lucide_react53.HelpCircle
13411
+ icon: import_lucide_react58.HelpCircle
12149
13412
  }
12150
13413
  ]
12151
13414
  }
@@ -12153,7 +13416,7 @@ var sidebarData2 = {
12153
13416
  };
12154
13417
 
12155
13418
  // src/design-system/templates/app-logo.tsx
12156
- var import_jsx_runtime103 = require("react/jsx-runtime");
13419
+ var import_jsx_runtime108 = require("react/jsx-runtime");
12157
13420
  function AppLogo({ className, onClick }) {
12158
13421
  const { toggleSidebar, setOpenMobile, isMobile } = useSidebar();
12159
13422
  const team = sidebarData2.teams[0];
@@ -12170,7 +13433,7 @@ function AppLogo({ className, onClick }) {
12170
13433
  toggleSidebar();
12171
13434
  }
12172
13435
  };
12173
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
13436
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
12174
13437
  Button,
12175
13438
  {
12176
13439
  type: "button",
@@ -12181,30 +13444,30 @@ function AppLogo({ className, onClick }) {
12181
13444
  className
12182
13445
  ),
12183
13446
  "aria-label": "Open sidebar menu",
12184
- children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: "flex size-full items-center justify-center rounded-lg bg-primary text-primary-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Logo, { className: "size-4" }) })
13447
+ children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "flex size-full items-center justify-center rounded-lg bg-primary text-primary-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Logo, { className: "size-4" }) })
12185
13448
  }
12186
13449
  );
12187
13450
  }
12188
13451
 
12189
13452
  // src/context/layout-provider.tsx
12190
- var import_react19 = require("react");
12191
- var import_jsx_runtime104 = require("react/jsx-runtime");
13453
+ var import_react21 = require("react");
13454
+ var import_jsx_runtime109 = require("react/jsx-runtime");
12192
13455
  var LAYOUT_COLLAPSIBLE_COOKIE_NAME = "layout_collapsible";
12193
13456
  var LAYOUT_VARIANT_COOKIE_NAME = "layout_variant";
12194
13457
  var LAYOUT_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
12195
13458
  var DEFAULT_VARIANT = "inset";
12196
13459
  var DEFAULT_COLLAPSIBLE = "icon";
12197
- var LayoutContext = (0, import_react19.createContext)(null);
13460
+ var LayoutContext = (0, import_react21.createContext)(null);
12198
13461
  function LayoutProvider({ children }) {
12199
- const [collapsible, _setCollapsible] = (0, import_react19.useState)(() => {
13462
+ const [collapsible, _setCollapsible] = (0, import_react21.useState)(() => {
12200
13463
  const saved = getCookie(LAYOUT_COLLAPSIBLE_COOKIE_NAME);
12201
13464
  return saved || DEFAULT_COLLAPSIBLE;
12202
13465
  });
12203
- const [variant, _setVariant] = (0, import_react19.useState)(() => {
13466
+ const [variant, _setVariant] = (0, import_react21.useState)(() => {
12204
13467
  const saved = getCookie(LAYOUT_VARIANT_COOKIE_NAME);
12205
13468
  return saved || DEFAULT_VARIANT;
12206
13469
  });
12207
- const [showInlineNotFound, setShowInlineNotFound] = (0, import_react19.useState)(false);
13470
+ const [showInlineNotFound, setShowInlineNotFound] = (0, import_react21.useState)(false);
12208
13471
  const setCollapsible = (newCollapsible) => {
12209
13472
  _setCollapsible(newCollapsible);
12210
13473
  setCookie(
@@ -12232,10 +13495,10 @@ function LayoutProvider({ children }) {
12232
13495
  showInlineNotFound,
12233
13496
  setShowInlineNotFound
12234
13497
  };
12235
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(LayoutContext, { value: contextValue, children });
13498
+ return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(LayoutContext, { value: contextValue, children });
12236
13499
  }
12237
13500
  function useLayout() {
12238
- const context = (0, import_react19.useContext)(LayoutContext);
13501
+ const context = (0, import_react21.useContext)(LayoutContext);
12239
13502
  if (!context) {
12240
13503
  return {
12241
13504
  resetLayout: () => {
@@ -12259,13 +13522,13 @@ function useLayout() {
12259
13522
  // src/design-system/templates/nav-group.tsx
12260
13523
  var import_link = __toESM(require("next/link"));
12261
13524
  var import_navigation3 = require("next/navigation");
12262
- var import_lucide_react54 = require("lucide-react");
12263
- var import_jsx_runtime105 = require("react/jsx-runtime");
13525
+ var import_lucide_react59 = require("lucide-react");
13526
+ var import_jsx_runtime110 = require("react/jsx-runtime");
12264
13527
  function NavGroup({ title, items }) {
12265
13528
  const { state, isMobile, openMobile, setOpenMobile } = useSidebar();
12266
13529
  const href = (0, import_navigation3.usePathname)();
12267
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
12268
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
13530
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
13531
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
12269
13532
  SidebarGroupLabel,
12270
13533
  {
12271
13534
  className: cn(
@@ -12273,8 +13536,8 @@ function NavGroup({ title, items }) {
12273
13536
  title === "Menu" && state !== "collapsed" && "sticky top-0 z-20 bg-sidebar py-1.5"
12274
13537
  ),
12275
13538
  children: [
12276
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: title }),
12277
- title === "Menu" && !isMobile && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
13539
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: title }),
13540
+ title === "Menu" && !isMobile && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
12278
13541
  SidebarTrigger,
12279
13542
  {
12280
13543
  variant: "ghost",
@@ -12282,7 +13545,7 @@ function NavGroup({ title, items }) {
12282
13545
  "aria-label": "Toggle sidebar"
12283
13546
  }
12284
13547
  ),
12285
- title === "Menu" && isMobile && openMobile && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
13548
+ title === "Menu" && isMobile && openMobile && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
12286
13549
  Button,
12287
13550
  {
12288
13551
  type: "button",
@@ -12291,37 +13554,37 @@ function NavGroup({ title, items }) {
12291
13554
  className: "size-6 shrink-0",
12292
13555
  "aria-label": "Close sidebar",
12293
13556
  onClick: () => setOpenMobile(false),
12294
- children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react54.X, { className: "size-4", "aria-hidden": "true" })
13557
+ children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react59.X, { className: "size-4", "aria-hidden": "true" })
12295
13558
  }
12296
13559
  )
12297
13560
  ]
12298
13561
  }
12299
13562
  ),
12300
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenu, { children: items.map((item) => {
13563
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenu, { children: items.map((item) => {
12301
13564
  const key = `${item.title}-${item.url}`;
12302
13565
  if (!item.items)
12303
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuLink, { item, href }, key);
13566
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuLink, { item, href }, key);
12304
13567
  if (item.title === "Settings" && item.items.length === 0)
12305
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuSettings, { item }, key);
13568
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuSettings, { item }, key);
12306
13569
  if (state === "collapsed" && !isMobile)
12307
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuCollapsedDropdown, { item, href }, key);
12308
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuCollapsible, { item, href }, key);
13570
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuCollapsedDropdown, { item, href }, key);
13571
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuCollapsible, { item, href }, key);
12309
13572
  }) })
12310
13573
  ] });
12311
13574
  }
12312
13575
  function NavBadge({ children }) {
12313
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
13576
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
12314
13577
  }
12315
13578
  function SidebarMenuLink({ item, href }) {
12316
13579
  const { setOpenMobile } = useSidebar();
12317
13580
  const { setShowInlineNotFound } = useLayout();
12318
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
13581
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
12319
13582
  SidebarMenuButton,
12320
13583
  {
12321
13584
  asChild: true,
12322
13585
  isActive: checkIsActive(href, item),
12323
13586
  tooltip: item.title,
12324
- children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
13587
+ children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
12325
13588
  import_link.default,
12326
13589
  {
12327
13590
  href: item.url,
@@ -12330,9 +13593,9 @@ function SidebarMenuLink({ item, href }) {
12330
13593
  setOpenMobile(false);
12331
13594
  },
12332
13595
  children: [
12333
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(item.icon, {}),
12334
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: item.title }),
12335
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(NavBadge, { children: item.badge })
13596
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(item.icon, {}),
13597
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: item.title }),
13598
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(NavBadge, { children: item.badge })
12336
13599
  ]
12337
13600
  }
12338
13601
  )
@@ -12342,7 +13605,7 @@ function SidebarMenuLink({ item, href }) {
12342
13605
  function SidebarMenuSettings({ item }) {
12343
13606
  const { setOpenMobile } = useSidebar();
12344
13607
  const { showInlineNotFound, setShowInlineNotFound } = useLayout();
12345
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
13608
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
12346
13609
  SidebarMenuButton,
12347
13610
  {
12348
13611
  tooltip: item.title,
@@ -12352,8 +13615,8 @@ function SidebarMenuSettings({ item }) {
12352
13615
  setOpenMobile(false);
12353
13616
  },
12354
13617
  children: [
12355
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(item.icon, {}),
12356
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: item.title })
13618
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(item.icon, {}),
13619
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: item.title })
12357
13620
  ]
12358
13621
  }
12359
13622
  ) });
@@ -12364,25 +13627,25 @@ function SidebarMenuCollapsible({
12364
13627
  }) {
12365
13628
  const { setOpenMobile } = useSidebar();
12366
13629
  const { setShowInlineNotFound } = useLayout();
12367
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
13630
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
12368
13631
  Collapsible,
12369
13632
  {
12370
13633
  asChild: true,
12371
13634
  defaultOpen: checkIsActive(href, item, true),
12372
13635
  className: "group/collapsible",
12373
- children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(SidebarMenuItem, { children: [
12374
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(SidebarMenuButton, { tooltip: item.title, children: [
12375
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(item.icon, {}),
12376
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: item.title }),
12377
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(NavBadge, { children: item.badge }),
12378
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react54.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
13636
+ children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(SidebarMenuItem, { children: [
13637
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(SidebarMenuButton, { tooltip: item.title, children: [
13638
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(item.icon, {}),
13639
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: item.title }),
13640
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(NavBadge, { children: item.badge }),
13641
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react59.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
12379
13642
  ] }) }),
12380
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuSubItem, { children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
13643
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuSubItem, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
12381
13644
  SidebarMenuSubButton,
12382
13645
  {
12383
13646
  asChild: true,
12384
13647
  isActive: checkIsActive(href, subItem),
12385
- children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
13648
+ children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
12386
13649
  import_link.default,
12387
13650
  {
12388
13651
  href: subItem.url,
@@ -12391,9 +13654,9 @@ function SidebarMenuCollapsible({
12391
13654
  setOpenMobile(false);
12392
13655
  },
12393
13656
  children: [
12394
- subItem.icon && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(subItem.icon, {}),
12395
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: subItem.title }),
12396
- subItem.badge && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(NavBadge, { children: subItem.badge })
13657
+ subItem.icon && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(subItem.icon, {}),
13658
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: subItem.title }),
13659
+ subItem.badge && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(NavBadge, { children: subItem.badge })
12397
13660
  ]
12398
13661
  }
12399
13662
  )
@@ -12407,36 +13670,36 @@ function SidebarMenuCollapsedDropdown({
12407
13670
  item,
12408
13671
  href
12409
13672
  }) {
12410
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(DropdownMenu, { children: [
12411
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
13673
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(DropdownMenu, { children: [
13674
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
12412
13675
  SidebarMenuButton,
12413
13676
  {
12414
13677
  tooltip: item.title,
12415
13678
  isActive: checkIsActive(href, item),
12416
13679
  children: [
12417
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(item.icon, {}),
12418
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: item.title }),
12419
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(NavBadge, { children: item.badge }),
12420
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react54.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
13680
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(item.icon, {}),
13681
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: item.title }),
13682
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(NavBadge, { children: item.badge }),
13683
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react59.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
12421
13684
  ]
12422
13685
  }
12423
13686
  ) }),
12424
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
12425
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(DropdownMenuLabel, { children: [
13687
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
13688
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(DropdownMenuLabel, { children: [
12426
13689
  item.title,
12427
13690
  " ",
12428
13691
  item.badge ? `(${item.badge})` : ""
12429
13692
  ] }),
12430
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(DropdownMenuSeparator, {}),
12431
- item.items.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
13693
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(DropdownMenuSeparator, {}),
13694
+ item.items.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
12432
13695
  import_link.default,
12433
13696
  {
12434
13697
  href: sub.url,
12435
13698
  className: `${checkIsActive(href, sub) ? "bg-secondary" : ""}`,
12436
13699
  children: [
12437
- sub.icon && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(sub.icon, {}),
12438
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { className: "max-w-52 text-wrap", children: sub.title }),
12439
- sub.badge && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { className: "ms-auto text-xs", children: sub.badge })
13700
+ sub.icon && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(sub.icon, {}),
13701
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "max-w-52 text-wrap", children: sub.title }),
13702
+ sub.badge && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "ms-auto text-xs", children: sub.badge })
12440
13703
  ]
12441
13704
  }
12442
13705
  ) }, `${sub.title}-${sub.url}`))
@@ -12451,20 +13714,20 @@ function checkIsActive(href, item, mainNav = false) {
12451
13714
  }
12452
13715
 
12453
13716
  // src/design-system/templates/team-switcher.tsx
12454
- var import_jsx_runtime106 = require("react/jsx-runtime");
13717
+ var import_jsx_runtime111 = require("react/jsx-runtime");
12455
13718
  function TeamSwitcher({ teams }) {
12456
13719
  useSidebar();
12457
13720
  const activeTeam = teams[0];
12458
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(
13721
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(
12459
13722
  SidebarMenuButton,
12460
13723
  {
12461
13724
  size: "lg",
12462
13725
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
12463
13726
  children: [
12464
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(activeTeam.logo, { className: "size-4" }) }),
12465
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
12466
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "truncate font-semibold", children: activeTeam.name }),
12467
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "truncate text-xs", children: activeTeam.plan })
13727
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(activeTeam.logo, { className: "size-4" }) }),
13728
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13729
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "truncate font-semibold", children: activeTeam.name }),
13730
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "truncate text-xs", children: activeTeam.plan })
12468
13731
  ] })
12469
13732
  ]
12470
13733
  }
@@ -12472,25 +13735,25 @@ function TeamSwitcher({ teams }) {
12472
13735
  }
12473
13736
 
12474
13737
  // src/design-system/templates/nav-user.tsx
12475
- var import_lucide_react56 = require("lucide-react");
13738
+ var import_lucide_react61 = require("lucide-react");
12476
13739
 
12477
13740
  // src/hooks/use-dialog-state.tsx
12478
- var import_react20 = require("react");
13741
+ var import_react22 = require("react");
12479
13742
  function useDialogState(initialState2 = null) {
12480
- const [open, _setOpen] = (0, import_react20.useState)(initialState2);
13743
+ const [open, _setOpen] = (0, import_react22.useState)(initialState2);
12481
13744
  const setOpen = (str) => _setOpen((prev) => prev === str ? null : str);
12482
13745
  return [open, setOpen];
12483
13746
  }
12484
13747
 
12485
13748
  // src/components/config-drawer.tsx
12486
- var import_react21 = require("react");
13749
+ var import_react23 = require("react");
12487
13750
  var import_react_radio_group = require("@radix-ui/react-radio-group");
12488
- var import_lucide_react55 = require("lucide-react");
13751
+ var import_lucide_react60 = require("lucide-react");
12489
13752
 
12490
13753
  // src/assets/custom/icon-theme-dark.tsx
12491
- var import_jsx_runtime107 = require("react/jsx-runtime");
13754
+ var import_jsx_runtime112 = require("react/jsx-runtime");
12492
13755
  function IconThemeDark(props) {
12493
- return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
13756
+ return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(
12494
13757
  "svg",
12495
13758
  {
12496
13759
  "data-name": "icon-theme-dark",
@@ -12498,27 +13761,27 @@ function IconThemeDark(props) {
12498
13761
  viewBox: "0 0 79.86 51.14",
12499
13762
  ...props,
12500
13763
  children: [
12501
- /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("g", { fill: "#1d2b3f", children: [
12502
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
12503
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("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" })
13764
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("g", { fill: "#1d2b3f", children: [
13765
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
13766
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("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" })
12504
13767
  ] }),
12505
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13768
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12506
13769
  "path",
12507
13770
  {
12508
13771
  d: "M22.88 0h52.97c2.21 0 4 1.79 4 4v43.14c0 2.21-1.79 4-4 4H22.88V0z",
12509
13772
  fill: "#0d1628"
12510
13773
  }
12511
13774
  ),
12512
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#426187" }),
12513
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13775
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#426187" }),
13776
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12514
13777
  "path",
12515
13778
  {
12516
13779
  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",
12517
13780
  fill: "#426187"
12518
13781
  }
12519
13782
  ),
12520
- /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("g", { fill: "#2a62bc", children: [
12521
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13783
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("g", { fill: "#2a62bc", children: [
13784
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12522
13785
  "rect",
12523
13786
  {
12524
13787
  x: 33.36,
@@ -12530,7 +13793,7 @@ function IconThemeDark(props) {
12530
13793
  opacity: 0.32
12531
13794
  }
12532
13795
  ),
12533
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13796
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12534
13797
  "rect",
12535
13798
  {
12536
13799
  x: 29.64,
@@ -12542,7 +13805,7 @@ function IconThemeDark(props) {
12542
13805
  opacity: 0.44
12543
13806
  }
12544
13807
  ),
12545
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13808
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12546
13809
  "rect",
12547
13810
  {
12548
13811
  x: 37.16,
@@ -12554,7 +13817,7 @@ function IconThemeDark(props) {
12554
13817
  opacity: 0.53
12555
13818
  }
12556
13819
  ),
12557
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13820
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12558
13821
  "rect",
12559
13822
  {
12560
13823
  x: 41.19,
@@ -12567,8 +13830,8 @@ function IconThemeDark(props) {
12567
13830
  }
12568
13831
  )
12569
13832
  ] }),
12570
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#2f5491", opacity: 0.5 }),
12571
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13833
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#2f5491", opacity: 0.5 }),
13834
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12572
13835
  "path",
12573
13836
  {
12574
13837
  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",
@@ -12576,7 +13839,7 @@ function IconThemeDark(props) {
12576
13839
  opacity: 0.74
12577
13840
  }
12578
13841
  ),
12579
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
13842
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
12580
13843
  "rect",
12581
13844
  {
12582
13845
  x: 29.64,
@@ -12594,9 +13857,9 @@ function IconThemeDark(props) {
12594
13857
  }
12595
13858
 
12596
13859
  // src/assets/custom/icon-theme-light.tsx
12597
- var import_jsx_runtime108 = require("react/jsx-runtime");
13860
+ var import_jsx_runtime113 = require("react/jsx-runtime");
12598
13861
  function IconThemeLight(props) {
12599
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(
13862
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
12600
13863
  "svg",
12601
13864
  {
12602
13865
  "data-name": "icon-theme-light",
@@ -12604,27 +13867,27 @@ function IconThemeLight(props) {
12604
13867
  viewBox: "0 0 79.86 51.14",
12605
13868
  ...props,
12606
13869
  children: [
12607
- /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("g", { fill: "#d9d9d9", children: [
12608
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
12609
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("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" })
13870
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("g", { fill: "#d9d9d9", children: [
13871
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("rect", { x: 0.53, y: 0.5, width: 78.83, height: 50.14, rx: 3.5, ry: 3.5 }),
13872
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("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" })
12610
13873
  ] }),
12611
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13874
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12612
13875
  "path",
12613
13876
  {
12614
13877
  d: "M22.88 0h52.97c2.21 0 4 1.79 4 4v43.14c0 2.21-1.79 4-4 4H22.88V0z",
12615
13878
  fill: "#ecedef"
12616
13879
  }
12617
13880
  ),
12618
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#fff" }),
12619
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13881
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("circle", { cx: 6.7, cy: 7.04, r: 3.54, fill: "#fff" }),
13882
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12620
13883
  "path",
12621
13884
  {
12622
13885
  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",
12623
13886
  fill: "#fff"
12624
13887
  }
12625
13888
  ),
12626
- /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("g", { fill: "#c0c4c4", children: [
12627
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13889
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("g", { fill: "#c0c4c4", children: [
13890
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12628
13891
  "rect",
12629
13892
  {
12630
13893
  x: 33.36,
@@ -12636,7 +13899,7 @@ function IconThemeLight(props) {
12636
13899
  opacity: 0.32
12637
13900
  }
12638
13901
  ),
12639
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13902
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12640
13903
  "rect",
12641
13904
  {
12642
13905
  x: 29.64,
@@ -12648,7 +13911,7 @@ function IconThemeLight(props) {
12648
13911
  opacity: 0.44
12649
13912
  }
12650
13913
  ),
12651
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13914
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12652
13915
  "rect",
12653
13916
  {
12654
13917
  x: 37.16,
@@ -12660,7 +13923,7 @@ function IconThemeLight(props) {
12660
13923
  opacity: 0.53
12661
13924
  }
12662
13925
  ),
12663
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13926
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12664
13927
  "rect",
12665
13928
  {
12666
13929
  x: 41.19,
@@ -12673,12 +13936,12 @@ function IconThemeLight(props) {
12673
13936
  }
12674
13937
  )
12675
13938
  ] }),
12676
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#fff" }),
12677
- /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("g", { fill: "#d9d9d9", children: [
12678
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("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" }),
12679
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("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" })
13939
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("circle", { cx: 62.74, cy: 16.32, r: 8, fill: "#fff" }),
13940
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("g", { fill: "#d9d9d9", children: [
13941
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("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" }),
13942
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("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" })
12680
13943
  ] }),
12681
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
13944
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
12682
13945
  "rect",
12683
13946
  {
12684
13947
  x: 29.64,
@@ -12696,12 +13959,12 @@ function IconThemeLight(props) {
12696
13959
  }
12697
13960
 
12698
13961
  // src/assets/custom/icon-theme-system.tsx
12699
- var import_jsx_runtime109 = require("react/jsx-runtime");
13962
+ var import_jsx_runtime114 = require("react/jsx-runtime");
12700
13963
  function IconThemeSystem({
12701
13964
  className,
12702
13965
  ...props
12703
13966
  }) {
12704
- return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
13967
+ return /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
12705
13968
  "svg",
12706
13969
  {
12707
13970
  "data-name": "icon-theme-system",
@@ -12714,8 +13977,8 @@ function IconThemeSystem({
12714
13977
  ),
12715
13978
  ...props,
12716
13979
  children: [
12717
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("path", { opacity: 0.2, d: "M0 0.03H22.88V51.17H0z" }),
12718
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
13980
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("path", { opacity: 0.2, d: "M0 0.03H22.88V51.17H0z" }),
13981
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12719
13982
  "circle",
12720
13983
  {
12721
13984
  cx: 6.7,
@@ -12728,7 +13991,7 @@ function IconThemeSystem({
12728
13991
  strokeMiterlimit: 10
12729
13992
  }
12730
13993
  ),
12731
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
13994
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12732
13995
  "path",
12733
13996
  {
12734
13997
  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",
@@ -12737,7 +14000,7 @@ function IconThemeSystem({
12737
14000
  opacity: 0.75
12738
14001
  }
12739
14002
  ),
12740
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14003
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12741
14004
  "path",
12742
14005
  {
12743
14006
  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",
@@ -12746,7 +14009,7 @@ function IconThemeSystem({
12746
14009
  opacity: 0.72
12747
14010
  }
12748
14011
  ),
12749
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14012
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12750
14013
  "path",
12751
14014
  {
12752
14015
  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",
@@ -12755,7 +14018,7 @@ function IconThemeSystem({
12755
14018
  opacity: 0.55
12756
14019
  }
12757
14020
  ),
12758
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14021
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12759
14022
  "path",
12760
14023
  {
12761
14024
  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",
@@ -12764,7 +14027,7 @@ function IconThemeSystem({
12764
14027
  opacity: 0.67
12765
14028
  }
12766
14029
  ),
12767
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14030
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12768
14031
  "rect",
12769
14032
  {
12770
14033
  x: 33.36,
@@ -12777,7 +14040,7 @@ function IconThemeSystem({
12777
14040
  stroke: "none"
12778
14041
  }
12779
14042
  ),
12780
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14043
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12781
14044
  "rect",
12782
14045
  {
12783
14046
  x: 29.64,
@@ -12790,7 +14053,7 @@ function IconThemeSystem({
12790
14053
  stroke: "none"
12791
14054
  }
12792
14055
  ),
12793
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14056
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12794
14057
  "rect",
12795
14058
  {
12796
14059
  x: 37.16,
@@ -12803,7 +14066,7 @@ function IconThemeSystem({
12803
14066
  stroke: "none"
12804
14067
  }
12805
14068
  ),
12806
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14069
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12807
14070
  "rect",
12808
14071
  {
12809
14072
  x: 41.19,
@@ -12816,9 +14079,9 @@ function IconThemeSystem({
12816
14079
  stroke: "none"
12817
14080
  }
12818
14081
  ),
12819
- /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("g", { children: [
12820
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("circle", { cx: 62.74, cy: 16.32, r: 8, opacity: 0.25 }),
12821
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14082
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)("g", { children: [
14083
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("circle", { cx: 62.74, cy: 16.32, r: 8, opacity: 0.25 }),
14084
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12822
14085
  "path",
12823
14086
  {
12824
14087
  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",
@@ -12826,7 +14089,7 @@ function IconThemeSystem({
12826
14089
  }
12827
14090
  )
12828
14091
  ] }),
12829
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
14092
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
12830
14093
  "rect",
12831
14094
  {
12832
14095
  x: 29.64,
@@ -12847,7 +14110,7 @@ function IconThemeSystem({
12847
14110
  }
12848
14111
 
12849
14112
  // src/components/config-drawer.tsx
12850
- var import_jsx_runtime110 = require("react/jsx-runtime");
14113
+ var import_jsx_runtime115 = require("react/jsx-runtime");
12851
14114
  function ConfigDrawer({
12852
14115
  trigger
12853
14116
  }) {
@@ -12857,27 +14120,27 @@ function ConfigDrawer({
12857
14120
  resetTheme();
12858
14121
  resetColorTheme();
12859
14122
  };
12860
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(Sheet, { children: [
12861
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SheetTrigger, { asChild: true, children: trigger ?? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14123
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(Sheet, { children: [
14124
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SheetTrigger, { asChild: true, children: trigger ?? /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12862
14125
  Button,
12863
14126
  {
12864
14127
  size: "icon",
12865
14128
  variant: "ghost",
12866
14129
  "aria-label": "Open theme settings",
12867
14130
  className: "rounded-full",
12868
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react55.Settings, { "aria-hidden": "true" })
14131
+ children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react60.Settings, { "aria-hidden": "true" })
12869
14132
  }
12870
14133
  ) }),
12871
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(SheetContent, { className: "flex flex-col", children: [
12872
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(SheetHeader, { className: "pb-0 text-start", children: [
12873
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SheetTitle, { children: "Theme Settings" }),
12874
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SheetDescription, { children: "Customize the look and feel of your dashboard." })
14134
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(SheetContent, { className: "flex flex-col", children: [
14135
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(SheetHeader, { className: "pb-0 text-start", children: [
14136
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SheetTitle, { children: "Theme Settings" }),
14137
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SheetDescription, { children: "Customize the look and feel of your dashboard." })
12875
14138
  ] }),
12876
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex flex-1 flex-col gap-6 overflow-hidden px-4", children: [
12877
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(ThemeConfig, {}),
12878
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(ThemeListSelector, {})
14139
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex flex-1 flex-col gap-6 overflow-hidden px-4", children: [
14140
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(ThemeConfig, {}),
14141
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(ThemeListSelector, {})
12879
14142
  ] }),
12880
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SheetFooter, { className: "gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14143
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SheetFooter, { className: "gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12881
14144
  Button,
12882
14145
  {
12883
14146
  variant: "destructive",
@@ -12895,7 +14158,7 @@ function SectionTitle({
12895
14158
  resetAriaLabel,
12896
14159
  className
12897
14160
  }) {
12898
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
14161
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
12899
14162
  "div",
12900
14163
  {
12901
14164
  className: cn(
@@ -12904,7 +14167,7 @@ function SectionTitle({
12904
14167
  ),
12905
14168
  children: [
12906
14169
  title,
12907
- showReset && onReset && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14170
+ showReset && onReset && /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12908
14171
  Button,
12909
14172
  {
12910
14173
  type: "button",
@@ -12913,7 +14176,7 @@ function SectionTitle({
12913
14176
  className: "size-4 rounded-full",
12914
14177
  onClick: onReset,
12915
14178
  "aria-label": resetAriaLabel,
12916
- children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react55.RotateCcw, { className: "size-3" })
14179
+ children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react60.RotateCcw, { className: "size-3" })
12917
14180
  }
12918
14181
  )
12919
14182
  ]
@@ -12924,7 +14187,7 @@ function RadioGroupItem2({
12924
14187
  item,
12925
14188
  isTheme = false
12926
14189
  }) {
12927
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
14190
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
12928
14191
  import_react_radio_group.Item,
12929
14192
  {
12930
14193
  value: item.value,
@@ -12932,7 +14195,7 @@ function RadioGroupItem2({
12932
14195
  "aria-label": `Select ${item.label.toLowerCase()}`,
12933
14196
  "aria-describedby": `${item.value}-description`,
12934
14197
  children: [
12935
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
14198
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
12936
14199
  "div",
12937
14200
  {
12938
14201
  className: cn(
@@ -12944,8 +14207,8 @@ function RadioGroupItem2({
12944
14207
  "aria-hidden": "false",
12945
14208
  "aria-label": `${item.label} option preview`,
12946
14209
  children: [
12947
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
12948
- import_lucide_react55.CircleCheck,
14210
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
14211
+ import_lucide_react60.CircleCheck,
12949
14212
  {
12950
14213
  className: cn(
12951
14214
  "size-6 fill-primary stroke-white",
@@ -12955,7 +14218,7 @@ function RadioGroupItem2({
12955
14218
  "aria-hidden": "true"
12956
14219
  }
12957
14220
  ),
12958
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14221
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12959
14222
  item.icon,
12960
14223
  {
12961
14224
  className: cn(
@@ -12967,7 +14230,7 @@ function RadioGroupItem2({
12967
14230
  ]
12968
14231
  }
12969
14232
  ),
12970
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14233
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12971
14234
  "div",
12972
14235
  {
12973
14236
  className: "mt-1 text-xs",
@@ -12982,8 +14245,8 @@ function RadioGroupItem2({
12982
14245
  }
12983
14246
  function ThemeConfig() {
12984
14247
  const { defaultTheme, theme, setTheme } = useTheme2();
12985
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { children: [
12986
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14248
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { children: [
14249
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12987
14250
  SectionTitle,
12988
14251
  {
12989
14252
  title: "Theme",
@@ -12992,7 +14255,7 @@ function ThemeConfig() {
12992
14255
  resetAriaLabel: "Reset theme preference to default"
12993
14256
  }
12994
14257
  ),
12995
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14258
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
12996
14259
  import_react_radio_group.Root,
12997
14260
  {
12998
14261
  value: theme,
@@ -13016,20 +14279,20 @@ function ThemeConfig() {
13016
14279
  label: "Dark",
13017
14280
  icon: IconThemeDark
13018
14281
  }
13019
- ].map((item) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(RadioGroupItem2, { item, isTheme: true }, item.value))
14282
+ ].map((item) => /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(RadioGroupItem2, { item, isTheme: true }, item.value))
13020
14283
  }
13021
14284
  ),
13022
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { id: "theme-description", className: "sr-only", children: "Choose between system preference, light mode, or dark mode" })
14285
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("div", { id: "theme-description", className: "sr-only", children: "Choose between system preference, light mode, or dark mode" })
13023
14286
  ] });
13024
14287
  }
13025
14288
  function ThemeListSelector() {
13026
- const [search, setSearch] = (0, import_react21.useState)("");
14289
+ const [search, setSearch] = (0, import_react23.useState)("");
13027
14290
  const { colorTheme, setColorTheme } = useColorTheme();
13028
14291
  const filtered = colorThemes.filter(
13029
14292
  (t) => t.label.toLowerCase().includes(search.toLowerCase())
13030
14293
  );
13031
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex min-h-0 flex-1 flex-col", children: [
13032
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14294
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex min-h-0 flex-1 flex-col", children: [
14295
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
13033
14296
  SectionTitle,
13034
14297
  {
13035
14298
  title: "Color Theme",
@@ -13038,9 +14301,9 @@ function ThemeListSelector() {
13038
14301
  resetAriaLabel: "Reset color theme to default"
13039
14302
  }
13040
14303
  ),
13041
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "relative mb-2.5", children: [
13042
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react55.Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
13043
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14304
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "relative mb-2.5", children: [
14305
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react60.Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
14306
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
13044
14307
  "input",
13045
14308
  {
13046
14309
  type: "text",
@@ -13056,21 +14319,21 @@ function ThemeListSelector() {
13056
14319
  }
13057
14320
  )
13058
14321
  ] }),
13059
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("p", { className: "mb-2 text-xs text-muted-foreground font-medium", children: [
14322
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("p", { className: "mb-2 text-xs text-muted-foreground font-medium", children: [
13060
14323
  filtered.length,
13061
14324
  " theme",
13062
14325
  filtered.length !== 1 ? "s" : "",
13063
14326
  " available"
13064
14327
  ] }),
13065
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
14328
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
13066
14329
  "div",
13067
14330
  {
13068
14331
  className: "flex-1 space-y-1 overflow-y-auto rounded-lg pr-1",
13069
14332
  role: "radiogroup",
13070
14333
  "aria-label": "Select color theme",
13071
14334
  children: [
13072
- filtered.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("p", { className: "py-8 text-center text-sm text-muted-foreground", children: "No themes found" }),
13073
- filtered.map((ct) => /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
14335
+ filtered.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("p", { className: "py-8 text-center text-sm text-muted-foreground", children: "No themes found" }),
14336
+ filtered.map((ct) => /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
13074
14337
  "button",
13075
14338
  {
13076
14339
  onClick: () => setColorTheme(ct.name),
@@ -13082,7 +14345,7 @@ function ThemeListSelector() {
13082
14345
  colorTheme === ct.name ? "bg-primary text-primary-foreground shadow-md" : "hover:bg-accent/80 hover:text-foreground border border-transparent hover:border-border/40"
13083
14346
  ),
13084
14347
  children: [
13085
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { className: "flex gap-1.5 shrink-0", children: ct.colors.map((color, i) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14348
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("div", { className: "flex gap-1.5 shrink-0", children: ct.colors.map((color, i) => /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
13086
14349
  "span",
13087
14350
  {
13088
14351
  className: cn(
@@ -13093,9 +14356,9 @@ function ThemeListSelector() {
13093
14356
  },
13094
14357
  i
13095
14358
  )) }),
13096
- /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex items-center gap-1.5 truncate", children: [
13097
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-sm font-medium truncate", children: ct.label }),
13098
- ct.category === "tweakcn" && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
14359
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex items-center gap-1.5 truncate", children: [
14360
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { className: "text-sm font-medium truncate", children: ct.label }),
14361
+ ct.category === "tweakcn" && /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
13099
14362
  "span",
13100
14363
  {
13101
14364
  className: cn(
@@ -13105,7 +14368,7 @@ function ThemeListSelector() {
13105
14368
  }
13106
14369
  )
13107
14370
  ] }),
13108
- colorTheme === ct.name && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react55.Check, { className: "ml-auto size-4 shrink-0", strokeWidth: 3 })
14371
+ colorTheme === ct.name && /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react60.Check, { className: "ml-auto size-4 shrink-0", strokeWidth: 3 })
13109
14372
  ]
13110
14373
  },
13111
14374
  ct.name
@@ -13117,7 +14380,7 @@ function ThemeListSelector() {
13117
14380
  }
13118
14381
 
13119
14382
  // src/design-system/templates/nav-user.tsx
13120
- var import_jsx_runtime111 = require("react/jsx-runtime");
14383
+ var import_jsx_runtime116 = require("react/jsx-runtime");
13121
14384
  function NavUser({ user: fallbackUser }) {
13122
14385
  const { isMobile } = useSidebar();
13123
14386
  const [open, setOpen] = useDialogState();
@@ -13126,28 +14389,28 @@ function NavUser({ user: fallbackUser }) {
13126
14389
  const userEmail = auth.user?.email || fallbackUser.email;
13127
14390
  const userAvatar = auth.user?.picture || fallbackUser.avatar;
13128
14391
  const userInitials = userName.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
13129
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(import_jsx_runtime111.Fragment, { children: [
13130
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(DropdownMenu, { modal: false, children: [
13131
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(
14392
+ return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(import_jsx_runtime116.Fragment, { children: [
14393
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(DropdownMenu, { modal: false, children: [
14394
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
13132
14395
  SidebarMenuButton,
13133
14396
  {
13134
14397
  size: "lg",
13135
14398
  tooltip: userName,
13136
14399
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
13137
14400
  children: [
13138
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
13139
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
13140
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
14401
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14402
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
14403
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
13141
14404
  ] }),
13142
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13143
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "truncate font-semibold", children: userName }),
13144
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14405
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14406
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("span", { className: "truncate font-semibold", children: userName }),
14407
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
13145
14408
  ] }),
13146
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react56.ChevronsUpDown, { className: "ml-auto size-4 shrink-0" })
14409
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react61.ChevronsUpDown, { className: "ml-auto size-4 shrink-0" })
13147
14410
  ]
13148
14411
  }
13149
14412
  ) }),
13150
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(
14413
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
13151
14414
  DropdownMenuContent,
13152
14415
  {
13153
14416
  className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
@@ -13155,43 +14418,43 @@ function NavUser({ user: fallbackUser }) {
13155
14418
  align: "end",
13156
14419
  sideOffset: 4,
13157
14420
  children: [
13158
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
13159
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
13160
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
13161
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
14421
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
14422
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14423
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
14424
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
13162
14425
  ] }),
13163
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13164
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "truncate font-semibold", children: userName }),
13165
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14426
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14427
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("span", { className: "truncate font-semibold", children: userName }),
14428
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
13166
14429
  ] })
13167
14430
  ] }) }),
13168
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(DropdownMenuSeparator, {}),
13169
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
14431
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(DropdownMenuSeparator, {}),
14432
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
13170
14433
  ConfigDrawer,
13171
14434
  {
13172
- trigger: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
13173
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react56.Palette, { className: "mr-2 h-4 w-4" }),
14435
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
14436
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react61.Palette, { className: "mr-2 h-4 w-4" }),
13174
14437
  "Theme"
13175
14438
  ] })
13176
14439
  }
13177
14440
  ),
13178
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
14441
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
13179
14442
  ConfigDrawer,
13180
14443
  {
13181
- trigger: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
13182
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react56.Settings, { className: "mr-2 h-4 w-4" }),
14444
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
14445
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react61.Settings, { className: "mr-2 h-4 w-4" }),
13183
14446
  "Setting"
13184
14447
  ] })
13185
14448
  }
13186
14449
  ),
13187
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(DropdownMenuSeparator, {}),
13188
- /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(
14450
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(DropdownMenuSeparator, {}),
14451
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
13189
14452
  DropdownMenuItem,
13190
14453
  {
13191
14454
  variant: "destructive",
13192
14455
  onClick: () => setOpen(true),
13193
14456
  children: [
13194
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react56.LogOut, { className: "mr-2 h-4 w-4" }),
14457
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react61.LogOut, { className: "mr-2 h-4 w-4" }),
13195
14458
  "Sign out"
13196
14459
  ]
13197
14460
  }
@@ -13200,19 +14463,19 @@ function NavUser({ user: fallbackUser }) {
13200
14463
  }
13201
14464
  )
13202
14465
  ] }) }) }),
13203
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(SignOutDialog, { open: !!open, onOpenChange: setOpen })
14466
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SignOutDialog, { open: !!open, onOpenChange: setOpen })
13204
14467
  ] });
13205
14468
  }
13206
14469
 
13207
14470
  // src/design-system/templates/app-sidebar.tsx
13208
- var import_jsx_runtime112 = require("react/jsx-runtime");
14471
+ var import_jsx_runtime117 = require("react/jsx-runtime");
13209
14472
  function AppSidebar() {
13210
14473
  const { collapsible } = useLayout();
13211
- return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(Sidebar, { collapsible, variant: "sidebar", children: [
13212
- /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(SidebarHeader, { className: "p-2 pb-1", children: [
13213
- /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { className: "flex items-center justify-between gap-1", children: [
13214
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(TeamSwitcher, { teams: sidebarData2.teams }) }),
13215
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { className: "group-data-[collapsible=icon]:hidden shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
14474
+ return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(Sidebar, { collapsible, variant: "sidebar", children: [
14475
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(SidebarHeader, { className: "p-2 pb-1", children: [
14476
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex items-center justify-between gap-1", children: [
14477
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TeamSwitcher, { teams: sidebarData2.teams }) }),
14478
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "group-data-[collapsible=icon]:hidden shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
13216
14479
  SidebarTrigger,
13217
14480
  {
13218
14481
  variant: "ghost",
@@ -13221,7 +14484,7 @@ function AppSidebar() {
13221
14484
  }
13222
14485
  ) })
13223
14486
  ] }),
13224
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { className: "hidden group-data-[collapsible=icon]:flex justify-center pt-2 pb-1", children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
14487
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "hidden group-data-[collapsible=icon]:flex justify-center pt-2 pb-1", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
13225
14488
  SidebarTrigger,
13226
14489
  {
13227
14490
  variant: "ghost",
@@ -13230,37 +14493,37 @@ function AppSidebar() {
13230
14493
  }
13231
14494
  ) })
13232
14495
  ] }),
13233
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(SidebarContent, { children: sidebarData2.navGroups.map((props) => /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(NavGroup, { ...props }, props.title)) }),
13234
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(SidebarFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(NavUser, { user: sidebarData2.user }) })
14496
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(SidebarContent, { children: sidebarData2.navGroups.map((props) => /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(NavGroup, { ...props }, props.title)) }),
14497
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(SidebarFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(NavUser, { user: sidebarData2.user }) })
13235
14498
  ] });
13236
14499
  }
13237
14500
 
13238
14501
  // src/design-system/templates/app-title.tsx
13239
14502
  var import_link2 = __toESM(require("next/link"));
13240
- var import_lucide_react57 = require("lucide-react");
13241
- var import_jsx_runtime113 = require("react/jsx-runtime");
14503
+ var import_lucide_react62 = require("lucide-react");
14504
+ var import_jsx_runtime118 = require("react/jsx-runtime");
13242
14505
  function AppTitle() {
13243
14506
  const { setOpenMobile } = useSidebar();
13244
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
14507
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
13245
14508
  SidebarMenuButton,
13246
14509
  {
13247
14510
  size: "lg",
13248
14511
  className: "gap-0 py-0 hover:bg-transparent active:bg-transparent",
13249
14512
  asChild: true,
13250
- children: /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { children: [
13251
- /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
14513
+ children: /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { children: [
14514
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
13252
14515
  import_link2.default,
13253
14516
  {
13254
14517
  href: "/",
13255
14518
  onClick: () => setOpenMobile(false),
13256
14519
  className: "grid flex-1 text-start text-sm leading-tight",
13257
14520
  children: [
13258
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("span", { className: "truncate font-bold", children: "Shadcn-Admin" }),
13259
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("span", { className: "truncate text-xs", children: "Vite + ShadcnUI" })
14521
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "truncate font-bold", children: "Shadcn-Admin" }),
14522
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "truncate text-xs", children: "Vite + ShadcnUI" })
13260
14523
  ]
13261
14524
  }
13262
14525
  ),
13263
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(ToggleSidebar, {})
14526
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(ToggleSidebar, {})
13264
14527
  ] })
13265
14528
  }
13266
14529
  ) }) });
@@ -13271,7 +14534,7 @@ function ToggleSidebar({
13271
14534
  ...props
13272
14535
  }) {
13273
14536
  const { toggleSidebar } = useSidebar();
13274
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
14537
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
13275
14538
  Button,
13276
14539
  {
13277
14540
  "data-sidebar": "trigger",
@@ -13285,31 +14548,31 @@ function ToggleSidebar({
13285
14548
  },
13286
14549
  ...props,
13287
14550
  children: [
13288
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_lucide_react57.X, { className: "md:hidden" }),
13289
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_lucide_react57.Menu, { className: "max-md:hidden" }),
13290
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
14551
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.X, { className: "md:hidden" }),
14552
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.Menu, { className: "max-md:hidden" }),
14553
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
13291
14554
  ]
13292
14555
  }
13293
14556
  );
13294
14557
  }
13295
14558
 
13296
14559
  // src/design-system/templates/authenticated-layout.tsx
13297
- var import_react23 = require("react");
14560
+ var import_react25 = require("react");
13298
14561
  var import_navigation6 = require("next/navigation");
13299
14562
 
13300
14563
  // src/components/layout/app-sidebar.tsx
13301
- var import_react22 = require("react");
14564
+ var import_react24 = require("react");
13302
14565
 
13303
14566
  // src/components/layout/nav-group.tsx
13304
14567
  var import_link3 = __toESM(require("next/link"));
13305
14568
  var import_navigation4 = require("next/navigation");
13306
- var import_lucide_react58 = require("lucide-react");
13307
- var import_jsx_runtime114 = require("react/jsx-runtime");
14569
+ var import_lucide_react63 = require("lucide-react");
14570
+ var import_jsx_runtime119 = require("react/jsx-runtime");
13308
14571
  function NavGroup2({ title, items }) {
13309
14572
  const { state, isMobile, openMobile, setOpenMobile } = useSidebar();
13310
14573
  const href = (0, import_navigation4.usePathname)();
13311
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
13312
- /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
14574
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(SidebarGroup, { className: cn(title === "Menu" && "pt-0"), children: [
14575
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
13313
14576
  SidebarGroupLabel,
13314
14577
  {
13315
14578
  className: cn(
@@ -13317,8 +14580,8 @@ function NavGroup2({ title, items }) {
13317
14580
  title === "Menu" && state !== "collapsed" && "sticky top-0 z-20 bg-sidebar py-1.5"
13318
14581
  ),
13319
14582
  children: [
13320
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { children: title }),
13321
- title === "Menu" && !isMobile && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
14583
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { children: title }),
14584
+ title === "Menu" && !isMobile && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
13322
14585
  SidebarTrigger,
13323
14586
  {
13324
14587
  variant: "ghost",
@@ -13326,7 +14589,7 @@ function NavGroup2({ title, items }) {
13326
14589
  "aria-label": "Toggle sidebar"
13327
14590
  }
13328
14591
  ),
13329
- title === "Menu" && isMobile && openMobile && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
14592
+ title === "Menu" && isMobile && openMobile && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
13330
14593
  Button,
13331
14594
  {
13332
14595
  type: "button",
@@ -13335,37 +14598,37 @@ function NavGroup2({ title, items }) {
13335
14598
  className: "size-6 shrink-0",
13336
14599
  "aria-label": "Close sidebar",
13337
14600
  onClick: () => setOpenMobile(false),
13338
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_lucide_react58.X, { className: "size-4", "aria-hidden": "true" })
14601
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react63.X, { className: "size-4", "aria-hidden": "true" })
13339
14602
  }
13340
14603
  )
13341
14604
  ]
13342
14605
  }
13343
14606
  ),
13344
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenu, { children: items.map((item) => {
14607
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenu, { children: items.map((item) => {
13345
14608
  const key = `${item.title}-${item.url}`;
13346
14609
  if (!item.items)
13347
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuLink2, { item, href }, key);
14610
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuLink2, { item, href }, key);
13348
14611
  if (item.title === "Settings" && item.items.length === 0)
13349
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuSettings2, { item }, key);
14612
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuSettings2, { item }, key);
13350
14613
  if (state === "collapsed" && !isMobile)
13351
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuCollapsedDropdown2, { item, href }, key);
13352
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuCollapsible2, { item, href }, key);
14614
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuCollapsedDropdown2, { item, href }, key);
14615
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuCollapsible2, { item, href }, key);
13353
14616
  }) })
13354
14617
  ] });
13355
14618
  }
13356
14619
  function NavBadge2({ children }) {
13357
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
14620
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(Badge, { className: "rounded-full px-1 py-0 text-xs", children });
13358
14621
  }
13359
14622
  function SidebarMenuLink2({ item, href }) {
13360
14623
  const { setOpenMobile } = useSidebar();
13361
14624
  const { setShowInlineNotFound } = useLayout();
13362
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
14625
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
13363
14626
  SidebarMenuButton,
13364
14627
  {
13365
14628
  asChild: true,
13366
14629
  isActive: checkIsActive2(href, item),
13367
14630
  tooltip: item.title,
13368
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
14631
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
13369
14632
  import_link3.default,
13370
14633
  {
13371
14634
  href: item.url,
@@ -13374,9 +14637,9 @@ function SidebarMenuLink2({ item, href }) {
13374
14637
  setOpenMobile(false);
13375
14638
  },
13376
14639
  children: [
13377
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(item.icon, {}),
13378
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { children: item.title }),
13379
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(NavBadge2, { children: item.badge })
14640
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(item.icon, {}),
14641
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { children: item.title }),
14642
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(NavBadge2, { children: item.badge })
13380
14643
  ]
13381
14644
  }
13382
14645
  )
@@ -13386,7 +14649,7 @@ function SidebarMenuLink2({ item, href }) {
13386
14649
  function SidebarMenuSettings2({ item }) {
13387
14650
  const { setOpenMobile } = useSidebar();
13388
14651
  const { showInlineNotFound, setShowInlineNotFound } = useLayout();
13389
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
14652
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
13390
14653
  SidebarMenuButton,
13391
14654
  {
13392
14655
  tooltip: item.title,
@@ -13396,8 +14659,8 @@ function SidebarMenuSettings2({ item }) {
13396
14659
  setOpenMobile(false);
13397
14660
  },
13398
14661
  children: [
13399
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(item.icon, {}),
13400
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { children: item.title })
14662
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(item.icon, {}),
14663
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { children: item.title })
13401
14664
  ]
13402
14665
  }
13403
14666
  ) });
@@ -13408,25 +14671,25 @@ function SidebarMenuCollapsible2({
13408
14671
  }) {
13409
14672
  const { setOpenMobile } = useSidebar();
13410
14673
  const { setShowInlineNotFound } = useLayout();
13411
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
14674
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
13412
14675
  Collapsible,
13413
14676
  {
13414
14677
  asChild: true,
13415
14678
  defaultOpen: checkIsActive2(href, item, true),
13416
14679
  className: "group/collapsible",
13417
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(SidebarMenuItem, { children: [
13418
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(SidebarMenuButton, { tooltip: item.title, children: [
13419
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(item.icon, {}),
13420
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { children: item.title }),
13421
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(NavBadge2, { children: item.badge }),
13422
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_lucide_react58.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
14680
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(SidebarMenuItem, { children: [
14681
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(SidebarMenuButton, { tooltip: item.title, children: [
14682
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(item.icon, {}),
14683
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { children: item.title }),
14684
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(NavBadge2, { children: item.badge }),
14685
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react63.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180" })
13423
14686
  ] }) }),
13424
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuSubItem, { children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
14687
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(CollapsibleContent, { className: "CollapsibleContent", children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuSub, { children: item.items.map((subItem) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuSubItem, { children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
13425
14688
  SidebarMenuSubButton,
13426
14689
  {
13427
14690
  asChild: true,
13428
14691
  isActive: checkIsActive2(href, subItem),
13429
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
14692
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
13430
14693
  import_link3.default,
13431
14694
  {
13432
14695
  href: subItem.url,
@@ -13435,9 +14698,9 @@ function SidebarMenuCollapsible2({
13435
14698
  setOpenMobile(false);
13436
14699
  },
13437
14700
  children: [
13438
- subItem.icon && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(subItem.icon, {}),
13439
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { children: subItem.title }),
13440
- subItem.badge && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(NavBadge2, { children: subItem.badge })
14701
+ subItem.icon && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(subItem.icon, {}),
14702
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { children: subItem.title }),
14703
+ subItem.badge && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(NavBadge2, { children: subItem.badge })
13441
14704
  ]
13442
14705
  }
13443
14706
  )
@@ -13451,36 +14714,36 @@ function SidebarMenuCollapsedDropdown2({
13451
14714
  item,
13452
14715
  href
13453
14716
  }) {
13454
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(DropdownMenu, { children: [
13455
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
14717
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(DropdownMenu, { children: [
14718
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
13456
14719
  SidebarMenuButton,
13457
14720
  {
13458
14721
  tooltip: item.title,
13459
14722
  isActive: checkIsActive2(href, item),
13460
14723
  children: [
13461
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(item.icon, {}),
13462
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { children: item.title }),
13463
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(NavBadge2, { children: item.badge }),
13464
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_lucide_react58.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
14724
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(item.icon, {}),
14725
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { children: item.title }),
14726
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(NavBadge2, { children: item.badge }),
14727
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react63.ChevronRight, { className: "ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })
13465
14728
  ]
13466
14729
  }
13467
14730
  ) }),
13468
- /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
13469
- /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(DropdownMenuLabel, { children: [
14731
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(DropdownMenuContent, { side: "right", align: "start", sideOffset: 4, children: [
14732
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(DropdownMenuLabel, { children: [
13470
14733
  item.title,
13471
14734
  " ",
13472
14735
  item.badge ? `(${item.badge})` : ""
13473
14736
  ] }),
13474
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(DropdownMenuSeparator, {}),
13475
- item.items.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
14737
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(DropdownMenuSeparator, {}),
14738
+ item.items.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
13476
14739
  import_link3.default,
13477
14740
  {
13478
14741
  href: sub.url,
13479
14742
  className: `${checkIsActive2(href, sub) ? "bg-secondary" : ""}`,
13480
14743
  children: [
13481
- sub.icon && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(sub.icon, {}),
13482
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { className: "max-w-52 text-wrap", children: sub.title }),
13483
- sub.badge && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { className: "ms-auto text-xs", children: sub.badge })
14744
+ sub.icon && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(sub.icon, {}),
14745
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { className: "max-w-52 text-wrap", children: sub.title }),
14746
+ sub.badge && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { className: "ms-auto text-xs", children: sub.badge })
13484
14747
  ]
13485
14748
  }
13486
14749
  ) }, `${sub.title}-${sub.url}`))
@@ -13495,9 +14758,9 @@ function checkIsActive2(href, item, mainNav = false) {
13495
14758
  }
13496
14759
 
13497
14760
  // src/components/layout/nav-user.tsx
13498
- var import_lucide_react59 = require("lucide-react");
14761
+ var import_lucide_react64 = require("lucide-react");
13499
14762
  var import_link4 = __toESM(require("next/link"));
13500
- var import_jsx_runtime115 = require("react/jsx-runtime");
14763
+ var import_jsx_runtime120 = require("react/jsx-runtime");
13501
14764
  function NavUser2({ user: fallbackUser }) {
13502
14765
  const { isMobile } = useSidebar();
13503
14766
  const [open, setOpen] = useDialogState();
@@ -13507,28 +14770,28 @@ function NavUser2({ user: fallbackUser }) {
13507
14770
  const userEmail = auth.user?.email || fallbackUser.email;
13508
14771
  const userAvatar = auth.user?.picture || fallbackUser.avatar;
13509
14772
  const userInitials = userName.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
13510
- return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(import_jsx_runtime115.Fragment, { children: [
13511
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenu, { modal: false, children: [
13512
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
14773
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_jsx_runtime120.Fragment, { children: [
14774
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenu, { modal: false, children: [
14775
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
13513
14776
  SidebarMenuButton,
13514
14777
  {
13515
14778
  size: "lg",
13516
14779
  tooltip: userName,
13517
14780
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
13518
14781
  children: [
13519
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
13520
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
13521
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
14782
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14783
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
14784
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
13522
14785
  ] }),
13523
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13524
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { className: "truncate font-semibold", children: userName }),
13525
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14786
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14787
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "truncate font-semibold", children: userName }),
14788
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
13526
14789
  ] }),
13527
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.ChevronsUpDown, { className: "ml-auto size-4 shrink-0" })
14790
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.ChevronsUpDown, { className: "ml-auto size-4 shrink-0" })
13528
14791
  ]
13529
14792
  }
13530
14793
  ) }),
13531
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
14794
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
13532
14795
  DropdownMenuContent,
13533
14796
  {
13534
14797
  className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
@@ -13536,59 +14799,59 @@ function NavUser2({ user: fallbackUser }) {
13536
14799
  align: "end",
13537
14800
  sideOffset: 4,
13538
14801
  children: [
13539
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
13540
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
13541
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
13542
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
14802
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "flex items-center gap-2 px-1 py-1.5 text-start text-sm", children: [
14803
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Avatar, { className: "h-8 w-8 rounded-lg", children: [
14804
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(AvatarImage, { src: userAvatar, alt: userName }),
14805
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(AvatarFallback, { className: "rounded-lg", children: userInitials })
13543
14806
  ] }),
13544
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
13545
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { className: "truncate font-semibold", children: userName }),
13546
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
14807
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "grid flex-1 text-start text-sm leading-tight", children: [
14808
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "truncate font-semibold", children: userName }),
14809
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "truncate text-xs text-muted-foreground", children: userEmail })
13547
14810
  ] })
13548
14811
  ] }) }),
13549
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(DropdownMenuSeparator, {}),
13550
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13551
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.User, { className: "mr-2 h-4 w-4" }),
14812
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenuSeparator, {}),
14813
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14814
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.User, { className: "mr-2 h-4 w-4" }),
13552
14815
  "My Profile"
13553
14816
  ] }),
13554
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13555
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.Bell, { className: "mr-2 h-4 w-4" }),
14817
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14818
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.Bell, { className: "mr-2 h-4 w-4" }),
13556
14819
  "Notifications"
13557
14820
  ] }),
13558
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13559
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.MessageCircle, { className: "mr-2 h-4 w-4" }),
14821
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14822
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.MessageCircle, { className: "mr-2 h-4 w-4" }),
13560
14823
  "Help & Support"
13561
14824
  ] }),
13562
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(DropdownMenuSeparator, {}),
13563
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13564
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.CreditCard, { className: "mr-2 h-4 w-4" }),
14825
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenuSeparator, {}),
14826
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14827
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.CreditCard, { className: "mr-2 h-4 w-4" }),
13565
14828
  "Subscriptions"
13566
14829
  ] }),
13567
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(import_link4.default, { href: "/apps", children: [
13568
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.ShoppingBag, { className: "mr-2 h-4 w-4" }),
14830
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_link4.default, { href: "/apps", children: [
14831
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.ShoppingBag, { className: "mr-2 h-4 w-4" }),
13569
14832
  "Buy Apps"
13570
14833
  ] }) }),
13571
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
14834
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
13572
14835
  ConfigDrawer,
13573
14836
  {
13574
- trigger: /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
13575
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.Palette, { className: "mr-2 h-4 w-4" }),
14837
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenuItem, { onSelect: (e) => e.preventDefault(), children: [
14838
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.Palette, { className: "mr-2 h-4 w-4" }),
13576
14839
  "Theme Settings"
13577
14840
  ] })
13578
14841
  }
13579
14842
  ),
13580
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
13581
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.Settings, { className: "mr-2 h-4 w-4" }),
14843
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(DropdownMenuItem, { onClick: () => setShowInlineNotFound(true), children: [
14844
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.Settings, { className: "mr-2 h-4 w-4" }),
13582
14845
  "Settings"
13583
14846
  ] }),
13584
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(DropdownMenuSeparator, {}),
13585
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
14847
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenuSeparator, {}),
14848
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
13586
14849
  DropdownMenuItem,
13587
14850
  {
13588
14851
  variant: "destructive",
13589
14852
  onClick: () => setOpen(true),
13590
14853
  children: [
13591
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react59.LogOut, { className: "mr-2 h-4 w-4" }),
14854
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.LogOut, { className: "mr-2 h-4 w-4" }),
13592
14855
  "Sign out"
13593
14856
  ]
13594
14857
  }
@@ -13597,12 +14860,12 @@ function NavUser2({ user: fallbackUser }) {
13597
14860
  }
13598
14861
  )
13599
14862
  ] }) }) }),
13600
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SignOutDialog, { open: !!open, onOpenChange: setOpen })
14863
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(SignOutDialog, { open: !!open, onOpenChange: setOpen })
13601
14864
  ] });
13602
14865
  }
13603
14866
 
13604
14867
  // src/components/layout/app-sidebar.tsx
13605
- var import_jsx_runtime116 = (
14868
+ var import_jsx_runtime121 = (
13606
14869
  // Sidebar ko fixed "sidebar" variant par lock kiya gaya hai (floating remove).
13607
14870
  require("react/jsx-runtime")
13608
14871
  );
@@ -13610,7 +14873,7 @@ function AppSidebar2() {
13610
14873
  const { collapsible } = useLayout();
13611
14874
  const currentUser = useAuthStore((state) => state.auth.user);
13612
14875
  const { unreadCount, fetchNotifications, subscribeToNotifications, unsubscribe } = useNotificationStore();
13613
- (0, import_react22.useEffect)(() => {
14876
+ (0, import_react24.useEffect)(() => {
13614
14877
  if (currentUser) {
13615
14878
  fetchNotifications(currentUser.accountNo);
13616
14879
  subscribeToNotifications(currentUser.accountNo);
@@ -13634,9 +14897,9 @@ function AppSidebar2() {
13634
14897
  })
13635
14898
  }))
13636
14899
  };
13637
- return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(Sidebar, { collapsible, variant: "sidebar", children: [
13638
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SidebarHeader, { className: "pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TeamSwitcher, { teams: dynamicSidebarData.teams }) }),
13639
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("div", { className: "hidden group-data-[state=collapsed]:flex justify-center py-2", children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
14900
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(Sidebar, { collapsible, variant: "sidebar", children: [
14901
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(SidebarHeader, { className: "pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(TeamSwitcher, { teams: dynamicSidebarData.teams }) }),
14902
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "hidden group-data-[state=collapsed]:flex justify-center py-2", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
13640
14903
  SidebarTrigger,
13641
14904
  {
13642
14905
  variant: "ghost",
@@ -13644,15 +14907,15 @@ function AppSidebar2() {
13644
14907
  "aria-label": "Toggle sidebar"
13645
14908
  }
13646
14909
  ) }),
13647
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SidebarContent, { children: dynamicSidebarData.navGroups.map((props) => /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(NavGroup2, { ...props }, props.title)) }),
13648
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SidebarFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(NavUser2, { user: dynamicSidebarData.user }) })
14910
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(SidebarContent, { children: dynamicSidebarData.navGroups.map((props) => /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(NavGroup2, { ...props }, props.title)) }),
14911
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(SidebarFooter, { children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(NavUser2, { user: dynamicSidebarData.user }) })
13649
14912
  ] });
13650
14913
  }
13651
14914
 
13652
14915
  // src/components/skip-to-main.tsx
13653
- var import_jsx_runtime117 = require("react/jsx-runtime");
14916
+ var import_jsx_runtime122 = require("react/jsx-runtime");
13654
14917
  function SkipToMain() {
13655
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
14918
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
13656
14919
  "a",
13657
14920
  {
13658
14921
  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`,
@@ -13664,7 +14927,7 @@ function SkipToMain() {
13664
14927
 
13665
14928
  // src/features/errors/not-found-error.tsx
13666
14929
  var import_navigation5 = require("next/navigation");
13667
- var import_jsx_runtime118 = require("react/jsx-runtime");
14930
+ var import_jsx_runtime123 = require("react/jsx-runtime");
13668
14931
  function NotFoundError({
13669
14932
  className,
13670
14933
  embedded = false,
@@ -13682,8 +14945,8 @@ function NotFoundError({
13682
14945
  if (onDismiss) onDismiss();
13683
14946
  router.push("/");
13684
14947
  };
13685
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: cn(embedded ? "min-h-96 w-full py-8" : "h-svh", className), children: /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "m-auto flex h-full w-full flex-col items-center justify-center gap-2", children: [
13686
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
14948
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: cn(embedded ? "min-h-96 w-full py-8" : "h-svh", className), children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "m-auto flex h-full w-full flex-col items-center justify-center gap-2", children: [
14949
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
13687
14950
  "h1",
13688
14951
  {
13689
14952
  className: cn(
@@ -13693,31 +14956,31 @@ function NotFoundError({
13693
14956
  children: "404"
13694
14957
  }
13695
14958
  ),
13696
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "font-medium", children: "Oops! Page Not Found :-(!" }),
13697
- /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("p", { className: "text-center text-muted-foreground", children: [
14959
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "font-medium", children: "Oops! Page Not Found :-(!" }),
14960
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("p", { className: "text-center text-muted-foreground", children: [
13698
14961
  "It seems like the page you're looking for ",
13699
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("br", {}),
14962
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("br", {}),
13700
14963
  "does not exist or might have been removed."
13701
14964
  ] }),
13702
- /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "mt-6 flex gap-4", children: [
13703
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Button, { variant: "outline", onClick: handleGoBack, children: "Go Back" }),
13704
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Button, { onClick: handleGoHome, children: "Back to Home" })
14965
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "mt-6 flex gap-4", children: [
14966
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Button, { variant: "outline", onClick: handleGoBack, children: "Go Back" }),
14967
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Button, { onClick: handleGoHome, children: "Back to Home" })
13705
14968
  ] })
13706
14969
  ] }) });
13707
14970
  }
13708
14971
 
13709
14972
  // src/design-system/templates/authenticated-layout.tsx
13710
- var import_jsx_runtime119 = require("react/jsx-runtime");
14973
+ var import_jsx_runtime124 = require("react/jsx-runtime");
13711
14974
  function AuthenticatedLayoutContent({ children }) {
13712
14975
  const { showInlineNotFound, setShowInlineNotFound } = useLayout();
13713
14976
  const pathname = (0, import_navigation6.usePathname)();
13714
- (0, import_react23.useEffect)(() => {
14977
+ (0, import_react25.useEffect)(() => {
13715
14978
  setShowInlineNotFound(false);
13716
14979
  }, [pathname, setShowInlineNotFound]);
13717
- return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(import_jsx_runtime119.Fragment, { children: [
13718
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SkipToMain, {}),
13719
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(AppSidebar2, {}),
13720
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
14980
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
14981
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(SkipToMain, {}),
14982
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(AppSidebar2, {}),
14983
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
13721
14984
  SidebarInset,
13722
14985
  {
13723
14986
  className: cn(
@@ -13725,7 +14988,7 @@ function AuthenticatedLayoutContent({ children }) {
13725
14988
  "has-[[data-layout=fixed]]:h-svh has-data-[layout=fixed]:h-svh",
13726
14989
  "peer-data-[variant=inset]:has-data-[layout=fixed]:h-[calc(100svh-(var(--spacing)*4))]"
13727
14990
  ),
13728
- children: showInlineNotFound ? /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
14991
+ children: showInlineNotFound ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
13729
14992
  NotFoundError,
13730
14993
  {
13731
14994
  embedded: true,
@@ -13737,24 +15000,24 @@ function AuthenticatedLayoutContent({ children }) {
13737
15000
  ] });
13738
15001
  }
13739
15002
  function AuthenticatedLayout({ children }) {
13740
- const [defaultOpen, setDefaultOpen] = (0, import_react23.useState)(true);
13741
- const [isMounted, setIsMounted] = (0, import_react23.useState)(false);
13742
- (0, import_react23.useEffect)(() => {
15003
+ const [defaultOpen, setDefaultOpen] = (0, import_react25.useState)(true);
15004
+ const [isMounted, setIsMounted] = (0, import_react25.useState)(false);
15005
+ (0, import_react25.useEffect)(() => {
13743
15006
  setDefaultOpen(getCookie("sidebar_state") !== "false");
13744
15007
  setIsMounted(true);
13745
15008
  }, []);
13746
15009
  if (!isMounted) {
13747
15010
  return null;
13748
15011
  }
13749
- return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SearchProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(LayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SidebarProvider, { defaultOpen, children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(AuthenticatedLayoutContent, { children }) }) }) });
15012
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(SearchProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(LayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(SidebarProvider, { defaultOpen, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(AuthenticatedLayoutContent, { children }) }) }) });
13750
15013
  }
13751
15014
 
13752
15015
  // src/design-system/templates/header.tsx
13753
- var import_react24 = require("react");
13754
- var import_jsx_runtime120 = require("react/jsx-runtime");
15016
+ var import_react26 = require("react");
15017
+ var import_jsx_runtime125 = require("react/jsx-runtime");
13755
15018
  function Header2({ className, fixed, children, ...props }) {
13756
- const [offset, setOffset] = (0, import_react24.useState)(0);
13757
- (0, import_react24.useEffect)(() => {
15019
+ const [offset, setOffset] = (0, import_react26.useState)(0);
15020
+ (0, import_react26.useEffect)(() => {
13758
15021
  const onScroll = () => {
13759
15022
  setOffset(document.body.scrollTop || document.documentElement.scrollTop);
13760
15023
  };
@@ -13763,7 +15026,7 @@ function Header2({ className, fixed, children, ...props }) {
13763
15026
  }, []);
13764
15027
  return (
13765
15028
  // Page header container: fixed mode me top par sticky behavior deta hai.
13766
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
15029
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
13767
15030
  "header",
13768
15031
  {
13769
15032
  className: cn(
@@ -13773,7 +15036,7 @@ function Header2({ className, fixed, children, ...props }) {
13773
15036
  className
13774
15037
  ),
13775
15038
  ...props,
13776
- children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
15039
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
13777
15040
  "div",
13778
15041
  {
13779
15042
  className: cn(
@@ -13782,7 +15045,7 @@ function Header2({ className, fixed, children, ...props }) {
13782
15045
  offset > 10 && fixed && "after:absolute after:inset-0 after:-z-10 after:bg-background/20 after:backdrop-blur-lg"
13783
15046
  ),
13784
15047
  children: [
13785
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(AppLogo, { className: "shrink-0 md:hidden" }),
15048
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(AppLogo, { className: "shrink-0 md:hidden" }),
13786
15049
  children
13787
15050
  ]
13788
15051
  }
@@ -13793,9 +15056,9 @@ function Header2({ className, fixed, children, ...props }) {
13793
15056
  }
13794
15057
 
13795
15058
  // src/design-system/templates/main.tsx
13796
- var import_jsx_runtime121 = require("react/jsx-runtime");
15059
+ var import_jsx_runtime126 = require("react/jsx-runtime");
13797
15060
  function Main({ fixed, className, fluid, ...props }) {
13798
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
15061
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
13799
15062
  "main",
13800
15063
  {
13801
15064
  "data-layout": fixed ? "fixed" : "auto",
@@ -13813,21 +15076,21 @@ function Main({ fixed, className, fluid, ...props }) {
13813
15076
  }
13814
15077
 
13815
15078
  // src/design-system/templates/sidebar-search.tsx
13816
- var import_lucide_react60 = require("lucide-react");
13817
- var import_jsx_runtime122 = require("react/jsx-runtime");
15079
+ var import_lucide_react65 = require("lucide-react");
15080
+ var import_jsx_runtime127 = require("react/jsx-runtime");
13818
15081
  function SidebarSearch() {
13819
15082
  const { setOpen } = useSearch();
13820
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
15083
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SidebarMenu, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SidebarMenuItem, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
13821
15084
  SidebarMenuButton,
13822
15085
  {
13823
15086
  onClick: () => setOpen(true),
13824
15087
  tooltip: "Search (\u2318K)",
13825
15088
  className: "bg-sidebar-accent/50 hover:bg-sidebar-accent border border-sidebar-border/60 text-muted-foreground hover:text-foreground",
13826
15089
  children: [
13827
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react60.SearchIcon, { className: "size-4 shrink-0" }),
13828
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "flex-1 text-left text-xs font-normal group-data-[collapsible=icon]:hidden", children: "Search..." }),
13829
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("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: [
13830
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[10px]", children: "\u2318" }),
15090
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_lucide_react65.SearchIcon, { className: "size-4 shrink-0" }),
15091
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "flex-1 text-left text-xs font-normal group-data-[collapsible=icon]:hidden", children: "Search..." }),
15092
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("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: [
15093
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-[10px]", children: "\u2318" }),
13831
15094
  "K"
13832
15095
  ] })
13833
15096
  ]
@@ -13837,8 +15100,8 @@ function SidebarSearch() {
13837
15100
 
13838
15101
  // src/design-system/templates/top-nav.tsx
13839
15102
  var import_link5 = __toESM(require("next/link"));
13840
- var import_lucide_react61 = require("lucide-react");
13841
- var import_jsx_runtime123 = require("react/jsx-runtime");
15103
+ var import_lucide_react66 = require("lucide-react");
15104
+ var import_jsx_runtime128 = require("react/jsx-runtime");
13842
15105
  function TopNav({ className, links, ...props }) {
13843
15106
  const renderLink = ({
13844
15107
  title,
@@ -13849,7 +15112,7 @@ function TopNav({ className, links, ...props }) {
13849
15112
  }) => {
13850
15113
  const className2 = `text-sm font-medium transition-colors hover:text-primary ${isActive ? "" : "text-muted-foreground"}`;
13851
15114
  if (onClick) {
13852
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
15115
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
13853
15116
  "button",
13854
15117
  {
13855
15118
  type: "button",
@@ -13861,7 +15124,7 @@ function TopNav({ className, links, ...props }) {
13861
15124
  title
13862
15125
  );
13863
15126
  }
13864
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
15127
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
13865
15128
  import_link5.default,
13866
15129
  {
13867
15130
  href,
@@ -13872,9 +15135,9 @@ function TopNav({ className, links, ...props }) {
13872
15135
  title
13873
15136
  );
13874
15137
  };
13875
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
13876
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(DropdownMenu, { modal: false, children: [
13877
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
15138
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
15139
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(DropdownMenu, { modal: false, children: [
15140
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
13878
15141
  Button,
13879
15142
  {
13880
15143
  size: "icon",
@@ -13884,18 +15147,18 @@ function TopNav({ className, links, ...props }) {
13884
15147
  className
13885
15148
  ),
13886
15149
  children: [
13887
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_lucide_react61.Menu, {}),
13888
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "sr-only", children: "Toggle navigation menu" })
15150
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_lucide_react66.Menu, {}),
15151
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "sr-only", children: "Toggle navigation menu" })
13889
15152
  ]
13890
15153
  }
13891
15154
  ) }),
13892
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(DropdownMenuContent, { side: "bottom", align: "start", children: links.map((link) => /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
15155
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(DropdownMenuContent, { side: "bottom", align: "start", children: links.map((link) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
13893
15156
  DropdownMenuItem,
13894
15157
  {
13895
15158
  disabled: link.disabled,
13896
15159
  onClick: link.onClick,
13897
15160
  asChild: !link.onClick,
13898
- children: link.onClick ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: !link.isActive ? "text-muted-foreground" : "", children: link.title }) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
15161
+ children: link.onClick ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: !link.isActive ? "text-muted-foreground" : "", children: link.title }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
13899
15162
  import_link5.default,
13900
15163
  {
13901
15164
  href: link.href,
@@ -13908,7 +15171,7 @@ function TopNav({ className, links, ...props }) {
13908
15171
  link.title
13909
15172
  )) })
13910
15173
  ] }),
13911
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
15174
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
13912
15175
  "nav",
13913
15176
  {
13914
15177
  className: cn(
@@ -14091,7 +15354,10 @@ function TopNav({ className, links, ...props }) {
14091
15354
  FieldSeparator,
14092
15355
  FieldSet,
14093
15356
  FieldTitle,
15357
+ FileCardItem,
15358
+ FileUploadForm,
14094
15359
  FilterBar,
15360
+ FolderTreeItem,
14095
15361
  Form,
14096
15362
  FormControl,
14097
15363
  FormDescription,
@@ -14244,6 +15510,7 @@ function TopNav({ className, links, ...props }) {
14244
15510
  Spinner,
14245
15511
  Stats01,
14246
15512
  StatusBadge,
15513
+ StorageStatCard,
14247
15514
  Switch,
14248
15515
  Table,
14249
15516
  TableBody,
@@ -14271,12 +15538,16 @@ function TopNav({ className, links, ...props }) {
14271
15538
  TooltipTrigger,
14272
15539
  TopNav,
14273
15540
  TypingIndicator,
15541
+ UserFileCardsView,
14274
15542
  WizardTemplate,
14275
15543
  WorkspaceTemplate,
14276
15544
  badgeVariants,
14277
15545
  buttonGroupVariants,
14278
15546
  buttonVariants,
14279
15547
  downloadQrCode,
15548
+ formatBytes,
15549
+ formatTimeAgo,
15550
+ getFileCategoryTheme,
14280
15551
  navigationMenuTriggerStyle,
14281
15552
  sidebarData,
14282
15553
  statusBadgeVariants,