@unciatech/file-manager 0.0.26 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3209,7 +3209,7 @@ function VideoCardMetadata({ file }) {
3209
3209
 
3210
3210
  // components/cards/audio-card.tsx
3211
3211
  import { jsx as jsx53, jsxs as jsxs37 } from "react/jsx-runtime";
3212
- function AudioCard({ className }) {
3212
+ function AudioCard({ file, className }) {
3213
3213
  return /* @__PURE__ */ jsx53("div", { className: "w-full h-full flex items-center justify-center bg-transparent", children: /* @__PURE__ */ jsx53("div", { className: "text-center", children: /* @__PURE__ */ jsx53("div", { className: "text-4xl", children: /* @__PURE__ */ jsx53(Icons, { type: "audio", className }) }) }) });
3214
3214
  }
3215
3215
  function AudioCardMetadata({ file }) {
@@ -3336,9 +3336,12 @@ function UploadModal() {
3336
3336
  const newUploadItems = newFiles.map((file) => {
3337
3337
  const existingFile = uploadItems.find((existing) => existing.id === file.id);
3338
3338
  if (existingFile) {
3339
- return __spreadValues(__spreadValues({}, existingFile), file);
3339
+ return __spreadProps(__spreadValues(__spreadValues({}, existingFile), file), {
3340
+ file: file.file
3341
+ });
3340
3342
  } else {
3341
3343
  return __spreadProps(__spreadValues({}, file), {
3344
+ file: file.file,
3342
3345
  progress: 100,
3343
3346
  status: "completed"
3344
3347
  });
@@ -4093,61 +4096,8 @@ function MoveModal() {
4093
4096
  // components/modals/image-modal.tsx
4094
4097
  import { useState as useState10 } from "react";
4095
4098
 
4096
- // components/ui/scroll-area.tsx
4097
- import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
4098
- import { jsx as jsx61, jsxs as jsxs42 } from "react/jsx-runtime";
4099
- function ScrollArea(_a) {
4100
- var _b = _a, {
4101
- className,
4102
- viewportClassName,
4103
- children,
4104
- viewportRef
4105
- } = _b, props = __objRest(_b, [
4106
- "className",
4107
- "viewportClassName",
4108
- "children",
4109
- "viewportRef"
4110
- ]);
4111
- return /* @__PURE__ */ jsxs42(ScrollAreaPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "scroll-area", className: cn("relative overflow-hidden", className) }, props), { children: [
4112
- /* @__PURE__ */ jsx61(
4113
- ScrollAreaPrimitive.Viewport,
4114
- {
4115
- ref: viewportRef,
4116
- className: cn("h-full w-full rounded-[inherit]", viewportClassName),
4117
- children
4118
- }
4119
- ),
4120
- /* @__PURE__ */ jsx61(ScrollBar, {}),
4121
- /* @__PURE__ */ jsx61(ScrollAreaPrimitive.Corner, {})
4122
- ] }));
4123
- }
4124
- function ScrollBar(_a) {
4125
- var _b = _a, {
4126
- className,
4127
- orientation = "vertical"
4128
- } = _b, props = __objRest(_b, [
4129
- "className",
4130
- "orientation"
4131
- ]);
4132
- return /* @__PURE__ */ jsx61(
4133
- ScrollAreaPrimitive.ScrollAreaScrollbar,
4134
- __spreadProps(__spreadValues({
4135
- "data-slot": "scroll-area-scrollbar",
4136
- orientation,
4137
- className: cn(
4138
- "flex touch-none select-none transition-colors",
4139
- orientation === "vertical" && "h-full w-2 border-l border-l-transparent p-[1px]",
4140
- orientation === "horizontal" && "h-2 flex-col border-t border-t-transparent p-[1px]",
4141
- className
4142
- )
4143
- }, props), {
4144
- children: /* @__PURE__ */ jsx61(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
4145
- })
4146
- );
4147
- }
4148
-
4149
4099
  // components/file-details/details-layout.tsx
4150
- import { jsx as jsx62, jsxs as jsxs43 } from "react/jsx-runtime";
4100
+ import { jsx as jsx61, jsxs as jsxs42 } from "react/jsx-runtime";
4151
4101
  function DetailsLayout({
4152
4102
  title,
4153
4103
  open,
@@ -4156,26 +4106,34 @@ function DetailsLayout({
4156
4106
  metadataSection,
4157
4107
  footer
4158
4108
  }) {
4159
- return /* @__PURE__ */ jsx62(Dialog, { open, onOpenChange: (isOpen) => !isOpen && onClose(), children: /* @__PURE__ */ jsxs43(DialogContent, { className: "p-0 max-w-6xl w-full mx-auto flex flex-col min-h-fit my-auto", variant: "fullscreen", showCloseButton: false, children: [
4160
- /* @__PURE__ */ jsxs43(DialogHeader, { className: "pt-5 pb-3 m-0 border-b border-border", children: [
4161
- /* @__PURE__ */ jsx62(DialogTitle, { className: "px-6 text-base", children: /* @__PURE__ */ jsxs43("div", { className: "flex w-full justify-between gap-2", children: [
4162
- /* @__PURE__ */ jsx62("span", { children: title }),
4163
- /* @__PURE__ */ jsx62(CloseButton, { onClick: () => onClose() })
4164
- ] }) }),
4165
- /* @__PURE__ */ jsx62(DialogDescription, {})
4166
- ] }),
4167
- /* @__PURE__ */ jsx62(ScrollArea, { className: "flex-1 h-0", children: /* @__PURE__ */ jsxs43("div", { className: "grid grid-cols-1 lg:grid-cols-2 min-h-full", children: [
4168
- /* @__PURE__ */ jsx62("div", { className: "p-6 border-b lg:border-b-0 lg:border-r border-slate-200 dark:border-zinc-700", children: previewSection }),
4169
- /* @__PURE__ */ jsx62("div", { className: "p-6 overflow-y-auto ", children: metadataSection })
4170
- ] }) }),
4171
- /* @__PURE__ */ jsx62(DialogFooter, { className: "px-6 py-4 border-t border-border", children: footer })
4172
- ] }) });
4109
+ return /* @__PURE__ */ jsx61(Dialog, { open, onOpenChange: (isOpen) => !isOpen && onClose(), children: /* @__PURE__ */ jsxs42(
4110
+ DialogContent,
4111
+ {
4112
+ className: "p-0 max-w-6xl w-full m-auto h-[80vh] flex flex-col overflow-hidden",
4113
+ variant: "fullscreen",
4114
+ showCloseButton: false,
4115
+ children: [
4116
+ /* @__PURE__ */ jsxs42(DialogHeader, { className: "pt-5 pb-3 border-b border-border shrink-0", children: [
4117
+ /* @__PURE__ */ jsx61(DialogTitle, { className: "px-6 text-base", children: /* @__PURE__ */ jsxs42("div", { className: "flex w-full items-center justify-between gap-2", children: [
4118
+ /* @__PURE__ */ jsx61("span", { className: "truncate", children: title }),
4119
+ /* @__PURE__ */ jsx61(CloseButton, { onClick: onClose })
4120
+ ] }) }),
4121
+ /* @__PURE__ */ jsx61(DialogDescription, {})
4122
+ ] }),
4123
+ /* @__PURE__ */ jsx61("div", { className: "flex-1 min-h-0", children: /* @__PURE__ */ jsxs42("div", { className: "grid grid-cols-1 lg:grid-cols-2 h-full", children: [
4124
+ /* @__PURE__ */ jsx61("div", { className: "p-6 border-b lg:border-b-0 lg:border-r border-slate-200 dark:border-zinc-700 overflow-auto", children: previewSection }),
4125
+ /* @__PURE__ */ jsx61("div", { className: "p-6 overflow-auto", children: metadataSection })
4126
+ ] }) }),
4127
+ /* @__PURE__ */ jsx61(DialogFooter, { className: "px-6 py-4 border-t border-border shrink-0", children: footer })
4128
+ ]
4129
+ }
4130
+ ) });
4173
4131
  }
4174
4132
 
4175
4133
  // components/file-details/file-action-buttons.tsx
4176
4134
  import { toast as toast3 } from "sonner";
4177
4135
  import { useState as useState9 } from "react";
4178
- import { jsx as jsx63 } from "react/jsx-runtime";
4136
+ import { jsx as jsx62 } from "react/jsx-runtime";
4179
4137
  function FileDeleteButton({ file }) {
4180
4138
  const { provider, setFileDetailsModalFile, refreshData } = useFileManager();
4181
4139
  const [deleting, setDeleting] = useState9(false);
@@ -4193,7 +4151,7 @@ function FileDeleteButton({ file }) {
4193
4151
  setDeleting(false);
4194
4152
  }
4195
4153
  };
4196
- return /* @__PURE__ */ jsx63(
4154
+ return /* @__PURE__ */ jsx62(
4197
4155
  Button,
4198
4156
  {
4199
4157
  variant: "outline",
@@ -4203,7 +4161,7 @@ function FileDeleteButton({ file }) {
4203
4161
  className: "border border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 hover:text-red-600 dark:hover:text-red-400 hover:border-red-300 dark:hover:border-red-700 hover:bg-red-50 dark:hover:bg-red-900/40 active:scale-95 transition-all duration-200",
4204
4162
  onClick: handleDelete,
4205
4163
  disabled: deleting,
4206
- children: deleting ? /* @__PURE__ */ jsx63(Loader2Icon, { className: "size-5 animate-spin" }) : /* @__PURE__ */ jsx63(TrashIcon, { className: "size-5" })
4164
+ children: deleting ? /* @__PURE__ */ jsx62(Loader2Icon, { className: "size-5 animate-spin" }) : /* @__PURE__ */ jsx62(TrashIcon, { className: "size-5" })
4207
4165
  }
4208
4166
  );
4209
4167
  }
@@ -4225,7 +4183,7 @@ function FileDownloadButton({ file }) {
4225
4183
  setDownloading(false);
4226
4184
  }
4227
4185
  };
4228
- return /* @__PURE__ */ jsx63(
4186
+ return /* @__PURE__ */ jsx62(
4229
4187
  Button,
4230
4188
  {
4231
4189
  variant: "outline",
@@ -4235,7 +4193,7 @@ function FileDownloadButton({ file }) {
4235
4193
  className: "border border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 hover:text-blue-600 dark:hover:text-blue-400 hover:border-blue-300 dark:hover:border-blue-700 hover:bg-blue-50 dark:hover:bg-blue-900/40 active:scale-95 transition-all duration-200",
4236
4194
  title: "Download",
4237
4195
  disabled: downloading,
4238
- children: downloading ? /* @__PURE__ */ jsx63(Loader2Icon, { className: "size-5 animate-spin" }) : /* @__PURE__ */ jsx63(DownloadIcon, { className: "size-5", strokeWidth: 2.5 })
4196
+ children: downloading ? /* @__PURE__ */ jsx62(Loader2Icon, { className: "size-5 animate-spin" }) : /* @__PURE__ */ jsx62(DownloadIcon, { className: "size-5", strokeWidth: 2.5 })
4239
4197
  }
4240
4198
  );
4241
4199
  }
@@ -4253,7 +4211,7 @@ function FileCopyLinkButton({ file }) {
4253
4211
  toast3.error("Failed to copy link");
4254
4212
  }
4255
4213
  };
4256
- return /* @__PURE__ */ jsx63(
4214
+ return /* @__PURE__ */ jsx62(
4257
4215
  Button,
4258
4216
  {
4259
4217
  variant: "outline",
@@ -4264,12 +4222,12 @@ function FileCopyLinkButton({ file }) {
4264
4222
  ${copied ? "text-green-700 dark:text-green-400 border-green-400 dark:border-green-700 bg-green-100 dark:bg-green-900/40 font-bold" : "hover:text-orange-600 dark:hover:text-orange-400 hover:border-orange-300 dark:hover:border-orange-700 hover:bg-orange-50 dark:hover:bg-orange-900/40"}`,
4265
4223
  title: "Copy Link",
4266
4224
  disabled: copied,
4267
- children: copied ? /* @__PURE__ */ jsx63(CheckIcon, { className: "size-5 animate-in zoom-in duration-200", strokeWidth: 3 }) : /* @__PURE__ */ jsx63(LinkIcon, { className: "size-5", strokeWidth: 2.5 })
4225
+ children: copied ? /* @__PURE__ */ jsx62(CheckIcon, { className: "size-5 animate-in zoom-in duration-200", strokeWidth: 3 }) : /* @__PURE__ */ jsx62(LinkIcon, { className: "size-5", strokeWidth: 2.5 })
4268
4226
  }
4269
4227
  );
4270
4228
  }
4271
4229
  function FileFullscreenButton({ onFullscreen }) {
4272
- return /* @__PURE__ */ jsx63(
4230
+ return /* @__PURE__ */ jsx62(
4273
4231
  Button,
4274
4232
  {
4275
4233
  variant: "outline",
@@ -4278,14 +4236,14 @@ function FileFullscreenButton({ onFullscreen }) {
4278
4236
  onClick: onFullscreen,
4279
4237
  className: "border border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 hover:text-purple-600 dark:hover:text-purple-400 hover:border-purple-300 dark:hover:border-purple-700 hover:bg-purple-50 dark:hover:bg-purple-900/40 active:scale-95 transition-all duration-200",
4280
4238
  title: "Fullscreen",
4281
- children: /* @__PURE__ */ jsx63(FullscreenIcon, { className: "size-5", strokeWidth: 1 })
4239
+ children: /* @__PURE__ */ jsx62(FullscreenIcon, { className: "size-5", strokeWidth: 1 })
4282
4240
  }
4283
4241
  );
4284
4242
  }
4285
4243
 
4286
4244
  // components/ui/textarea.tsx
4287
4245
  import { cva as cva5 } from "class-variance-authority";
4288
- import { jsx as jsx64 } from "react/jsx-runtime";
4246
+ import { jsx as jsx63 } from "react/jsx-runtime";
4289
4247
  var textareaVariants = cva5(
4290
4248
  `
4291
4249
  w-full bg-background border border-input bg-background text-foreground shadow-xs shadow-black/5 transition-[color,box-shadow]
@@ -4314,13 +4272,13 @@ function Textarea(_a) {
4314
4272
  "className",
4315
4273
  "variant"
4316
4274
  ]);
4317
- return /* @__PURE__ */ jsx64("textarea", __spreadValues({ "data-slot": "textarea", className: cn(textareaVariants({ variant }), className) }, props));
4275
+ return /* @__PURE__ */ jsx63("textarea", __spreadValues({ "data-slot": "textarea", className: cn(textareaVariants({ variant }), className) }, props));
4318
4276
  }
4319
4277
 
4320
4278
  // components/ui/label.tsx
4321
4279
  import { cva as cva6 } from "class-variance-authority";
4322
4280
  import { Label as LabelPrimitive } from "radix-ui";
4323
- import { jsx as jsx65 } from "react/jsx-runtime";
4281
+ import { jsx as jsx64 } from "react/jsx-runtime";
4324
4282
  var labelVariants = cva6(
4325
4283
  "text-sm leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
4326
4284
  {
@@ -4343,7 +4301,7 @@ function Label(_a) {
4343
4301
  "className",
4344
4302
  "variant"
4345
4303
  ]);
4346
- return /* @__PURE__ */ jsx65(LabelPrimitive.Root, __spreadValues({ "data-slot": "label", className: cn(labelVariants({ variant }), className) }, props));
4304
+ return /* @__PURE__ */ jsx64(LabelPrimitive.Root, __spreadValues({ "data-slot": "label", className: cn(labelVariants({ variant }), className) }, props));
4347
4305
  }
4348
4306
 
4349
4307
  // lib/format-utils.ts
@@ -4363,7 +4321,7 @@ function formatDuration(seconds) {
4363
4321
  // components/ui/field.tsx
4364
4322
  import { useMemo as useMemo3 } from "react";
4365
4323
  import { cva as cva7 } from "class-variance-authority";
4366
- import { jsx as jsx66, jsxs as jsxs44 } from "react/jsx-runtime";
4324
+ import { jsx as jsx65, jsxs as jsxs43 } from "react/jsx-runtime";
4367
4325
  var fieldVariants = cva7(
4368
4326
  "group/field flex w-full gap-3 data-[invalid=true]:text-destructive",
4369
4327
  {
@@ -4395,7 +4353,7 @@ function Field(_a) {
4395
4353
  "className",
4396
4354
  "orientation"
4397
4355
  ]);
4398
- return /* @__PURE__ */ jsx66(
4356
+ return /* @__PURE__ */ jsx65(
4399
4357
  "div",
4400
4358
  __spreadValues({
4401
4359
  role: "group",
@@ -4411,7 +4369,7 @@ function FieldLabel(_a) {
4411
4369
  } = _b, props = __objRest(_b, [
4412
4370
  "className"
4413
4371
  ]);
4414
- return /* @__PURE__ */ jsx66(
4372
+ return /* @__PURE__ */ jsx65(
4415
4373
  Label,
4416
4374
  __spreadValues({
4417
4375
  "data-slot": "field-label",
@@ -4427,10 +4385,10 @@ function FieldLabel(_a) {
4427
4385
 
4428
4386
  // components/ui/input-group.tsx
4429
4387
  import { cva as cva8 } from "class-variance-authority";
4430
- import { jsx as jsx67 } from "react/jsx-runtime";
4388
+ import { jsx as jsx66 } from "react/jsx-runtime";
4431
4389
  function InputGroup(_a) {
4432
4390
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4433
- return /* @__PURE__ */ jsx67(
4391
+ return /* @__PURE__ */ jsx66(
4434
4392
  "div",
4435
4393
  __spreadValues({
4436
4394
  "data-slot": "input-group",
@@ -4476,7 +4434,7 @@ function InputGroupAddon(_a) {
4476
4434
  "className",
4477
4435
  "align"
4478
4436
  ]);
4479
- return /* @__PURE__ */ jsx67(
4437
+ return /* @__PURE__ */ jsx66(
4480
4438
  "div",
4481
4439
  __spreadValues({
4482
4440
  role: "group",
@@ -4511,7 +4469,7 @@ var inputGroupButtonVariants = cva8(
4511
4469
  );
4512
4470
  function InputGroupText(_a) {
4513
4471
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4514
- return /* @__PURE__ */ jsx67(
4472
+ return /* @__PURE__ */ jsx66(
4515
4473
  "span",
4516
4474
  __spreadValues({
4517
4475
  className: cn(
@@ -4527,7 +4485,7 @@ function InputGroupInput(_a) {
4527
4485
  } = _b, props = __objRest(_b, [
4528
4486
  "className"
4529
4487
  ]);
4530
- return /* @__PURE__ */ jsx67(
4488
+ return /* @__PURE__ */ jsx66(
4531
4489
  Input,
4532
4490
  __spreadValues({
4533
4491
  "data-slot": "input-group-control",
@@ -4540,7 +4498,7 @@ function InputGroupInput(_a) {
4540
4498
  }
4541
4499
 
4542
4500
  // components/modals/image-modal.tsx
4543
- import { jsx as jsx68, jsxs as jsxs45 } from "react/jsx-runtime";
4501
+ import { jsx as jsx67, jsxs as jsxs44 } from "react/jsx-runtime";
4544
4502
  function ImageModal({ file, onClose, onSave }) {
4545
4503
  var _a;
4546
4504
  const [isSaving, setIsSaving] = useState10(false);
@@ -4560,14 +4518,14 @@ function ImageModal({ file, onClose, onSave }) {
4560
4518
  setIsSaving(false);
4561
4519
  }
4562
4520
  };
4563
- const previewSection = /* @__PURE__ */ jsxs45("div", { className: "flex flex-col h-full", children: [
4564
- /* @__PURE__ */ jsxs45("div", { className: "flex gap-2 mb-4", children: [
4565
- /* @__PURE__ */ jsx68(FileDeleteButton, { file }),
4566
- /* @__PURE__ */ jsx68(FileDownloadButton, { file }),
4567
- /* @__PURE__ */ jsx68(FileCopyLinkButton, { file }),
4568
- /* @__PURE__ */ jsx68(FileFullscreenButton, { onFullscreen: () => window.open(file.url, "_blank") })
4521
+ const previewSection = /* @__PURE__ */ jsxs44("div", { className: "flex flex-col h-full", children: [
4522
+ /* @__PURE__ */ jsxs44("div", { className: "flex gap-2 mb-4", children: [
4523
+ /* @__PURE__ */ jsx67(FileDeleteButton, { file }),
4524
+ /* @__PURE__ */ jsx67(FileDownloadButton, { file }),
4525
+ /* @__PURE__ */ jsx67(FileCopyLinkButton, { file }),
4526
+ /* @__PURE__ */ jsx67(FileFullscreenButton, { onFullscreen: () => window.open(file.url, "_blank") })
4569
4527
  ] }),
4570
- /* @__PURE__ */ jsx68(
4528
+ /* @__PURE__ */ jsx67(
4571
4529
  "div",
4572
4530
  {
4573
4531
  className: "flex-1 flex items-center justify-center bg-gray-50 rounded-lg overflow-hidden",
@@ -4581,7 +4539,7 @@ function ImageModal({ file, onClose, onSave }) {
4581
4539
  backgroundSize: "20px 20px",
4582
4540
  backgroundPosition: "0 0, 0 10px, 10px -10px, -10px 0px"
4583
4541
  },
4584
- children: /* @__PURE__ */ jsx68(
4542
+ children: /* @__PURE__ */ jsx67(
4585
4543
  "img",
4586
4544
  {
4587
4545
  src: file.previewUrl || file.url,
@@ -4592,36 +4550,36 @@ function ImageModal({ file, onClose, onSave }) {
4592
4550
  }
4593
4551
  )
4594
4552
  ] });
4595
- const metadataSection = /* @__PURE__ */ jsxs45("div", { className: "space-y-6", children: [
4596
- /* @__PURE__ */ jsxs45("div", { className: "grid grid-cols-2 gap-4", children: [
4597
- /* @__PURE__ */ jsxs45("div", { children: [
4598
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Size" }),
4599
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: getFileSize(file.size) })
4553
+ const metadataSection = /* @__PURE__ */ jsxs44("div", { className: "space-y-6", children: [
4554
+ /* @__PURE__ */ jsxs44("div", { className: "grid grid-cols-2 gap-4", children: [
4555
+ /* @__PURE__ */ jsxs44("div", { children: [
4556
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Size" }),
4557
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-bold text-primary", children: getFileSize(file.size) })
4600
4558
  ] }),
4601
- /* @__PURE__ */ jsxs45("div", { children: [
4602
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Dimensions" }),
4603
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: file.width && file.height ? `${file.width}\xD7${file.height}` : "N/A" })
4559
+ /* @__PURE__ */ jsxs44("div", { children: [
4560
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Dimensions" }),
4561
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-bold text-primary", children: file.width && file.height ? `${file.width}\xD7${file.height}` : "N/A" })
4604
4562
  ] }),
4605
- /* @__PURE__ */ jsxs45("div", { children: [
4606
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Date" }),
4607
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: formatDate(file.createdAt) })
4563
+ /* @__PURE__ */ jsxs44("div", { children: [
4564
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Date" }),
4565
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-bold text-primary", children: formatDate(file.createdAt) })
4608
4566
  ] }),
4609
- /* @__PURE__ */ jsxs45("div", { children: [
4610
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Extension" }),
4611
- /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: ((_a = file.ext) == null ? void 0 : _a.replace(".", "")) || "N/A" })
4567
+ /* @__PURE__ */ jsxs44("div", { children: [
4568
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Extension" }),
4569
+ /* @__PURE__ */ jsx67("p", { className: "text-xs font-bold text-primary", children: ((_a = file.ext) == null ? void 0 : _a.replace(".", "")) || "N/A" })
4612
4570
  ] })
4613
4571
  ] }),
4614
- /* @__PURE__ */ jsxs45("div", { className: "space-y-4 pt-4 border-t border-border", children: [
4615
- /* @__PURE__ */ jsx68("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs45(Field, { className: "gap-0", children: [
4616
- /* @__PURE__ */ jsx68(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4617
- /* @__PURE__ */ jsxs45(InputGroup, { children: [
4618
- /* @__PURE__ */ jsx68(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4619
- /* @__PURE__ */ jsx68(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx68(InputGroupText, { className: "font-bold bg-accent rounded-lg py-1 px-3", children: file.ext }) })
4572
+ /* @__PURE__ */ jsxs44("div", { className: "space-y-4 pt-4 border-t border-border", children: [
4573
+ /* @__PURE__ */ jsx67("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs44(Field, { className: "gap-0", children: [
4574
+ /* @__PURE__ */ jsx67(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4575
+ /* @__PURE__ */ jsxs44(InputGroup, { children: [
4576
+ /* @__PURE__ */ jsx67(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4577
+ /* @__PURE__ */ jsx67(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx67(InputGroupText, { className: "font-bold bg-accent rounded-lg py-1 px-3", children: file.ext }) })
4620
4578
  ] })
4621
4579
  ] }) }),
4622
- /* @__PURE__ */ jsxs45("div", { className: "space-y-2", children: [
4623
- /* @__PURE__ */ jsx68(Label, { htmlFor: "altText", children: "Alternative text" }),
4624
- /* @__PURE__ */ jsx68(
4580
+ /* @__PURE__ */ jsxs44("div", { className: "space-y-2", children: [
4581
+ /* @__PURE__ */ jsx67(Label, { htmlFor: "altText", children: "Alternative text" }),
4582
+ /* @__PURE__ */ jsx67(
4625
4583
  Textarea,
4626
4584
  {
4627
4585
  id: "altText",
@@ -4631,11 +4589,11 @@ function ImageModal({ file, onClose, onSave }) {
4631
4589
  rows: 3
4632
4590
  }
4633
4591
  ),
4634
- /* @__PURE__ */ jsx68("p", { className: "text-xs text-muted-foreground", children: "This text will be displayed if the asset can't be shown." })
4592
+ /* @__PURE__ */ jsx67("p", { className: "text-xs text-muted-foreground", children: "This text will be displayed if the asset can't be shown." })
4635
4593
  ] }),
4636
- /* @__PURE__ */ jsxs45("div", { className: "space-y-2", children: [
4637
- /* @__PURE__ */ jsx68(Label, { htmlFor: "caption", children: "Caption" }),
4638
- /* @__PURE__ */ jsx68(
4594
+ /* @__PURE__ */ jsxs44("div", { className: "space-y-2", children: [
4595
+ /* @__PURE__ */ jsx67(Label, { htmlFor: "caption", children: "Caption" }),
4596
+ /* @__PURE__ */ jsx67(
4639
4597
  Textarea,
4640
4598
  {
4641
4599
  id: "caption",
@@ -4648,14 +4606,14 @@ function ImageModal({ file, onClose, onSave }) {
4648
4606
  ] })
4649
4607
  ] })
4650
4608
  ] });
4651
- const footer = /* @__PURE__ */ jsxs45("div", { className: "flex w-full justify-between items-center flex-col sm:flex-row gap-2 ", children: [
4652
- /* @__PURE__ */ jsx68(Button, { className: "w-full md:w-auto", variant: "outline", onClick: onClose, radius: "full", disabled: isSaving, children: "Cancel" }),
4653
- /* @__PURE__ */ jsxs45(Button, { className: "w-full md:w-auto", onClick: handleSave, radius: "full", disabled: isSaving, children: [
4654
- isSaving && /* @__PURE__ */ jsx68(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4609
+ const footer = /* @__PURE__ */ jsxs44("div", { className: "flex w-full justify-between items-center flex-col sm:flex-row gap-2 ", children: [
4610
+ /* @__PURE__ */ jsx67(Button, { className: "w-full md:w-auto", variant: "outline", onClick: onClose, radius: "full", disabled: isSaving, children: "Cancel" }),
4611
+ /* @__PURE__ */ jsxs44(Button, { className: "w-full md:w-auto", onClick: handleSave, radius: "full", disabled: isSaving, children: [
4612
+ isSaving && /* @__PURE__ */ jsx67(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4655
4613
  "Finish"
4656
4614
  ] })
4657
4615
  ] });
4658
- return /* @__PURE__ */ jsx68(
4616
+ return /* @__PURE__ */ jsx67(
4659
4617
  DetailsLayout,
4660
4618
  {
4661
4619
  title: "Details",
@@ -4670,7 +4628,7 @@ function ImageModal({ file, onClose, onSave }) {
4670
4628
 
4671
4629
  // components/modals/video-modal.tsx
4672
4630
  import { useState as useState11 } from "react";
4673
- import { jsx as jsx69, jsxs as jsxs46 } from "react/jsx-runtime";
4631
+ import { jsx as jsx68, jsxs as jsxs45 } from "react/jsx-runtime";
4674
4632
  function VideoModal({ file, onClose, onSave }) {
4675
4633
  var _a, _b, _c;
4676
4634
  const [isSaving, setIsSaving] = useState11(false);
@@ -4688,13 +4646,13 @@ function VideoModal({ file, onClose, onSave }) {
4688
4646
  setIsSaving(false);
4689
4647
  }
4690
4648
  };
4691
- const previewSection = /* @__PURE__ */ jsxs46("div", { className: "flex flex-col h-full", children: [
4692
- /* @__PURE__ */ jsxs46("div", { className: "flex gap-2 mb-4", children: [
4693
- /* @__PURE__ */ jsx69(FileDeleteButton, { file }),
4694
- /* @__PURE__ */ jsx69(FileDownloadButton, { file }),
4695
- /* @__PURE__ */ jsx69(FileCopyLinkButton, { file })
4649
+ const previewSection = /* @__PURE__ */ jsxs45("div", { className: "flex flex-col h-full", children: [
4650
+ /* @__PURE__ */ jsxs45("div", { className: "flex gap-2 mb-4", children: [
4651
+ /* @__PURE__ */ jsx68(FileDeleteButton, { file }),
4652
+ /* @__PURE__ */ jsx68(FileDownloadButton, { file }),
4653
+ /* @__PURE__ */ jsx68(FileCopyLinkButton, { file })
4696
4654
  ] }),
4697
- /* @__PURE__ */ jsx69("div", { className: "flex-1 flex items-center justify-center bg-black rounded-lg overflow-hidden", children: /* @__PURE__ */ jsx69(
4655
+ /* @__PURE__ */ jsx68("div", { className: "flex-1 flex items-center justify-center bg-black rounded-lg overflow-hidden", children: /* @__PURE__ */ jsx68(
4698
4656
  "video",
4699
4657
  {
4700
4658
  src: file.url,
@@ -4705,44 +4663,44 @@ function VideoModal({ file, onClose, onSave }) {
4705
4663
  }
4706
4664
  ) })
4707
4665
  ] });
4708
- const metadataSection = /* @__PURE__ */ jsxs46("div", { className: "space-y-6", children: [
4709
- /* @__PURE__ */ jsxs46("div", { className: "grid grid-cols-2 gap-4", children: [
4710
- /* @__PURE__ */ jsxs46("div", { children: [
4711
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Size" }),
4712
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: getFileSize(file.size) })
4666
+ const metadataSection = /* @__PURE__ */ jsxs45("div", { className: "space-y-6", children: [
4667
+ /* @__PURE__ */ jsxs45("div", { className: "grid grid-cols-2 gap-4", children: [
4668
+ /* @__PURE__ */ jsxs45("div", { children: [
4669
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Size" }),
4670
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: getFileSize(file.size) })
4713
4671
  ] }),
4714
- /* @__PURE__ */ jsxs46("div", { children: [
4715
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Dimensions" }),
4716
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: file.width && file.height ? `${file.width}\xD7${file.height}` : "N/A" })
4672
+ /* @__PURE__ */ jsxs45("div", { children: [
4673
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Dimensions" }),
4674
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: file.width && file.height ? `${file.width}\xD7${file.height}` : "N/A" })
4717
4675
  ] }),
4718
- /* @__PURE__ */ jsxs46("div", { children: [
4719
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Duration" }),
4720
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: ((_a = file.metaData) == null ? void 0 : _a.duration) ? formatDuration(file.metaData.duration) : "N/A" })
4676
+ /* @__PURE__ */ jsxs45("div", { children: [
4677
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Duration" }),
4678
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: ((_a = file.metaData) == null ? void 0 : _a.duration) ? formatDuration(file.metaData.duration) : "N/A" })
4721
4679
  ] }),
4722
- /* @__PURE__ */ jsxs46("div", { children: [
4723
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Date" }),
4724
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: formatDate(file.createdAt) })
4680
+ /* @__PURE__ */ jsxs45("div", { children: [
4681
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Date" }),
4682
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: formatDate(file.createdAt) })
4725
4683
  ] }),
4726
- /* @__PURE__ */ jsxs46("div", { children: [
4727
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Extension" }),
4728
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: ((_b = file.ext) == null ? void 0 : _b.replace(".", "")) || "N/A" })
4684
+ /* @__PURE__ */ jsxs45("div", { children: [
4685
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Extension" }),
4686
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary", children: ((_b = file.ext) == null ? void 0 : _b.replace(".", "")) || "N/A" })
4729
4687
  ] }),
4730
- /* @__PURE__ */ jsxs46("div", { children: [
4731
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Video Source" }),
4732
- /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary capitalize", children: ((_c = file.metaData) == null ? void 0 : _c.videoSource) || "local" })
4688
+ /* @__PURE__ */ jsxs45("div", { children: [
4689
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Video Source" }),
4690
+ /* @__PURE__ */ jsx68("p", { className: "text-xs font-bold text-primary capitalize", children: ((_c = file.metaData) == null ? void 0 : _c.videoSource) || "local" })
4733
4691
  ] })
4734
4692
  ] }),
4735
- /* @__PURE__ */ jsxs46("div", { className: "space-y-4 pt-4 border-t border-border", children: [
4736
- /* @__PURE__ */ jsx69("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs46(Field, { className: "gap-0", children: [
4737
- /* @__PURE__ */ jsx69(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4738
- /* @__PURE__ */ jsxs46(InputGroup, { children: [
4739
- /* @__PURE__ */ jsx69(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4740
- /* @__PURE__ */ jsx69(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx69(InputGroupText, { className: "font-bold bg-accent rounded-lg py-1 px-3", children: file.ext }) })
4693
+ /* @__PURE__ */ jsxs45("div", { className: "space-y-4 pt-4 border-t border-border", children: [
4694
+ /* @__PURE__ */ jsx68("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs45(Field, { className: "gap-0", children: [
4695
+ /* @__PURE__ */ jsx68(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4696
+ /* @__PURE__ */ jsxs45(InputGroup, { children: [
4697
+ /* @__PURE__ */ jsx68(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4698
+ /* @__PURE__ */ jsx68(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx68(InputGroupText, { className: "font-bold bg-accent rounded-lg py-1 px-3", children: file.ext }) })
4741
4699
  ] })
4742
4700
  ] }) }),
4743
- /* @__PURE__ */ jsxs46("div", { className: "space-y-2", children: [
4744
- /* @__PURE__ */ jsx69(Label, { htmlFor: "caption", children: "Caption" }),
4745
- /* @__PURE__ */ jsx69(
4701
+ /* @__PURE__ */ jsxs45("div", { className: "space-y-2", children: [
4702
+ /* @__PURE__ */ jsx68(Label, { htmlFor: "caption", children: "Caption" }),
4703
+ /* @__PURE__ */ jsx68(
4746
4704
  Textarea,
4747
4705
  {
4748
4706
  id: "caption",
@@ -4755,14 +4713,14 @@ function VideoModal({ file, onClose, onSave }) {
4755
4713
  ] })
4756
4714
  ] })
4757
4715
  ] });
4758
- const footer = /* @__PURE__ */ jsxs46("div", { className: "flex w-full sm:justify-between justify-center items-center flex-col sm:flex-row gap-2 ", children: [
4759
- /* @__PURE__ */ jsx69(Button, { variant: "outline", onClick: onClose, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: "Cancel" }),
4760
- /* @__PURE__ */ jsxs46(Button, { onClick: handleSave, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: [
4761
- isSaving && /* @__PURE__ */ jsx69(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4716
+ const footer = /* @__PURE__ */ jsxs45("div", { className: "flex w-full sm:justify-between justify-center items-center flex-col sm:flex-row gap-2 ", children: [
4717
+ /* @__PURE__ */ jsx68(Button, { variant: "outline", onClick: onClose, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: "Cancel" }),
4718
+ /* @__PURE__ */ jsxs45(Button, { onClick: handleSave, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: [
4719
+ isSaving && /* @__PURE__ */ jsx68(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4762
4720
  "Finish"
4763
4721
  ] })
4764
4722
  ] });
4765
- return /* @__PURE__ */ jsx69(
4723
+ return /* @__PURE__ */ jsx68(
4766
4724
  DetailsLayout,
4767
4725
  {
4768
4726
  title: "Details",
@@ -4777,7 +4735,7 @@ function VideoModal({ file, onClose, onSave }) {
4777
4735
 
4778
4736
  // components/modals/audio-modal.tsx
4779
4737
  import { useState as useState12 } from "react";
4780
- import { jsx as jsx70, jsxs as jsxs47 } from "react/jsx-runtime";
4738
+ import { jsx as jsx69, jsxs as jsxs46 } from "react/jsx-runtime";
4781
4739
  function AudioModal({ file, onClose, onSave }) {
4782
4740
  var _a, _b, _c;
4783
4741
  const [isSaving, setIsSaving] = useState12(false);
@@ -4795,62 +4753,62 @@ function AudioModal({ file, onClose, onSave }) {
4795
4753
  setIsSaving(false);
4796
4754
  }
4797
4755
  };
4798
- const previewSection = /* @__PURE__ */ jsxs47("div", { className: "flex flex-col h-full", children: [
4799
- /* @__PURE__ */ jsxs47("div", { className: "flex gap-2 mb-4", children: [
4800
- /* @__PURE__ */ jsx70(FileDeleteButton, { file }),
4801
- /* @__PURE__ */ jsx70(FileDownloadButton, { file }),
4802
- /* @__PURE__ */ jsx70(FileCopyLinkButton, { file })
4756
+ const previewSection = /* @__PURE__ */ jsxs46("div", { className: "flex flex-col h-full", children: [
4757
+ /* @__PURE__ */ jsxs46("div", { className: "flex gap-2 mb-4", children: [
4758
+ /* @__PURE__ */ jsx69(FileDeleteButton, { file }),
4759
+ /* @__PURE__ */ jsx69(FileDownloadButton, { file }),
4760
+ /* @__PURE__ */ jsx69(FileCopyLinkButton, { file })
4803
4761
  ] }),
4804
- /* @__PURE__ */ jsxs47("div", { className: "flex-1 flex flex-col items-center justify-center bg-linear-to-br from-purple-50 to-blue-50 dark:from-purple-950 dark:to-blue-950 rounded-lg p-8", children: [
4805
- /* @__PURE__ */ jsx70("div", { className: "mb-8", children: /* @__PURE__ */ jsx70("div", { className: "w-32 h-32 rounded-full bg-white dark:bg-gray-800 shadow-lg flex items-center justify-center", children: /* @__PURE__ */ jsx70(MusicIcon, { className: "w-16 h-16 text-purple-600 dark:text-purple-400" }) }) }),
4806
- /* @__PURE__ */ jsx70("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxs47(
4762
+ /* @__PURE__ */ jsxs46("div", { className: "flex-1 flex flex-col items-center justify-center bg-linear-to-br from-purple-50 to-blue-50 dark:from-purple-950 dark:to-blue-950 rounded-lg p-8", children: [
4763
+ /* @__PURE__ */ jsx69("div", { className: "mb-8", children: /* @__PURE__ */ jsx69("div", { className: "w-32 h-32 rounded-full bg-white dark:bg-gray-800 shadow-lg flex items-center justify-center", children: /* @__PURE__ */ jsx69(MusicIcon, { className: "w-16 h-16 text-purple-600 dark:text-purple-400" }) }) }),
4764
+ /* @__PURE__ */ jsx69("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxs46(
4807
4765
  "audio",
4808
4766
  {
4809
4767
  src: file.url,
4810
4768
  controls: true,
4811
4769
  className: "w-full",
4812
4770
  children: [
4813
- /* @__PURE__ */ jsx70("track", { kind: "captions", srcLang: "en", label: "English" }),
4771
+ /* @__PURE__ */ jsx69("track", { kind: "captions", srcLang: "en", label: "English" }),
4814
4772
  "Your browser does not support the audio tag."
4815
4773
  ]
4816
4774
  }
4817
4775
  ) })
4818
4776
  ] })
4819
4777
  ] });
4820
- const metadataSection = /* @__PURE__ */ jsxs47("div", { className: "space-y-6", children: [
4821
- /* @__PURE__ */ jsxs47("div", { className: "grid grid-cols-2 gap-4", children: [
4822
- /* @__PURE__ */ jsxs47("div", { children: [
4823
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Size" }),
4824
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-primary", children: getFileSize(file.size) })
4778
+ const metadataSection = /* @__PURE__ */ jsxs46("div", { className: "space-y-6", children: [
4779
+ /* @__PURE__ */ jsxs46("div", { className: "grid grid-cols-2 gap-4", children: [
4780
+ /* @__PURE__ */ jsxs46("div", { children: [
4781
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Size" }),
4782
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: getFileSize(file.size) })
4825
4783
  ] }),
4826
- /* @__PURE__ */ jsxs47("div", { children: [
4827
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Duration" }),
4828
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-primary", children: ((_a = file.metaData) == null ? void 0 : _a.duration) ? formatDuration(file.metaData.duration) : "N/A" })
4784
+ /* @__PURE__ */ jsxs46("div", { children: [
4785
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Duration" }),
4786
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: ((_a = file.metaData) == null ? void 0 : _a.duration) ? formatDuration(file.metaData.duration) : "N/A" })
4829
4787
  ] }),
4830
- /* @__PURE__ */ jsxs47("div", { children: [
4831
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Bitrate" }),
4832
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-primary", children: ((_b = file.metaData) == null ? void 0 : _b.bitrate) ? `${file.metaData.bitrate} kbps` : "N/A" })
4788
+ /* @__PURE__ */ jsxs46("div", { children: [
4789
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Bitrate" }),
4790
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: ((_b = file.metaData) == null ? void 0 : _b.bitrate) ? `${file.metaData.bitrate} kbps` : "N/A" })
4833
4791
  ] }),
4834
- /* @__PURE__ */ jsxs47("div", { children: [
4835
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Date" }),
4836
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-primary", children: formatDate(file.createdAt) })
4792
+ /* @__PURE__ */ jsxs46("div", { children: [
4793
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Date" }),
4794
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: formatDate(file.createdAt) })
4837
4795
  ] }),
4838
- /* @__PURE__ */ jsxs47("div", { children: [
4839
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Extension" }),
4840
- /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-primary", children: ((_c = file.ext) == null ? void 0 : _c.replace(".", "")) || "N/A" })
4796
+ /* @__PURE__ */ jsxs46("div", { children: [
4797
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Extension" }),
4798
+ /* @__PURE__ */ jsx69("p", { className: "text-xs font-bold text-primary", children: ((_c = file.ext) == null ? void 0 : _c.replace(".", "")) || "N/A" })
4841
4799
  ] })
4842
4800
  ] }),
4843
- /* @__PURE__ */ jsxs47("div", { className: "space-y-4 pt-4 border-t border-border", children: [
4844
- /* @__PURE__ */ jsx70("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs47(Field, { className: "gap-0", children: [
4845
- /* @__PURE__ */ jsx70(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4846
- /* @__PURE__ */ jsxs47(InputGroup, { children: [
4847
- /* @__PURE__ */ jsx70(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4848
- /* @__PURE__ */ jsx70(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx70(InputGroupText, { className: "font-bold bg-accent rounded-lg py-1 px-3", children: file.ext }) })
4801
+ /* @__PURE__ */ jsxs46("div", { className: "space-y-4 pt-4 border-t border-border", children: [
4802
+ /* @__PURE__ */ jsx69("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs46(Field, { className: "gap-0", children: [
4803
+ /* @__PURE__ */ jsx69(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4804
+ /* @__PURE__ */ jsxs46(InputGroup, { children: [
4805
+ /* @__PURE__ */ jsx69(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4806
+ /* @__PURE__ */ jsx69(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx69(InputGroupText, { className: "font-bold bg-accent rounded-lg py-1 px-3", children: file.ext }) })
4849
4807
  ] })
4850
4808
  ] }) }),
4851
- /* @__PURE__ */ jsxs47("div", { className: "space-y-2", children: [
4852
- /* @__PURE__ */ jsx70(Label, { htmlFor: "caption", children: "Caption" }),
4853
- /* @__PURE__ */ jsx70(
4809
+ /* @__PURE__ */ jsxs46("div", { className: "space-y-2", children: [
4810
+ /* @__PURE__ */ jsx69(Label, { htmlFor: "caption", children: "Caption" }),
4811
+ /* @__PURE__ */ jsx69(
4854
4812
  Textarea,
4855
4813
  {
4856
4814
  id: "caption",
@@ -4863,14 +4821,14 @@ function AudioModal({ file, onClose, onSave }) {
4863
4821
  ] })
4864
4822
  ] })
4865
4823
  ] });
4866
- const footer = /* @__PURE__ */ jsxs47("div", { className: "flex gap-2 w-full sm:justify-between justify-center items-center flex-col sm:flex-row ", children: [
4867
- /* @__PURE__ */ jsx70(Button, { variant: "outline", onClick: onClose, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: "Cancel" }),
4868
- /* @__PURE__ */ jsxs47(Button, { onClick: handleSave, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: [
4869
- isSaving && /* @__PURE__ */ jsx70(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4824
+ const footer = /* @__PURE__ */ jsxs46("div", { className: "flex gap-2 w-full sm:justify-between justify-center items-center flex-col sm:flex-row ", children: [
4825
+ /* @__PURE__ */ jsx69(Button, { variant: "outline", onClick: onClose, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: "Cancel" }),
4826
+ /* @__PURE__ */ jsxs46(Button, { onClick: handleSave, radius: "full", className: "w-full md:w-auto", disabled: isSaving, children: [
4827
+ isSaving && /* @__PURE__ */ jsx69(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4870
4828
  "Finish"
4871
4829
  ] })
4872
4830
  ] });
4873
- return /* @__PURE__ */ jsx70(
4831
+ return /* @__PURE__ */ jsx69(
4874
4832
  DetailsLayout,
4875
4833
  {
4876
4834
  title: "Details",
@@ -4885,7 +4843,7 @@ function AudioModal({ file, onClose, onSave }) {
4885
4843
 
4886
4844
  // components/modals/file-modal.tsx
4887
4845
  import { useState as useState13 } from "react";
4888
- import { jsx as jsx71, jsxs as jsxs48 } from "react/jsx-runtime";
4846
+ import { jsx as jsx70, jsxs as jsxs47 } from "react/jsx-runtime";
4889
4847
  function FileModal({ file, onClose, onSave }) {
4890
4848
  var _a, _b, _c, _d;
4891
4849
  const [isSaving, setIsSaving] = useState13(false);
@@ -4907,54 +4865,54 @@ function FileModal({ file, onClose, onSave }) {
4907
4865
  };
4908
4866
  const ext = ((_b = file.ext) == null ? void 0 : _b.replace(".", "")) || "file";
4909
4867
  const { component: FilePreviewComponent } = getFileComponents(file);
4910
- const previewSection = /* @__PURE__ */ jsxs48("div", { className: "flex flex-col h-full", children: [
4911
- /* @__PURE__ */ jsxs48("div", { className: "flex gap-2 mb-4", children: [
4912
- /* @__PURE__ */ jsx71(FileDeleteButton, { file }),
4913
- /* @__PURE__ */ jsx71(FileDownloadButton, { file }),
4914
- /* @__PURE__ */ jsx71(FileCopyLinkButton, { file })
4868
+ const previewSection = /* @__PURE__ */ jsxs47("div", { className: "flex flex-col h-full", children: [
4869
+ /* @__PURE__ */ jsxs47("div", { className: "flex gap-2 mb-4", children: [
4870
+ /* @__PURE__ */ jsx70(FileDeleteButton, { file }),
4871
+ /* @__PURE__ */ jsx70(FileDownloadButton, { file }),
4872
+ /* @__PURE__ */ jsx70(FileCopyLinkButton, { file })
4915
4873
  ] }),
4916
- /* @__PURE__ */ jsxs48("div", { className: "flex-1 flex flex-col items-center justify-center bg-linear-to-br from-gray-50 to-gray-100 dark:from-gray-900 dark:to-gray-800 rounded-lg p-8", children: [
4917
- /* @__PURE__ */ jsx71("div", { className: "mb-4 w-32 h-32 flex items-center justify-center", children: /* @__PURE__ */ jsx71(FilePreviewComponent, { file, metaData: file.metaData }) }),
4918
- /* @__PURE__ */ jsxs48("p", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wider", children: [
4874
+ /* @__PURE__ */ jsxs47("div", { className: "flex-1 flex flex-col items-center justify-center bg-linear-to-br from-gray-50 to-gray-100 dark:from-gray-900 dark:to-gray-800 rounded-lg p-8", children: [
4875
+ /* @__PURE__ */ jsx70("div", { className: "mb-4 w-32 h-32 flex items-center justify-center", children: /* @__PURE__ */ jsx70(FilePreviewComponent, { file, metaData: file.metaData }) }),
4876
+ /* @__PURE__ */ jsxs47("p", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wider", children: [
4919
4877
  ext,
4920
4878
  " File"
4921
4879
  ] })
4922
4880
  ] })
4923
4881
  ] });
4924
- const metadataSection = /* @__PURE__ */ jsxs48("div", { className: "space-y-6", children: [
4925
- /* @__PURE__ */ jsxs48("div", { className: "grid grid-cols-2 gap-4", children: [
4926
- /* @__PURE__ */ jsxs48("div", { children: [
4927
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Size" }),
4928
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: getFileSize(file.size) })
4882
+ const metadataSection = /* @__PURE__ */ jsxs47("div", { className: "space-y-6", children: [
4883
+ /* @__PURE__ */ jsxs47("div", { className: "grid grid-cols-2 gap-4", children: [
4884
+ /* @__PURE__ */ jsxs47("div", { children: [
4885
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Size" }),
4886
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: getFileSize(file.size) })
4929
4887
  ] }),
4930
- /* @__PURE__ */ jsxs48("div", { children: [
4931
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Date" }),
4932
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: formatDate(file.createdAt) })
4888
+ /* @__PURE__ */ jsxs47("div", { children: [
4889
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Date" }),
4890
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: formatDate(file.createdAt) })
4933
4891
  ] }),
4934
- /* @__PURE__ */ jsxs48("div", { children: [
4935
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Extension" }),
4936
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: ext })
4892
+ /* @__PURE__ */ jsxs47("div", { children: [
4893
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground tracking-wide mb-1", children: "Extension" }),
4894
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: ext })
4937
4895
  ] }),
4938
- ((_c = file.metaData) == null ? void 0 : _c.pageCount) && /* @__PURE__ */ jsxs48("div", { children: [
4939
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Page Count" }),
4940
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: file.metaData.pageCount })
4896
+ ((_c = file.metaData) == null ? void 0 : _c.pageCount) && /* @__PURE__ */ jsxs47("div", { children: [
4897
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Page Count" }),
4898
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: file.metaData.pageCount })
4941
4899
  ] }),
4942
- ((_d = file.metaData) == null ? void 0 : _d.author) && /* @__PURE__ */ jsxs48("div", { children: [
4943
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Author" }),
4944
- /* @__PURE__ */ jsx71("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: file.metaData.author })
4900
+ ((_d = file.metaData) == null ? void 0 : _d.author) && /* @__PURE__ */ jsxs47("div", { children: [
4901
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1", children: "Author" }),
4902
+ /* @__PURE__ */ jsx70("p", { className: "text-xs font-bold text-blue-600 dark:text-blue-400", children: file.metaData.author })
4945
4903
  ] })
4946
4904
  ] }),
4947
- /* @__PURE__ */ jsxs48("div", { className: "space-y-4 pt-4 border-t border-slate-200", children: [
4948
- /* @__PURE__ */ jsx71("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs48(Field, { className: "gap-0", children: [
4949
- /* @__PURE__ */ jsx71(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4950
- /* @__PURE__ */ jsxs48(InputGroup, { children: [
4951
- /* @__PURE__ */ jsx71(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4952
- /* @__PURE__ */ jsx71(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx71(InputGroupText, { className: "font-bold bg-gray-200 dark:bg-zinc-700 rounded-lg py-1 px-3", children: file.ext }) })
4905
+ /* @__PURE__ */ jsxs47("div", { className: "space-y-4 pt-4 border-t border-slate-200", children: [
4906
+ /* @__PURE__ */ jsx70("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs47(Field, { className: "gap-0", children: [
4907
+ /* @__PURE__ */ jsx70(FieldLabel, { htmlFor: "fileName", children: "File name" }),
4908
+ /* @__PURE__ */ jsxs47(InputGroup, { children: [
4909
+ /* @__PURE__ */ jsx70(InputGroupInput, { id: "fileName", placeholder: "Enter file name", value: fileName.replace(file.ext || "", ""), onChange: (e) => setFileName(e.target.value) }),
4910
+ /* @__PURE__ */ jsx70(InputGroupAddon, { align: "inline-end", className: "pr-1", children: /* @__PURE__ */ jsx70(InputGroupText, { className: "font-bold bg-gray-200 dark:bg-zinc-700 rounded-lg py-1 px-3", children: file.ext }) })
4953
4911
  ] })
4954
4912
  ] }) }),
4955
- /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
4956
- /* @__PURE__ */ jsx71(Label, { htmlFor: "description", children: "Description" }),
4957
- /* @__PURE__ */ jsx71(
4913
+ /* @__PURE__ */ jsxs47("div", { className: "space-y-2", children: [
4914
+ /* @__PURE__ */ jsx70(Label, { htmlFor: "description", children: "Description" }),
4915
+ /* @__PURE__ */ jsx70(
4958
4916
  Textarea,
4959
4917
  {
4960
4918
  id: "description",
@@ -4967,14 +4925,14 @@ function FileModal({ file, onClose, onSave }) {
4967
4925
  ] })
4968
4926
  ] })
4969
4927
  ] });
4970
- const footer = /* @__PURE__ */ jsxs48("div", { className: "flex w-full justify-between items-center flex-col sm:flex-row gap-2 ", children: [
4971
- /* @__PURE__ */ jsx71(Button, { className: "w-full md:w-auto", variant: "outline", onClick: onClose, radius: "full", disabled: isSaving, children: "Cancel" }),
4972
- /* @__PURE__ */ jsxs48(Button, { className: "w-full md:w-auto", onClick: handleSave, radius: "full", disabled: isSaving, children: [
4973
- isSaving && /* @__PURE__ */ jsx71(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4928
+ const footer = /* @__PURE__ */ jsxs47("div", { className: "flex w-full justify-between items-center flex-col sm:flex-row gap-2 ", children: [
4929
+ /* @__PURE__ */ jsx70(Button, { className: "w-full md:w-auto", variant: "outline", onClick: onClose, radius: "full", disabled: isSaving, children: "Cancel" }),
4930
+ /* @__PURE__ */ jsxs47(Button, { className: "w-full md:w-auto", onClick: handleSave, radius: "full", disabled: isSaving, children: [
4931
+ isSaving && /* @__PURE__ */ jsx70(Loader2Icon, { className: "mr-2 h-4 w-4 animate-spin" }),
4974
4932
  "Save"
4975
4933
  ] })
4976
4934
  ] });
4977
- return /* @__PURE__ */ jsx71(
4935
+ return /* @__PURE__ */ jsx70(
4978
4936
  DetailsLayout,
4979
4937
  {
4980
4938
  title: "Details",
@@ -4988,7 +4946,7 @@ function FileModal({ file, onClose, onSave }) {
4988
4946
  }
4989
4947
 
4990
4948
  // components/layout/overlays.tsx
4991
- import { jsx as jsx72, jsxs as jsxs49 } from "react/jsx-runtime";
4949
+ import { jsx as jsx71, jsxs as jsxs48 } from "react/jsx-runtime";
4992
4950
  function FileManagerOverlays({ className }) {
4993
4951
  const {
4994
4952
  fileDetailsModalFile,
@@ -5011,7 +4969,7 @@ function FileManagerOverlays({ className }) {
5011
4969
  );
5012
4970
  switch (fileType) {
5013
4971
  case FILE_TYPE.IMAGE:
5014
- return /* @__PURE__ */ jsx72(
4972
+ return /* @__PURE__ */ jsx71(
5015
4973
  ImageModal,
5016
4974
  {
5017
4975
  file: fileDetailsModalFile,
@@ -5020,7 +4978,7 @@ function FileManagerOverlays({ className }) {
5020
4978
  }
5021
4979
  );
5022
4980
  case FILE_TYPE.VIDEO:
5023
- return /* @__PURE__ */ jsx72(
4981
+ return /* @__PURE__ */ jsx71(
5024
4982
  VideoModal,
5025
4983
  {
5026
4984
  file: fileDetailsModalFile,
@@ -5029,7 +4987,7 @@ function FileManagerOverlays({ className }) {
5029
4987
  }
5030
4988
  );
5031
4989
  case FILE_TYPE.AUDIO:
5032
- return /* @__PURE__ */ jsx72(
4990
+ return /* @__PURE__ */ jsx71(
5033
4991
  AudioModal,
5034
4992
  {
5035
4993
  file: fileDetailsModalFile,
@@ -5039,7 +4997,7 @@ function FileManagerOverlays({ className }) {
5039
4997
  );
5040
4998
  case FILE_TYPE.FILE:
5041
4999
  default:
5042
- return /* @__PURE__ */ jsx72(
5000
+ return /* @__PURE__ */ jsx71(
5043
5001
  FileModal,
5044
5002
  {
5045
5003
  file: fileDetailsModalFile,
@@ -5049,23 +5007,23 @@ function FileManagerOverlays({ className }) {
5049
5007
  );
5050
5008
  }
5051
5009
  };
5052
- return /* @__PURE__ */ jsxs49("div", { className: cn("", className), children: [
5053
- /* @__PURE__ */ jsx72(UploadModal, {}),
5054
- /* @__PURE__ */ jsx72(CreateFolderModal, {}),
5055
- /* @__PURE__ */ jsx72(MoveModal, {}),
5010
+ return /* @__PURE__ */ jsxs48("div", { className: cn("", className), children: [
5011
+ /* @__PURE__ */ jsx71(UploadModal, {}),
5012
+ /* @__PURE__ */ jsx71(CreateFolderModal, {}),
5013
+ /* @__PURE__ */ jsx71(MoveModal, {}),
5056
5014
  renderFileDetailsModal()
5057
5015
  ] });
5058
5016
  }
5059
5017
 
5060
5018
  // components/file-manager-root.tsx
5061
- import { jsx as jsx73 } from "react/jsx-runtime";
5019
+ import { jsx as jsx72 } from "react/jsx-runtime";
5062
5020
  function FileManagerPageProvider(_a) {
5063
5021
  var _b = _a, {
5064
5022
  children
5065
5023
  } = _b, props = __objRest(_b, [
5066
5024
  "children"
5067
5025
  ]);
5068
- return /* @__PURE__ */ jsx73(
5026
+ return /* @__PURE__ */ jsx72(
5069
5027
  FileManagerProvider,
5070
5028
  __spreadProps(__spreadValues({
5071
5029
  mode: MODE.PAGE,
@@ -5091,7 +5049,7 @@ function FileManagerModalProvider(_a) {
5091
5049
  "onFilesSelected",
5092
5050
  "onClose"
5093
5051
  ]);
5094
- return /* @__PURE__ */ jsx73(
5052
+ return /* @__PURE__ */ jsx72(
5095
5053
  FileManagerProvider,
5096
5054
  __spreadProps(__spreadValues({
5097
5055
  mode: MODE.MODAL,
@@ -5114,10 +5072,10 @@ var FileManagerComposition = {
5114
5072
  };
5115
5073
 
5116
5074
  // components/layout/bulk-actions-bar.tsx
5117
- import { jsx as jsx74, jsxs as jsxs50 } from "react/jsx-runtime";
5075
+ import { jsx as jsx73, jsxs as jsxs49 } from "react/jsx-runtime";
5118
5076
  function MoveButton() {
5119
5077
  const { setIsMoveFileModalOpen } = useFileManager();
5120
- return /* @__PURE__ */ jsxs50(
5078
+ return /* @__PURE__ */ jsxs49(
5121
5079
  Button,
5122
5080
  {
5123
5081
  variant: "outline",
@@ -5126,15 +5084,15 @@ function MoveButton() {
5126
5084
  onClick: () => setIsMoveFileModalOpen(true),
5127
5085
  className: "text-md font-medium border border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 hover:bg-blue-50 dark:hover:bg-blue-900/40 hover:text-blue-600 dark:hover:text-blue-400 hover:border-blue-300 dark:hover:border-blue-700 shadow-sm transition-all duration-200",
5128
5086
  children: [
5129
- /* @__PURE__ */ jsx74(MoveIcon, { className: "size-5" }),
5130
- /* @__PURE__ */ jsx74("span", { className: "hidden sm:inline", children: "Move" })
5087
+ /* @__PURE__ */ jsx73(MoveIcon, { className: "size-5" }),
5088
+ /* @__PURE__ */ jsx73("span", { className: "hidden sm:inline", children: "Move" })
5131
5089
  ]
5132
5090
  }
5133
5091
  );
5134
5092
  }
5135
5093
  function DeleteButton() {
5136
5094
  const { bulkDelete } = useFileManager();
5137
- return /* @__PURE__ */ jsxs50(
5095
+ return /* @__PURE__ */ jsxs49(
5138
5096
  Button,
5139
5097
  {
5140
5098
  variant: "outline",
@@ -5143,15 +5101,15 @@ function DeleteButton() {
5143
5101
  onClick: bulkDelete,
5144
5102
  className: "text-md font-medium border border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 hover:bg-red-50 dark:hover:bg-red-900/40 hover:text-red-600 dark:hover:text-red-400 hover:border-red-300 dark:hover:border-red-700 shadow-sm transition-all duration-200",
5145
5103
  children: [
5146
- /* @__PURE__ */ jsx74(TrashIcon, { className: "size-5" }),
5147
- /* @__PURE__ */ jsx74("span", { className: "hidden", children: "Delete" })
5104
+ /* @__PURE__ */ jsx73(TrashIcon, { className: "size-5" }),
5105
+ /* @__PURE__ */ jsx73("span", { className: "hidden", children: "Delete" })
5148
5106
  ]
5149
5107
  }
5150
5108
  );
5151
5109
  }
5152
5110
  function ClearSelectionButton() {
5153
5111
  const { handleClearSelection } = useFileManager();
5154
- return /* @__PURE__ */ jsxs50(
5112
+ return /* @__PURE__ */ jsxs49(
5155
5113
  Button,
5156
5114
  {
5157
5115
  variant: "outline",
@@ -5159,7 +5117,7 @@ function ClearSelectionButton() {
5159
5117
  onClick: handleClearSelection,
5160
5118
  className: "rounded-full text-md font-medium border border-transparent text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 hover:bg-blue-50 dark:hover:bg-blue-900/40 hover:border-blue-300 dark:hover:border-blue-700 hover:font-semibold transition-all duration-200",
5161
5119
  children: [
5162
- /* @__PURE__ */ jsx74(CrossIcon, { className: "size-5 transition-colors" }),
5120
+ /* @__PURE__ */ jsx73(CrossIcon, { className: "size-5 transition-colors" }),
5163
5121
  "Clear"
5164
5122
  ]
5165
5123
  }
@@ -5172,12 +5130,12 @@ function BulkActionsStatic() {
5172
5130
  } = useFileManager();
5173
5131
  const totalSelected = selectedFiles.length + selectedFolders.length;
5174
5132
  if (totalSelected === 0) return null;
5175
- return /* @__PURE__ */ jsx74("div", { className: "w-full", children: /* @__PURE__ */ jsxs50("div", { className: "flex flex-wrap items-center gap-2 sm:gap-3", children: [
5176
- /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2 flex-1 sm:flex-initial", children: [
5177
- /* @__PURE__ */ jsx74(MoveButton, {}),
5178
- /* @__PURE__ */ jsx74(DeleteButton, {})
5133
+ return /* @__PURE__ */ jsx73("div", { className: "w-full", children: /* @__PURE__ */ jsxs49("div", { className: "flex flex-wrap items-center gap-2 sm:gap-3", children: [
5134
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2 flex-1 sm:flex-initial", children: [
5135
+ /* @__PURE__ */ jsx73(MoveButton, {}),
5136
+ /* @__PURE__ */ jsx73(DeleteButton, {})
5179
5137
  ] }),
5180
- /* @__PURE__ */ jsx74(ClearSelectionButton, {})
5138
+ /* @__PURE__ */ jsx73(ClearSelectionButton, {})
5181
5139
  ] }) });
5182
5140
  }
5183
5141
  function BulkActionsFloating({ className }) {
@@ -5187,25 +5145,25 @@ function BulkActionsFloating({ className }) {
5187
5145
  } = useFileManager();
5188
5146
  const totalSelected = selectedFiles.length + selectedFolders.length;
5189
5147
  if (totalSelected === 0) return null;
5190
- return /* @__PURE__ */ jsx74("div", { className: `fixed bottom-0 left-0 right-0 z-50 bg-white/80 dark:bg-zinc-900/80 backdrop-blur-sm border-t border-gray-200 dark:border-zinc-700 shadow-lg ${className || ""}`, children: /* @__PURE__ */ jsx74("div", { className: "px-4 sm:px-6 py-3 mx-auto", children: /* @__PURE__ */ jsxs50("div", { className: "flex flex-wrap items-center gap-2 sm:gap-3", children: [
5191
- /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2 flex-1 sm:flex-initial", children: [
5192
- /* @__PURE__ */ jsx74(MoveButton, {}),
5193
- /* @__PURE__ */ jsx74(DeleteButton, {})
5148
+ return /* @__PURE__ */ jsx73("div", { className: `fixed bottom-0 left-0 right-0 z-50 bg-white/80 dark:bg-zinc-900/80 backdrop-blur-sm border-t border-gray-200 dark:border-zinc-700 shadow-lg ${className || ""}`, children: /* @__PURE__ */ jsx73("div", { className: "px-4 sm:px-6 py-3 mx-auto", children: /* @__PURE__ */ jsxs49("div", { className: "flex flex-wrap items-center gap-2 sm:gap-3", children: [
5149
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2 flex-1 sm:flex-initial", children: [
5150
+ /* @__PURE__ */ jsx73(MoveButton, {}),
5151
+ /* @__PURE__ */ jsx73(DeleteButton, {})
5194
5152
  ] }),
5195
- /* @__PURE__ */ jsx74(ClearSelectionButton, {})
5153
+ /* @__PURE__ */ jsx73(ClearSelectionButton, {})
5196
5154
  ] }) }) });
5197
5155
  }
5198
5156
 
5199
5157
  // components/ui/skeleton.tsx
5200
- import { jsx as jsx75 } from "react/jsx-runtime";
5158
+ import { jsx as jsx74 } from "react/jsx-runtime";
5201
5159
  function Skeleton(_a) {
5202
5160
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5203
- return /* @__PURE__ */ jsx75("div", __spreadValues({ "data-slot": "skeleton", className: cn("animate-pulse rounded-md bg-accent", className) }, props));
5161
+ return /* @__PURE__ */ jsx74("div", __spreadValues({ "data-slot": "skeleton", className: cn("animate-pulse rounded-md bg-accent", className) }, props));
5204
5162
  }
5205
5163
 
5206
5164
  // components/layout/header-navigation.tsx
5207
5165
  import { useRouter as useRouter3 } from "next/navigation";
5208
- import { Fragment, jsx as jsx76, jsxs as jsxs51 } from "react/jsx-runtime";
5166
+ import { Fragment, jsx as jsx75, jsxs as jsxs50 } from "react/jsx-runtime";
5209
5167
  function HeaderNavigation() {
5210
5168
  const {
5211
5169
  currentFolder,
@@ -5217,13 +5175,13 @@ function HeaderNavigation() {
5217
5175
  router.back();
5218
5176
  };
5219
5177
  if (isLoading) {
5220
- return /* @__PURE__ */ jsxs51("div", { className: "flex item-center w-full", children: [
5221
- /* @__PURE__ */ jsx76(Skeleton, { className: "rounded-full size-10 mr-2 shrink-0" }),
5222
- /* @__PURE__ */ jsx76(Skeleton, { className: "min-w-32 rounded-md h-full" })
5178
+ return /* @__PURE__ */ jsxs50("div", { className: "flex item-center w-full", children: [
5179
+ /* @__PURE__ */ jsx75(Skeleton, { className: "rounded-full size-10 mr-2 shrink-0" }),
5180
+ /* @__PURE__ */ jsx75(Skeleton, { className: "min-w-32 rounded-md h-full" })
5223
5181
  ] });
5224
5182
  }
5225
- return /* @__PURE__ */ jsx76(Fragment, { children: currentFolder ? /* @__PURE__ */ jsxs51("div", { className: "flex items-center flex-1 min-w-0 max-w-[calc(100%-40px)]", children: [
5226
- /* @__PURE__ */ jsx76(
5183
+ return /* @__PURE__ */ jsx75(Fragment, { children: currentFolder ? /* @__PURE__ */ jsxs50("div", { className: "flex items-center flex-1 min-w-0 max-w-[calc(100%-40px)]", children: [
5184
+ /* @__PURE__ */ jsx75(
5227
5185
  Button,
5228
5186
  {
5229
5187
  variant: "outline",
@@ -5232,12 +5190,12 @@ function HeaderNavigation() {
5232
5190
  disabled: isLoading,
5233
5191
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 mr-2",
5234
5192
  onClick: handleBackClick,
5235
- children: /* @__PURE__ */ jsx76(ChevronLeftIcon, { className: "size-5 text-gray-900 dark:text-zinc-100", strokeWidth: "1.5" })
5193
+ children: /* @__PURE__ */ jsx75(ChevronLeftIcon, { className: "size-5 text-gray-900 dark:text-zinc-100", strokeWidth: "1.5" })
5236
5194
  }
5237
5195
  ),
5238
- /* @__PURE__ */ jsx76("h1", { className: "text-lg flex-1 min-w-0 align-middle font-semibold", children: middleTruncate(currentFolder.name, 20) })
5239
- ] }) : /* @__PURE__ */ jsxs51("div", { className: "flex items-center flex-1 min-w-0 max-w-[calc(100%-40px)]", children: [
5240
- /* @__PURE__ */ jsx76(
5196
+ /* @__PURE__ */ jsx75("h1", { className: "text-lg flex-1 min-w-0 align-middle font-semibold", children: middleTruncate(currentFolder.name, 20) })
5197
+ ] }) : /* @__PURE__ */ jsxs50("div", { className: "flex items-center flex-1 min-w-0 max-w-[calc(100%-40px)]", children: [
5198
+ /* @__PURE__ */ jsx75(
5241
5199
  Button,
5242
5200
  {
5243
5201
  className: "mr-2 shrink-0",
@@ -5246,23 +5204,23 @@ function HeaderNavigation() {
5246
5204
  mode: "icon",
5247
5205
  size: "icon",
5248
5206
  onClick: () => handleFolderClick(null),
5249
- children: /* @__PURE__ */ jsx76(HomeIcon, { className: "size-6 text-gray-900 dark:text-zinc-100" })
5207
+ children: /* @__PURE__ */ jsx75(HomeIcon, { className: "size-6 text-gray-900 dark:text-zinc-100" })
5250
5208
  }
5251
5209
  ),
5252
- /* @__PURE__ */ jsx76("h1", { className: "text-lg flex-1 min-w-0 align-middle font-semibold", children: "Home" })
5210
+ /* @__PURE__ */ jsx75("h1", { className: "text-lg flex-1 min-w-0 align-middle font-semibold", children: "Home" })
5253
5211
  ] }) });
5254
5212
  }
5255
5213
 
5256
5214
  // components/ui/dropdown-menu.tsx
5257
5215
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5258
- import { jsx as jsx77, jsxs as jsxs52 } from "react/jsx-runtime";
5216
+ import { jsx as jsx76, jsxs as jsxs51 } from "react/jsx-runtime";
5259
5217
  function DropdownMenu(_a) {
5260
5218
  var props = __objRest(_a, []);
5261
- return /* @__PURE__ */ jsx77(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
5219
+ return /* @__PURE__ */ jsx76(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
5262
5220
  }
5263
5221
  function DropdownMenuTrigger(_a) {
5264
5222
  var props = __objRest(_a, []);
5265
- return /* @__PURE__ */ jsx77(DropdownMenuPrimitive.Trigger, __spreadValues({ className: "select-none", "data-slot": "dropdown-menu-trigger" }, props));
5223
+ return /* @__PURE__ */ jsx76(DropdownMenuPrimitive.Trigger, __spreadValues({ className: "select-none", "data-slot": "dropdown-menu-trigger" }, props));
5266
5224
  }
5267
5225
  function DropdownMenuContent(_a) {
5268
5226
  var _b = _a, {
@@ -5272,7 +5230,7 @@ function DropdownMenuContent(_a) {
5272
5230
  "className",
5273
5231
  "sideOffset"
5274
5232
  ]);
5275
- return /* @__PURE__ */ jsx77(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx77(
5233
+ return /* @__PURE__ */ jsx76(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx76(
5276
5234
  DropdownMenuPrimitive.Content,
5277
5235
  __spreadValues({
5278
5236
  "data-slot": "dropdown-menu-content",
@@ -5294,7 +5252,7 @@ function DropdownMenuItem(_a) {
5294
5252
  "inset",
5295
5253
  "variant"
5296
5254
  ]);
5297
- return /* @__PURE__ */ jsx77(
5255
+ return /* @__PURE__ */ jsx76(
5298
5256
  DropdownMenuPrimitive.Item,
5299
5257
  __spreadValues({
5300
5258
  "data-slot": "dropdown-menu-item",
@@ -5311,7 +5269,7 @@ function DropdownMenuItem(_a) {
5311
5269
  }
5312
5270
  function DropdownMenuSeparator(_a) {
5313
5271
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5314
- return /* @__PURE__ */ jsx77(
5272
+ return /* @__PURE__ */ jsx76(
5315
5273
  DropdownMenuPrimitive.Separator,
5316
5274
  __spreadValues({
5317
5275
  "data-slot": "dropdown-menu-separator",
@@ -5325,10 +5283,10 @@ import { useCallback as useCallback5, useEffect as useEffect6, useState as useSt
5325
5283
 
5326
5284
  // components/ui/command.tsx
5327
5285
  import { Command as CommandPrimitive } from "cmdk";
5328
- import { jsx as jsx78, jsxs as jsxs53 } from "react/jsx-runtime";
5286
+ import { jsx as jsx77, jsxs as jsxs52 } from "react/jsx-runtime";
5329
5287
  function Command(_a) {
5330
5288
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5331
- return /* @__PURE__ */ jsx78(
5289
+ return /* @__PURE__ */ jsx77(
5332
5290
  CommandPrimitive,
5333
5291
  __spreadValues({
5334
5292
  className: cn(
@@ -5340,9 +5298,9 @@ function Command(_a) {
5340
5298
  }
5341
5299
  var CommandDialog = (_a) => {
5342
5300
  var _b = _a, { children, className, shouldFilter } = _b, props = __objRest(_b, ["children", "className", "shouldFilter"]);
5343
- return /* @__PURE__ */ jsx78(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ jsxs53(DialogContent, { className: cn("overflow-hidden p-0 shadow-lg", className), children: [
5344
- /* @__PURE__ */ jsx78(DialogTitle, { className: "hidden" }),
5345
- /* @__PURE__ */ jsx78(
5301
+ return /* @__PURE__ */ jsx77(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ jsxs52(DialogContent, { className: cn("overflow-hidden p-0 shadow-lg", className), children: [
5302
+ /* @__PURE__ */ jsx77(DialogTitle, { className: "hidden" }),
5303
+ /* @__PURE__ */ jsx77(
5346
5304
  Command,
5347
5305
  {
5348
5306
  shouldFilter,
@@ -5354,13 +5312,13 @@ var CommandDialog = (_a) => {
5354
5312
  };
5355
5313
  function CommandInput(_a) {
5356
5314
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5357
- return /* @__PURE__ */ jsxs53("div", { className: "flex items-center border-border border-b px-3", "cmdk-input-wrapper": "", "data-slot": "command-input", children: [
5358
- /* @__PURE__ */ jsx78(SearchIcon, { className: "me-2 h-4 w-4 shrink-0 opacity-50" }),
5359
- /* @__PURE__ */ jsx78(
5315
+ return /* @__PURE__ */ jsxs52("div", { className: "flex items-center border-border border-b px-3", "cmdk-input-wrapper": "", "data-slot": "command-input", children: [
5316
+ /* @__PURE__ */ jsx77(SearchIcon, { className: "me-2 h-4 w-4 shrink-0 opacity-50" }),
5317
+ /* @__PURE__ */ jsx77(
5360
5318
  CommandPrimitive.Input,
5361
5319
  __spreadValues({
5362
5320
  className: cn(
5363
- "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
5321
+ "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none! shadow-none! focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0 border-none text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
5364
5322
  className
5365
5323
  )
5366
5324
  }, props)
@@ -5369,7 +5327,7 @@ function CommandInput(_a) {
5369
5327
  }
5370
5328
  function CommandList(_a) {
5371
5329
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5372
- return /* @__PURE__ */ jsx78(
5330
+ return /* @__PURE__ */ jsx77(
5373
5331
  CommandPrimitive.List,
5374
5332
  __spreadValues({
5375
5333
  "data-slot": "command-list",
@@ -5379,11 +5337,11 @@ function CommandList(_a) {
5379
5337
  }
5380
5338
  function CommandEmpty(_a) {
5381
5339
  var props = __objRest(_a, []);
5382
- return /* @__PURE__ */ jsx78(CommandPrimitive.Empty, __spreadValues({ "data-slot": "command-empty", className: "py-6 text-center text-sm" }, props));
5340
+ return /* @__PURE__ */ jsx77(CommandPrimitive.Empty, __spreadValues({ "data-slot": "command-empty", className: "py-6 text-center text-sm" }, props));
5383
5341
  }
5384
5342
  function CommandGroup(_a) {
5385
5343
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5386
- return /* @__PURE__ */ jsx78(
5344
+ return /* @__PURE__ */ jsx77(
5387
5345
  CommandPrimitive.Group,
5388
5346
  __spreadValues({
5389
5347
  "data-slot": "command-group",
@@ -5396,7 +5354,7 @@ function CommandGroup(_a) {
5396
5354
  }
5397
5355
  function CommandItem(_a) {
5398
5356
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5399
- return /* @__PURE__ */ jsx78(
5357
+ return /* @__PURE__ */ jsx77(
5400
5358
  CommandPrimitive.Item,
5401
5359
  __spreadValues({
5402
5360
  "data-slot": "command-item",
@@ -5426,7 +5384,7 @@ function useDebouncedValue(value, delay2 = 500) {
5426
5384
 
5427
5385
  // components/modals/search-modal.tsx
5428
5386
  import { toast as toast4 } from "sonner";
5429
- import { Fragment as Fragment2, jsx as jsx79, jsxs as jsxs54 } from "react/jsx-runtime";
5387
+ import { Fragment as Fragment2, jsx as jsx78, jsxs as jsxs53 } from "react/jsx-runtime";
5430
5388
  function SearchDialog() {
5431
5389
  const [searchQuery, setSearchQuery] = useState15("");
5432
5390
  const [fileResults, setFileResults] = useState15([]);
@@ -5473,8 +5431,8 @@ function SearchDialog() {
5473
5431
  setFolderResults([]);
5474
5432
  }
5475
5433
  };
5476
- return /* @__PURE__ */ jsxs54(Fragment2, { children: [
5477
- /* @__PURE__ */ jsxs54(
5434
+ return /* @__PURE__ */ jsxs53(Fragment2, { children: [
5435
+ /* @__PURE__ */ jsxs53(
5478
5436
  Button,
5479
5437
  {
5480
5438
  variant: "outline",
@@ -5483,13 +5441,13 @@ function SearchDialog() {
5483
5441
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900",
5484
5442
  onClick: () => setIsSearchModalOpen(true),
5485
5443
  children: [
5486
- /* @__PURE__ */ jsx79(SearchIcon, { className: "size-4 text-gray-700 dark:text-zinc-300" }),
5487
- /* @__PURE__ */ jsx79("span", { className: "hidden", children: "Search" })
5444
+ /* @__PURE__ */ jsx78(SearchIcon, { className: "size-4 text-gray-700 dark:text-zinc-300" }),
5445
+ /* @__PURE__ */ jsx78("span", { className: "hidden", children: "Search" })
5488
5446
  ]
5489
5447
  }
5490
5448
  ),
5491
- /* @__PURE__ */ jsxs54(CommandDialog, { className: "max-w-4xl w-full", open: isSearchModalOpen, onOpenChange: handleModalOpenChange, shouldFilter: false, children: [
5492
- /* @__PURE__ */ jsx79(
5449
+ /* @__PURE__ */ jsxs53(CommandDialog, { className: "max-w-4xl w-full", open: isSearchModalOpen, onOpenChange: handleModalOpenChange, shouldFilter: false, children: [
5450
+ /* @__PURE__ */ jsx78(
5493
5451
  CommandInput,
5494
5452
  {
5495
5453
  placeholder: "Type to search files or folders...",
@@ -5497,23 +5455,23 @@ function SearchDialog() {
5497
5455
  onValueChange: handleInputChange
5498
5456
  }
5499
5457
  ),
5500
- /* @__PURE__ */ jsxs54(CommandList, { children: [
5501
- loading && /* @__PURE__ */ jsx79(CommandEmpty, { children: "Searching..." }),
5502
- !loading && fileResults.length === 0 && folderResults.length === 0 && !searchQuery && /* @__PURE__ */ jsx79(CommandEmpty, { children: /* @__PURE__ */ jsxs54("div", { className: "flex flex-col items-center justify-center py-8 px-4 text-center", children: [
5503
- /* @__PURE__ */ jsx79(SearchIcon, { className: "size-12 text-gray-300 dark:text-zinc-600 mb-3" }),
5504
- /* @__PURE__ */ jsx79("p", { className: "text-sm font-medium text-gray-900 dark:text-zinc-100 mb-1", children: "Search your files and folders" }),
5505
- /* @__PURE__ */ jsx79("p", { className: "text-xs text-gray-500 dark:text-zinc-400", children: "Start typing to find what you're looking for" }),
5506
- /* @__PURE__ */ jsx79("p", { className: "text-xs text-gray-500 dark:text-zinc-400 mt-2", children: /* @__PURE__ */ jsx79(KbdGroup, { children: /* @__PURE__ */ jsxs54(Kbd, { children: [
5507
- /* @__PURE__ */ jsx79("span", { className: "text-lg", children: "\u2318" }),
5458
+ /* @__PURE__ */ jsxs53(CommandList, { children: [
5459
+ loading && /* @__PURE__ */ jsx78(CommandEmpty, { children: "Searching..." }),
5460
+ !loading && fileResults.length === 0 && folderResults.length === 0 && !searchQuery && /* @__PURE__ */ jsx78(CommandEmpty, { children: /* @__PURE__ */ jsxs53("div", { className: "flex flex-col items-center justify-center py-8 px-4 text-center", children: [
5461
+ /* @__PURE__ */ jsx78(SearchIcon, { className: "size-12 text-gray-300 dark:text-zinc-600 mb-3" }),
5462
+ /* @__PURE__ */ jsx78("p", { className: "text-sm font-medium text-gray-900 dark:text-zinc-100 mb-1", children: "Search your files and folders" }),
5463
+ /* @__PURE__ */ jsx78("p", { className: "text-xs text-gray-500 dark:text-zinc-400", children: "Start typing to find what you're looking for" }),
5464
+ /* @__PURE__ */ jsx78("p", { className: "text-xs text-gray-500 dark:text-zinc-400 mt-2", children: /* @__PURE__ */ jsx78(KbdGroup, { children: /* @__PURE__ */ jsxs53(Kbd, { children: [
5465
+ /* @__PURE__ */ jsx78("span", { className: "text-lg", children: "\u2318" }),
5508
5466
  " + K"
5509
5467
  ] }) }) })
5510
5468
  ] }) }),
5511
- !loading && fileResults.length === 0 && folderResults.length === 0 && searchQuery && /* @__PURE__ */ jsx79(CommandEmpty, { children: /* @__PURE__ */ jsxs54("div", { className: "flex flex-col items-center justify-center py-8 px-4 text-center", children: [
5512
- /* @__PURE__ */ jsx79(SearchIcon, { className: "size-12 text-gray-300 dark:text-zinc-600 mb-3" }),
5513
- /* @__PURE__ */ jsx79("p", { className: "text-sm font-medium text-gray-900 dark:text-zinc-100 mb-1", children: "No results found" }),
5514
- /* @__PURE__ */ jsx79("p", { className: "text-xs text-gray-500 dark:text-zinc-400", children: "Try searching with different keywords" })
5469
+ !loading && fileResults.length === 0 && folderResults.length === 0 && searchQuery && /* @__PURE__ */ jsx78(CommandEmpty, { children: /* @__PURE__ */ jsxs53("div", { className: "flex flex-col items-center justify-center py-8 px-4 text-center", children: [
5470
+ /* @__PURE__ */ jsx78(SearchIcon, { className: "size-12 text-gray-300 dark:text-zinc-600 mb-3" }),
5471
+ /* @__PURE__ */ jsx78("p", { className: "text-sm font-medium text-gray-900 dark:text-zinc-100 mb-1", children: "No results found" }),
5472
+ /* @__PURE__ */ jsx78("p", { className: "text-xs text-gray-500 dark:text-zinc-400", children: "Try searching with different keywords" })
5515
5473
  ] }) }),
5516
- folderResults.length > 0 && /* @__PURE__ */ jsx79(CommandGroup, { heading: "Folders", children: folderResults.map((folder) => /* @__PURE__ */ jsxs54(
5474
+ folderResults.length > 0 && /* @__PURE__ */ jsx78(CommandGroup, { heading: "Folders", children: folderResults.map((folder) => /* @__PURE__ */ jsxs53(
5517
5475
  CommandItem,
5518
5476
  {
5519
5477
  onSelect: () => {
@@ -5522,15 +5480,15 @@ function SearchDialog() {
5522
5480
  handleFolderClick(folder);
5523
5481
  },
5524
5482
  children: [
5525
- /* @__PURE__ */ jsx79(FolderIcon, { className: "size-4 mr-2 shrink-0", strokeWidth: 1.5 }),
5526
- /* @__PURE__ */ jsx79("span", { children: middleTruncate(folder.name, 60) })
5483
+ /* @__PURE__ */ jsx78(FolderIcon, { className: "size-4 mr-2 shrink-0", strokeWidth: 1.5 }),
5484
+ /* @__PURE__ */ jsx78("span", { children: middleTruncate(folder.name, 60) })
5527
5485
  ]
5528
5486
  },
5529
5487
  folder.id
5530
5488
  )) }),
5531
- fileResults.length > 0 && /* @__PURE__ */ jsx79(CommandGroup, { heading: "Files", children: fileResults.map((file) => {
5489
+ fileResults.length > 0 && /* @__PURE__ */ jsx78(CommandGroup, { heading: "Files", children: fileResults.map((file) => {
5532
5490
  const { component: FilePreviewComponent } = getFileComponents(file);
5533
- return /* @__PURE__ */ jsxs54(
5491
+ return /* @__PURE__ */ jsxs53(
5534
5492
  CommandItem,
5535
5493
  {
5536
5494
  onSelect: () => {
@@ -5538,8 +5496,8 @@ function SearchDialog() {
5538
5496
  setFileDetailsModalFile(file);
5539
5497
  },
5540
5498
  children: [
5541
- /* @__PURE__ */ jsx79("div", { className: "size-6 mr-2 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ jsx79(FilePreviewComponent, { file, metaData: file.metaData }) }),
5542
- /* @__PURE__ */ jsx79("span", { children: middleTruncate(file.name, 60) })
5499
+ /* @__PURE__ */ jsx78("div", { className: "size-6 mr-2 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ jsx78(FilePreviewComponent, { file, metaData: file.metaData }) }),
5500
+ /* @__PURE__ */ jsx78("span", { children: middleTruncate(file.name, 60) })
5543
5501
  ]
5544
5502
  },
5545
5503
  file.id
@@ -5553,7 +5511,7 @@ function SearchDialog() {
5553
5511
  // components/ui/checkbox.tsx
5554
5512
  import { cva as cva9 } from "class-variance-authority";
5555
5513
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
5556
- import { jsx as jsx80, jsxs as jsxs55 } from "react/jsx-runtime";
5514
+ import { jsx as jsx79, jsxs as jsxs54 } from "react/jsx-runtime";
5557
5515
  var checkboxVariants = cva9(
5558
5516
  `
5559
5517
  group peer bg-background shrink-0 rounded-md border border-input ring-offset-background focus-visible:outline-none
@@ -5583,20 +5541,20 @@ function Checkbox(_a) {
5583
5541
  "className",
5584
5542
  "size"
5585
5543
  ]);
5586
- return /* @__PURE__ */ jsx80(CheckboxPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "checkbox", className: cn(checkboxVariants({ size }), className) }, props), { children: /* @__PURE__ */ jsxs55(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: [
5587
- /* @__PURE__ */ jsx80(CheckIcon, { className: "group-data-[state=indeterminate]:hidden" }),
5588
- /* @__PURE__ */ jsx80(MinusIcon, { className: "hidden group-data-[state=indeterminate]:block" })
5544
+ return /* @__PURE__ */ jsx79(CheckboxPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "checkbox", className: cn(checkboxVariants({ size }), className) }, props), { children: /* @__PURE__ */ jsxs54(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: [
5545
+ /* @__PURE__ */ jsx79(CheckIcon, { className: "group-data-[state=indeterminate]:hidden" }),
5546
+ /* @__PURE__ */ jsx79(MinusIcon, { className: "hidden group-data-[state=indeterminate]:block" })
5589
5547
  ] }) }));
5590
5548
  }
5591
5549
 
5592
5550
  // components/layout/header-actions.tsx
5593
- import { jsx as jsx81, jsxs as jsxs56 } from "react/jsx-runtime";
5551
+ import { jsx as jsx80, jsxs as jsxs55 } from "react/jsx-runtime";
5594
5552
  function SearchAction() {
5595
- return /* @__PURE__ */ jsx81(SearchDialog, {});
5553
+ return /* @__PURE__ */ jsx80(SearchDialog, {});
5596
5554
  }
5597
5555
  function UploadFileAction() {
5598
5556
  const { setIsUploadModalOpen } = useFileManager();
5599
- return /* @__PURE__ */ jsxs56(
5557
+ return /* @__PURE__ */ jsxs55(
5600
5558
  Button,
5601
5559
  {
5602
5560
  variant: "outline",
@@ -5605,15 +5563,15 @@ function UploadFileAction() {
5605
5563
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900 text-md font-medium",
5606
5564
  onClick: () => setIsUploadModalOpen(true),
5607
5565
  children: [
5608
- /* @__PURE__ */ jsx81(PlusIcon, { strokeWidth: 2, className: "size-5 text-gray-900 dark:text-zinc-100" }),
5609
- /* @__PURE__ */ jsx81("span", { className: "hidden sm:inline", children: "Upload File" })
5566
+ /* @__PURE__ */ jsx80(PlusIcon, { strokeWidth: 2, className: "size-5 text-gray-900 dark:text-zinc-100" }),
5567
+ /* @__PURE__ */ jsx80("span", { className: "hidden sm:inline", children: "Upload File" })
5610
5568
  ]
5611
5569
  }
5612
5570
  );
5613
5571
  }
5614
5572
  function CreateFolderAction() {
5615
5573
  const { setIsCreateFolderModalOpen } = useFileManager();
5616
- return /* @__PURE__ */ jsxs56(
5574
+ return /* @__PURE__ */ jsxs55(
5617
5575
  Button,
5618
5576
  {
5619
5577
  variant: "outline",
@@ -5622,8 +5580,8 @@ function CreateFolderAction() {
5622
5580
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900",
5623
5581
  onClick: () => setIsCreateFolderModalOpen(true),
5624
5582
  children: [
5625
- /* @__PURE__ */ jsx81(UploadFolderIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5626
- /* @__PURE__ */ jsx81("span", { className: "hidden", children: "Create Folder" })
5583
+ /* @__PURE__ */ jsx80(UploadFolderIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5584
+ /* @__PURE__ */ jsx80("span", { className: "hidden", children: "Create Folder" })
5627
5585
  ]
5628
5586
  }
5629
5587
  );
@@ -5633,9 +5591,9 @@ function CreateFolderAction() {
5633
5591
  import { useEffect as useEffect7, useState as useState16 } from "react";
5634
5592
 
5635
5593
  // components/icons/theme.tsx
5636
- import { jsx as jsx82, jsxs as jsxs57 } from "react/jsx-runtime";
5594
+ import { jsx as jsx81, jsxs as jsxs56 } from "react/jsx-runtime";
5637
5595
  function SunIcon(props) {
5638
- return /* @__PURE__ */ jsxs57(
5596
+ return /* @__PURE__ */ jsxs56(
5639
5597
  "svg",
5640
5598
  __spreadProps(__spreadValues({
5641
5599
  xmlns: "http://www.w3.org/2000/svg",
@@ -5649,14 +5607,14 @@ function SunIcon(props) {
5649
5607
  strokeLinejoin: "round"
5650
5608
  }, props), {
5651
5609
  children: [
5652
- /* @__PURE__ */ jsx82("circle", { cx: "12", cy: "12", r: "4" }),
5653
- /* @__PURE__ */ jsx82("path", { d: "M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41" })
5610
+ /* @__PURE__ */ jsx81("circle", { cx: "12", cy: "12", r: "4" }),
5611
+ /* @__PURE__ */ jsx81("path", { d: "M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41" })
5654
5612
  ]
5655
5613
  })
5656
5614
  );
5657
5615
  }
5658
5616
  function MoonIcon(props) {
5659
- return /* @__PURE__ */ jsx82(
5617
+ return /* @__PURE__ */ jsx81(
5660
5618
  "svg",
5661
5619
  __spreadProps(__spreadValues({
5662
5620
  xmlns: "http://www.w3.org/2000/svg",
@@ -5669,13 +5627,13 @@ function MoonIcon(props) {
5669
5627
  strokeLinecap: "round",
5670
5628
  strokeLinejoin: "round"
5671
5629
  }, props), {
5672
- children: /* @__PURE__ */ jsx82("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
5630
+ children: /* @__PURE__ */ jsx81("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
5673
5631
  })
5674
5632
  );
5675
5633
  }
5676
5634
 
5677
5635
  // components/layout/theme-toggle.tsx
5678
- import { jsx as jsx83 } from "react/jsx-runtime";
5636
+ import { jsx as jsx82 } from "react/jsx-runtime";
5679
5637
  function ThemeToggle() {
5680
5638
  const [isDark, setIsDark] = useState16(false);
5681
5639
  useEffect7(() => {
@@ -5690,7 +5648,7 @@ function ThemeToggle() {
5690
5648
  document.documentElement.classList.toggle("dark", next);
5691
5649
  localStorage.setItem("theme", next ? "dark" : "light");
5692
5650
  };
5693
- return /* @__PURE__ */ jsx83(
5651
+ return /* @__PURE__ */ jsx82(
5694
5652
  Button,
5695
5653
  {
5696
5654
  variant: "outline",
@@ -5699,64 +5657,64 @@ function ThemeToggle() {
5699
5657
  onClick: toggle,
5700
5658
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900",
5701
5659
  "aria-label": isDark ? "Switch to light mode" : "Switch to dark mode",
5702
- children: isDark ? /* @__PURE__ */ jsx83(SunIcon, { className: "size-4 text-yellow-500" }) : /* @__PURE__ */ jsx83(MoonIcon, { className: "size-4 text-gray-700 dark:text-zinc-300" })
5660
+ children: isDark ? /* @__PURE__ */ jsx82(SunIcon, { className: "size-4 text-yellow-500" }) : /* @__PURE__ */ jsx82(MoonIcon, { className: "size-4 text-gray-700 dark:text-zinc-300" })
5703
5661
  }
5704
5662
  );
5705
5663
  }
5706
5664
 
5707
5665
  // components/layout/header-actions-responsive.tsx
5708
- import { Fragment as Fragment3, jsx as jsx84, jsxs as jsxs58 } from "react/jsx-runtime";
5666
+ import { Fragment as Fragment3, jsx as jsx83, jsxs as jsxs57 } from "react/jsx-runtime";
5709
5667
  function ResponsiveHeaderActions() {
5710
5668
  const { setIsUploadModalOpen, setIsCreateFolderModalOpen, setIsSearchModalOpen } = useFileManager();
5711
- return /* @__PURE__ */ jsxs58(Fragment3, { children: [
5712
- /* @__PURE__ */ jsxs58("div", { className: "hidden md:flex gap-2", children: [
5713
- /* @__PURE__ */ jsx84(UploadFileAction, {}),
5714
- /* @__PURE__ */ jsx84(CreateFolderAction, {}),
5715
- /* @__PURE__ */ jsx84(SearchAction, {}),
5716
- /* @__PURE__ */ jsx84(ThemeToggle, {})
5669
+ return /* @__PURE__ */ jsxs57(Fragment3, { children: [
5670
+ /* @__PURE__ */ jsxs57("div", { className: "hidden md:flex gap-2", children: [
5671
+ /* @__PURE__ */ jsx83(UploadFileAction, {}),
5672
+ /* @__PURE__ */ jsx83(CreateFolderAction, {}),
5673
+ /* @__PURE__ */ jsx83(SearchAction, {}),
5674
+ /* @__PURE__ */ jsx83(ThemeToggle, {})
5717
5675
  ] }),
5718
- /* @__PURE__ */ jsx84("div", { className: "flex md:hidden", children: /* @__PURE__ */ jsxs58(DropdownMenu, { children: [
5719
- /* @__PURE__ */ jsx84(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx84(
5676
+ /* @__PURE__ */ jsx83("div", { className: "flex md:hidden", children: /* @__PURE__ */ jsxs57(DropdownMenu, { children: [
5677
+ /* @__PURE__ */ jsx83(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx83(
5720
5678
  Button,
5721
5679
  {
5722
5680
  variant: "outline",
5723
5681
  size: "icon",
5724
5682
  radius: "full",
5725
5683
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900",
5726
- children: /* @__PURE__ */ jsx84(MoveHorizontalIcon, { className: "size-5" })
5684
+ children: /* @__PURE__ */ jsx83(MoveHorizontalIcon, { className: "size-5" })
5727
5685
  }
5728
5686
  ) }),
5729
- /* @__PURE__ */ jsxs58(DropdownMenuContent, { align: "end", className: "w-56 rounded-2xl shadow-xl bg-white/50 dark:bg-zinc-900/80 backdrop-blur-2xl border-gray-200 dark:border-zinc-700", children: [
5730
- /* @__PURE__ */ jsxs58(
5687
+ /* @__PURE__ */ jsxs57(DropdownMenuContent, { align: "end", className: "w-56 rounded-2xl shadow-xl bg-white/50 dark:bg-zinc-900/80 backdrop-blur-2xl border-gray-200 dark:border-zinc-700", children: [
5688
+ /* @__PURE__ */ jsxs57(
5731
5689
  DropdownMenuItem,
5732
5690
  {
5733
5691
  onClick: () => setIsUploadModalOpen(true),
5734
5692
  className: "cursor-pointer",
5735
5693
  children: [
5736
- /* @__PURE__ */ jsx84(PlusIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5737
- /* @__PURE__ */ jsx84("span", { className: "inline", children: "Upload File" })
5694
+ /* @__PURE__ */ jsx83(PlusIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5695
+ /* @__PURE__ */ jsx83("span", { className: "inline", children: "Upload File" })
5738
5696
  ]
5739
5697
  }
5740
5698
  ),
5741
- /* @__PURE__ */ jsxs58(
5699
+ /* @__PURE__ */ jsxs57(
5742
5700
  DropdownMenuItem,
5743
5701
  {
5744
5702
  onClick: () => setIsCreateFolderModalOpen(true),
5745
5703
  className: "cursor-pointer",
5746
5704
  children: [
5747
- /* @__PURE__ */ jsx84(UploadFolderIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5748
- /* @__PURE__ */ jsx84("span", { className: "inline", children: "Create Folder" })
5705
+ /* @__PURE__ */ jsx83(UploadFolderIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5706
+ /* @__PURE__ */ jsx83("span", { className: "inline", children: "Create Folder" })
5749
5707
  ]
5750
5708
  }
5751
5709
  ),
5752
- /* @__PURE__ */ jsxs58(
5710
+ /* @__PURE__ */ jsxs57(
5753
5711
  DropdownMenuItem,
5754
5712
  {
5755
5713
  onClick: () => setIsSearchModalOpen(true),
5756
5714
  className: "cursor-pointer",
5757
5715
  children: [
5758
- /* @__PURE__ */ jsx84(SearchIcon, { className: "size-5 text-gray-700 dark:text-zinc-300" }),
5759
- /* @__PURE__ */ jsx84("span", { className: "inline", children: "Search" })
5716
+ /* @__PURE__ */ jsx83(SearchIcon, { className: "size-5 text-gray-700 dark:text-zinc-300" }),
5717
+ /* @__PURE__ */ jsx83("span", { className: "inline", children: "Search" })
5760
5718
  ]
5761
5719
  }
5762
5720
  )
@@ -5766,11 +5724,11 @@ function ResponsiveHeaderActions() {
5766
5724
  }
5767
5725
  function ModalResponsiveHeaderActions({ onSearchClick }) {
5768
5726
  const { setIsUploadModalOpen, setIsCreateFolderModalOpen } = useFileManager();
5769
- return /* @__PURE__ */ jsxs58(Fragment3, { children: [
5770
- /* @__PURE__ */ jsxs58("div", { className: "hidden md:flex gap-2", children: [
5771
- /* @__PURE__ */ jsx84(UploadFileAction, {}),
5772
- /* @__PURE__ */ jsx84(CreateFolderAction, {}),
5773
- onSearchClick ? /* @__PURE__ */ jsxs58(
5727
+ return /* @__PURE__ */ jsxs57(Fragment3, { children: [
5728
+ /* @__PURE__ */ jsxs57("div", { className: "hidden md:flex gap-2", children: [
5729
+ /* @__PURE__ */ jsx83(UploadFileAction, {}),
5730
+ /* @__PURE__ */ jsx83(CreateFolderAction, {}),
5731
+ onSearchClick ? /* @__PURE__ */ jsxs57(
5774
5732
  Button,
5775
5733
  {
5776
5734
  variant: "outline",
@@ -5779,54 +5737,54 @@ function ModalResponsiveHeaderActions({ onSearchClick }) {
5779
5737
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900",
5780
5738
  onClick: onSearchClick,
5781
5739
  children: [
5782
- /* @__PURE__ */ jsx84(SearchIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5783
- /* @__PURE__ */ jsx84("span", { className: "hidden", children: "Search" })
5740
+ /* @__PURE__ */ jsx83(SearchIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5741
+ /* @__PURE__ */ jsx83("span", { className: "hidden", children: "Search" })
5784
5742
  ]
5785
5743
  }
5786
5744
  ) : null
5787
5745
  ] }),
5788
- /* @__PURE__ */ jsx84("div", { className: "flex md:hidden", children: /* @__PURE__ */ jsxs58(DropdownMenu, { children: [
5789
- /* @__PURE__ */ jsx84(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx84(
5746
+ /* @__PURE__ */ jsx83("div", { className: "flex md:hidden", children: /* @__PURE__ */ jsxs57(DropdownMenu, { children: [
5747
+ /* @__PURE__ */ jsx83(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx83(
5790
5748
  Button,
5791
5749
  {
5792
5750
  variant: "outline",
5793
5751
  size: "icon",
5794
5752
  radius: "full",
5795
5753
  className: "border-gray-200 dark:border-zinc-700 bg-white dark:bg-zinc-900",
5796
- children: /* @__PURE__ */ jsx84(MoveHorizontalIcon, { className: "size-5" })
5754
+ children: /* @__PURE__ */ jsx83(MoveHorizontalIcon, { className: "size-5" })
5797
5755
  }
5798
5756
  ) }),
5799
- /* @__PURE__ */ jsxs58(DropdownMenuContent, { align: "end", className: "w-48", children: [
5800
- /* @__PURE__ */ jsxs58(
5757
+ /* @__PURE__ */ jsxs57(DropdownMenuContent, { align: "end", className: "w-48", children: [
5758
+ /* @__PURE__ */ jsxs57(
5801
5759
  DropdownMenuItem,
5802
5760
  {
5803
5761
  onClick: () => setIsUploadModalOpen(true),
5804
5762
  className: "cursor-pointer",
5805
5763
  children: [
5806
- /* @__PURE__ */ jsx84(PlusIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5807
- /* @__PURE__ */ jsx84("span", { className: "inline", children: "Upload File" })
5764
+ /* @__PURE__ */ jsx83(PlusIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5765
+ /* @__PURE__ */ jsx83("span", { className: "inline", children: "Upload File" })
5808
5766
  ]
5809
5767
  }
5810
5768
  ),
5811
- /* @__PURE__ */ jsxs58(
5769
+ /* @__PURE__ */ jsxs57(
5812
5770
  DropdownMenuItem,
5813
5771
  {
5814
5772
  onClick: () => setIsCreateFolderModalOpen(true),
5815
5773
  className: "cursor-pointer",
5816
5774
  children: [
5817
- /* @__PURE__ */ jsx84(UploadFolderIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5818
- /* @__PURE__ */ jsx84("span", { className: "inline", children: "Create Folder" })
5775
+ /* @__PURE__ */ jsx83(UploadFolderIcon, { className: "size-5 text-gray-900 dark:text-zinc-100" }),
5776
+ /* @__PURE__ */ jsx83("span", { className: "inline", children: "Create Folder" })
5819
5777
  ]
5820
5778
  }
5821
5779
  ),
5822
- onSearchClick ? /* @__PURE__ */ jsxs58(
5780
+ onSearchClick ? /* @__PURE__ */ jsxs57(
5823
5781
  DropdownMenuItem,
5824
5782
  {
5825
5783
  onClick: onSearchClick,
5826
5784
  className: "cursor-pointer",
5827
5785
  children: [
5828
- /* @__PURE__ */ jsx84(SearchIcon, { className: "size-5 text-gray-700 dark:text-zinc-300" }),
5829
- /* @__PURE__ */ jsx84("span", { className: "inline", children: "Search" })
5786
+ /* @__PURE__ */ jsx83(SearchIcon, { className: "size-5 text-gray-700 dark:text-zinc-300" }),
5787
+ /* @__PURE__ */ jsx83("span", { className: "inline", children: "Search" })
5830
5788
  ]
5831
5789
  }
5832
5790
  ) : null
@@ -5840,18 +5798,18 @@ import React from "react";
5840
5798
 
5841
5799
  // components/ui/context-menu.tsx
5842
5800
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
5843
- import { jsx as jsx85, jsxs as jsxs59 } from "react/jsx-runtime";
5801
+ import { jsx as jsx84, jsxs as jsxs58 } from "react/jsx-runtime";
5844
5802
  function ContextMenu(_a) {
5845
5803
  var props = __objRest(_a, []);
5846
- return /* @__PURE__ */ jsx85(ContextMenuPrimitive.Root, __spreadValues({ "data-slot": "context-menu" }, props));
5804
+ return /* @__PURE__ */ jsx84(ContextMenuPrimitive.Root, __spreadValues({ "data-slot": "context-menu" }, props));
5847
5805
  }
5848
5806
  function ContextMenuTrigger(_a) {
5849
5807
  var props = __objRest(_a, []);
5850
- return /* @__PURE__ */ jsx85(ContextMenuPrimitive.Trigger, __spreadValues({ "data-slot": "context-menu-trigger" }, props));
5808
+ return /* @__PURE__ */ jsx84(ContextMenuPrimitive.Trigger, __spreadValues({ "data-slot": "context-menu-trigger" }, props));
5851
5809
  }
5852
5810
  function ContextMenuContent(_a) {
5853
5811
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5854
- return /* @__PURE__ */ jsx85(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx85(
5812
+ return /* @__PURE__ */ jsx84(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx84(
5855
5813
  ContextMenuPrimitive.Content,
5856
5814
  __spreadValues({
5857
5815
  "data-slot": "context-menu-content",
@@ -5872,7 +5830,7 @@ function ContextMenuItem(_a) {
5872
5830
  "inset",
5873
5831
  "variant"
5874
5832
  ]);
5875
- return /* @__PURE__ */ jsx85(
5833
+ return /* @__PURE__ */ jsx84(
5876
5834
  ContextMenuPrimitive.Item,
5877
5835
  __spreadValues({
5878
5836
  "data-slot": "context-menu-item",
@@ -5887,7 +5845,7 @@ function ContextMenuItem(_a) {
5887
5845
  }
5888
5846
  function ContextMenuSeparator(_a) {
5889
5847
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5890
- return /* @__PURE__ */ jsx85(
5848
+ return /* @__PURE__ */ jsx84(
5891
5849
  ContextMenuPrimitive.Separator,
5892
5850
  __spreadValues({
5893
5851
  "data-slot": "context-menu-separator",
@@ -5897,7 +5855,7 @@ function ContextMenuSeparator(_a) {
5897
5855
  }
5898
5856
 
5899
5857
  // components/cards/card-context-menu.tsx
5900
- import { jsx as jsx86, jsxs as jsxs60 } from "react/jsx-runtime";
5858
+ import { jsx as jsx85, jsxs as jsxs59 } from "react/jsx-runtime";
5901
5859
  function CardContextMenu({
5902
5860
  children,
5903
5861
  menuItems,
@@ -5912,8 +5870,8 @@ function CardContextMenu({
5912
5870
  const MenuItemComponent = isDropdown ? DropdownMenuItem : ContextMenuItem;
5913
5871
  const SeparatorComponent = isDropdown ? DropdownMenuSeparator : ContextMenuSeparator;
5914
5872
  const nextItemIsDestructive = index < menuItems.length - 1 && menuItems[index + 1].variant === "destructive";
5915
- return /* @__PURE__ */ jsxs60(React.Fragment, { children: [
5916
- /* @__PURE__ */ jsxs60(
5873
+ return /* @__PURE__ */ jsxs59(React.Fragment, { children: [
5874
+ /* @__PURE__ */ jsxs59(
5917
5875
  MenuItemComponent,
5918
5876
  {
5919
5877
  onClick: item.onClick,
@@ -5924,40 +5882,40 @@ function CardContextMenu({
5924
5882
  ]
5925
5883
  }
5926
5884
  ),
5927
- nextItemIsDestructive && !isLast && /* @__PURE__ */ jsx86(SeparatorComponent, { className: "bg-gray-200 dark:bg-zinc-700" })
5885
+ nextItemIsDestructive && !isLast && /* @__PURE__ */ jsx85(SeparatorComponent, { className: "bg-gray-200 dark:bg-zinc-700" })
5928
5886
  ] }, index);
5929
5887
  });
5930
5888
  };
5931
- return /* @__PURE__ */ jsxs60(ContextMenu, { children: [
5932
- /* @__PURE__ */ jsx86(ContextMenuTrigger, { children: /* @__PURE__ */ jsxs60("div", { className: "relative w-full h-full", children: [
5889
+ return /* @__PURE__ */ jsxs59(ContextMenu, { children: [
5890
+ /* @__PURE__ */ jsx85(ContextMenuTrigger, { children: /* @__PURE__ */ jsxs59("div", { className: "relative w-full h-full", children: [
5933
5891
  children,
5934
- shouldShowMenu && /* @__PURE__ */ jsx86(
5892
+ shouldShowMenu && /* @__PURE__ */ jsx85(
5935
5893
  "div",
5936
5894
  {
5937
5895
  className: "absolute top-0 right-0 z-10 md:hidden",
5938
5896
  onClick: (e) => e.stopPropagation(),
5939
- children: /* @__PURE__ */ jsxs60(DropdownMenu, { children: [
5940
- /* @__PURE__ */ jsx86(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx86(
5897
+ children: /* @__PURE__ */ jsxs59(DropdownMenu, { children: [
5898
+ /* @__PURE__ */ jsx85(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx85(
5941
5899
  Button,
5942
5900
  {
5943
5901
  variant: "ghost",
5944
5902
  size: "icon",
5945
5903
  radius: "full",
5946
5904
  className: "focus-visible:ring-0 focus-visible:ring-offset-0",
5947
- children: /* @__PURE__ */ jsx86(MoveVerticalIcon, { className: "size-4 text-gray-700 dark:text-zinc-300" })
5905
+ children: /* @__PURE__ */ jsx85(MoveVerticalIcon, { className: "size-4 text-gray-700 dark:text-zinc-300" })
5948
5906
  }
5949
5907
  ) }),
5950
- /* @__PURE__ */ jsx86(DropdownMenuContent, { className: "w-56 rounded-2xl shadow-xl bg-white/50 dark:bg-zinc-900/80 backdrop-blur-2xl border-gray-200 dark:border-zinc-700", children: renderMenuItems(true) })
5908
+ /* @__PURE__ */ jsx85(DropdownMenuContent, { className: "w-56 rounded-2xl shadow-xl bg-white/50 dark:bg-zinc-900/80 backdrop-blur-2xl border-gray-200 dark:border-zinc-700", children: renderMenuItems(true) })
5951
5909
  ] })
5952
5910
  }
5953
5911
  )
5954
5912
  ] }) }),
5955
- shouldShowMenu && /* @__PURE__ */ jsx86(ContextMenuContent, { className: "w-56 rounded-2xl shadow-xl bg-white/50 dark:bg-zinc-900/80 backdrop-blur-2xl border-gray-200 dark:border-zinc-700", children: renderMenuItems(false) })
5913
+ shouldShowMenu && /* @__PURE__ */ jsx85(ContextMenuContent, { className: "w-56 rounded-2xl shadow-xl bg-white/50 dark:bg-zinc-900/80 backdrop-blur-2xl border-gray-200 dark:border-zinc-700", children: renderMenuItems(false) })
5956
5914
  ] });
5957
5915
  }
5958
5916
 
5959
5917
  // components/cards/file-card.tsx
5960
- import { jsx as jsx87, jsxs as jsxs61 } from "react/jsx-runtime";
5918
+ import { jsx as jsx86, jsxs as jsxs60 } from "react/jsx-runtime";
5961
5919
  function FileCard({
5962
5920
  file,
5963
5921
  isSelected,
@@ -6003,45 +5961,45 @@ function FileCard({
6003
5961
  const menuItems = [
6004
5962
  {
6005
5963
  label: "Edit",
6006
- icon: /* @__PURE__ */ jsx87(EditIcon, { className: "size-6" }),
5964
+ icon: /* @__PURE__ */ jsx86(EditIcon, { className: "size-6" }),
6007
5965
  onClick: handleEdit
6008
5966
  },
6009
5967
  {
6010
5968
  label: "Select File",
6011
- icon: /* @__PURE__ */ jsx87(SelectIcon, { className: "size-6" }),
5969
+ icon: /* @__PURE__ */ jsx86(SelectIcon, { className: "size-6" }),
6012
5970
  onClick: handleSelectFile
6013
5971
  },
6014
5972
  {
6015
5973
  label: "Move to...",
6016
- icon: /* @__PURE__ */ jsx87(MoveIcon, { className: "size-6" }),
5974
+ icon: /* @__PURE__ */ jsx86(MoveIcon, { className: "size-6" }),
6017
5975
  onClick: handleMove
6018
5976
  },
6019
5977
  {
6020
5978
  label: "Delete",
6021
- icon: /* @__PURE__ */ jsx87(TrashIcon, { className: "size-6 text-red-600" }),
5979
+ icon: /* @__PURE__ */ jsx86(TrashIcon, { className: "size-6 text-red-600" }),
6022
5980
  onClick: handleDelete,
6023
5981
  variant: "destructive"
6024
5982
  }
6025
5983
  ];
6026
- return /* @__PURE__ */ jsx87(
5984
+ return /* @__PURE__ */ jsx86(
6027
5985
  CardContextMenu,
6028
5986
  {
6029
5987
  menuItems,
6030
5988
  isInSelectionMode,
6031
5989
  mode,
6032
- children: /* @__PURE__ */ jsxs61(
5990
+ children: /* @__PURE__ */ jsxs60(
6033
5991
  "div",
6034
5992
  {
6035
5993
  className: "group relative flex flex-col items-center justify-start transition-all duration-200 cursor-pointer w-full select-none",
6036
5994
  onDoubleClick: handleClick,
6037
5995
  onClick: handleClick,
6038
5996
  children: [
6039
- /* @__PURE__ */ jsxs61("div", { className: `
5997
+ /* @__PURE__ */ jsxs60("div", { className: `
6040
5998
  relative w-full aspect-square flex items-center justify-center mb-1 overflow-hidden rounded-2xl hover:bg-accent/60
6041
5999
  ${isSelected ? "bg-accent/60" : ""}
6042
6000
  `, children: [
6043
- /* @__PURE__ */ jsx87("div", { className: "w-[75%] h-[75%] flex items-center justify-center", children: /* @__PURE__ */ jsx87(FilePreviewComponent, { file, metaData: file.metaData }) }),
6044
- (selectionMode === SELECTION_MODE.MULTIPLE || showCheckbox) && /* @__PURE__ */ jsx87("div", { className: `absolute top-2 left-2 z-10 ${isSelected ? "opacity-100" : "opacity-0 group-hover:opacity-100"} transition-opacity duration-200`, onClick: handleCheckboxClick, children: /* @__PURE__ */ jsx87(
6001
+ /* @__PURE__ */ jsx86("div", { className: "w-[75%] h-[75%] flex items-center justify-center", children: /* @__PURE__ */ jsx86(FilePreviewComponent, { file, metaData: file.metaData }) }),
6002
+ (selectionMode === SELECTION_MODE.MULTIPLE || showCheckbox) && /* @__PURE__ */ jsx86("div", { className: `absolute top-2 left-2 z-10 ${isSelected ? "opacity-100" : "opacity-0 group-hover:opacity-100"} transition-opacity duration-200`, onClick: handleCheckboxClick, children: /* @__PURE__ */ jsx86(
6045
6003
  Checkbox,
6046
6004
  {
6047
6005
  checked: isSelected,
@@ -6050,14 +6008,14 @@ function FileCard({
6050
6008
  }
6051
6009
  ) })
6052
6010
  ] }),
6053
- /* @__PURE__ */ jsxs61("div", { className: "w-full text-center px-0.5 flex flex-col items-center", children: [
6054
- /* @__PURE__ */ jsx87("span", { className: `
6011
+ /* @__PURE__ */ jsxs60("div", { className: "w-full text-center px-0.5 flex flex-col items-center", children: [
6012
+ /* @__PURE__ */ jsx86("span", { className: `
6055
6013
  text-[13px] font-semibold leading-[1.3] tracking-tight line-clamp-2 px-2.5 py-[2px] rounded-[6px] transition-colors duration-100 wrap-break-word max-w-full
6056
6014
  ${isSelected ? "bg-primary text-primary-foreground antialiased shadow-sm" : "text-foreground group-hover:text-foreground/80"}
6057
6015
  `, children: file.name }),
6058
- /* @__PURE__ */ jsxs61("div", { className: `flex flex-col items-center justify-center gap-0.5 mt-1 transition-opacity duration-200 ${isSelected ? "opacity-60" : "opacity-100"}`, children: [
6059
- /* @__PURE__ */ jsx87("span", { className: "text-[11px] text-primary font-medium tracking-tight", children: getFileSize(file.size) }),
6060
- FileMetadataComponent ? /* @__PURE__ */ jsx87("div", { className: "text-[11px] text-muted-foreground flex items-center scale-95", children: /* @__PURE__ */ jsx87(FileMetadataComponent, { file }) }) : null
6016
+ /* @__PURE__ */ jsxs60("div", { className: `flex flex-col items-center justify-center gap-0.5 mt-1 transition-opacity duration-200 ${isSelected ? "opacity-60" : "opacity-100"}`, children: [
6017
+ /* @__PURE__ */ jsx86("span", { className: "text-[11px] text-primary font-medium tracking-tight", children: getFileSize(file.size) }),
6018
+ FileMetadataComponent ? /* @__PURE__ */ jsx86("div", { className: "text-[11px] text-muted-foreground flex items-center scale-95", children: /* @__PURE__ */ jsx86(FileMetadataComponent, { file }) }) : null
6061
6019
  ] })
6062
6020
  ] })
6063
6021
  ]
@@ -6068,7 +6026,7 @@ function FileCard({
6068
6026
  }
6069
6027
 
6070
6028
  // components/cards/folder-card.tsx
6071
- import { jsx as jsx88, jsxs as jsxs62 } from "react/jsx-runtime";
6029
+ import { jsx as jsx87, jsxs as jsxs61 } from "react/jsx-runtime";
6072
6030
  function FolderCard({
6073
6031
  folder,
6074
6032
  isSelected,
@@ -6113,45 +6071,45 @@ function FolderCard({
6113
6071
  const menuItems = [
6114
6072
  {
6115
6073
  label: "Rename",
6116
- icon: /* @__PURE__ */ jsx88(EditIcon, { className: "size-6" }),
6074
+ icon: /* @__PURE__ */ jsx87(EditIcon, { className: "size-6" }),
6117
6075
  onClick: handleRename
6118
6076
  },
6119
6077
  {
6120
6078
  label: "Select Folder",
6121
- icon: /* @__PURE__ */ jsx88(SelectIcon, { className: "size-6" }),
6079
+ icon: /* @__PURE__ */ jsx87(SelectIcon, { className: "size-6" }),
6122
6080
  onClick: handleSelectFolder
6123
6081
  },
6124
6082
  {
6125
6083
  label: "Move to...",
6126
- icon: /* @__PURE__ */ jsx88(MoveIcon, { className: "size-5 mr-1" }),
6084
+ icon: /* @__PURE__ */ jsx87(MoveIcon, { className: "size-5 mr-1" }),
6127
6085
  onClick: handleMove
6128
6086
  },
6129
6087
  {
6130
6088
  label: "Delete",
6131
- icon: /* @__PURE__ */ jsx88(TrashIcon, { className: "size-5 mr-1 text-red-600" }),
6089
+ icon: /* @__PURE__ */ jsx87(TrashIcon, { className: "size-5 mr-1 text-red-600" }),
6132
6090
  onClick: handleDelete,
6133
6091
  variant: "destructive"
6134
6092
  }
6135
6093
  ];
6136
- return /* @__PURE__ */ jsx88(
6094
+ return /* @__PURE__ */ jsx87(
6137
6095
  CardContextMenu,
6138
6096
  {
6139
6097
  menuItems,
6140
6098
  isInSelectionMode,
6141
6099
  mode,
6142
- children: /* @__PURE__ */ jsxs62(
6100
+ children: /* @__PURE__ */ jsxs61(
6143
6101
  "div",
6144
6102
  {
6145
6103
  className: "group relative flex flex-col items-center justify-start transition-all duration-200 cursor-pointer w-full select-none",
6146
6104
  onDoubleClick: handleClick,
6147
6105
  onClick: handleClick,
6148
6106
  children: [
6149
- /* @__PURE__ */ jsxs62("div", { className: `
6107
+ /* @__PURE__ */ jsxs61("div", { className: `
6150
6108
  relative w-full aspect-square flex items-center justify-center mb-1 overflow-hidden rounded-2xl hover:bg-accent/60
6151
6109
  ${isSelected ? "bg-accent/60" : ""}
6152
6110
  `, children: [
6153
- /* @__PURE__ */ jsx88("div", { className: "w-[75%] h-[75%] flex items-center justify-center transform dark:brightness-[2]", children: /* @__PURE__ */ jsx88(FolderIcon, { className: "w-full h-full text-blue-400 fill-blue-400/20 drop-shadow-sm", strokeWidth: 1.5 }) }),
6154
- (selectionMode === SELECTION_MODE.MULTIPLE || showCheckbox) && /* @__PURE__ */ jsx88("div", { className: `absolute top-2 left-2 z-10 ${isSelected ? "opacity-100" : "opacity-0 group-hover:opacity-100"} transition-opacity duration-200`, onClick: handleCheckboxClick, children: /* @__PURE__ */ jsx88(
6111
+ /* @__PURE__ */ jsx87("div", { className: "w-[75%] h-[75%] flex items-center justify-center transform dark:brightness-[2]", children: /* @__PURE__ */ jsx87(FolderIcon, { className: "w-full h-full text-blue-400 fill-blue-400/20 drop-shadow-sm", strokeWidth: 1.5 }) }),
6112
+ (selectionMode === SELECTION_MODE.MULTIPLE || showCheckbox) && /* @__PURE__ */ jsx87("div", { className: `absolute top-2 left-2 z-10 ${isSelected ? "opacity-100" : "opacity-0 group-hover:opacity-100"} transition-opacity duration-200`, onClick: handleCheckboxClick, children: /* @__PURE__ */ jsx87(
6155
6113
  Checkbox,
6156
6114
  {
6157
6115
  checked: isSelected,
@@ -6160,12 +6118,12 @@ function FolderCard({
6160
6118
  }
6161
6119
  ) })
6162
6120
  ] }),
6163
- /* @__PURE__ */ jsxs62("div", { className: "w-full text-center px-0.5 flex flex-col items-center", children: [
6164
- /* @__PURE__ */ jsx88("span", { className: `
6121
+ /* @__PURE__ */ jsxs61("div", { className: "w-full text-center px-0.5 flex flex-col items-center", children: [
6122
+ /* @__PURE__ */ jsx87("span", { className: `
6165
6123
  text-[13px] font-semibold leading-[1.3] tracking-tight line-clamp-2 px-2.5 pb-[2px] rounded-[6px] transition-colors duration-100 wrap-break-word max-w-full
6166
6124
  ${isSelected ? "bg-primary text-primary-foreground antialiased shadow-sm" : "text-foreground group-hover:text-foreground/80"}
6167
6125
  `, children: folder.name }),
6168
- /* @__PURE__ */ jsx88("div", { className: `flex items-center justify-center gap-1 mt-1 transition-opacity duration-200 ${isSelected ? "opacity-60" : "opacity-100"}`, children: /* @__PURE__ */ jsxs62("span", { className: "text-[11px] text-primary font-medium tracking-tight px-1.5 rounded-full", children: [
6126
+ /* @__PURE__ */ jsx87("div", { className: `flex items-center justify-center gap-1 mt-1 transition-opacity duration-200 ${isSelected ? "opacity-60" : "opacity-100"}`, children: /* @__PURE__ */ jsxs61("span", { className: "text-[11px] text-primary font-medium tracking-tight px-1.5 rounded-full", children: [
6169
6127
  folder.fileCount,
6170
6128
  " items"
6171
6129
  ] }) })
@@ -6178,7 +6136,7 @@ function FolderCard({
6178
6136
  }
6179
6137
 
6180
6138
  // components/grid/unified-grid.tsx
6181
- import { jsx as jsx89, jsxs as jsxs63 } from "react/jsx-runtime";
6139
+ import { jsx as jsx88, jsxs as jsxs62 } from "react/jsx-runtime";
6182
6140
  function UnifiedGrid() {
6183
6141
  const {
6184
6142
  files,
@@ -6211,19 +6169,19 @@ function UnifiedGrid() {
6211
6169
  };
6212
6170
  const skeletonCount = getSkeletonCount();
6213
6171
  if (isLoading) {
6214
- return /* @__PURE__ */ jsx89("div", { className: "p-4 grid grid-cols-2 gap-x-4 gap-y-8 sm:grid-cols-3 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:grid-cols-8 content-start", children: Array.from({ length: skeletonCount }).map((_, i) => {
6172
+ return /* @__PURE__ */ jsx88("div", { className: "p-4 grid grid-cols-2 gap-x-4 gap-y-8 sm:grid-cols-3 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:grid-cols-8 content-start", children: Array.from({ length: skeletonCount }).map((_, i) => {
6215
6173
  var _a;
6216
- return /* @__PURE__ */ jsxs63("div", { className: "flex flex-col items-center justify-start w-full gap-2", children: [
6217
- /* @__PURE__ */ jsx89("div", { className: "w-full aspect-square bg-muted rounded-2xl animate-pulse" }),
6218
- /* @__PURE__ */ jsxs63("div", { className: "flex flex-col items-center gap-1 w-full", children: [
6219
- /* @__PURE__ */ jsx89("div", { className: "h-4 w-20 bg-muted rounded animate-pulse" }),
6220
- /* @__PURE__ */ jsx89("div", { className: "h-3 w-12 bg-muted rounded animate-pulse" })
6174
+ return /* @__PURE__ */ jsxs62("div", { className: "flex flex-col items-center justify-start w-full gap-2", children: [
6175
+ /* @__PURE__ */ jsx88("div", { className: "w-full aspect-square bg-muted rounded-2xl animate-pulse" }),
6176
+ /* @__PURE__ */ jsxs62("div", { className: "flex flex-col items-center gap-1 w-full", children: [
6177
+ /* @__PURE__ */ jsx88("div", { className: "h-4 w-20 bg-muted rounded animate-pulse" }),
6178
+ /* @__PURE__ */ jsx88("div", { className: "h-3 w-12 bg-muted rounded animate-pulse" })
6221
6179
  ] })
6222
6180
  ] }, `skeleton-${(_a = currentFolder == null ? void 0 : currentFolder.id) != null ? _a : "root"}-${i}`);
6223
6181
  }) });
6224
6182
  }
6225
- return /* @__PURE__ */ jsxs63("div", { className: "p-4 grid grid-cols-2 gap-x-4 gap-y-8 sm:grid-cols-3 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:grid-cols-8 content-start", children: [
6226
- folders.map((folder) => /* @__PURE__ */ jsx89(
6183
+ return /* @__PURE__ */ jsxs62("div", { className: "p-4 grid grid-cols-2 gap-x-4 gap-y-8 sm:grid-cols-3 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:grid-cols-8 content-start", children: [
6184
+ folders.map((folder) => /* @__PURE__ */ jsx88(
6227
6185
  FolderCard,
6228
6186
  {
6229
6187
  folder,
@@ -6245,7 +6203,7 @@ function UnifiedGrid() {
6245
6203
  },
6246
6204
  folder.id
6247
6205
  )),
6248
- files.map((file) => /* @__PURE__ */ jsx89(
6206
+ files.map((file) => /* @__PURE__ */ jsx88(
6249
6207
  FileCard,
6250
6208
  {
6251
6209
  file,
@@ -6271,7 +6229,7 @@ function UnifiedGrid() {
6271
6229
 
6272
6230
  // components/error-boundary.tsx
6273
6231
  import { Component } from "react";
6274
- import { jsx as jsx90, jsxs as jsxs64 } from "react/jsx-runtime";
6232
+ import { jsx as jsx89, jsxs as jsxs63 } from "react/jsx-runtime";
6275
6233
  var FileManagerErrorBoundary = class extends Component {
6276
6234
  constructor(props) {
6277
6235
  super(props);
@@ -6297,16 +6255,16 @@ var FileManagerErrorBoundary = class extends Component {
6297
6255
  if (this.props.fallback) {
6298
6256
  return this.props.fallback;
6299
6257
  }
6300
- return /* @__PURE__ */ jsx90("div", { className: "flex items-center justify-center min-h-[400px] p-8 w-full h-full bg-slate-50/50 rounded-lg border border-dashed border-slate-200", children: /* @__PURE__ */ jsxs64("div", { className: "text-center max-w-md flex flex-col items-center", children: [
6301
- /* @__PURE__ */ jsx90("div", { className: "bg-red-100 p-3 rounded-full mb-4", children: /* @__PURE__ */ jsx90(AlertCircleIcon, { className: "size-8 text-red-600" }) }),
6302
- /* @__PURE__ */ jsx90("h2", { className: "text-xl font-semibold text-slate-900 mb-2", children: "Something went wrong" }),
6303
- /* @__PURE__ */ jsx90("p", { className: "text-sm text-slate-500 mb-6", children: "The file manager encountered an unexpected error. Refreshing the page usually resolves this issue." }),
6304
- this.state.error && /* @__PURE__ */ jsxs64("details", { className: "mb-6 text-left w-full border border-slate-200 rounded-lg overflow-hidden flex-col group", children: [
6305
- /* @__PURE__ */ jsx90("summary", { className: "cursor-pointer text-xs font-mono bg-slate-100 p-2 text-slate-600 hover:bg-slate-200 transition-colors", children: "View Technical Details" }),
6306
- /* @__PURE__ */ jsx90("div", { className: "p-3 bg-white dark:bg-zinc-900", children: /* @__PURE__ */ jsx90("pre", { className: "text-[10px] text-slate-600 font-mono whitespace-pre-wrap word-break-all max-h-40 overflow-auto", children: this.state.error.toString() }) })
6258
+ return /* @__PURE__ */ jsx89("div", { className: "flex items-center justify-center min-h-[400px] p-8 w-full h-full bg-slate-50/50 rounded-lg border border-dashed border-slate-200", children: /* @__PURE__ */ jsxs63("div", { className: "text-center max-w-md flex flex-col items-center", children: [
6259
+ /* @__PURE__ */ jsx89("div", { className: "bg-red-100 p-3 rounded-full mb-4", children: /* @__PURE__ */ jsx89(AlertCircleIcon, { className: "size-8 text-red-600" }) }),
6260
+ /* @__PURE__ */ jsx89("h2", { className: "text-xl font-semibold text-slate-900 mb-2", children: "Something went wrong" }),
6261
+ /* @__PURE__ */ jsx89("p", { className: "text-sm text-slate-500 mb-6", children: "The file manager encountered an unexpected error. Refreshing the page usually resolves this issue." }),
6262
+ this.state.error && /* @__PURE__ */ jsxs63("details", { className: "mb-6 text-left w-full border border-slate-200 rounded-lg overflow-hidden flex-col group", children: [
6263
+ /* @__PURE__ */ jsx89("summary", { className: "cursor-pointer text-xs font-mono bg-slate-100 p-2 text-slate-600 hover:bg-slate-200 transition-colors", children: "View Technical Details" }),
6264
+ /* @__PURE__ */ jsx89("div", { className: "p-3 bg-white dark:bg-zinc-900", children: /* @__PURE__ */ jsx89("pre", { className: "text-[10px] text-slate-600 font-mono whitespace-pre-wrap word-break-all max-h-40 overflow-auto", children: this.state.error.toString() }) })
6307
6265
  ] }),
6308
- /* @__PURE__ */ jsxs64(Button, { onClick: this.handleReset, radius: "full", className: "gap-2", children: [
6309
- /* @__PURE__ */ jsx90(RefreshCwIcon, { className: "size-4" }),
6266
+ /* @__PURE__ */ jsxs63(Button, { onClick: this.handleReset, radius: "full", className: "gap-2", children: [
6267
+ /* @__PURE__ */ jsx89(RefreshCwIcon, { className: "size-4" }),
6310
6268
  "Reload Application"
6311
6269
  ] })
6312
6270
  ] }) });
@@ -6360,28 +6318,28 @@ function KeyboardShortcuts() {
6360
6318
  }
6361
6319
 
6362
6320
  // components/file-manager.tsx
6363
- import { jsx as jsx91, jsxs as jsxs65 } from "react/jsx-runtime";
6321
+ import { jsx as jsx90, jsxs as jsxs64 } from "react/jsx-runtime";
6364
6322
  function FileManager(props) {
6365
- return /* @__PURE__ */ jsx91(FileManagerErrorBoundary, { children: /* @__PURE__ */ jsxs65(FileManagerComposition.Page, __spreadProps(__spreadValues({}, props), { children: [
6366
- /* @__PURE__ */ jsx91(KeyboardShortcuts, {}),
6367
- /* @__PURE__ */ jsxs65("div", { className: "flex h-full relative pb-12 overflow-hidden bg-background text-foreground", children: [
6368
- /* @__PURE__ */ jsxs65("div", { className: "flex-1 flex w-full flex-col", children: [
6369
- /* @__PURE__ */ jsx91(FileManagerComposition.Header, { children: /* @__PURE__ */ jsxs65("div", { className: "flex w-full justify-between gap-2", children: [
6370
- /* @__PURE__ */ jsx91(HeaderNavigation, {}),
6371
- /* @__PURE__ */ jsx91(ResponsiveHeaderActions, {})
6323
+ return /* @__PURE__ */ jsx90(FileManagerErrorBoundary, { children: /* @__PURE__ */ jsxs64(FileManagerComposition.Page, __spreadProps(__spreadValues({}, props), { children: [
6324
+ /* @__PURE__ */ jsx90(KeyboardShortcuts, {}),
6325
+ /* @__PURE__ */ jsxs64("div", { className: "flex h-full relative pb-12 overflow-hidden bg-background text-foreground", children: [
6326
+ /* @__PURE__ */ jsxs64("div", { className: "flex-1 flex w-full flex-col", children: [
6327
+ /* @__PURE__ */ jsx90(FileManagerComposition.Header, { children: /* @__PURE__ */ jsxs64("div", { className: "flex w-full justify-between gap-2", children: [
6328
+ /* @__PURE__ */ jsx90(HeaderNavigation, {}),
6329
+ /* @__PURE__ */ jsx90(ResponsiveHeaderActions, {})
6372
6330
  ] }) }),
6373
- /* @__PURE__ */ jsx91(BulkActionsFloating, { className: "-mb-1" }),
6374
- /* @__PURE__ */ jsx91(UnifiedGrid, {}),
6375
- /* @__PURE__ */ jsx91(FileManagerComposition.Footer, { className: "pt-6 pb-10" })
6331
+ /* @__PURE__ */ jsx90(BulkActionsFloating, { className: "-mb-1" }),
6332
+ /* @__PURE__ */ jsx90(UnifiedGrid, {}),
6333
+ /* @__PURE__ */ jsx90(FileManagerComposition.Footer, { className: "pt-6 pb-10" })
6376
6334
  ] }),
6377
- /* @__PURE__ */ jsx91(FileManagerComposition.Overlays, {})
6335
+ /* @__PURE__ */ jsx90(FileManagerComposition.Overlays, {})
6378
6336
  ] })
6379
6337
  ] })) });
6380
6338
  }
6381
6339
 
6382
6340
  // components/file-manager-modal.tsx
6383
6341
  import { useState as useState17, useRef as useRef5, useEffect as useEffect9 } from "react";
6384
- import { Fragment as Fragment4, jsx as jsx92, jsxs as jsxs66 } from "react/jsx-runtime";
6342
+ import { Fragment as Fragment4, jsx as jsx91, jsxs as jsxs65 } from "react/jsx-runtime";
6385
6343
  function FileManagerModal(_a) {
6386
6344
  var _b = _a, {
6387
6345
  open,
@@ -6390,7 +6348,7 @@ function FileManagerModal(_a) {
6390
6348
  "open",
6391
6349
  "onClose"
6392
6350
  ]);
6393
- return /* @__PURE__ */ jsx92(FileManagerComposition.Modal, __spreadProps(__spreadValues({}, props), { onClose, children: /* @__PURE__ */ jsx92(Dialog, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsx92(ModalContent, { onClose }) }) }));
6351
+ return /* @__PURE__ */ jsx91(FileManagerComposition.Modal, __spreadProps(__spreadValues({}, props), { onClose, children: /* @__PURE__ */ jsx91(Dialog, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsx91(ModalContent, { onClose }) }) }));
6394
6352
  }
6395
6353
  function ModalContent({ onClose }) {
6396
6354
  const { updateSearchQuery } = useFileManager();
@@ -6406,13 +6364,13 @@ function ModalContent({ onClose }) {
6406
6364
  searchInputRef.current.focus();
6407
6365
  }
6408
6366
  }, [isSearchActive]);
6409
- return /* @__PURE__ */ jsxs66(DialogContent, { className: "p-0", variant: "fullscreen", showCloseButton: false, children: [
6410
- /* @__PURE__ */ jsxs66(DialogHeader, { className: "pt-5 pb-3 m-0 border-b border-border", children: [
6411
- /* @__PURE__ */ jsx92(DialogTitle, { className: "px-6 text-base", children: /* @__PURE__ */ jsx92("div", { className: "flex w-full justify-between gap-2", children: isSearchActive ? (
6367
+ return /* @__PURE__ */ jsxs65(DialogContent, { className: "p-0", variant: "fullscreen", showCloseButton: false, children: [
6368
+ /* @__PURE__ */ jsxs65(DialogHeader, { className: "pt-5 pb-3 m-0 border-b border-border", children: [
6369
+ /* @__PURE__ */ jsx91(DialogTitle, { className: "px-6 text-base", children: /* @__PURE__ */ jsx91("div", { className: "flex w-full justify-between gap-2", children: isSearchActive ? (
6412
6370
  /* Inline Search Mode */
6413
- /* @__PURE__ */ jsxs66("div", { className: "flex items-center gap-4 flex-1", children: [
6414
- /* @__PURE__ */ jsx92(SearchIcon, { className: "size-5 text-gray-500 shrink-0" }),
6415
- /* @__PURE__ */ jsx92(
6371
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-4 flex-1", children: [
6372
+ /* @__PURE__ */ jsx91(SearchIcon, { className: "size-5 text-gray-500 shrink-0" }),
6373
+ /* @__PURE__ */ jsx91(
6416
6374
  Input,
6417
6375
  {
6418
6376
  ref: searchInputRef,
@@ -6430,7 +6388,7 @@ function ModalContent({ onClose }) {
6430
6388
  }
6431
6389
  }
6432
6390
  ),
6433
- /* @__PURE__ */ jsx92(
6391
+ /* @__PURE__ */ jsx91(
6434
6392
  CloseButton,
6435
6393
  {
6436
6394
  onClick: () => {
@@ -6445,20 +6403,20 @@ function ModalContent({ onClose }) {
6445
6403
  ] })
6446
6404
  ) : (
6447
6405
  /* Normal Header Mode */
6448
- /* @__PURE__ */ jsxs66(Fragment4, { children: [
6449
- /* @__PURE__ */ jsx92(HeaderNavigation, {}),
6450
- /* @__PURE__ */ jsx92(ModalResponsiveHeaderActions, { onSearchClick: () => setIsSearchActive(true) }),
6451
- /* @__PURE__ */ jsx92(CloseButton, { onClick: onClose })
6406
+ /* @__PURE__ */ jsxs65(Fragment4, { children: [
6407
+ /* @__PURE__ */ jsx91(HeaderNavigation, {}),
6408
+ /* @__PURE__ */ jsx91(ModalResponsiveHeaderActions, { onSearchClick: () => setIsSearchActive(true) }),
6409
+ /* @__PURE__ */ jsx91(CloseButton, { onClick: onClose })
6452
6410
  ] })
6453
6411
  ) }) }),
6454
- /* @__PURE__ */ jsx92(DialogDescription, { className: "sr-only", children: "Browse and select files from your media library" })
6412
+ /* @__PURE__ */ jsx91(DialogDescription, { className: "sr-only", children: "Browse and select files from your media library" })
6455
6413
  ] }),
6456
- /* @__PURE__ */ jsxs66("div", { className: "overflow-y-auto flex-1 pb-4", children: [
6457
- /* @__PURE__ */ jsx92(UnifiedGrid, {}),
6458
- /* @__PURE__ */ jsx92(FileManagerComposition.Footer, { className: "my-4" }),
6459
- /* @__PURE__ */ jsx92(FileManagerComposition.Overlays, {})
6414
+ /* @__PURE__ */ jsxs65("div", { className: "overflow-y-auto flex-1 pb-4", children: [
6415
+ /* @__PURE__ */ jsx91(UnifiedGrid, {}),
6416
+ /* @__PURE__ */ jsx91(FileManagerComposition.Footer, { className: "my-4" }),
6417
+ /* @__PURE__ */ jsx91(FileManagerComposition.Overlays, {})
6460
6418
  ] }),
6461
- /* @__PURE__ */ jsx92(FileManagerModalFooter, { onClose })
6419
+ /* @__PURE__ */ jsx91(FileManagerModalFooter, { onClose })
6462
6420
  ] });
6463
6421
  }
6464
6422
  function FileManagerModalFooter({ onClose }) {
@@ -6480,10 +6438,10 @@ function FileManagerModalFooter({ onClose }) {
6480
6438
  onClose();
6481
6439
  }
6482
6440
  };
6483
- return /* @__PURE__ */ jsxs66(DialogFooter, { className: "px-6 py-4 border-t border-border w-full sm:justify-between justify-center items-center flex-col sm:flex-row gap-2", children: [
6484
- /* @__PURE__ */ jsx92(BulkActionsStatic, {}),
6485
- /* @__PURE__ */ jsx92(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx92(Button, { type: "button", variant: "outline", onClick: onClose, radius: "full", className: "w-full md:w-auto mr-0", children: "Cancel" }) }),
6486
- /* @__PURE__ */ jsxs66(
6441
+ return /* @__PURE__ */ jsxs65(DialogFooter, { className: "px-6 py-4 border-t border-border w-full sm:justify-between justify-center items-center flex-col sm:flex-row gap-2", children: [
6442
+ /* @__PURE__ */ jsx91(BulkActionsStatic, {}),
6443
+ /* @__PURE__ */ jsx91(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx91(Button, { type: "button", variant: "outline", onClick: onClose, radius: "full", className: "w-full md:w-auto mr-0", children: "Cancel" }) }),
6444
+ /* @__PURE__ */ jsxs65(
6487
6445
  Button,
6488
6446
  {
6489
6447
  type: "button",