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