@muhgholy/next-drive 3.13.0 → 4.1.0
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/README.md +2 -0
- package/dist/{chunk-XDAVDVO6.cjs → chunk-CFLH4TCQ.cjs} +12 -12
- package/dist/chunk-CFLH4TCQ.cjs.map +1 -0
- package/dist/{chunk-CN3AV3AN.js → chunk-T43C7MQ6.js} +12 -12
- package/dist/chunk-T43C7MQ6.js.map +1 -0
- package/dist/client/components/dialog.d.ts.map +1 -1
- package/dist/client/components/drive/header.d.ts.map +1 -1
- package/dist/client/components/ui/dialog-fullscreen.d.ts.map +1 -1
- package/dist/client/components/ui/progress.d.ts.map +1 -1
- package/dist/client/components/ui/sheet.d.ts.map +1 -1
- package/dist/client/index.cjs +531 -536
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.css +2 -1
- package/dist/client/index.css.map +1 -1
- package/dist/client/index.js +473 -478
- package/dist/client/index.js.map +1 -1
- package/dist/client/utils.d.ts.map +1 -1
- package/dist/server/express.cjs +1 -1
- package/dist/server/express.js +1 -1
- package/dist/server/index.cjs +3 -3
- package/dist/server/index.js +1 -1
- package/package.json +4 -3
- package/dist/chunk-CN3AV3AN.js.map +0 -1
- package/dist/chunk-XDAVDVO6.cjs.map +0 -1
package/dist/client/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('./index.css');
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkCFLH4TCQ_cjs = require('../chunk-CFLH4TCQ.cjs');
|
|
5
5
|
var chunkA65ZAA2Z_cjs = require('../chunk-A65ZAA2Z.cjs');
|
|
6
6
|
var React3 = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -228,10 +228,10 @@ var DriveProvider = (props) => {
|
|
|
228
228
|
await callAPI("restore", { method: "POST", query: { id } });
|
|
229
229
|
}, [callAPI]);
|
|
230
230
|
const createUrl = React3.useCallback((driveFile, options) => {
|
|
231
|
-
return
|
|
231
|
+
return chunkCFLH4TCQ_cjs.driveCreateUrl(driveFile, apiEndpoint, options);
|
|
232
232
|
}, [apiEndpoint]);
|
|
233
233
|
const createSrcSet = React3.useCallback((driveFile, format) => {
|
|
234
|
-
return
|
|
234
|
+
return chunkCFLH4TCQ_cjs.driveCreateSrcSet(driveFile, apiEndpoint, format);
|
|
235
235
|
}, [apiEndpoint]);
|
|
236
236
|
React3__namespace.default.useEffect(() => {
|
|
237
237
|
const stored = localStorage.getItem("drive_active_account");
|
|
@@ -508,24 +508,24 @@ var useUpload = (apiEndpoint, activeAccountId, withCredentials = false, onUpload
|
|
|
508
508
|
return { uploads, uploadFiles, cancelUpload, cancelAllUploads };
|
|
509
509
|
};
|
|
510
510
|
var buttonVariants = classVarianceAuthority.cva(
|
|
511
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
511
|
+
"nd:inline-flex nd:items-center nd:justify-center nd:gap-2 nd:whitespace-nowrap nd:rounded-md nd:text-sm nd:font-medium nd:transition-all nd:disabled:pointer-events-none nd:disabled:opacity-50 [&_svg]:nd:pointer-events-none [&_svg:not([class*='size-'])]:nd:size-4 nd:shrink-0 [&_svg]:nd:shrink-0 nd:outline-none nd:focus-visible:border-ring nd:focus-visible:ring-ring/50 nd:focus-visible:ring-[3px] aria-invalid:nd:ring-destructive/20 dark:aria-invalid:nd:ring-destructive/40 aria-invalid:nd:border-destructive",
|
|
512
512
|
{
|
|
513
513
|
variants: {
|
|
514
514
|
variant: {
|
|
515
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
516
|
-
destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
517
|
-
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
518
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
519
|
-
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
520
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
515
|
+
default: "nd:bg-primary nd:text-primary-foreground nd:hover:bg-primary/90",
|
|
516
|
+
destructive: "nd:bg-destructive nd:text-white nd:hover:bg-destructive/90 nd:focus-visible:ring-destructive/20 dark:nd:focus-visible:ring-destructive/40",
|
|
517
|
+
outline: "nd:border nd:bg-background nd:shadow-xs nd:hover:bg-accent nd:hover:text-accent-foreground nd:dark:bg-input/30 nd:dark:border-input nd:dark:hover:bg-input/50",
|
|
518
|
+
secondary: "nd:bg-secondary nd:text-secondary-foreground nd:hover:bg-secondary/80",
|
|
519
|
+
ghost: "nd:hover:bg-accent nd:hover:text-accent-foreground nd:dark:hover:bg-accent/50",
|
|
520
|
+
link: "nd:text-primary nd:underline-offset-4 nd:hover:underline"
|
|
521
521
|
},
|
|
522
522
|
size: {
|
|
523
|
-
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
524
|
-
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
525
|
-
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
526
|
-
icon: "size-9",
|
|
527
|
-
"icon-sm": "size-8",
|
|
528
|
-
"icon-lg": "size-10"
|
|
523
|
+
default: "nd:h-9 nd:px-4 nd:py-2 nd:has-[>svg]:px-3",
|
|
524
|
+
sm: "nd:h-8 nd:rounded-md nd:gap-1.5 nd:px-3 nd:has-[>svg]:px-2.5",
|
|
525
|
+
lg: "nd:h-10 nd:rounded-md nd:px-6 nd:has-[>svg]:px-4",
|
|
526
|
+
icon: "nd:size-9",
|
|
527
|
+
"icon-sm": "nd:size-8",
|
|
528
|
+
"icon-lg": "nd:size-10"
|
|
529
529
|
}
|
|
530
530
|
},
|
|
531
531
|
defaultVariants: {
|
|
@@ -546,7 +546,7 @@ function Button({
|
|
|
546
546
|
Comp,
|
|
547
547
|
{
|
|
548
548
|
"data-slot": "button",
|
|
549
|
-
className:
|
|
549
|
+
className: chunkCFLH4TCQ_cjs.cn(buttonVariants({ variant, size, className })),
|
|
550
550
|
...props
|
|
551
551
|
}
|
|
552
552
|
);
|
|
@@ -565,10 +565,10 @@ function Dialog2Content({
|
|
|
565
565
|
SheetPrimitive__namespace.Overlay,
|
|
566
566
|
{
|
|
567
567
|
"data-slot": "dialog2-overlay",
|
|
568
|
-
className:
|
|
569
|
-
"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm",
|
|
570
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
571
|
-
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
|
|
568
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
569
|
+
"nd:fixed nd:inset-0 nd:z-50 nd:bg-black/60 nd:backdrop-blur-sm",
|
|
570
|
+
"nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out",
|
|
571
|
+
"nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0"
|
|
572
572
|
)
|
|
573
573
|
}
|
|
574
574
|
),
|
|
@@ -576,21 +576,22 @@ function Dialog2Content({
|
|
|
576
576
|
SheetPrimitive__namespace.Content,
|
|
577
577
|
{
|
|
578
578
|
"data-slot": "dialog2-content",
|
|
579
|
-
className:
|
|
579
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
580
|
+
"nd:overflow-hidden",
|
|
580
581
|
// Base styles
|
|
581
|
-
"fixed z-50 flex flex-col bg-background shadow-2xl outline-none",
|
|
582
|
+
"nd:fixed nd:z-50 nd:flex nd:flex-col nd:bg-background nd:shadow-2xl nd:outline-none",
|
|
582
583
|
// Mobile: Full screen
|
|
583
|
-
"inset-0 rounded-none",
|
|
584
|
+
"nd:inset-0 nd:rounded-none",
|
|
584
585
|
// Desktop: Centered modal with max dimensions
|
|
585
|
-
"md:inset-auto md:top-[50%] md:left-[50%] md:translate-x-[-50%] md:translate-y-[-50%]",
|
|
586
|
-
"md:max-w-5xl md:w-[95vw] md:max-h-[90vh] md:rounded-xl md:border",
|
|
586
|
+
"nd:md:inset-auto nd:md:top-[50%] nd:md:left-[50%] nd:md:translate-x-[-50%] nd:md:translate-y-[-50%]",
|
|
587
|
+
"nd:md:max-w-5xl nd:md:w-[95vw] nd:md:max-h-[90vh] nd:md:rounded-xl nd:md:border",
|
|
587
588
|
// Animations
|
|
588
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
589
|
-
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
590
|
-
"data-[state=closed]:slide-out-to-bottom-2 data-[state=open]:slide-in-from-bottom-2",
|
|
591
|
-
"md:data-[state=closed]:zoom-out-95 md:data-[state=open]:zoom-in-95",
|
|
592
|
-
"md:data-[state=closed]:slide-out-to-bottom-0 md:data-[state=open]:slide-in-from-bottom-0",
|
|
593
|
-
"duration-200",
|
|
589
|
+
"nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out",
|
|
590
|
+
"nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0",
|
|
591
|
+
"nd:data-[state=closed]:slide-out-to-bottom-2 nd:data-[state=open]:slide-in-from-bottom-2",
|
|
592
|
+
"nd:md:data-[state=closed]:zoom-out-95 nd:md:data-[state=open]:zoom-in-95",
|
|
593
|
+
"nd:md:data-[state=closed]:slide-out-to-bottom-0 nd:md:data-[state=open]:slide-in-from-bottom-0",
|
|
594
|
+
"nd:duration-200",
|
|
594
595
|
className
|
|
595
596
|
),
|
|
596
597
|
...props,
|
|
@@ -600,16 +601,16 @@ function Dialog2Content({
|
|
|
600
601
|
SheetPrimitive__namespace.Close,
|
|
601
602
|
{
|
|
602
603
|
"data-slot": "dialog2-close",
|
|
603
|
-
className:
|
|
604
|
-
"absolute top-3 right-3 z-10",
|
|
605
|
-
"flex items-center justify-center size-8 rounded-full",
|
|
606
|
-
"bg-muted/80 hover:bg-muted text-muted-foreground hover:text-foreground",
|
|
607
|
-
"transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
608
|
-
"md:top-4 md:right-4 md:size-7 md:rounded-md md:bg-transparent"
|
|
604
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
605
|
+
"nd:absolute nd:top-3 nd:right-3 nd:z-10",
|
|
606
|
+
"nd:flex nd:items-center nd:justify-center nd:size-8 nd:rounded-full",
|
|
607
|
+
"nd:bg-muted/80 nd:hover:bg-muted nd:text-muted-foreground nd:hover:text-foreground",
|
|
608
|
+
"nd:transition-colors nd:focus:outline-none nd:focus:ring-2 nd:focus:ring-ring nd:focus:ring-offset-2",
|
|
609
|
+
"nd:md:top-4 nd:md:right-4 nd:md:size-7 nd:md:rounded-md nd:md:bg-transparent"
|
|
609
610
|
),
|
|
610
611
|
children: [
|
|
611
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" }),
|
|
612
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
612
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-4" }),
|
|
613
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:sr-only", children: "Close" })
|
|
613
614
|
]
|
|
614
615
|
}
|
|
615
616
|
)
|
|
@@ -623,8 +624,8 @@ function Dialog2Header({ className, ...props }) {
|
|
|
623
624
|
"div",
|
|
624
625
|
{
|
|
625
626
|
"data-slot": "dialog2-header",
|
|
626
|
-
className:
|
|
627
|
-
"flex items-center justify-between shrink-0 px-4 h-14 border-b bg-background/95 backdrop-blur-sm",
|
|
627
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
628
|
+
"nd:flex nd:items-center nd:justify-between nd:shrink-0 nd:px-4 nd:h-14 nd:border-b nd:bg-background/95 nd:backdrop-blur-sm",
|
|
628
629
|
className
|
|
629
630
|
),
|
|
630
631
|
...props
|
|
@@ -636,7 +637,7 @@ function Dialog2Body({ className, ...props }) {
|
|
|
636
637
|
"div",
|
|
637
638
|
{
|
|
638
639
|
"data-slot": "dialog2-body",
|
|
639
|
-
className:
|
|
640
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:flex-1 nd:min-h-0 nd:overflow-hidden", className),
|
|
640
641
|
...props
|
|
641
642
|
}
|
|
642
643
|
);
|
|
@@ -646,8 +647,8 @@ function Dialog2Footer({ className, ...props }) {
|
|
|
646
647
|
"div",
|
|
647
648
|
{
|
|
648
649
|
"data-slot": "dialog2-footer",
|
|
649
|
-
className:
|
|
650
|
-
"flex items-center justify-end gap-2 shrink-0 px-4 py-3 border-t bg-background/95 backdrop-blur-sm",
|
|
650
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
651
|
+
"nd:flex nd:items-center nd:justify-end nd:gap-2 nd:shrink-0 nd:px-4 nd:py-3 nd:border-t nd:bg-background/95 nd:backdrop-blur-sm",
|
|
651
652
|
className
|
|
652
653
|
),
|
|
653
654
|
...props
|
|
@@ -662,7 +663,7 @@ function Dialog2Title({
|
|
|
662
663
|
SheetPrimitive__namespace.Title,
|
|
663
664
|
{
|
|
664
665
|
"data-slot": "dialog2-title",
|
|
665
|
-
className:
|
|
666
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:text-base nd:font-semibold", className),
|
|
666
667
|
...props
|
|
667
668
|
}
|
|
668
669
|
);
|
|
@@ -673,8 +674,8 @@ var SheetPortal = SheetPrimitive__namespace.Portal;
|
|
|
673
674
|
var SheetOverlay = React3__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
674
675
|
SheetPrimitive__namespace.Overlay,
|
|
675
676
|
{
|
|
676
|
-
className:
|
|
677
|
-
"fixed inset-0 z-50 bg-black/80
|
|
677
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
678
|
+
"nd:fixed nd:inset-0 nd:z-50 nd:bg-black/80 nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0",
|
|
678
679
|
className
|
|
679
680
|
),
|
|
680
681
|
...props,
|
|
@@ -683,14 +684,14 @@ var SheetOverlay = React3__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
683
684
|
));
|
|
684
685
|
SheetOverlay.displayName = SheetPrimitive__namespace.Overlay.displayName;
|
|
685
686
|
var sheetVariants = classVarianceAuthority.cva(
|
|
686
|
-
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
687
|
+
"nd:fixed nd:z-50 nd:gap-4 nd:bg-background nd:p-6 nd:shadow-lg nd:transition nd:ease-in-out nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:duration-300 nd:data-[state=open]:duration-500",
|
|
687
688
|
{
|
|
688
689
|
variants: {
|
|
689
690
|
side: {
|
|
690
|
-
top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
691
|
-
bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
692
|
-
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
693
|
-
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
|
691
|
+
top: "nd:inset-x-0 nd:top-0 nd:border-b nd:data-[state=closed]:slide-out-to-top nd:data-[state=open]:slide-in-from-top",
|
|
692
|
+
bottom: "nd:inset-x-0 nd:bottom-0 nd:border-t nd:data-[state=closed]:slide-out-to-bottom nd:data-[state=open]:slide-in-from-bottom",
|
|
693
|
+
left: "nd:inset-y-0 nd:left-0 nd:h-full nd:w-3/4 nd:border-r nd:data-[state=closed]:slide-out-to-left nd:data-[state=open]:slide-in-from-left nd:sm:max-w-sm",
|
|
694
|
+
right: "nd:inset-y-0 nd:right-0 nd:h-full nd:w-3/4 nd:border-l nd:data-[state=closed]:slide-out-to-right nd:data-[state=open]:slide-in-from-right nd:sm:max-w-sm"
|
|
694
695
|
}
|
|
695
696
|
},
|
|
696
697
|
defaultVariants: {
|
|
@@ -704,13 +705,13 @@ var SheetContent = React3__namespace.forwardRef(({ side = "right", className, ch
|
|
|
704
705
|
SheetPrimitive__namespace.Content,
|
|
705
706
|
{
|
|
706
707
|
ref,
|
|
707
|
-
className:
|
|
708
|
+
className: chunkCFLH4TCQ_cjs.cn(sheetVariants({ side }), className),
|
|
708
709
|
...props,
|
|
709
710
|
children: [
|
|
710
711
|
children,
|
|
711
|
-
!hideCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
712
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
|
|
713
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
712
|
+
!hideCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "nd:absolute nd:right-4 nd:top-4 nd:rounded-sm nd:opacity-70 nd:ring-offset-background nd:transition-opacity nd:hover:opacity-100 nd:focus:outline-none nd:focus:ring-2 nd:focus:ring-ring nd:focus:ring-offset-2 nd:disabled:pointer-events-none nd:data-[state=open]:bg-secondary", children: [
|
|
713
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:h-4 nd:w-4" }),
|
|
714
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:sr-only", children: "Close" })
|
|
714
715
|
] })
|
|
715
716
|
]
|
|
716
717
|
}
|
|
@@ -721,7 +722,7 @@ var SheetTitle = React3__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
721
722
|
SheetPrimitive__namespace.Title,
|
|
722
723
|
{
|
|
723
724
|
ref,
|
|
724
|
-
className:
|
|
725
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:text-lg nd:font-semibold nd:text-foreground", className),
|
|
725
726
|
...props
|
|
726
727
|
}
|
|
727
728
|
));
|
|
@@ -730,7 +731,7 @@ var SheetDescription = React3__namespace.forwardRef(({ className, ...props }, re
|
|
|
730
731
|
SheetPrimitive__namespace.Description,
|
|
731
732
|
{
|
|
732
733
|
ref,
|
|
733
|
-
className:
|
|
734
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:text-sm nd:text-muted-foreground", className),
|
|
734
735
|
...props
|
|
735
736
|
}
|
|
736
737
|
));
|
|
@@ -753,8 +754,8 @@ function DialogOverlay({
|
|
|
753
754
|
SheetPrimitive__namespace.Overlay,
|
|
754
755
|
{
|
|
755
756
|
"data-slot": "dialog-overlay",
|
|
756
|
-
className:
|
|
757
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
757
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
758
|
+
"nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0 nd:fixed nd:inset-0 nd:z-50 nd:bg-black/50",
|
|
758
759
|
className
|
|
759
760
|
),
|
|
760
761
|
...props
|
|
@@ -773,8 +774,8 @@ function DialogContent({
|
|
|
773
774
|
SheetPrimitive__namespace.Content,
|
|
774
775
|
{
|
|
775
776
|
"data-slot": "dialog-content",
|
|
776
|
-
className:
|
|
777
|
-
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
|
|
777
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
778
|
+
"nd:bg-background nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0 nd:data-[state=closed]:zoom-out-95 nd:data-[state=open]:zoom-in-95 nd:fixed nd:top-[50%] nd:left-[50%] nd:z-50 nd:grid nd:w-full nd:max-w-[calc(100%-2rem)] nd:translate-x-[-50%] nd:translate-y-[-50%] nd:gap-4 nd:rounded-lg nd:border nd:p-6 nd:shadow-lg nd:duration-200 nd:sm:max-w-lg",
|
|
778
779
|
className
|
|
779
780
|
),
|
|
780
781
|
...props,
|
|
@@ -784,10 +785,10 @@ function DialogContent({
|
|
|
784
785
|
SheetPrimitive__namespace.Close,
|
|
785
786
|
{
|
|
786
787
|
"data-slot": "dialog-close",
|
|
787
|
-
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
788
|
+
className: "nd:ring-offset-background nd:focus:ring-ring nd:data-[state=open]:bg-accent nd:data-[state=open]:text-muted-foreground nd:absolute nd:top-4 nd:right-4 nd:rounded-xs nd:opacity-70 nd:transition-opacity nd:hover:opacity-100 nd:focus:ring-2 nd:focus:ring-offset-2 nd:focus:outline-hidden nd:disabled:pointer-events-none [&_svg]:nd:pointer-events-none [&_svg]:nd:shrink-0 [&_svg:not([class*='size-'])]:nd:size-4",
|
|
788
789
|
children: [
|
|
789
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" }),
|
|
790
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
790
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-4" }),
|
|
791
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:sr-only", children: "Close" })
|
|
791
792
|
]
|
|
792
793
|
}
|
|
793
794
|
)
|
|
@@ -801,7 +802,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
801
802
|
"div",
|
|
802
803
|
{
|
|
803
804
|
"data-slot": "dialog-header",
|
|
804
|
-
className:
|
|
805
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:flex nd:flex-col nd:gap-2 nd:text-center nd:sm:text-left", className),
|
|
805
806
|
...props
|
|
806
807
|
}
|
|
807
808
|
);
|
|
@@ -811,8 +812,8 @@ function DialogFooter({ className, ...props }) {
|
|
|
811
812
|
"div",
|
|
812
813
|
{
|
|
813
814
|
"data-slot": "dialog-footer",
|
|
814
|
-
className:
|
|
815
|
-
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
815
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
816
|
+
"nd:flex nd:flex-col-reverse nd:gap-2 nd:sm:flex-row nd:sm:justify-end",
|
|
816
817
|
className
|
|
817
818
|
),
|
|
818
819
|
...props
|
|
@@ -827,7 +828,7 @@ function DialogTitle({
|
|
|
827
828
|
SheetPrimitive__namespace.Title,
|
|
828
829
|
{
|
|
829
830
|
"data-slot": "dialog-title",
|
|
830
|
-
className:
|
|
831
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:text-lg nd:leading-none nd:font-semibold", className),
|
|
831
832
|
...props
|
|
832
833
|
}
|
|
833
834
|
);
|
|
@@ -840,7 +841,7 @@ function DialogDescription({
|
|
|
840
841
|
SheetPrimitive__namespace.Description,
|
|
841
842
|
{
|
|
842
843
|
"data-slot": "dialog-description",
|
|
843
|
-
className:
|
|
844
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:text-muted-foreground nd:text-sm", className),
|
|
844
845
|
...props
|
|
845
846
|
}
|
|
846
847
|
);
|
|
@@ -852,15 +853,15 @@ var DropdownMenuSubTrigger = React3__namespace.forwardRef(({ className, inset, c
|
|
|
852
853
|
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
853
854
|
{
|
|
854
855
|
ref,
|
|
855
|
-
className:
|
|
856
|
-
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
|
|
857
|
-
inset && "pl-8",
|
|
856
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
857
|
+
"nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:focus:bg-accent nd:data-[state=open]:bg-accent",
|
|
858
|
+
inset && "nd:pl-8",
|
|
858
859
|
className
|
|
859
860
|
),
|
|
860
861
|
...props,
|
|
861
862
|
children: [
|
|
862
863
|
children,
|
|
863
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
864
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "nd:ml-auto nd:h-4 nd:w-4" })
|
|
864
865
|
]
|
|
865
866
|
}
|
|
866
867
|
));
|
|
@@ -869,8 +870,8 @@ var DropdownMenuSubContent = React3__namespace.forwardRef(({ className, ...props
|
|
|
869
870
|
DropdownMenuPrimitive__namespace.SubContent,
|
|
870
871
|
{
|
|
871
872
|
ref,
|
|
872
|
-
className:
|
|
873
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
873
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
874
|
+
"nd:z-50 nd:min-w-[8rem] nd:overflow-hidden nd:rounded-md nd:border nd:bg-popover nd:p-1 nd:text-popover-foreground nd:shadow-lg nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0 nd:data-[state=closed]:zoom-out-95 nd:data-[state=open]:zoom-in-95 nd:data-[side=bottom]:slide-in-from-top-2 nd:data-[side=left]:slide-in-from-right-2 nd:data-[side=right]:slide-in-from-left-2 nd:data-[side=top]:slide-in-from-bottom-2",
|
|
874
875
|
className
|
|
875
876
|
),
|
|
876
877
|
...props
|
|
@@ -882,8 +883,8 @@ var DropdownMenuContent = React3__namespace.forwardRef(({ className, sideOffset
|
|
|
882
883
|
{
|
|
883
884
|
ref,
|
|
884
885
|
sideOffset,
|
|
885
|
-
className:
|
|
886
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
886
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
887
|
+
"nd:z-50 nd:min-w-[8rem] nd:overflow-hidden nd:rounded-md nd:border nd:bg-popover nd:p-1 nd:text-popover-foreground nd:shadow-md nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0 nd:data-[state=closed]:zoom-out-95 nd:data-[state=open]:zoom-in-95 nd:data-[side=bottom]:slide-in-from-top-2 nd:data-[side=left]:slide-in-from-right-2 nd:data-[side=right]:slide-in-from-left-2 nd:data-[side=top]:slide-in-from-bottom-2",
|
|
887
888
|
className
|
|
888
889
|
),
|
|
889
890
|
...props
|
|
@@ -894,9 +895,9 @@ var DropdownMenuItem = React3__namespace.forwardRef(({ className, inset, ...prop
|
|
|
894
895
|
DropdownMenuPrimitive__namespace.Item,
|
|
895
896
|
{
|
|
896
897
|
ref,
|
|
897
|
-
className:
|
|
898
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
899
|
-
inset && "pl-8",
|
|
898
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
899
|
+
"nd:relative nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:transition-colors nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[disabled]:pointer-events-none nd:data-[disabled]:opacity-50",
|
|
900
|
+
inset && "nd:pl-8",
|
|
900
901
|
className
|
|
901
902
|
),
|
|
902
903
|
...props
|
|
@@ -907,14 +908,14 @@ var DropdownMenuCheckboxItem = React3__namespace.forwardRef(({ className, childr
|
|
|
907
908
|
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
908
909
|
{
|
|
909
910
|
ref,
|
|
910
|
-
className:
|
|
911
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
911
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
912
|
+
"nd:relative nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:transition-colors nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[disabled]:pointer-events-none nd:data-[disabled]:opacity-50",
|
|
912
913
|
className
|
|
913
914
|
),
|
|
914
915
|
checked,
|
|
915
916
|
...props,
|
|
916
917
|
children: [
|
|
917
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
|
|
918
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:absolute nd:left-2 nd:flex nd:h-3.5 nd:w-3.5 nd:items-center nd:justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:h-4 nd:w-4" }) }) }),
|
|
918
919
|
children
|
|
919
920
|
]
|
|
920
921
|
}
|
|
@@ -924,13 +925,13 @@ var DropdownMenuRadioItem = React3__namespace.forwardRef(({ className, children,
|
|
|
924
925
|
DropdownMenuPrimitive__namespace.RadioItem,
|
|
925
926
|
{
|
|
926
927
|
ref,
|
|
927
|
-
className:
|
|
928
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
928
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
929
|
+
"nd:relative nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:transition-colors nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[disabled]:pointer-events-none nd:data-[disabled]:opacity-50",
|
|
929
930
|
className
|
|
930
931
|
),
|
|
931
932
|
...props,
|
|
932
933
|
children: [
|
|
933
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
934
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:absolute nd:left-2 nd:flex nd:h-3.5 nd:w-3.5 nd:items-center nd:justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "nd:h-2 nd:w-2 nd:fill-current" }) }) }),
|
|
934
935
|
children
|
|
935
936
|
]
|
|
936
937
|
}
|
|
@@ -940,9 +941,9 @@ var DropdownMenuLabel = React3__namespace.forwardRef(({ className, inset, ...pro
|
|
|
940
941
|
DropdownMenuPrimitive__namespace.Label,
|
|
941
942
|
{
|
|
942
943
|
ref,
|
|
943
|
-
className:
|
|
944
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
945
|
-
inset && "pl-8",
|
|
944
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
945
|
+
"nd:px-2 nd:py-1.5 nd:text-sm nd:font-semibold",
|
|
946
|
+
inset && "nd:pl-8",
|
|
946
947
|
className
|
|
947
948
|
),
|
|
948
949
|
...props
|
|
@@ -953,18 +954,18 @@ var DropdownMenuSeparator = React3__namespace.forwardRef(({ className, ...props
|
|
|
953
954
|
DropdownMenuPrimitive__namespace.Separator,
|
|
954
955
|
{
|
|
955
956
|
ref,
|
|
956
|
-
className:
|
|
957
|
+
className: chunkCFLH4TCQ_cjs.cn("-nd:mx-1 nd:my-1 nd:h-px nd:bg-muted", className),
|
|
957
958
|
...props
|
|
958
959
|
}
|
|
959
960
|
));
|
|
960
961
|
DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
|
|
961
962
|
var alertVariants = classVarianceAuthority.cva(
|
|
962
|
-
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
963
|
+
"nd:relative nd:w-full nd:rounded-lg nd:border nd:px-4 nd:py-3 nd:text-sm nd:grid nd:has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] nd:grid-cols-[0_1fr] nd:has-[>svg]:gap-x-3 nd:gap-y-0.5 nd:items-start nd:[&>svg]:size-4 nd:[&>svg]:translate-y-0.5 nd:[&>svg]:text-current",
|
|
963
964
|
{
|
|
964
965
|
variants: {
|
|
965
966
|
variant: {
|
|
966
|
-
default: "bg-card text-card-foreground",
|
|
967
|
-
destructive: "text-destructive bg-card [&>svg]:text-current
|
|
967
|
+
default: "nd:bg-card nd:text-card-foreground",
|
|
968
|
+
destructive: "nd:text-destructive nd:bg-card nd:[&>svg]:text-current nd:*:data-[slot=alert-description]:text-destructive/90"
|
|
968
969
|
}
|
|
969
970
|
},
|
|
970
971
|
defaultVariants: {
|
|
@@ -982,7 +983,7 @@ function Alert({
|
|
|
982
983
|
{
|
|
983
984
|
"data-slot": "alert",
|
|
984
985
|
role: "alert",
|
|
985
|
-
className:
|
|
986
|
+
className: chunkCFLH4TCQ_cjs.cn(alertVariants({ variant }), className),
|
|
986
987
|
...props
|
|
987
988
|
}
|
|
988
989
|
);
|
|
@@ -992,8 +993,8 @@ function AlertTitle({ className, ...props }) {
|
|
|
992
993
|
"div",
|
|
993
994
|
{
|
|
994
995
|
"data-slot": "alert-title",
|
|
995
|
-
className:
|
|
996
|
-
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
996
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
997
|
+
"nd:col-start-2 nd:line-clamp-1 nd:min-h-4 nd:font-medium nd:tracking-tight",
|
|
997
998
|
className
|
|
998
999
|
),
|
|
999
1000
|
...props
|
|
@@ -1008,8 +1009,8 @@ function AlertDescription({
|
|
|
1008
1009
|
"div",
|
|
1009
1010
|
{
|
|
1010
1011
|
"data-slot": "alert-description",
|
|
1011
|
-
className:
|
|
1012
|
-
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
1012
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1013
|
+
"nd:text-muted-foreground nd:col-start-2 nd:grid nd:justify-items-start nd:gap-1 nd:text-sm nd:[&_p]:leading-relaxed",
|
|
1013
1014
|
className
|
|
1014
1015
|
),
|
|
1015
1016
|
...props
|
|
@@ -1022,10 +1023,10 @@ function Input({ className, type, ...props }) {
|
|
|
1022
1023
|
{
|
|
1023
1024
|
type,
|
|
1024
1025
|
"data-slot": "input",
|
|
1025
|
-
className:
|
|
1026
|
-
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
1027
|
-
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
1028
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
1026
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1027
|
+
"file:nd:text-foreground placeholder:nd:text-muted-foreground selection:nd:bg-primary selection:nd:text-primary-foreground nd:dark:bg-input/30 nd:border-input nd:h-9 nd:w-full nd:min-w-0 nd:rounded-md nd:border nd:bg-transparent nd:px-3 nd:py-1 nd:text-base nd:shadow-xs nd:transition-[color,box-shadow] nd:outline-none file:nd:inline-flex file:nd:h-7 file:nd:border-0 file:nd:bg-transparent file:nd:text-sm file:nd:font-medium nd:disabled:pointer-events-none nd:disabled:cursor-not-allowed nd:disabled:opacity-50 nd:md:text-sm",
|
|
1028
|
+
"nd:focus-visible:border-ring nd:focus-visible:ring-ring/50 nd:focus-visible:ring-[3px]",
|
|
1029
|
+
"aria-invalid:nd:ring-destructive/20 dark:aria-invalid:nd:ring-destructive/40 aria-invalid:nd:border-destructive",
|
|
1029
1030
|
className
|
|
1030
1031
|
),
|
|
1031
1032
|
...props
|
|
@@ -1040,8 +1041,8 @@ function Label2({
|
|
|
1040
1041
|
LabelPrimitive__namespace.Root,
|
|
1041
1042
|
{
|
|
1042
1043
|
"data-slot": "label",
|
|
1043
|
-
className:
|
|
1044
|
-
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
1044
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1045
|
+
"nd:flex nd:items-center nd:gap-2 nd:text-sm nd:leading-none nd:font-medium nd:select-none group-nd:data-[disabled=true]:pointer-events-none group-nd:data-[disabled=true]:opacity-50 peer-nd:disabled:cursor-not-allowed peer-nd:disabled:opacity-50",
|
|
1045
1046
|
className
|
|
1046
1047
|
),
|
|
1047
1048
|
...props
|
|
@@ -1126,11 +1127,11 @@ var DialogConfirmation = (props) => {
|
|
|
1126
1127
|
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { children: description })
|
|
1127
1128
|
] }),
|
|
1128
1129
|
error && /* @__PURE__ */ jsxRuntime.jsxs(Alert, { variant: "destructive", children: [
|
|
1129
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4" }),
|
|
1130
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:h-4 nd:w-4" }),
|
|
1130
1131
|
/* @__PURE__ */ jsxRuntime.jsx(AlertTitle, { children: "Error" }),
|
|
1131
1132
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDescription, { children: error })
|
|
1132
1133
|
] }),
|
|
1133
|
-
inputs && inputs.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4 py-4", children: inputs.map((input, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
|
|
1134
|
+
inputs && inputs.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:grid nd:gap-4 nd:py-4", children: inputs.map((input, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:grid nd:gap-2", children: [
|
|
1134
1135
|
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: input.id, children: input.name }),
|
|
1135
1136
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1136
1137
|
Input,
|
|
@@ -1225,11 +1226,11 @@ var RenameAccountDialog = (props) => {
|
|
|
1225
1226
|
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { children: "Enter a new display name for this storage account." })
|
|
1226
1227
|
] }),
|
|
1227
1228
|
errors.name && /* @__PURE__ */ jsxRuntime.jsxs(Alert, { variant: "destructive", children: [
|
|
1228
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4" }),
|
|
1229
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:h-4 nd:w-4" }),
|
|
1229
1230
|
/* @__PURE__ */ jsxRuntime.jsx(AlertTitle, { children: "Error" }),
|
|
1230
1231
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDescription, { children: errors.name.message })
|
|
1231
1232
|
] }),
|
|
1232
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4 py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
|
|
1233
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:grid nd:gap-4 nd:py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:grid nd:gap-2", children: [
|
|
1233
1234
|
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "rename-account-input", children: "Account name" }),
|
|
1234
1235
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1235
1236
|
Input,
|
|
@@ -1353,8 +1354,8 @@ function Progress({
|
|
|
1353
1354
|
ProgressPrimitive__namespace.Root,
|
|
1354
1355
|
{
|
|
1355
1356
|
"data-slot": "progress",
|
|
1356
|
-
className:
|
|
1357
|
-
"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
|
|
1357
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1358
|
+
"nd:bg-primary/20 nd:relative nd:h-2 nd:w-full nd:overflow-hidden nd:rounded-full",
|
|
1358
1359
|
className
|
|
1359
1360
|
),
|
|
1360
1361
|
...props,
|
|
@@ -1362,10 +1363,10 @@ function Progress({
|
|
|
1362
1363
|
ProgressPrimitive__namespace.Indicator,
|
|
1363
1364
|
{
|
|
1364
1365
|
"data-slot": "progress-indicator",
|
|
1365
|
-
className:
|
|
1366
|
-
"bg-primary h-full flex-1 transition-all",
|
|
1367
|
-
isIndeterminate && "w-1/3 animate-[indeterminate_1.5s_ease-in-out_infinite]",
|
|
1368
|
-
!isIndeterminate && "w-full",
|
|
1366
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1367
|
+
"nd:bg-primary nd:h-full nd:flex-1 nd:transition-all",
|
|
1368
|
+
isIndeterminate && "nd:w-1/3 nd:animate-[indeterminate_1.5s_ease-in-out_infinite]",
|
|
1369
|
+
!isIndeterminate && "nd:w-full",
|
|
1369
1370
|
indicatorClassName
|
|
1370
1371
|
),
|
|
1371
1372
|
style: isIndeterminate ? void 0 : { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
@@ -1380,15 +1381,15 @@ var ContextMenuSubTrigger = React3__namespace.forwardRef(({ className, inset, ch
|
|
|
1380
1381
|
ContextMenuPrimitive__namespace.SubTrigger,
|
|
1381
1382
|
{
|
|
1382
1383
|
ref,
|
|
1383
|
-
className:
|
|
1384
|
-
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
1385
|
-
inset && "pl-8",
|
|
1384
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1385
|
+
"nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[state=open]:bg-accent nd:data-[state=open]:text-accent-foreground",
|
|
1386
|
+
inset && "nd:pl-8",
|
|
1386
1387
|
className
|
|
1387
1388
|
),
|
|
1388
1389
|
...props,
|
|
1389
1390
|
children: [
|
|
1390
1391
|
children,
|
|
1391
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
1392
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "nd:ml-auto nd:h-4 nd:w-4" })
|
|
1392
1393
|
]
|
|
1393
1394
|
}
|
|
1394
1395
|
));
|
|
@@ -1397,8 +1398,8 @@ var ContextMenuSubContent = React3__namespace.forwardRef(({ className, ...props
|
|
|
1397
1398
|
ContextMenuPrimitive__namespace.SubContent,
|
|
1398
1399
|
{
|
|
1399
1400
|
ref,
|
|
1400
|
-
className:
|
|
1401
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
1401
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1402
|
+
"nd:z-50 nd:min-w-[8rem] nd:overflow-hidden nd:rounded-md nd:border nd:bg-popover nd:p-1 nd:text-popover-foreground nd:shadow-md nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0 nd:data-[state=closed]:zoom-out-95 nd:data-[state=open]:zoom-in-95 nd:data-[side=bottom]:slide-in-from-top-2 nd:data-[side=left]:slide-in-from-right-2 nd:data-[side=right]:slide-in-from-left-2 nd:data-[side=top]:slide-in-from-bottom-2",
|
|
1402
1403
|
className
|
|
1403
1404
|
),
|
|
1404
1405
|
...props
|
|
@@ -1409,8 +1410,8 @@ var ContextMenuContent = React3__namespace.forwardRef(({ className, ...props },
|
|
|
1409
1410
|
ContextMenuPrimitive__namespace.Content,
|
|
1410
1411
|
{
|
|
1411
1412
|
ref,
|
|
1412
|
-
className:
|
|
1413
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
1413
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1414
|
+
"nd:z-50 nd:min-w-[8rem] nd:overflow-hidden nd:rounded-md nd:border nd:bg-popover nd:p-1 nd:text-popover-foreground nd:shadow-md nd:animate-in nd:fade-in-80 nd:data-[state=open]:animate-in nd:data-[state=closed]:animate-out nd:data-[state=closed]:fade-out-0 nd:data-[state=open]:fade-in-0 nd:data-[state=closed]:zoom-out-95 nd:data-[state=open]:zoom-in-95 nd:data-[side=bottom]:slide-in-from-top-2 nd:data-[side=left]:slide-in-from-right-2 nd:data-[side=right]:slide-in-from-left-2 nd:data-[side=top]:slide-in-from-bottom-2",
|
|
1414
1415
|
className
|
|
1415
1416
|
),
|
|
1416
1417
|
...props
|
|
@@ -1421,9 +1422,9 @@ var ContextMenuItem = React3__namespace.forwardRef(({ className, inset, ...props
|
|
|
1421
1422
|
ContextMenuPrimitive__namespace.Item,
|
|
1422
1423
|
{
|
|
1423
1424
|
ref,
|
|
1424
|
-
className:
|
|
1425
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1426
|
-
inset && "pl-8",
|
|
1425
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1426
|
+
"nd:relative nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[disabled]:pointer-events-none nd:data-[disabled]:opacity-50",
|
|
1427
|
+
inset && "nd:pl-8",
|
|
1427
1428
|
className
|
|
1428
1429
|
),
|
|
1429
1430
|
...props
|
|
@@ -1434,14 +1435,14 @@ var ContextMenuCheckboxItem = React3__namespace.forwardRef(({ className, childre
|
|
|
1434
1435
|
ContextMenuPrimitive__namespace.CheckboxItem,
|
|
1435
1436
|
{
|
|
1436
1437
|
ref,
|
|
1437
|
-
className:
|
|
1438
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1438
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1439
|
+
"nd:relative nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[disabled]:pointer-events-none nd:data-[disabled]:opacity-50",
|
|
1439
1440
|
className
|
|
1440
1441
|
),
|
|
1441
1442
|
checked,
|
|
1442
1443
|
...props,
|
|
1443
1444
|
children: [
|
|
1444
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
|
|
1445
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:absolute nd:left-2 nd:flex nd:h-3.5 nd:w-3.5 nd:items-center nd:justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:h-4 nd:w-4" }) }) }),
|
|
1445
1446
|
children
|
|
1446
1447
|
]
|
|
1447
1448
|
}
|
|
@@ -1451,13 +1452,13 @@ var ContextMenuRadioItem = React3__namespace.forwardRef(({ className, children,
|
|
|
1451
1452
|
ContextMenuPrimitive__namespace.RadioItem,
|
|
1452
1453
|
{
|
|
1453
1454
|
ref,
|
|
1454
|
-
className:
|
|
1455
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1455
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1456
|
+
"nd:relative nd:flex nd:cursor-default nd:select-none nd:items-center nd:rounded-sm nd:px-2 nd:py-1.5 nd:text-sm nd:outline-none nd:focus:bg-accent nd:focus:text-accent-foreground nd:data-[disabled]:pointer-events-none nd:data-[disabled]:opacity-50",
|
|
1456
1457
|
className
|
|
1457
1458
|
),
|
|
1458
1459
|
...props,
|
|
1459
1460
|
children: [
|
|
1460
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1461
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:absolute nd:left-2 nd:flex nd:h-3.5 nd:w-3.5 nd:items-center nd:justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "nd:h-2 nd:w-2 nd:fill-current" }) }) }),
|
|
1461
1462
|
children
|
|
1462
1463
|
]
|
|
1463
1464
|
}
|
|
@@ -1467,9 +1468,9 @@ var ContextMenuLabel = React3__namespace.forwardRef(({ className, inset, ...prop
|
|
|
1467
1468
|
ContextMenuPrimitive__namespace.Label,
|
|
1468
1469
|
{
|
|
1469
1470
|
ref,
|
|
1470
|
-
className:
|
|
1471
|
-
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
1472
|
-
inset && "pl-8",
|
|
1471
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1472
|
+
"nd:px-2 nd:py-1.5 nd:text-sm nd:font-semibold nd:text-foreground",
|
|
1473
|
+
inset && "nd:pl-8",
|
|
1473
1474
|
className
|
|
1474
1475
|
),
|
|
1475
1476
|
...props
|
|
@@ -1480,7 +1481,7 @@ var ContextMenuSeparator = React3__namespace.forwardRef(({ className, ...props }
|
|
|
1480
1481
|
ContextMenuPrimitive__namespace.Separator,
|
|
1481
1482
|
{
|
|
1482
1483
|
ref,
|
|
1483
|
-
className:
|
|
1484
|
+
className: chunkCFLH4TCQ_cjs.cn("-nd:mx-1 nd:my-1 nd:h-px nd:bg-border", className),
|
|
1484
1485
|
...props
|
|
1485
1486
|
}
|
|
1486
1487
|
));
|
|
@@ -1543,11 +1544,11 @@ var CreateFolderDialog = (props) => {
|
|
|
1543
1544
|
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { children: "Enter a name for the new folder" })
|
|
1544
1545
|
] }),
|
|
1545
1546
|
errors.name && /* @__PURE__ */ jsxRuntime.jsxs(Alert, { variant: "destructive", children: [
|
|
1546
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4" }),
|
|
1547
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:h-4 nd:w-4" }),
|
|
1547
1548
|
/* @__PURE__ */ jsxRuntime.jsx(AlertTitle, { children: "Error" }),
|
|
1548
1549
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDescription, { children: errors.name.message })
|
|
1549
1550
|
] }),
|
|
1550
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4 py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
|
|
1551
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:grid nd:gap-4 nd:py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:grid nd:gap-2", children: [
|
|
1551
1552
|
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "folder-name", children: "Folder name" }),
|
|
1552
1553
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1553
1554
|
Input,
|
|
@@ -1658,11 +1659,11 @@ var RenameDialog = (props) => {
|
|
|
1658
1659
|
] })
|
|
1659
1660
|
] }),
|
|
1660
1661
|
errors.name && /* @__PURE__ */ jsxRuntime.jsxs(Alert, { variant: "destructive", children: [
|
|
1661
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4" }),
|
|
1662
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:h-4 nd:w-4" }),
|
|
1662
1663
|
/* @__PURE__ */ jsxRuntime.jsx(AlertTitle, { children: "Error" }),
|
|
1663
1664
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDescription, { children: errors.name.message })
|
|
1664
1665
|
] }),
|
|
1665
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4 py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
|
|
1666
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:grid nd:gap-4 nd:py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:grid nd:gap-2", children: [
|
|
1666
1667
|
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "rename-input", children: "Name" }),
|
|
1667
1668
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1668
1669
|
Input,
|
|
@@ -1723,63 +1724,63 @@ var FileItem = (props) => {
|
|
|
1723
1724
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { onContextMenu: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1724
1725
|
"div",
|
|
1725
1726
|
{
|
|
1726
|
-
className:
|
|
1727
|
-
"group relative cursor-pointer transition-all select-none",
|
|
1728
|
-
"focus:outline-none focus-visible:ring-2 focus-visible:ring-primary",
|
|
1729
|
-
viewMode === "GRID" ? "flex flex-col rounded-lg sm:rounded-xl border bg-card dark:bg-card/50 hover:bg-accent/50 dark:hover:bg-accent/30 overflow-hidden" : "flex items-center gap-2 sm:gap-3 p-1.5 sm:p-2 rounded-lg border border-transparent hover:bg-accent/50 dark:hover:bg-accent/30 hover:border-border",
|
|
1730
|
-
isSelected && "ring-2 ring-primary border-primary/50 bg-primary/5 dark:bg-primary/10",
|
|
1731
|
-
isDragOver && "ring-2 ring-primary border-primary scale-[1.02] bg-primary/10 shadow-lg"
|
|
1727
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
1728
|
+
"group nd:relative nd:cursor-pointer nd:transition-all nd:select-none",
|
|
1729
|
+
"nd:focus:outline-none nd:focus-visible:ring-2 nd:focus-visible:ring-primary",
|
|
1730
|
+
viewMode === "GRID" ? "nd:flex nd:flex-col nd:rounded-lg nd:sm:rounded-xl nd:border nd:bg-card nd:dark:bg-card/50 nd:hover:bg-accent/50 nd:dark:hover:bg-accent/30 nd:overflow-hidden" : "nd:flex nd:items-center nd:gap-2 nd:sm:gap-3 nd:p-1.5 nd:sm:p-2 nd:rounded-lg nd:border nd:border-transparent nd:hover:bg-accent/50 nd:dark:hover:bg-accent/30 nd:hover:border-border",
|
|
1731
|
+
isSelected && "nd:ring-2 nd:ring-primary nd:border-primary/50 nd:bg-primary/5 nd:dark:bg-primary/10",
|
|
1732
|
+
isDragOver && "nd:ring-2 nd:ring-primary nd:border-primary nd:scale-[1.02] nd:bg-primary/10 nd:shadow-lg"
|
|
1732
1733
|
),
|
|
1733
1734
|
onClick: onSelect,
|
|
1734
1735
|
onDoubleClick,
|
|
1735
1736
|
role: "button",
|
|
1736
1737
|
tabIndex: 0,
|
|
1737
1738
|
children: viewMode === "GRID" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1738
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "aspect-square w-full bg-muted/30 dark:bg-muted/20 flex items-center justify-center overflow-hidden relative", children: [
|
|
1739
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:aspect-square nd:w-full nd:bg-muted/30 nd:dark:bg-muted/20 nd:flex nd:items-center nd:justify-center nd:overflow-hidden nd:relative", children: [
|
|
1739
1740
|
isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1740
1741
|
"img",
|
|
1741
1742
|
{
|
|
1742
1743
|
src: thumbnailUrl,
|
|
1743
1744
|
alt: item.name,
|
|
1744
|
-
className: "size-full object-cover transition-transform group-hover:scale-105 duration-300",
|
|
1745
|
+
className: "nd:size-full nd:object-cover nd:transition-transform group-nd:hover:scale-105 nd:duration-300",
|
|
1745
1746
|
loading: "lazy"
|
|
1746
1747
|
}
|
|
1747
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "transition-transform group-hover:scale-110 duration-200", children:
|
|
1748
|
-
isSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1.5 right-1.5 sm:top-2 sm:right-2 size-5 bg-primary rounded-full flex items-center justify-center shadow-md animate-in zoom-in-50", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-2 bg-primary-foreground rounded-full" }) }),
|
|
1749
|
-
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-1.5 right-1.5 sm:bottom-2 sm:right-2 lg:hidden size-5 sm:size-6 bg-primary/90 rounded-full flex items-center justify-center shadow-md", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-3 sm:size-3.5 text-primary-foreground" }) })
|
|
1748
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:transition-transform group-nd:hover:scale-110 nd:duration-200", children: chunkCFLH4TCQ_cjs.getFileIcon(item.information.type === "FILE" ? item.information.mime : "", isFolder, "nd:size-8 nd:sm:size-10 nd:md:size-12 nd:text-muted-foreground/60") }),
|
|
1749
|
+
isSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:absolute nd:top-1.5 nd:right-1.5 nd:sm:top-2 nd:sm:right-2 nd:size-5 nd:bg-primary nd:rounded-full nd:flex nd:items-center nd:justify-center nd:shadow-md nd:animate-in nd:zoom-in-50", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-2 nd:bg-primary-foreground nd:rounded-full" }) }),
|
|
1750
|
+
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:absolute nd:bottom-1.5 nd:right-1.5 nd:sm:bottom-2 nd:sm:right-2 nd:lg:hidden nd:size-5 nd:sm:size-6 nd:bg-primary/90 nd:rounded-full nd:flex nd:items-center nd:justify-center nd:shadow-md", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "nd:size-3 nd:sm:size-3.5 nd:text-primary-foreground" }) })
|
|
1750
1751
|
] }),
|
|
1751
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-1.5 sm:p-2", children: [
|
|
1752
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium truncate leading-tight", title: item.name, children: item.name }),
|
|
1753
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: isFolder ? "Folder" :
|
|
1752
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:p-1.5 nd:sm:p-2", children: [
|
|
1753
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:font-medium nd:truncate nd:leading-tight", title: item.name, children: item.name }),
|
|
1754
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground nd:mt-0.5", children: isFolder ? "Folder" : chunkCFLH4TCQ_cjs.formatBytes(item.information.type === "FILE" ? item.information.sizeInBytes : 0) })
|
|
1754
1755
|
] })
|
|
1755
1756
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1756
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 shrink-0 rounded-lg overflow-hidden bg-muted/50 dark:bg-muted/30 flex items-center justify-center", children: isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: thumbnailUrl, alt: item.name, className: "size-full object-cover", loading: "lazy" }) :
|
|
1757
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
1758
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium truncate", title: item.name, children: item.name }),
|
|
1759
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: isFolder ? "Folder" :
|
|
1757
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-10 nd:shrink-0 nd:rounded-lg nd:overflow-hidden nd:bg-muted/50 nd:dark:bg-muted/30 nd:flex nd:items-center nd:justify-center", children: isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: thumbnailUrl, alt: item.name, className: "nd:size-full nd:object-cover", loading: "lazy" }) : chunkCFLH4TCQ_cjs.getFileIcon(item.information.type === "FILE" ? item.information.mime : "", isFolder, "nd:size-5 nd:text-muted-foreground") }),
|
|
1758
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0", children: [
|
|
1759
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:font-medium nd:truncate", title: item.name, children: item.name }),
|
|
1760
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground", children: isFolder ? "Folder" : chunkCFLH4TCQ_cjs.formatBytes(item.information.type === "FILE" ? item.information.sizeInBytes : 0) })
|
|
1760
1761
|
] }),
|
|
1761
|
-
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4 text-muted-foreground lg:hidden shrink-0" })
|
|
1762
|
+
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "nd:size-4 nd:text-muted-foreground nd:lg:hidden nd:shrink-0" })
|
|
1762
1763
|
] })
|
|
1763
1764
|
}
|
|
1764
1765
|
) }),
|
|
1765
1766
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuContent, { children: currentView === "TRASH" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1766
1767
|
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { onClick: onRestore, children: [
|
|
1767
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "mr-2 size-4" }),
|
|
1768
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "nd:mr-2 nd:size-4" }),
|
|
1768
1769
|
" Restore"
|
|
1769
1770
|
] }),
|
|
1770
1771
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuSeparator, {}),
|
|
1771
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "text-destructive focus:text-destructive", onClick: onDelete, children: [
|
|
1772
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "mr-2 size-4" }),
|
|
1772
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "nd:text-destructive nd:focus:text-destructive", onClick: onDelete, children: [
|
|
1773
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:mr-2 nd:size-4" }),
|
|
1773
1774
|
" Delete Forever"
|
|
1774
1775
|
] })
|
|
1775
1776
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1776
1777
|
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { onClick: onRename, children: [
|
|
1777
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "mr-2 size-4" }),
|
|
1778
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "nd:mr-2 nd:size-4" }),
|
|
1778
1779
|
" Rename"
|
|
1779
1780
|
] }),
|
|
1780
1781
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuSeparator, {}),
|
|
1781
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "text-destructive focus:text-destructive", onClick: onDelete, children: [
|
|
1782
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "mr-2 size-4" }),
|
|
1782
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "nd:text-destructive nd:focus:text-destructive", onClick: onDelete, children: [
|
|
1783
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:mr-2 nd:size-4" }),
|
|
1783
1784
|
" Delete"
|
|
1784
1785
|
] })
|
|
1785
1786
|
] }) })
|
|
@@ -1816,7 +1817,7 @@ var DriveFileGrid = (props) => {
|
|
|
1816
1817
|
let filtered = items;
|
|
1817
1818
|
if (mimeFilter) {
|
|
1818
1819
|
filtered = filtered.filter(
|
|
1819
|
-
(item) =>
|
|
1820
|
+
(item) => chunkCFLH4TCQ_cjs.matchesMimeFilter(
|
|
1820
1821
|
item.information.type === "FILE" ? item.information.mime : "",
|
|
1821
1822
|
item.information.type === "FOLDER",
|
|
1822
1823
|
mimeFilter
|
|
@@ -1902,49 +1903,49 @@ var DriveFileGrid = (props) => {
|
|
|
1902
1903
|
};
|
|
1903
1904
|
const enableDrag = currentView === "BROWSE";
|
|
1904
1905
|
if (isLoading && items.length === 0) {
|
|
1905
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1906
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1 w-full shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1906
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex-1 nd:flex nd:flex-col", className), children: [
|
|
1907
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:h-1 nd:w-full nd:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1907
1908
|
Progress,
|
|
1908
1909
|
{
|
|
1909
1910
|
indeterminate: true,
|
|
1910
|
-
className: "h-full rounded-none bg-primary/10",
|
|
1911
|
-
indicatorClassName: "bg-primary"
|
|
1911
|
+
className: "nd:h-full nd:rounded-none nd:bg-primary/10",
|
|
1912
|
+
indicatorClassName: "nd:bg-primary"
|
|
1912
1913
|
}
|
|
1913
1914
|
) }),
|
|
1914
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-8 animate-spin text-muted-foreground" }) })
|
|
1915
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:flex-1 nd:flex nd:items-center nd:justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-8 nd:animate-spin nd:text-muted-foreground" }) })
|
|
1915
1916
|
] });
|
|
1916
1917
|
}
|
|
1917
1918
|
if (error) {
|
|
1918
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1919
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex-1 nd:flex nd:items-center nd:justify-center nd:p-8", className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-destructive nd:font-medium nd:text-center", children: error }) });
|
|
1919
1920
|
}
|
|
1920
1921
|
if (processedItems.length === 0) {
|
|
1921
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1922
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-16 rounded-2xl bg-muted/50 dark:bg-muted/30 flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Folder, { className: "size-8 text-muted-foreground/60" }) }),
|
|
1923
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-muted-foreground", children: currentView === "SEARCH" ? "No files match your search" : currentView === "TRASH" ? "Trash is empty" : "This folder is empty" })
|
|
1922
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex-1 nd:flex nd:flex-col nd:items-center nd:justify-center nd:p-8 nd:text-center", className), children: [
|
|
1923
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-16 nd:rounded-2xl nd:bg-muted/50 nd:dark:bg-muted/30 nd:flex nd:items-center nd:justify-center nd:mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Folder, { className: "nd:size-8 nd:text-muted-foreground/60" }) }),
|
|
1924
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:font-medium nd:text-muted-foreground", children: currentView === "SEARCH" ? "No files match your search" : currentView === "TRASH" ? "Trash is empty" : "This folder is empty" })
|
|
1924
1925
|
] });
|
|
1925
1926
|
}
|
|
1926
1927
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1927
|
-
isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1 w-full shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1928
|
+
isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:h-1 nd:w-full nd:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1928
1929
|
Progress,
|
|
1929
1930
|
{
|
|
1930
1931
|
indeterminate: true,
|
|
1931
|
-
className: "h-full rounded-none bg-primary/10",
|
|
1932
|
-
indicatorClassName: "bg-primary"
|
|
1932
|
+
className: "nd:h-full nd:rounded-none nd:bg-primary/10",
|
|
1933
|
+
indicatorClassName: "nd:bg-primary"
|
|
1933
1934
|
}
|
|
1934
1935
|
) }),
|
|
1935
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1936
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4 sm:space-y-6", children: Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1937
|
-
groupBy !== "NONE" && /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2 sm:mb-3 px-1", children: [
|
|
1936
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex-1 nd:overflow-y-auto nd:min-h-0 nd:p-2 nd:sm:p-3 nd:md:p-4", className), children: [
|
|
1937
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:space-y-4 nd:sm:space-y-6", children: Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1938
|
+
groupBy !== "NONE" && /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "nd:text-xs nd:font-semibold nd:text-muted-foreground nd:uppercase nd:tracking-wide nd:mb-2 nd:sm:mb-3 nd:px-1", children: [
|
|
1938
1939
|
groupName,
|
|
1939
1940
|
" ",
|
|
1940
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "opacity-50", children: [
|
|
1941
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:opacity-50", children: [
|
|
1941
1942
|
"(",
|
|
1942
1943
|
groupItems.length,
|
|
1943
1944
|
")"
|
|
1944
1945
|
] })
|
|
1945
1946
|
] }),
|
|
1946
|
-
/* @__PURE__ */ jsxRuntime.jsx(sortable.SortableContext, { items: groupItems.map((i) => i.id), strategy: sortable.rectSortingStrategy, disabled: !enableDrag, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1947
|
-
viewMode === "GRID" ? "grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 gap-2 sm:gap-3" : "flex flex-col gap-1"
|
|
1947
|
+
/* @__PURE__ */ jsxRuntime.jsx(sortable.SortableContext, { items: groupItems.map((i) => i.id), strategy: sortable.rectSortingStrategy, disabled: !enableDrag, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
1948
|
+
viewMode === "GRID" ? "nd:grid nd:grid-cols-3 nd:sm:grid-cols-4 nd:md:grid-cols-5 nd:lg:grid-cols-6 nd:xl:grid-cols-7 nd:gap-2 nd:sm:gap-3" : "nd:flex nd:flex-col nd:gap-1"
|
|
1948
1949
|
), children: groupItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1949
1950
|
SortableItem,
|
|
1950
1951
|
{
|
|
@@ -1974,7 +1975,7 @@ var DriveFileGrid = (props) => {
|
|
|
1974
1975
|
item.id
|
|
1975
1976
|
)) }) })
|
|
1976
1977
|
] }, groupName)) }),
|
|
1977
|
-
hasMore && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: observerTarget, className: "flex justify-center py-6", children: isLoadingMore && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-6 animate-spin text-muted-foreground" }) })
|
|
1978
|
+
hasMore && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: observerTarget, className: "nd:flex nd:justify-center nd:py-6", children: isLoadingMore && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-6 nd:animate-spin nd:text-muted-foreground" }) })
|
|
1978
1979
|
] }),
|
|
1979
1980
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1980
1981
|
CreateFolderDialog,
|
|
@@ -2044,18 +2045,18 @@ var DriveHeader = ({ className }) => {
|
|
|
2044
2045
|
createFolder
|
|
2045
2046
|
} = useDrive();
|
|
2046
2047
|
const [dialogs, setDialogs] = React3.useState({ delete: false, emptyTrash: false, newFolder: false });
|
|
2047
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2048
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex nd:flex-wrap nd:items-center nd:gap-2 nd:bg-muted/30 nd:dark:bg-muted/20 nd:p-2", className), children: [
|
|
2048
2049
|
currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2049
2050
|
Button,
|
|
2050
2051
|
{
|
|
2051
2052
|
type: "button",
|
|
2052
2053
|
variant: "outline",
|
|
2053
2054
|
size: "sm",
|
|
2054
|
-
className: "gap-1.5",
|
|
2055
|
+
className: "nd:gap-1.5",
|
|
2055
2056
|
onClick: () => setDialogs((prev) => ({ ...prev, newFolder: true })),
|
|
2056
2057
|
children: [
|
|
2057
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderPlus, { className: "size-4" }),
|
|
2058
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: "New Folder" })
|
|
2058
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderPlus, { className: "nd:size-4" }),
|
|
2059
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:hidden nd:sm:inline", children: "New Folder" })
|
|
2059
2060
|
]
|
|
2060
2061
|
}
|
|
2061
2062
|
),
|
|
@@ -2066,8 +2067,8 @@ var DriveHeader = ({ className }) => {
|
|
|
2066
2067
|
type: "button",
|
|
2067
2068
|
variant: "outline",
|
|
2068
2069
|
size: "sm",
|
|
2069
|
-
className: "gap-1.5",
|
|
2070
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "size-4" })
|
|
2070
|
+
className: "nd:gap-1.5",
|
|
2071
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "nd:size-4" })
|
|
2071
2072
|
}
|
|
2072
2073
|
) }),
|
|
2073
2074
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "start", children: [
|
|
@@ -2081,7 +2082,7 @@ var DriveHeader = ({ className }) => {
|
|
|
2081
2082
|
setSelectedFileIds([]);
|
|
2082
2083
|
},
|
|
2083
2084
|
children: [
|
|
2084
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "size-3.5 mr-2" }),
|
|
2085
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2085
2086
|
"Restore (",
|
|
2086
2087
|
selectedFileIds.length,
|
|
2087
2088
|
")"
|
|
@@ -2092,9 +2093,9 @@ var DriveHeader = ({ className }) => {
|
|
|
2092
2093
|
DropdownMenuItem,
|
|
2093
2094
|
{
|
|
2094
2095
|
onClick: () => setDialogs((prev) => ({ ...prev, delete: true })),
|
|
2095
|
-
className: "text-destructive focus:text-destructive",
|
|
2096
|
+
className: "nd:text-destructive nd:focus:text-destructive",
|
|
2096
2097
|
children: [
|
|
2097
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "size-3.5 mr-2" }),
|
|
2098
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2098
2099
|
currentView === "TRASH" ? "Delete Forever" : "Delete",
|
|
2099
2100
|
" (",
|
|
2100
2101
|
selectedFileIds.length,
|
|
@@ -2106,9 +2107,9 @@ var DriveHeader = ({ className }) => {
|
|
|
2106
2107
|
DropdownMenuItem,
|
|
2107
2108
|
{
|
|
2108
2109
|
onClick: () => setDialogs((prev) => ({ ...prev, emptyTrash: true })),
|
|
2109
|
-
className: "text-destructive focus:text-destructive",
|
|
2110
|
+
className: "nd:text-destructive nd:focus:text-destructive",
|
|
2110
2111
|
children: [
|
|
2111
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "size-3.5 mr-2" }),
|
|
2112
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2112
2113
|
"Empty Trash"
|
|
2113
2114
|
]
|
|
2114
2115
|
}
|
|
@@ -2122,31 +2123,31 @@ var DriveHeader = ({ className }) => {
|
|
|
2122
2123
|
type: "button",
|
|
2123
2124
|
variant: groupBy !== "NONE" ? "secondary" : "ghost",
|
|
2124
2125
|
size: "sm",
|
|
2125
|
-
className: "gap-1.5",
|
|
2126
|
+
className: "nd:gap-1.5",
|
|
2126
2127
|
children: [
|
|
2127
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Group, { className: "size-3.5" }),
|
|
2128
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: groupBy === "NONE" ? "Group" : "Grouped" })
|
|
2128
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Group, { className: "nd:size-3.5" }),
|
|
2129
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:hidden nd:sm:inline", children: groupBy === "NONE" ? "Group" : "Grouped" })
|
|
2129
2130
|
]
|
|
2130
2131
|
}
|
|
2131
2132
|
) }),
|
|
2132
2133
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "start", children: [
|
|
2133
2134
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setGroupBy("NONE"), children: [
|
|
2134
|
-
groupBy === "NONE" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2135
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2135
|
+
groupBy === "NONE" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2136
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkCFLH4TCQ_cjs.cn(groupBy !== "NONE" && "nd:pl-5.5"), children: "No Grouping" })
|
|
2136
2137
|
] }),
|
|
2137
2138
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setGroupBy("CREATED_AT"), children: [
|
|
2138
|
-
groupBy === "CREATED_AT" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2139
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2139
|
+
groupBy === "CREATED_AT" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2140
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkCFLH4TCQ_cjs.cn(groupBy !== "CREATED_AT" && "nd:pl-5.5"), children: "Created Date" })
|
|
2140
2141
|
] })
|
|
2141
2142
|
] })
|
|
2142
2143
|
] }),
|
|
2143
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 sm:min-w-50 relative", children: [
|
|
2144
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0 nd:sm:min-w-50 nd:relative", children: [
|
|
2144
2145
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2145
2146
|
Input,
|
|
2146
2147
|
{
|
|
2147
2148
|
type: "text",
|
|
2148
2149
|
placeholder: "Search files...",
|
|
2149
|
-
className: "w-full pl-8 pr-7 h-9",
|
|
2150
|
+
className: "nd:w-full nd:pl-8 nd:pr-7 nd:h-9",
|
|
2150
2151
|
value: searchQuery,
|
|
2151
2152
|
onChange: (e) => {
|
|
2152
2153
|
const val = e.target.value;
|
|
@@ -2162,93 +2163,87 @@ var DriveHeader = ({ className }) => {
|
|
|
2162
2163
|
}
|
|
2163
2164
|
}
|
|
2164
2165
|
),
|
|
2165
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute left-2.5 top-1/2
|
|
2166
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8" }),
|
|
2167
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m21 21-4.3-4.3" })
|
|
2168
|
-
] }) }),
|
|
2166
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:absolute nd:left-2.5 nd:top-1/2 nd:-translate-y-1/2 nd:text-muted-foreground nd:pointer-events-none", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "nd:size-3.5" }) }),
|
|
2169
2167
|
searchQuery && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2170
2168
|
Button,
|
|
2171
2169
|
{
|
|
2172
2170
|
type: "button",
|
|
2173
2171
|
variant: "ghost",
|
|
2174
2172
|
size: "icon",
|
|
2175
|
-
className: "absolute right-0.5 top-1/2
|
|
2173
|
+
className: "nd:absolute nd:right-0.5 nd:top-1/2 nd:-translate-y-1/2 nd:h-7 nd:w-7 nd:text-muted-foreground",
|
|
2176
2174
|
onClick: () => {
|
|
2177
2175
|
setSearchQuery("");
|
|
2178
2176
|
setCurrentView(searchScope === "TRASH" ? "TRASH" : "BROWSE");
|
|
2179
2177
|
},
|
|
2180
|
-
children: /* @__PURE__ */ jsxRuntime.
|
|
2181
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 6 6 18" }),
|
|
2182
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 6 12 12" })
|
|
2183
|
-
] })
|
|
2178
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-3.5" })
|
|
2184
2179
|
}
|
|
2185
2180
|
)
|
|
2186
2181
|
] }),
|
|
2187
2182
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
2188
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "gap-1.5", children: [
|
|
2189
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: "size-3.5" }),
|
|
2190
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline max-w-24 truncate", children: sortBy.field === "id" ? "Default" : sortBy.field === "order" ? "Custom" : sortBy.field === "createdAt" ? sortBy.order === -1 ? "Date: Newest" : "Date: Oldest" : sortBy.field === "name" ? sortBy.order === 1 ? "Name: A to Z" : "Name: Z to A" : sortBy.field === "size" ? sortBy.order === -1 ? "Size: Large" : "Size: Small" : "Sort" })
|
|
2183
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "nd:gap-1.5", children: [
|
|
2184
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: "nd:size-3.5" }),
|
|
2185
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:hidden nd:sm:inline nd:max-w-24 nd:truncate", children: sortBy.field === "id" ? "Default" : sortBy.field === "order" ? "Custom" : sortBy.field === "createdAt" ? sortBy.order === -1 ? "Date: Newest" : "Date: Oldest" : sortBy.field === "name" ? sortBy.order === 1 ? "Name: A to Z" : "Name: Z to A" : sortBy.field === "size" ? sortBy.order === -1 ? "Size: Large" : "Size: Small" : "Sort" })
|
|
2191
2186
|
] }) }),
|
|
2192
2187
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "end", children: [
|
|
2193
2188
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "order", order: 1 }), children: [
|
|
2194
|
-
sortBy.field === "order" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2195
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2189
|
+
sortBy.field === "order" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2190
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkCFLH4TCQ_cjs.cn(sortBy.field !== "order" && "nd:pl-5.5"), children: "Custom Order" })
|
|
2196
2191
|
] }),
|
|
2197
2192
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "id", order: 1 }), children: [
|
|
2198
|
-
sortBy.field === "id" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2199
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2193
|
+
sortBy.field === "id" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2194
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkCFLH4TCQ_cjs.cn(sortBy.field !== "id" && "nd:pl-5.5"), children: "Default" })
|
|
2200
2195
|
] }),
|
|
2201
2196
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2202
2197
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "createdAt", order: -1 }), children: [
|
|
2203
|
-
sortBy.field === "createdAt" && sortBy.order === -1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2204
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className:
|
|
2198
|
+
sortBy.field === "createdAt" && sortBy.order === -1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2199
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: chunkCFLH4TCQ_cjs.cn("nd:size-3.5 nd:mr-2", sortBy.field === "createdAt" && sortBy.order === -1 ? "" : "nd:ml-5.5") }),
|
|
2205
2200
|
"Date: Newest"
|
|
2206
2201
|
] }),
|
|
2207
2202
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "createdAt", order: 1 }), children: [
|
|
2208
|
-
sortBy.field === "createdAt" && sortBy.order === 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2209
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className:
|
|
2203
|
+
sortBy.field === "createdAt" && sortBy.order === 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2204
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: chunkCFLH4TCQ_cjs.cn("nd:size-3.5 nd:mr-2", sortBy.field === "createdAt" && sortBy.order === 1 ? "" : "nd:ml-5.5") }),
|
|
2210
2205
|
"Date: Oldest"
|
|
2211
2206
|
] }),
|
|
2212
2207
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2213
2208
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "name", order: 1 }), children: [
|
|
2214
|
-
sortBy.field === "name" && sortBy.order === 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2215
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDownAZ, { className:
|
|
2209
|
+
sortBy.field === "name" && sortBy.order === 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2210
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDownAZ, { className: chunkCFLH4TCQ_cjs.cn("nd:size-3.5 nd:mr-2", sortBy.field === "name" && sortBy.order === 1 ? "" : "nd:ml-5.5") }),
|
|
2216
2211
|
"Name: A to Z"
|
|
2217
2212
|
] }),
|
|
2218
2213
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "name", order: -1 }), children: [
|
|
2219
|
-
sortBy.field === "name" && sortBy.order === -1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2220
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpAZ, { className:
|
|
2214
|
+
sortBy.field === "name" && sortBy.order === -1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2215
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpAZ, { className: chunkCFLH4TCQ_cjs.cn("nd:size-3.5 nd:mr-2", sortBy.field === "name" && sortBy.order === -1 ? "" : "nd:ml-5.5") }),
|
|
2221
2216
|
"Name: Z to A"
|
|
2222
2217
|
] }),
|
|
2223
2218
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2224
2219
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "size", order: -1 }), children: [
|
|
2225
|
-
sortBy.field === "size" && sortBy.order === -1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2226
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDown01, { className:
|
|
2220
|
+
sortBy.field === "size" && sortBy.order === -1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2221
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDown01, { className: chunkCFLH4TCQ_cjs.cn("nd:size-3.5 nd:mr-2", sortBy.field === "size" && sortBy.order === -1 ? "" : "nd:ml-5.5") }),
|
|
2227
2222
|
"Size: Large"
|
|
2228
2223
|
] }),
|
|
2229
2224
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => setSortBy({ field: "size", order: 1 }), children: [
|
|
2230
|
-
sortBy.field === "size" && sortBy.order === 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 mr-2" }),
|
|
2231
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp01, { className:
|
|
2225
|
+
sortBy.field === "size" && sortBy.order === 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2226
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp01, { className: chunkCFLH4TCQ_cjs.cn("nd:size-3.5 nd:mr-2", sortBy.field === "size" && sortBy.order === 1 ? "" : "nd:ml-5.5") }),
|
|
2232
2227
|
"Size: Small"
|
|
2233
2228
|
] })
|
|
2234
2229
|
] })
|
|
2235
2230
|
] }),
|
|
2236
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-px h-5 bg-border" }),
|
|
2237
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex bg-muted/50 dark:bg-muted/30 rounded-md p-0.5 gap-0.5", children: [
|
|
2231
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:w-px nd:h-5 nd:bg-border" }),
|
|
2232
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:bg-muted/50 nd:dark:bg-muted/30 nd:rounded-md nd:p-0.5 nd:gap-0.5", children: [
|
|
2238
2233
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2239
2234
|
Button,
|
|
2240
2235
|
{
|
|
2241
2236
|
type: "button",
|
|
2242
2237
|
variant: "ghost",
|
|
2243
2238
|
size: "icon",
|
|
2244
|
-
className:
|
|
2245
|
-
"h-8 w-8",
|
|
2246
|
-
viewMode === "GRID" && "bg-background shadow-sm hover:bg-background dark:bg-background/80"
|
|
2239
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
2240
|
+
"nd:h-8 nd:w-8",
|
|
2241
|
+
viewMode === "GRID" && "nd:bg-background nd:shadow-sm nd:hover:bg-background nd:dark:bg-background/80"
|
|
2247
2242
|
),
|
|
2248
2243
|
onClick: () => setViewMode("GRID"),
|
|
2249
2244
|
"aria-label": "Grid View",
|
|
2250
2245
|
"aria-pressed": viewMode === "GRID",
|
|
2251
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, { className: "size-4" })
|
|
2246
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, { className: "nd:size-4" })
|
|
2252
2247
|
}
|
|
2253
2248
|
),
|
|
2254
2249
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2257,14 +2252,14 @@ var DriveHeader = ({ className }) => {
|
|
|
2257
2252
|
type: "button",
|
|
2258
2253
|
variant: "ghost",
|
|
2259
2254
|
size: "icon",
|
|
2260
|
-
className:
|
|
2261
|
-
"h-8 w-8",
|
|
2262
|
-
viewMode === "LIST" && "bg-background shadow-sm hover:bg-background dark:bg-background/80"
|
|
2255
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
2256
|
+
"nd:h-8 nd:w-8",
|
|
2257
|
+
viewMode === "LIST" && "nd:bg-background nd:shadow-sm nd:hover:bg-background nd:dark:bg-background/80"
|
|
2263
2258
|
),
|
|
2264
2259
|
onClick: () => setViewMode("LIST"),
|
|
2265
2260
|
"aria-label": "List View",
|
|
2266
2261
|
"aria-pressed": viewMode === "LIST",
|
|
2267
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.List, { className: "size-4" })
|
|
2262
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.List, { className: "nd:size-4" })
|
|
2268
2263
|
}
|
|
2269
2264
|
)
|
|
2270
2265
|
] }),
|
|
@@ -2313,12 +2308,12 @@ var DriveHeader = ({ className }) => {
|
|
|
2313
2308
|
var DriveContentProgress = () => {
|
|
2314
2309
|
const { isLoading } = useDrive();
|
|
2315
2310
|
if (!isLoading) return null;
|
|
2316
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1 w-full shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2311
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:h-1 nd:w-full nd:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2317
2312
|
Progress,
|
|
2318
2313
|
{
|
|
2319
2314
|
indeterminate: true,
|
|
2320
|
-
className: "h-full rounded-none bg-primary/10",
|
|
2321
|
-
indicatorClassName: "bg-primary"
|
|
2315
|
+
className: "nd:h-full nd:rounded-none nd:bg-primary/10",
|
|
2316
|
+
indicatorClassName: "nd:bg-primary"
|
|
2322
2317
|
}
|
|
2323
2318
|
) });
|
|
2324
2319
|
};
|
|
@@ -2336,9 +2331,9 @@ var DroppablePathItem = (props) => {
|
|
|
2336
2331
|
"span",
|
|
2337
2332
|
{
|
|
2338
2333
|
ref: setNodeRef,
|
|
2339
|
-
className:
|
|
2340
|
-
"font-medium text-foreground px-1 text-xs sm:text-sm truncate max-w-30 sm:max-w-none",
|
|
2341
|
-
isOver && !isCurrentFolder && "bg-primary/20 rounded"
|
|
2334
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
2335
|
+
"nd:font-medium nd:text-foreground nd:px-1 nd:text-xs nd:sm:text-sm nd:truncate nd:max-w-30 nd:sm:max-w-none",
|
|
2336
|
+
isOver && !isCurrentFolder && "nd:bg-primary/20 nd:rounded"
|
|
2342
2337
|
),
|
|
2343
2338
|
"aria-current": "page",
|
|
2344
2339
|
title: name,
|
|
@@ -2352,9 +2347,9 @@ var DroppablePathItem = (props) => {
|
|
|
2352
2347
|
ref: setNodeRef,
|
|
2353
2348
|
variant: "ghost",
|
|
2354
2349
|
size: "sm",
|
|
2355
|
-
className:
|
|
2356
|
-
"h-6 font-normal text-xs sm:text-sm px-1.5 sm:px-2 truncate max-w-25 sm:max-w-37.5",
|
|
2357
|
-
isOver && !isCurrentFolder && "ring-2 ring-primary bg-primary/10 scale-105"
|
|
2350
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
2351
|
+
"nd:h-6 nd:font-normal nd:text-xs nd:sm:text-sm nd:px-1.5 nd:sm:px-2 nd:truncate nd:max-w-25 nd:sm:max-w-37.5",
|
|
2352
|
+
isOver && !isCurrentFolder && "nd:ring-2 nd:ring-primary nd:bg-primary/10 nd:scale-105"
|
|
2358
2353
|
),
|
|
2359
2354
|
onClick,
|
|
2360
2355
|
type: "button",
|
|
@@ -2365,10 +2360,10 @@ var DroppablePathItem = (props) => {
|
|
|
2365
2360
|
};
|
|
2366
2361
|
var DrivePathBar = ({ className }) => {
|
|
2367
2362
|
const { path, navigateToFolder } = useDrive();
|
|
2368
|
-
return /* @__PURE__ */ jsxRuntime.jsx("ol", { className:
|
|
2363
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ol", { className: chunkCFLH4TCQ_cjs.cn("nd:flex nd:items-center nd:gap-1 nd:sm:gap-1.5 nd:text-sm nd:text-muted-foreground nd:overflow-x-auto nd:flex-nowrap nd:min-w-0", className), "aria-label": "Breadcrumb", role: "navigation", children: path.map((item, index) => {
|
|
2369
2364
|
const isLast = index === path.length - 1;
|
|
2370
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center gap-1 sm:gap-1.5 shrink-0", children: [
|
|
2371
|
-
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/50 text-xs", "aria-hidden": "true", children: "/" }),
|
|
2365
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "nd:flex nd:items-center nd:gap-1 nd:sm:gap-1.5 nd:shrink-0", children: [
|
|
2366
|
+
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-muted-foreground/50 nd:text-xs", "aria-hidden": "true", children: "/" }),
|
|
2372
2367
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2373
2368
|
DroppablePathItem,
|
|
2374
2369
|
{
|
|
@@ -2385,15 +2380,15 @@ var UploadStatusIcon = (props) => {
|
|
|
2385
2380
|
const { status } = props;
|
|
2386
2381
|
switch (status) {
|
|
2387
2382
|
case "complete":
|
|
2388
|
-
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "size-4 text-emerald-500" });
|
|
2383
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "nd:size-4 nd:text-emerald-500" });
|
|
2389
2384
|
case "error":
|
|
2390
|
-
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "size-4 text-destructive" });
|
|
2385
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:size-4 nd:text-destructive" });
|
|
2391
2386
|
case "cancelled":
|
|
2392
|
-
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4 text-muted-foreground" });
|
|
2387
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-4 nd:text-muted-foreground" });
|
|
2393
2388
|
case "uploading":
|
|
2394
|
-
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 text-primary animate-spin" });
|
|
2389
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-4 nd:text-primary nd:animate-spin" });
|
|
2395
2390
|
default:
|
|
2396
|
-
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-4 text-muted-foreground" });
|
|
2391
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "nd:size-4 nd:text-muted-foreground" });
|
|
2397
2392
|
}
|
|
2398
2393
|
};
|
|
2399
2394
|
var LogViewerDialog = (props) => {
|
|
@@ -2413,9 +2408,9 @@ var LogViewerDialog = (props) => {
|
|
|
2413
2408
|
a.click();
|
|
2414
2409
|
URL.revokeObjectURL(url);
|
|
2415
2410
|
};
|
|
2416
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-lg p-0 gap-0 max-h-[85vh] flex flex-col", children: [
|
|
2417
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { className: "px-4 py-3 border-b", children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "text-base truncate", children: upload.name }) }),
|
|
2418
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-0 z-10 bg-background px-4 py-2 border-b flex items-center gap-2", children: [
|
|
2411
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "nd:sm:max-w-lg nd:p-0 nd:gap-0 nd:max-h-[85vh] nd:flex nd:flex-col", children: [
|
|
2412
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { className: "nd:px-4 nd:py-3 nd:border-b", children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "nd:text-base nd:truncate", children: upload.name }) }),
|
|
2413
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:sticky nd:top-0 nd:z-10 nd:bg-background nd:px-4 nd:py-2 nd:border-b nd:flex nd:items-center nd:gap-2", children: [
|
|
2419
2414
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2420
2415
|
Button,
|
|
2421
2416
|
{
|
|
@@ -2439,29 +2434,29 @@ var LogViewerDialog = (props) => {
|
|
|
2439
2434
|
}
|
|
2440
2435
|
)
|
|
2441
2436
|
] }),
|
|
2442
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-y-auto p-4 space-y-2", children: [
|
|
2443
|
-
logs.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground text-center py-8", children: "No logs available" }),
|
|
2437
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:overflow-y-auto nd:p-4 nd:space-y-2", children: [
|
|
2438
|
+
logs.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:text-muted-foreground nd:text-center nd:py-8", children: "No logs available" }),
|
|
2444
2439
|
logs.map((log, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2445
2440
|
"div",
|
|
2446
2441
|
{
|
|
2447
|
-
className:
|
|
2448
|
-
"flex items-start gap-2 p-2 rounded-md border text-sm",
|
|
2449
|
-
log.type === "error" && "bg-destructive/5 border-destructive/20",
|
|
2450
|
-
log.type === "warning" && "bg-yellow-500/5 border-yellow-500/20",
|
|
2451
|
-
log.type === "success" && "bg-emerald-500/5 border-emerald-500/20",
|
|
2452
|
-
log.type === "info" && "bg-muted/50 border-border"
|
|
2442
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
2443
|
+
"nd:flex nd:items-start nd:gap-2 nd:p-2 nd:rounded-md nd:border nd:text-sm",
|
|
2444
|
+
log.type === "error" && "nd:bg-destructive/5 nd:border-destructive/20",
|
|
2445
|
+
log.type === "warning" && "nd:bg-yellow-500/5 nd:border-yellow-500/20",
|
|
2446
|
+
log.type === "success" && "nd:bg-emerald-500/5 nd:border-emerald-500/20",
|
|
2447
|
+
log.type === "info" && "nd:bg-muted/50 nd:border-border"
|
|
2453
2448
|
),
|
|
2454
2449
|
children: [
|
|
2455
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2456
|
-
"shrink-0 size-1.5 rounded-full mt-1.5",
|
|
2457
|
-
log.type === "error" && "bg-destructive",
|
|
2458
|
-
log.type === "warning" && "bg-yellow-500",
|
|
2459
|
-
log.type === "success" && "bg-emerald-500",
|
|
2460
|
-
log.type === "info" && "bg-muted-foreground"
|
|
2450
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
2451
|
+
"nd:shrink-0 nd:size-1.5 nd:rounded-full nd:mt-1.5",
|
|
2452
|
+
log.type === "error" && "nd:bg-destructive",
|
|
2453
|
+
log.type === "warning" && "nd:bg-yellow-500",
|
|
2454
|
+
log.type === "success" && "nd:bg-emerald-500",
|
|
2455
|
+
log.type === "info" && "nd:bg-muted-foreground"
|
|
2461
2456
|
) }),
|
|
2462
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 space-y-1", children: [
|
|
2463
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "break-words whitespace-pre-wrap", children: log.message }),
|
|
2464
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: new Date(log.timestamp).toLocaleTimeString() })
|
|
2457
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0 nd:space-y-1", children: [
|
|
2458
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:break-words nd:whitespace-pre-wrap", children: log.message }),
|
|
2459
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground", children: new Date(log.timestamp).toLocaleTimeString() })
|
|
2465
2460
|
] })
|
|
2466
2461
|
]
|
|
2467
2462
|
},
|
|
@@ -2500,7 +2495,7 @@ var DriveUpload = (props) => {
|
|
|
2500
2495
|
}, [uploads, showUploadsDialog, manuallyOpened]);
|
|
2501
2496
|
const filterFiles = React3.useCallback((files) => {
|
|
2502
2497
|
if (!accept) return files;
|
|
2503
|
-
return files.filter((file) =>
|
|
2498
|
+
return files.filter((file) => chunkCFLH4TCQ_cjs.matchesMimeFilter(file.type, false, accept));
|
|
2504
2499
|
}, [accept]);
|
|
2505
2500
|
const handleFiles = React3.useCallback((files) => {
|
|
2506
2501
|
if (!files || files.length === 0) return;
|
|
@@ -2523,33 +2518,33 @@ var DriveUpload = (props) => {
|
|
|
2523
2518
|
}, [handleFiles]);
|
|
2524
2519
|
const hasUploadsInProgress = uploads.some((u) => ["uploading", "queued", "pending"].includes(u.status));
|
|
2525
2520
|
const activeUploads = uploads.filter((u) => ["uploading", "queued", "pending"].includes(u.status));
|
|
2526
|
-
const renderDialog = () => /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: showUploadsDialog, onOpenChange: setShowUploadsDialog, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-md p-0 gap-0", showCloseButton: false, children: [
|
|
2527
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { className: "px-4 py-3 border-b flex-row items-center justify-between space-y-0", children: [
|
|
2528
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "text-base", children: "Upload Status" }),
|
|
2521
|
+
const renderDialog = () => /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: showUploadsDialog, onOpenChange: setShowUploadsDialog, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "nd:sm:max-w-md nd:p-0 nd:gap-0", showCloseButton: false, children: [
|
|
2522
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { className: "nd:px-4 nd:py-3 nd:border-b nd:flex-row nd:items-center nd:justify-between nd:space-y-0", children: [
|
|
2523
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "nd:text-base", children: "Upload Status" }),
|
|
2529
2524
|
hasUploadsInProgress && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2530
2525
|
Button,
|
|
2531
2526
|
{
|
|
2532
2527
|
type: "button",
|
|
2533
2528
|
size: "sm",
|
|
2534
2529
|
variant: "ghost",
|
|
2535
|
-
className: "text-destructive hover:text-destructive",
|
|
2530
|
+
className: "nd:text-destructive nd:hover:text-destructive",
|
|
2536
2531
|
onClick: cancelAllUploads,
|
|
2537
2532
|
children: "Cancel All"
|
|
2538
2533
|
}
|
|
2539
2534
|
)
|
|
2540
2535
|
] }),
|
|
2541
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "divide-y max-h-80 overflow-y-auto", children: [
|
|
2542
|
-
uploads.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 text-center text-sm text-muted-foreground", children: "No uploads" }),
|
|
2536
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:divide-y nd:max-h-80 nd:overflow-y-auto", children: [
|
|
2537
|
+
uploads.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-4 nd:text-center nd:text-sm nd:text-muted-foreground", children: "No uploads" }),
|
|
2543
2538
|
uploads.map((upload) => {
|
|
2544
2539
|
const percent = upload.status === "complete" ? 100 : upload.status === "error" || !upload.totalChunks ? 0 : Math.round(upload.currentChunk / upload.totalChunks * 100);
|
|
2545
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 py-2.5", children: [
|
|
2546
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 mb-1.5", children: [
|
|
2540
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:px-4 nd:py-2.5", children: [
|
|
2541
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-start nd:gap-2 nd:mb-1.5", children: [
|
|
2547
2542
|
/* @__PURE__ */ jsxRuntime.jsx(UploadStatusIcon, { status: upload.status }),
|
|
2548
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
2549
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium truncate", children: upload.name }),
|
|
2550
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
2551
|
-
"text-xs break-words",
|
|
2552
|
-
upload.status === "error" ? "text-destructive" : "text-muted-foreground"
|
|
2543
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0", children: [
|
|
2544
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:font-medium nd:truncate", children: upload.name }),
|
|
2545
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: chunkCFLH4TCQ_cjs.cn(
|
|
2546
|
+
"nd:text-xs nd:break-words",
|
|
2547
|
+
upload.status === "error" ? "nd:text-destructive" : "nd:text-muted-foreground"
|
|
2553
2548
|
), children: [
|
|
2554
2549
|
upload.status === "uploading" && "Uploading...",
|
|
2555
2550
|
upload.status === "queued" && "Waiting in queue",
|
|
@@ -2559,17 +2554,17 @@ var DriveUpload = (props) => {
|
|
|
2559
2554
|
upload.status === "cancelled" && "Upload cancelled"
|
|
2560
2555
|
] })
|
|
2561
2556
|
] }),
|
|
2562
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 shrink-0", children: [
|
|
2557
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-1 nd:shrink-0", children: [
|
|
2563
2558
|
upload.logs && upload.logs.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2564
2559
|
Button,
|
|
2565
2560
|
{
|
|
2566
2561
|
type: "button",
|
|
2567
2562
|
size: "icon",
|
|
2568
2563
|
variant: "ghost",
|
|
2569
|
-
className: "text-muted-foreground hover:text-foreground",
|
|
2564
|
+
className: "nd:text-muted-foreground nd:hover:text-foreground",
|
|
2570
2565
|
onClick: () => setLogViewerUpload(upload),
|
|
2571
2566
|
title: "View logs",
|
|
2572
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5" })
|
|
2567
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "nd:size-3.5" })
|
|
2573
2568
|
}
|
|
2574
2569
|
),
|
|
2575
2570
|
["uploading", "queued", "pending"].includes(upload.status) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2578,17 +2573,17 @@ var DriveUpload = (props) => {
|
|
|
2578
2573
|
type: "button",
|
|
2579
2574
|
size: "icon",
|
|
2580
2575
|
variant: "ghost",
|
|
2581
|
-
className: "text-muted-foreground hover:text-destructive",
|
|
2576
|
+
className: "nd:text-muted-foreground nd:hover:text-destructive",
|
|
2582
2577
|
onClick: () => cancelUpload(upload.id),
|
|
2583
2578
|
title: "Cancel",
|
|
2584
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-3.5" })
|
|
2579
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-3.5" })
|
|
2585
2580
|
}
|
|
2586
2581
|
)
|
|
2587
2582
|
] })
|
|
2588
2583
|
] }),
|
|
2589
|
-
upload.status === "uploading" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 pl-6", children: [
|
|
2590
|
-
/* @__PURE__ */ jsxRuntime.jsx(Progress, { value: percent, className: "flex-1" }),
|
|
2591
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs tabular-nums text-muted-foreground w-8", children: [
|
|
2584
|
+
upload.status === "uploading" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2 nd:pl-6", children: [
|
|
2585
|
+
/* @__PURE__ */ jsxRuntime.jsx(Progress, { value: percent, className: "nd:flex-1" }),
|
|
2586
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:text-xs nd:tabular-nums nd:text-muted-foreground nd:w-8", children: [
|
|
2592
2587
|
percent,
|
|
2593
2588
|
"%"
|
|
2594
2589
|
] })
|
|
@@ -2607,7 +2602,7 @@ var DriveUpload = (props) => {
|
|
|
2607
2602
|
onOpenChange: (open) => !open && setLogViewerUpload(null)
|
|
2608
2603
|
}
|
|
2609
2604
|
),
|
|
2610
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2605
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2", children: [
|
|
2611
2606
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2612
2607
|
"input",
|
|
2613
2608
|
{
|
|
@@ -2619,7 +2614,7 @@ var DriveUpload = (props) => {
|
|
|
2619
2614
|
handleFiles(e.target.files);
|
|
2620
2615
|
e.target.value = "";
|
|
2621
2616
|
},
|
|
2622
|
-
className: "hidden",
|
|
2617
|
+
className: "nd:hidden",
|
|
2623
2618
|
"aria-hidden": "true"
|
|
2624
2619
|
}
|
|
2625
2620
|
),
|
|
@@ -2632,7 +2627,7 @@ var DriveUpload = (props) => {
|
|
|
2632
2627
|
size: "sm",
|
|
2633
2628
|
disabled: isLoading,
|
|
2634
2629
|
title: "Refresh",
|
|
2635
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className:
|
|
2630
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: chunkCFLH4TCQ_cjs.cn("nd:size-4 nd:shrink-0", isLoading && "nd:animate-spin") })
|
|
2636
2631
|
}
|
|
2637
2632
|
),
|
|
2638
2633
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2643,7 +2638,7 @@ var DriveUpload = (props) => {
|
|
|
2643
2638
|
size: "sm",
|
|
2644
2639
|
disabled: hasUploadsInProgress,
|
|
2645
2640
|
children: [
|
|
2646
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "
|
|
2641
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "nd:size-4 nd:shrink-0" }),
|
|
2647
2642
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Upload" })
|
|
2648
2643
|
]
|
|
2649
2644
|
}
|
|
@@ -2659,7 +2654,7 @@ var DriveUpload = (props) => {
|
|
|
2659
2654
|
setShowUploadsDialog(true);
|
|
2660
2655
|
},
|
|
2661
2656
|
children: [
|
|
2662
|
-
activeUploads.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "
|
|
2657
|
+
activeUploads.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-4 nd:shrink-0 nd:animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "nd:size-4 nd:shrink-0" }),
|
|
2663
2658
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: activeUploads.length > 0 ? `(${activeUploads.length})` : "Status" })
|
|
2664
2659
|
]
|
|
2665
2660
|
}
|
|
@@ -2668,13 +2663,13 @@ var DriveUpload = (props) => {
|
|
|
2668
2663
|
renderDialog()
|
|
2669
2664
|
] });
|
|
2670
2665
|
}
|
|
2671
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
|
|
2666
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:w-full", children: [
|
|
2672
2667
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2673
2668
|
"div",
|
|
2674
2669
|
{
|
|
2675
|
-
className:
|
|
2676
|
-
"flex flex-col items-center justify-center p-8 border-2 border-dashed rounded-lg cursor-pointer transition-colors",
|
|
2677
|
-
isDragging ? "border-primary bg-primary/5" : "border-muted-foreground/25 hover:border-primary/50 hover:bg-muted/50"
|
|
2670
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
2671
|
+
"nd:flex nd:flex-col nd:items-center nd:justify-center nd:p-8 nd:border-2 nd:border-dashed nd:rounded-lg nd:cursor-pointer nd:transition-colors",
|
|
2672
|
+
isDragging ? "nd:border-primary nd:bg-primary/5" : "nd:border-muted-foreground/25 nd:hover:border-primary/50 nd:hover:bg-muted/50"
|
|
2678
2673
|
),
|
|
2679
2674
|
onDragEnter: (e) => handleDrag(e, true),
|
|
2680
2675
|
onDragLeave: (e) => handleDrag(e, false),
|
|
@@ -2696,18 +2691,18 @@ var DriveUpload = (props) => {
|
|
|
2696
2691
|
handleFiles(e.target.files);
|
|
2697
2692
|
e.target.value = "";
|
|
2698
2693
|
},
|
|
2699
|
-
className: "hidden",
|
|
2694
|
+
className: "nd:hidden",
|
|
2700
2695
|
"aria-hidden": "true"
|
|
2701
2696
|
}
|
|
2702
2697
|
),
|
|
2703
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2 text-center", children: [
|
|
2704
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-3 rounded-full bg-background border shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "size-6 text-muted-foreground" }) }),
|
|
2705
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium text-foreground", children: isDragging ? "Drop files here" : "Click or drag files to upload" })
|
|
2698
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:items-center nd:gap-2 nd:text-center", children: [
|
|
2699
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-3 nd:rounded-full nd:bg-background nd:border nd:shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "nd:size-6 nd:text-muted-foreground" }) }),
|
|
2700
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:text-sm nd:font-medium nd:text-foreground", children: isDragging ? "Drop files here" : "Click or drag files to upload" })
|
|
2706
2701
|
] })
|
|
2707
2702
|
]
|
|
2708
2703
|
}
|
|
2709
2704
|
),
|
|
2710
|
-
hasUploadsInProgress && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "link", onClick: () => {
|
|
2705
|
+
hasUploadsInProgress && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:mt-4 nd:text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "link", onClick: () => {
|
|
2711
2706
|
setManuallyOpened(true);
|
|
2712
2707
|
setShowUploadsDialog(true);
|
|
2713
2708
|
}, children: "View Upload Progress" }) }),
|
|
@@ -2732,28 +2727,28 @@ var DriveStorageIndicator = (props) => {
|
|
|
2732
2727
|
const { usedInBytes, totalInBytes, percentage } = quota;
|
|
2733
2728
|
const isNearFull = percentage >= 90;
|
|
2734
2729
|
const isFull = percentage >= 100;
|
|
2735
|
-
const stateColor = isFull ? "text-destructive" : isNearFull ? "text-yellow-600 dark:text-yellow-500" : "text-primary";
|
|
2730
|
+
const stateColor = isFull ? "nd:text-destructive" : isNearFull ? "nd:text-yellow-600 nd:dark:text-yellow-500" : "nd:text-primary";
|
|
2736
2731
|
if (compact) {
|
|
2737
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2738
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 flex items-center gap-1.5", children: [
|
|
2739
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cloud, { className: "size-3.5" }),
|
|
2732
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex nd:items-center nd:gap-3 nd:text-xs nd:font-medium nd:text-muted-foreground", className), children: [
|
|
2733
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:shrink-0 nd:flex nd:items-center nd:gap-1.5", children: [
|
|
2734
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cloud, { className: "nd:size-3.5" }),
|
|
2740
2735
|
"Storage"
|
|
2741
2736
|
] }),
|
|
2742
|
-
/* @__PURE__ */ jsxRuntime.jsx(Progress, { value: percentage, indicatorClassName:
|
|
2743
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 whitespace-nowrap", children: [
|
|
2744
|
-
|
|
2737
|
+
/* @__PURE__ */ jsxRuntime.jsx(Progress, { value: percentage, indicatorClassName: chunkCFLH4TCQ_cjs.cn("nd:bg-gradient-to-r nd:from-blue-500 nd:to-cyan-500", isNearFull && "nd:from-yellow-500 nd:to-orange-500", isFull && "nd:bg-destructive"), className: "nd:w-24 nd:sm:w-32" }),
|
|
2738
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:shrink-0 nd:whitespace-nowrap", children: [
|
|
2739
|
+
chunkCFLH4TCQ_cjs.formatBytes(usedInBytes),
|
|
2745
2740
|
" / ",
|
|
2746
|
-
|
|
2741
|
+
chunkCFLH4TCQ_cjs.formatBytes(totalInBytes)
|
|
2747
2742
|
] })
|
|
2748
2743
|
] });
|
|
2749
2744
|
}
|
|
2750
2745
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2751
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2 mb-2", children: [
|
|
2752
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2753
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cloud, { className:
|
|
2754
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Storage" })
|
|
2746
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:justify-between nd:gap-2 nd:mb-2", children: [
|
|
2747
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2", children: [
|
|
2748
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cloud, { className: chunkCFLH4TCQ_cjs.cn("nd:size-4", stateColor) }),
|
|
2749
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-xs nd:font-medium nd:text-muted-foreground", children: "Storage" })
|
|
2755
2750
|
] }),
|
|
2756
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs font-semibold tabular-nums", children: [
|
|
2751
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:text-xs nd:font-semibold nd:tabular-nums", children: [
|
|
2757
2752
|
percentage,
|
|
2758
2753
|
"%"
|
|
2759
2754
|
] })
|
|
@@ -2762,22 +2757,22 @@ var DriveStorageIndicator = (props) => {
|
|
|
2762
2757
|
Progress,
|
|
2763
2758
|
{
|
|
2764
2759
|
value: percentage,
|
|
2765
|
-
className: "h-1.5",
|
|
2766
|
-
indicatorClassName:
|
|
2767
|
-
"transition-all duration-500",
|
|
2768
|
-
isFull ? "bg-destructive" : isNearFull ? "bg-yellow-500" : "bg-gradient-to-r from-blue-500 to-purple-500"
|
|
2760
|
+
className: "nd:h-1.5",
|
|
2761
|
+
indicatorClassName: chunkCFLH4TCQ_cjs.cn(
|
|
2762
|
+
"nd:transition-all nd:duration-500",
|
|
2763
|
+
isFull ? "nd:bg-destructive" : isNearFull ? "nd:bg-yellow-500" : "nd:bg-gradient-to-r nd:from-blue-500 nd:to-purple-500"
|
|
2769
2764
|
)
|
|
2770
2765
|
}
|
|
2771
2766
|
),
|
|
2772
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center mt-1.5", children: [
|
|
2773
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-muted-foreground tabular-nums", children:
|
|
2774
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-muted-foreground tabular-nums", children:
|
|
2767
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:justify-between nd:items-center nd:mt-1.5", children: [
|
|
2768
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-[10px] nd:text-muted-foreground nd:tabular-nums", children: chunkCFLH4TCQ_cjs.formatBytes(usedInBytes) }),
|
|
2769
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-[10px] nd:text-muted-foreground nd:tabular-nums", children: chunkCFLH4TCQ_cjs.formatBytes(totalInBytes) })
|
|
2775
2770
|
] }),
|
|
2776
|
-
isNearFull && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2777
|
-
"flex items-center gap-1.5 text-[10px] font-medium px-2 py-1 rounded-md mt-2",
|
|
2778
|
-
isFull ? "bg-destructive/10 text-destructive" : "bg-yellow-500/10 text-yellow-600 dark:text-yellow-500"
|
|
2771
|
+
isNearFull && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
2772
|
+
"nd:flex nd:items-center nd:gap-1.5 nd:text-[10px] nd:font-medium nd:px-2 nd:py-1 nd:rounded-md nd:mt-2",
|
|
2773
|
+
isFull ? "nd:bg-destructive/10 nd:text-destructive" : "nd:bg-yellow-500/10 nd:text-yellow-600 nd:dark:text-yellow-500"
|
|
2779
2774
|
), children: [
|
|
2780
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "size-3 shrink-0" }),
|
|
2775
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:size-3 nd:shrink-0" }),
|
|
2781
2776
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: isFull ? "Storage full" : "Almost full" })
|
|
2782
2777
|
] })
|
|
2783
2778
|
] });
|
|
@@ -2886,40 +2881,40 @@ var ChooserSidebar = (props) => {
|
|
|
2886
2881
|
setOauthLoading(false);
|
|
2887
2882
|
setOauthAbort(null);
|
|
2888
2883
|
};
|
|
2889
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full w-full bg-muted/5 dark:bg-muted/10", children: [
|
|
2890
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 border-b border-border/50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
2884
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:h-full nd:w-full nd:bg-muted/5 nd:dark:bg-muted/10", children: [
|
|
2885
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-2 nd:border-b nd:border-border/50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-1", children: [
|
|
2891
2886
|
isDropdownDisabled ? (
|
|
2892
2887
|
/* Static display when no accounts and no providers */
|
|
2893
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center gap-2 px-2 h-11 min-w-0", children: [
|
|
2894
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-7 rounded-md flex items-center justify-center shrink-0 bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "size-3.5" }) }),
|
|
2895
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
2896
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: "Local Storage" }),
|
|
2897
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-muted-foreground truncate", children: "On this device" })
|
|
2888
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:flex nd:items-center nd:gap-2 nd:px-2 nd:h-11 nd:min-w-0", children: [
|
|
2889
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-7 nd:rounded-md nd:flex nd:items-center nd:justify-center nd:shrink-0 nd:bg-emerald-500/10 nd:text-emerald-600 nd:dark:bg-emerald-500/20 nd:dark:text-emerald-400", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "nd:size-3.5" }) }),
|
|
2890
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:min-w-0", children: [
|
|
2891
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm nd:font-medium nd:truncate", children: "Local Storage" }),
|
|
2892
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-[11px] nd:text-muted-foreground nd:truncate", children: "On this device" })
|
|
2898
2893
|
] })
|
|
2899
2894
|
] })
|
|
2900
2895
|
) : /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { open: dropdownOpen, onOpenChange: setDropdownOpen, children: [
|
|
2901
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "ghost", className: "flex-1 min-w-0 justify-between px-2 h-11 hover:bg-muted/50 dark:hover:bg-muted/30", children: [
|
|
2902
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-left min-w-0 flex-1", children: [
|
|
2903
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2904
|
-
"size-7 rounded-md flex items-center justify-center shrink-0",
|
|
2905
|
-
activeAccountId ? "bg-blue-500/10 text-blue-600 dark:bg-blue-500/20 dark:text-blue-400" : "bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400"
|
|
2906
|
-
), children: activeAccountId ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "size-3.5" }) }),
|
|
2907
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
2908
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: currentAccountName }),
|
|
2909
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-muted-foreground truncate", children: currentAccountEmail })
|
|
2896
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "ghost", className: "nd:flex-1 nd:min-w-0 nd:justify-between nd:px-2 nd:h-11 nd:hover:bg-muted/50 nd:dark:hover:bg-muted/30", children: [
|
|
2897
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2 nd:text-left nd:min-w-0 nd:flex-1", children: [
|
|
2898
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
2899
|
+
"nd:size-7 nd:rounded-md nd:flex nd:items-center nd:justify-center nd:shrink-0",
|
|
2900
|
+
activeAccountId ? "nd:bg-blue-500/10 nd:text-blue-600 nd:dark:bg-blue-500/20 nd:dark:text-blue-400" : "nd:bg-emerald-500/10 nd:text-emerald-600 nd:dark:bg-emerald-500/20 nd:dark:text-emerald-400"
|
|
2901
|
+
), children: activeAccountId ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "nd:size-3.5" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "nd:size-3.5" }) }),
|
|
2902
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:min-w-0", children: [
|
|
2903
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm nd:font-medium nd:truncate", children: currentAccountName }),
|
|
2904
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-[11px] nd:text-muted-foreground nd:truncate", children: currentAccountEmail })
|
|
2910
2905
|
] })
|
|
2911
2906
|
] }),
|
|
2912
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "size-3.5 text-muted-foreground/60 shrink-0" })
|
|
2907
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "nd:size-3.5 nd:text-muted-foreground/60 nd:shrink-0" })
|
|
2913
2908
|
] }) }),
|
|
2914
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { className: "w-56", align: "start", children: [
|
|
2915
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-[11px] font-medium text-muted-foreground uppercase tracking-wide", children: "Storage" }),
|
|
2909
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { className: "nd:w-56", align: "start", children: [
|
|
2910
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "nd:text-[11px] nd:font-medium nd:text-muted-foreground nd:uppercase nd:tracking-wide", children: "Storage" }),
|
|
2916
2911
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => {
|
|
2917
2912
|
setActiveAccountId(null);
|
|
2918
2913
|
setCurrentView("BROWSE");
|
|
2919
2914
|
onNavigate?.();
|
|
2920
|
-
}, className: "gap-2 py-2", children: [
|
|
2921
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm", children: "Local Storage" }),
|
|
2922
|
-
activeAccountId === null && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-primary" })
|
|
2915
|
+
}, className: "nd:gap-2 nd:py-2", children: [
|
|
2916
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:flex-1 nd:text-sm", children: "Local Storage" }),
|
|
2917
|
+
activeAccountId === null && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:text-primary" })
|
|
2923
2918
|
] }),
|
|
2924
2919
|
accounts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2925
2920
|
accounts.map((account) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2930,13 +2925,13 @@ var ChooserSidebar = (props) => {
|
|
|
2930
2925
|
setCurrentView("BROWSE");
|
|
2931
2926
|
onNavigate?.();
|
|
2932
2927
|
},
|
|
2933
|
-
className: "gap-2 py-2",
|
|
2928
|
+
className: "nd:gap-2 nd:py-2",
|
|
2934
2929
|
children: [
|
|
2935
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
2936
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm truncate", children: account.name }),
|
|
2937
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-muted-foreground truncate", children: account.email })
|
|
2930
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0", children: [
|
|
2931
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:truncate", children: account.name }),
|
|
2932
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-[10px] nd:text-muted-foreground nd:truncate", children: account.email })
|
|
2938
2933
|
] }),
|
|
2939
|
-
activeAccountId === account.id && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-primary" })
|
|
2934
|
+
activeAccountId === account.id && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:text-primary" })
|
|
2940
2935
|
]
|
|
2941
2936
|
},
|
|
2942
2937
|
account.id
|
|
@@ -2944,9 +2939,9 @@ var ChooserSidebar = (props) => {
|
|
|
2944
2939
|
hasAnyProvider && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2945
2940
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2946
2941
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSub, { children: [
|
|
2947
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [
|
|
2948
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-3.5" }),
|
|
2949
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Add Account" })
|
|
2942
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { className: "nd:gap-2", children: [
|
|
2943
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "nd:size-3.5" }),
|
|
2944
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm", children: "Add Account" })
|
|
2950
2945
|
] }),
|
|
2951
2946
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { children: availableProviders.google && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { onClick: openOAuthPopup, children: "Google Drive" }) })
|
|
2952
2947
|
] })
|
|
@@ -2954,39 +2949,39 @@ var ChooserSidebar = (props) => {
|
|
|
2954
2949
|
] })
|
|
2955
2950
|
] }),
|
|
2956
2951
|
currentAccount && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
2957
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "icon", className: "size-9 shrink-0 hover:bg-muted/50 dark:hover:bg-muted/30", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings2, { className: "size-4 text-muted-foreground" }) }) }),
|
|
2958
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "end", className: "w-40", children: [
|
|
2959
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-xs text-muted-foreground truncate", children: currentAccount.name }),
|
|
2952
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "icon", className: "nd:size-9 nd:shrink-0 nd:hover:bg-muted/50 nd:dark:hover:bg-muted/30", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings2, { className: "nd:size-4 nd:text-muted-foreground" }) }) }),
|
|
2953
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "end", className: "nd:w-40", children: [
|
|
2954
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "nd:text-xs nd:text-muted-foreground nd:truncate", children: currentAccount.name }),
|
|
2960
2955
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2961
2956
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => {
|
|
2962
2957
|
setRenameDialog({ open: true, account: currentAccount });
|
|
2963
2958
|
}, children: [
|
|
2964
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "size-3.5 mr-2" }),
|
|
2959
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2965
2960
|
" Rename"
|
|
2966
2961
|
] }),
|
|
2967
2962
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: openOAuthPopup, children: [
|
|
2968
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "size-3.5 mr-2" }),
|
|
2963
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2969
2964
|
" Reconnect"
|
|
2970
2965
|
] }),
|
|
2971
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { className: "text-destructive focus:text-destructive", onClick: () => setDeleteDialog({ open: true, account: currentAccount }), children: [
|
|
2972
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash, { className: "size-3.5 mr-2" }),
|
|
2966
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { className: "nd:text-destructive nd:focus:text-destructive", onClick: () => setDeleteDialog({ open: true, account: currentAccount }), children: [
|
|
2967
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash, { className: "nd:size-3.5 nd:mr-2" }),
|
|
2973
2968
|
" Disconnect"
|
|
2974
2969
|
] })
|
|
2975
2970
|
] })
|
|
2976
2971
|
] })
|
|
2977
2972
|
] }) }),
|
|
2978
|
-
/* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex-1 p-2 space-y-0.5", children: [
|
|
2973
|
+
/* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "nd:flex-1 nd:p-2 nd:space-y-0.5", children: [
|
|
2979
2974
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2980
2975
|
Button,
|
|
2981
2976
|
{
|
|
2982
2977
|
variant: "ghost",
|
|
2983
|
-
className:
|
|
2978
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:w-full nd:justify-start nd:gap-2.5 nd:h-9 nd:px-2.5 nd:font-medium", currentView !== "TRASH" ? "nd:bg-primary/10 nd:text-primary nd:hover:bg-primary/15" : "nd:hover:bg-muted/50"),
|
|
2984
2979
|
onClick: () => {
|
|
2985
2980
|
setCurrentView("BROWSE");
|
|
2986
2981
|
onNavigate?.();
|
|
2987
2982
|
},
|
|
2988
2983
|
children: [
|
|
2989
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderOpen, { className: "size-4" }),
|
|
2984
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderOpen, { className: "nd:size-4" }),
|
|
2990
2985
|
" My Files"
|
|
2991
2986
|
]
|
|
2992
2987
|
}
|
|
@@ -2995,19 +2990,19 @@ var ChooserSidebar = (props) => {
|
|
|
2995
2990
|
Button,
|
|
2996
2991
|
{
|
|
2997
2992
|
variant: "ghost",
|
|
2998
|
-
className:
|
|
2993
|
+
className: chunkCFLH4TCQ_cjs.cn("nd:w-full nd:justify-start nd:gap-2.5 nd:h-9 nd:px-2.5 nd:font-medium", currentView === "TRASH" ? "nd:bg-destructive/10 nd:text-destructive nd:hover:bg-destructive/15" : "nd:hover:bg-muted/50"),
|
|
2999
2994
|
onClick: () => {
|
|
3000
2995
|
setCurrentView("TRASH");
|
|
3001
2996
|
onNavigate?.();
|
|
3002
2997
|
},
|
|
3003
2998
|
children: [
|
|
3004
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "size-4" }),
|
|
2999
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:size-4" }),
|
|
3005
3000
|
" Trash"
|
|
3006
3001
|
]
|
|
3007
3002
|
}
|
|
3008
3003
|
)
|
|
3009
3004
|
] }),
|
|
3010
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2.5 border-t border-border/50 bg-background/50 dark:bg-background/30", children: /* @__PURE__ */ jsxRuntime.jsx(DriveStorageIndicator, {}) }),
|
|
3005
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-2.5 nd:border-t nd:border-border/50 nd:bg-background/50 nd:dark:bg-background/30", children: /* @__PURE__ */ jsxRuntime.jsx(DriveStorageIndicator, {}) }),
|
|
3011
3006
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3012
3007
|
RenameAccountDialog,
|
|
3013
3008
|
{
|
|
@@ -3027,11 +3022,11 @@ var ChooserSidebar = (props) => {
|
|
|
3027
3022
|
onConfirm: handleDelete
|
|
3028
3023
|
}
|
|
3029
3024
|
),
|
|
3030
|
-
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: oauthLoading, onOpenChange: (open) => !open && cancelOAuth(), children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "sm:max-w-xs", showCloseButton: false, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4 py-4", children: [
|
|
3031
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-8 text-primary animate-spin" }),
|
|
3032
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
3033
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "text-base", children: "Connecting..." }),
|
|
3034
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: "text-sm mt-1", children: "Preparing Google authentication" })
|
|
3025
|
+
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: oauthLoading, onOpenChange: (open) => !open && cancelOAuth(), children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "nd:sm:max-w-xs", showCloseButton: false, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:items-center nd:gap-4 nd:py-4", children: [
|
|
3026
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-8 nd:text-primary nd:animate-spin" }),
|
|
3027
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:text-center", children: [
|
|
3028
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "nd:text-base", children: "Connecting..." }),
|
|
3029
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: "nd:text-sm nd:mt-1", children: "Preparing Google authentication" })
|
|
3035
3030
|
] }),
|
|
3036
3031
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: cancelOAuth, children: "Cancel" })
|
|
3037
3032
|
] }) }) })
|
|
@@ -3040,10 +3035,10 @@ var ChooserSidebar = (props) => {
|
|
|
3040
3035
|
var MobileSidebarSheet = () => {
|
|
3041
3036
|
const [sheetOpen, setSheetOpen] = React3.useState(false);
|
|
3042
3037
|
return /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { open: sheetOpen, onOpenChange: setSheetOpen, children: [
|
|
3043
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "icon", className: "size-9 md:hidden shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "size-5" }) }) }),
|
|
3044
|
-
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "left", className: "w-72 p-0", hideCloseButton: true, children: [
|
|
3045
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "sr-only", children: "Navigation" }),
|
|
3046
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { className: "sr-only", children: "Storage and navigation" }),
|
|
3038
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "icon", className: "nd:size-9 nd:md:hidden nd:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "nd:size-5" }) }) }),
|
|
3039
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "left", className: "nd:w-72 nd:p-0", hideCloseButton: true, children: [
|
|
3040
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "nd:sr-only", children: "Navigation" }),
|
|
3041
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { className: "nd:sr-only", children: "Storage and navigation" }),
|
|
3047
3042
|
/* @__PURE__ */ jsxRuntime.jsx(ChooserSidebar, { onNavigate: () => setSheetOpen(false) })
|
|
3048
3043
|
] })
|
|
3049
3044
|
] });
|
|
@@ -3089,7 +3084,7 @@ var DriveFileChooser = (props) => {
|
|
|
3089
3084
|
}, [multiple, value, onChange]);
|
|
3090
3085
|
const hasSelection = value && (Array.isArray(value) ? value.length > 0 : true);
|
|
3091
3086
|
const displayFiles = React3.useMemo(() => !value ? [] : Array.isArray(value) ? value : [value], [value]);
|
|
3092
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
3087
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:w-full", className), children: [
|
|
3093
3088
|
!hasSelection ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3094
3089
|
Button,
|
|
3095
3090
|
{
|
|
@@ -3097,75 +3092,75 @@ var DriveFileChooser = (props) => {
|
|
|
3097
3092
|
variant: "outline",
|
|
3098
3093
|
onClick: () => setIsOpen(true),
|
|
3099
3094
|
disabled,
|
|
3100
|
-
className:
|
|
3101
|
-
"w-full h-auto justify-start gap-3 px-3 py-2.5 border-dashed",
|
|
3102
|
-
error && "border-destructive"
|
|
3095
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
3096
|
+
"nd:w-full nd:h-auto nd:justify-start nd:gap-3 nd:px-3 nd:py-2.5 nd:border-dashed",
|
|
3097
|
+
error && "nd:border-destructive"
|
|
3103
3098
|
),
|
|
3104
3099
|
children: [
|
|
3105
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3106
|
-
"size-9 rounded-lg flex items-center justify-center shrink-0",
|
|
3107
|
-
error ? "bg-destructive/10 text-destructive" : "bg-muted/50 text-muted-foreground"
|
|
3108
|
-
), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "size-4" }) }),
|
|
3109
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 text-left", children: [
|
|
3110
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
3111
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground font-normal truncate", children: placeholder })
|
|
3100
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
3101
|
+
"nd:size-9 nd:rounded-lg nd:flex nd:items-center nd:justify-center nd:shrink-0",
|
|
3102
|
+
error ? "nd:bg-destructive/10 nd:text-destructive" : "nd:bg-muted/50 nd:text-muted-foreground"
|
|
3103
|
+
), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "nd:size-4" }) }),
|
|
3104
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0 nd:text-left", children: [
|
|
3105
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: chunkCFLH4TCQ_cjs.cn("nd:text-sm nd:font-medium", error && "nd:text-destructive"), children: multiple ? "Select files" : "Select a file" }),
|
|
3106
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground nd:font-normal nd:truncate", children: placeholder })
|
|
3112
3107
|
] })
|
|
3113
3108
|
]
|
|
3114
3109
|
}
|
|
3115
3110
|
) : (
|
|
3116
3111
|
/* Selected Files Display */
|
|
3117
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
3118
|
-
!multiple && displayFiles[0] && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 p-2.5", children: [
|
|
3119
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-12 rounded-lg overflow-hidden bg-muted/30 flex items-center justify-center shrink-0", children: displayFiles[0].file.mime.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: createUrl(displayFiles[0], { quality: "low", format: "webp" }), alt: displayFiles[0].file.name, className: "size-full object-cover" }) :
|
|
3120
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
3121
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium truncate", children: displayFiles[0].file.name }),
|
|
3122
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: displayFiles[0].file.mime || "File" })
|
|
3112
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:rounded-lg nd:border", error ? "nd:border-destructive" : "nd:border-border", disabled && "nd:opacity-50"), children: [
|
|
3113
|
+
!multiple && displayFiles[0] && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-3 nd:p-2.5", children: [
|
|
3114
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-12 nd:rounded-lg nd:overflow-hidden nd:bg-muted/30 nd:flex nd:items-center nd:justify-center nd:shrink-0", children: displayFiles[0].file.mime.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: createUrl(displayFiles[0], { quality: "low", format: "webp" }), alt: displayFiles[0].file.name, className: "nd:size-full nd:object-cover" }) : chunkCFLH4TCQ_cjs.getFileIcon(displayFiles[0].file.mime, false, "nd:size-6 nd:text-muted-foreground") }),
|
|
3115
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0", children: [
|
|
3116
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:font-medium nd:truncate", children: displayFiles[0].file.name }),
|
|
3117
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground", children: displayFiles[0].file.mime || "File" })
|
|
3123
3118
|
] }),
|
|
3124
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 shrink-0", children: [
|
|
3119
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-1 nd:shrink-0", children: [
|
|
3125
3120
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => setIsOpen(true), disabled, children: "Change" }),
|
|
3126
|
-
!disabled && /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "size-8", onClick: () => handleRemove(displayFiles[0].id), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" }) })
|
|
3121
|
+
!disabled && /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "nd:size-8", onClick: () => handleRemove(displayFiles[0].id), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-4" }) })
|
|
3127
3122
|
] })
|
|
3128
3123
|
] }),
|
|
3129
3124
|
multiple && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3130
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-3 py-2 border-b bg-muted/20", children: [
|
|
3131
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground font-medium", children: [
|
|
3125
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:justify-between nd:px-3 nd:py-2 nd:border-b nd:bg-muted/20", children: [
|
|
3126
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:text-xs nd:text-muted-foreground nd:font-medium", children: [
|
|
3132
3127
|
displayFiles.length,
|
|
3133
3128
|
" file",
|
|
3134
3129
|
displayFiles.length !== 1 ? "s" : "",
|
|
3135
3130
|
" selected"
|
|
3136
3131
|
] }),
|
|
3137
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
3138
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "sm", className: "h-7 text-xs", onClick: () => setIsOpen(true), disabled, children: "Add more" }),
|
|
3139
|
-
!disabled && /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "sm", className: "h-7 text-xs text-muted-foreground", onClick: () => onChange([]), children: "Clear" })
|
|
3132
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-1", children: [
|
|
3133
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "sm", className: "nd:h-7 nd:text-xs", onClick: () => setIsOpen(true), disabled, children: "Add more" }),
|
|
3134
|
+
!disabled && /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "sm", className: "nd:h-7 nd:text-xs nd:text-muted-foreground", onClick: () => onChange([]), children: "Clear" })
|
|
3140
3135
|
] })
|
|
3141
3136
|
] }),
|
|
3142
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-40 overflow-y-auto divide-y divide-border/50", children: displayFiles.map((file) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2.5 px-3 py-2 hover:bg-muted/20", children: [
|
|
3143
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-8 rounded overflow-hidden bg-muted/30 flex items-center justify-center shrink-0", children: file.file.mime.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: createUrl(file, { quality: "ultralow", format: "webp" }), alt: file.file.name, className: "size-full object-cover" }) :
|
|
3144
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm truncate", children: file.file.name }),
|
|
3145
|
-
!disabled && /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "size-7 shrink-0", onClick: () => handleRemove(file.id), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-3.5" }) })
|
|
3137
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:max-h-40 nd:overflow-y-auto nd:divide-y nd:divide-border/50", children: displayFiles.map((file) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2.5 nd:px-3 nd:py-2 nd:hover:bg-muted/20", children: [
|
|
3138
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-8 nd:rounded nd:overflow-hidden nd:bg-muted/30 nd:flex nd:items-center nd:justify-center nd:shrink-0", children: file.file.mime.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: createUrl(file, { quality: "ultralow", format: "webp" }), alt: file.file.name, className: "nd:size-full nd:object-cover" }) : chunkCFLH4TCQ_cjs.getFileIcon(file.file.mime, false, "nd:size-4 nd:text-muted-foreground") }),
|
|
3139
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:flex-1 nd:text-sm nd:truncate", children: file.file.name }),
|
|
3140
|
+
!disabled && /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "nd:size-7 nd:shrink-0", onClick: () => handleRemove(file.id), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-3.5" }) })
|
|
3146
3141
|
] }, file.id)) })
|
|
3147
3142
|
] })
|
|
3148
3143
|
] })
|
|
3149
3144
|
),
|
|
3150
|
-
error && helperText && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-destructive mt-1.5", children: helperText }),
|
|
3151
|
-
/* @__PURE__ */ jsxRuntime.jsx(Dialog2, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(Dialog2Content, { showCloseButton: false, children: [
|
|
3152
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Header, { className: "gap-2", children: [
|
|
3145
|
+
error && helperText && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-destructive nd:mt-1.5", children: helperText }),
|
|
3146
|
+
/* @__PURE__ */ jsxRuntime.jsx(Dialog2, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(Dialog2Content, { showCloseButton: false, className: "nd-drive-root", children: [
|
|
3147
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Header, { className: "nd:gap-2", children: [
|
|
3153
3148
|
/* @__PURE__ */ jsxRuntime.jsx(MobileSidebarSheet, {}),
|
|
3154
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Title, { className: "flex-1", children: [
|
|
3149
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Title, { className: "nd:flex-1", children: [
|
|
3155
3150
|
"Select ",
|
|
3156
3151
|
multiple ? "Files" : "File"
|
|
3157
3152
|
] }),
|
|
3158
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "size-8", onClick: () => setIsOpen(false), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" }) })
|
|
3153
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "nd:size-8", onClick: () => setIsOpen(false), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-4" }) })
|
|
3159
3154
|
] }),
|
|
3160
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Body, { className: "flex flex-col md:flex-row", children: [
|
|
3161
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden md:flex w-52 lg:w-56 border-r shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(ChooserSidebar, {}) }),
|
|
3162
|
-
/* @__PURE__ */ jsxRuntime.jsx(DriveDndProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex flex-col min-w-0 min-h-0", children: [
|
|
3163
|
-
/* @__PURE__ */ jsxRuntime.jsx(DriveHeader, { className: "border-b" }),
|
|
3164
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 px-3 py-2 border-b bg-muted/20 dark:bg-muted/10", children: [
|
|
3165
|
-
/* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, { className: "flex-1" }),
|
|
3155
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Body, { className: "nd:flex nd:flex-col nd:md:flex-row", children: [
|
|
3156
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:hidden nd:md:flex nd:w-52 nd:lg:w-56 nd:border-r nd:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(ChooserSidebar, {}) }),
|
|
3157
|
+
/* @__PURE__ */ jsxRuntime.jsx(DriveDndProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:flex nd:flex-col nd:min-w-0 nd:min-h-0", children: [
|
|
3158
|
+
/* @__PURE__ */ jsxRuntime.jsx(DriveHeader, { className: "nd:border-b" }),
|
|
3159
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2 nd:px-3 nd:py-2 nd:border-b nd:bg-muted/20 nd:dark:bg-muted/10", children: [
|
|
3160
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, { className: "nd:flex-1" }),
|
|
3166
3161
|
/* @__PURE__ */ jsxRuntime.jsx(DriveUpload, { compact: true, accept })
|
|
3167
3162
|
] }),
|
|
3168
|
-
/* @__PURE__ */ jsxRuntime.jsx(DriveFileGrid, { mimeFilter: accept, className: "flex-1" })
|
|
3163
|
+
/* @__PURE__ */ jsxRuntime.jsx(DriveFileGrid, { mimeFilter: accept, className: "nd:flex-1" })
|
|
3169
3164
|
] }) })
|
|
3170
3165
|
] }),
|
|
3171
3166
|
/* @__PURE__ */ jsxRuntime.jsxs(Dialog2Footer, { children: [
|
|
@@ -3292,40 +3287,40 @@ var SidebarContent = (props) => {
|
|
|
3292
3287
|
setOauthLoading(false);
|
|
3293
3288
|
setOauthAbort(null);
|
|
3294
3289
|
};
|
|
3295
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full h-full flex flex-col bg-muted/5 dark:bg-muted/10", children: [
|
|
3296
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 border-b border-border/50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
3290
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:w-full nd:h-full nd:flex nd:flex-col nd:bg-muted/5 nd:dark:bg-muted/10", children: [
|
|
3291
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-2 nd:border-b nd:border-border/50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-1", children: [
|
|
3297
3292
|
isDropdownDisabled ? (
|
|
3298
3293
|
/* Static display when no accounts and no providers */
|
|
3299
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center gap-2.5 px-2 h-11 min-w-0", children: [
|
|
3300
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-7 rounded-md flex items-center justify-center shrink-0 bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "size-3.5" }) }),
|
|
3301
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
3302
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: "Local Storage" }),
|
|
3303
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-muted-foreground truncate", children: "On this device" })
|
|
3294
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:flex nd:items-center nd:gap-2.5 nd:px-2 nd:h-11 nd:min-w-0", children: [
|
|
3295
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-7 nd:rounded-md nd:flex nd:items-center nd:justify-center nd:shrink-0 nd:bg-emerald-500/10 nd:text-emerald-600 nd:dark:bg-emerald-500/20 nd:dark:text-emerald-400", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "nd:size-3.5" }) }),
|
|
3296
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:min-w-0", children: [
|
|
3297
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm nd:font-medium nd:truncate", children: "Local Storage" }),
|
|
3298
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-[11px] nd:text-muted-foreground nd:truncate", children: "On this device" })
|
|
3304
3299
|
] })
|
|
3305
3300
|
] })
|
|
3306
3301
|
) : /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { open: dropdownOpen, onOpenChange: setDropdownOpen, children: [
|
|
3307
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "ghost", className: "flex-1 min-w-0 justify-between px-2 h-11 hover:bg-muted/50 dark:hover:bg-muted/30", children: [
|
|
3308
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2.5 text-left min-w-0 flex-1", children: [
|
|
3309
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3310
|
-
"size-7 rounded-md flex items-center justify-center shrink-0",
|
|
3311
|
-
activeAccountId ? "bg-blue-500/10 text-blue-600 dark:bg-blue-500/20 dark:text-blue-400" : "bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400"
|
|
3312
|
-
), children: activeAccountId ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "size-3.5" }) }),
|
|
3313
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
3314
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: currentAccountName }),
|
|
3315
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-muted-foreground truncate", children: currentAccountEmail })
|
|
3302
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "ghost", className: "nd:flex-1 nd:min-w-0 nd:justify-between nd:px-2 nd:h-11 nd:hover:bg-muted/50 nd:dark:hover:bg-muted/30", children: [
|
|
3303
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2.5 nd:text-left nd:min-w-0 nd:flex-1", children: [
|
|
3304
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
3305
|
+
"nd:size-7 nd:rounded-md nd:flex nd:items-center nd:justify-center nd:shrink-0",
|
|
3306
|
+
activeAccountId ? "nd:bg-blue-500/10 nd:text-blue-600 nd:dark:bg-blue-500/20 nd:dark:text-blue-400" : "nd:bg-emerald-500/10 nd:text-emerald-600 nd:dark:bg-emerald-500/20 nd:dark:text-emerald-400"
|
|
3307
|
+
), children: activeAccountId ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "nd:size-3.5" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HardDrive, { className: "nd:size-3.5" }) }),
|
|
3308
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:min-w-0", children: [
|
|
3309
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm nd:font-medium nd:truncate", children: currentAccountName }),
|
|
3310
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-[11px] nd:text-muted-foreground nd:truncate", children: currentAccountEmail })
|
|
3316
3311
|
] })
|
|
3317
3312
|
] }),
|
|
3318
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "size-3.5 text-muted-foreground/60 shrink-0" })
|
|
3313
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "nd:size-3.5 nd:text-muted-foreground/60 nd:shrink-0" })
|
|
3319
3314
|
] }) }),
|
|
3320
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { className: "w-56", align: "start", children: [
|
|
3321
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-[11px] font-medium text-muted-foreground uppercase tracking-wide", children: "Storage" }),
|
|
3315
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { className: "nd:w-56", align: "start", children: [
|
|
3316
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "nd:text-[11px] nd:font-medium nd:text-muted-foreground nd:uppercase nd:tracking-wide", children: "Storage" }),
|
|
3322
3317
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => {
|
|
3323
3318
|
setActiveAccountId(null);
|
|
3324
3319
|
setCurrentView("BROWSE");
|
|
3325
3320
|
onNavigate?.();
|
|
3326
|
-
}, className: "gap-2 py-2", children: [
|
|
3327
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm", children: "Local Storage" }),
|
|
3328
|
-
activeAccountId === null && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-primary" })
|
|
3321
|
+
}, className: "nd:gap-2 nd:py-2", children: [
|
|
3322
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:flex-1 nd:text-sm", children: "Local Storage" }),
|
|
3323
|
+
activeAccountId === null && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:text-primary" })
|
|
3329
3324
|
] }),
|
|
3330
3325
|
accounts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
3331
3326
|
accounts.map((account) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3336,13 +3331,13 @@ var SidebarContent = (props) => {
|
|
|
3336
3331
|
setCurrentView("BROWSE");
|
|
3337
3332
|
onNavigate?.();
|
|
3338
3333
|
},
|
|
3339
|
-
className: "gap-2 py-2",
|
|
3334
|
+
className: "nd:gap-2 nd:py-2",
|
|
3340
3335
|
children: [
|
|
3341
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
3342
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm truncate", children: account.name }),
|
|
3343
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-muted-foreground truncate", children: account.email })
|
|
3336
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex-1 nd:min-w-0", children: [
|
|
3337
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:truncate", children: account.name }),
|
|
3338
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-[10px] nd:text-muted-foreground nd:truncate", children: account.email })
|
|
3344
3339
|
] }),
|
|
3345
|
-
activeAccountId === account.id && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-primary" })
|
|
3340
|
+
activeAccountId === account.id && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "nd:size-3.5 nd:text-primary" })
|
|
3346
3341
|
]
|
|
3347
3342
|
},
|
|
3348
3343
|
account.id
|
|
@@ -3350,9 +3345,9 @@ var SidebarContent = (props) => {
|
|
|
3350
3345
|
hasAnyProvider && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3351
3346
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
3352
3347
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSub, { children: [
|
|
3353
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [
|
|
3354
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-3.5" }),
|
|
3355
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Add Account" })
|
|
3348
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { className: "nd:gap-2", children: [
|
|
3349
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "nd:size-3.5" }),
|
|
3350
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm", children: "Add Account" })
|
|
3356
3351
|
] }),
|
|
3357
3352
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { children: availableProviders.google && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { onClick: openOAuthPopup, children: "Google Drive" }) })
|
|
3358
3353
|
] })
|
|
@@ -3365,30 +3360,30 @@ var SidebarContent = (props) => {
|
|
|
3365
3360
|
{
|
|
3366
3361
|
variant: "ghost",
|
|
3367
3362
|
size: "icon",
|
|
3368
|
-
className: "size-9 shrink-0 hover:bg-muted/50 dark:hover:bg-muted/30",
|
|
3369
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings2, { className: "size-4 text-muted-foreground" })
|
|
3363
|
+
className: "nd:size-9 nd:shrink-0 nd:hover:bg-muted/50 nd:dark:hover:bg-muted/30",
|
|
3364
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings2, { className: "nd:size-4 nd:text-muted-foreground" })
|
|
3370
3365
|
}
|
|
3371
3366
|
) }),
|
|
3372
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "end", className: "w-40", children: [
|
|
3373
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "text-xs text-muted-foreground truncate", children: currentAccount.name }),
|
|
3367
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "end", className: "nd:w-40", children: [
|
|
3368
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { className: "nd:text-xs nd:text-muted-foreground nd:truncate", children: currentAccount.name }),
|
|
3374
3369
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
3375
3370
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => {
|
|
3376
3371
|
setRenameDialog({ open: true, account: currentAccount });
|
|
3377
3372
|
}, children: [
|
|
3378
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "size-3.5 mr-2" }),
|
|
3373
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "nd:size-3.5 nd:mr-2" }),
|
|
3379
3374
|
"Rename"
|
|
3380
3375
|
] }),
|
|
3381
3376
|
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: openOAuthPopup, children: [
|
|
3382
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "size-3.5 mr-2" }),
|
|
3377
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "nd:size-3.5 nd:mr-2" }),
|
|
3383
3378
|
"Reconnect"
|
|
3384
3379
|
] }),
|
|
3385
3380
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3386
3381
|
DropdownMenuItem,
|
|
3387
3382
|
{
|
|
3388
|
-
className: "text-destructive focus:text-destructive",
|
|
3383
|
+
className: "nd:text-destructive nd:focus:text-destructive",
|
|
3389
3384
|
onClick: () => setDeleteDialog({ open: true, account: currentAccount }),
|
|
3390
3385
|
children: [
|
|
3391
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash, { className: "size-3.5 mr-2" }),
|
|
3386
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash, { className: "nd:size-3.5 nd:mr-2" }),
|
|
3392
3387
|
"Disconnect"
|
|
3393
3388
|
]
|
|
3394
3389
|
}
|
|
@@ -3396,21 +3391,21 @@ var SidebarContent = (props) => {
|
|
|
3396
3391
|
] })
|
|
3397
3392
|
] })
|
|
3398
3393
|
] }) }),
|
|
3399
|
-
/* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex-1 p-2 space-y-0.5", children: [
|
|
3394
|
+
/* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "nd:flex-1 nd:p-2 nd:space-y-0.5", children: [
|
|
3400
3395
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3401
3396
|
Button,
|
|
3402
3397
|
{
|
|
3403
3398
|
variant: "ghost",
|
|
3404
|
-
className:
|
|
3405
|
-
"w-full justify-start gap-2.5 h-9 px-2.5 font-medium",
|
|
3406
|
-
currentView !== "TRASH" ? "bg-primary/10 text-primary hover:bg-primary/15 dark:bg-primary/15 dark:hover:bg-primary/20" : "hover:bg-muted/50 dark:hover:bg-muted/30"
|
|
3399
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
3400
|
+
"nd:w-full nd:justify-start nd:gap-2.5 nd:h-9 nd:px-2.5 nd:font-medium",
|
|
3401
|
+
currentView !== "TRASH" ? "nd:bg-primary/10 nd:text-primary nd:hover:bg-primary/15 nd:dark:bg-primary/15 nd:dark:hover:bg-primary/20" : "nd:hover:bg-muted/50 nd:dark:hover:bg-muted/30"
|
|
3407
3402
|
),
|
|
3408
3403
|
onClick: () => {
|
|
3409
3404
|
setCurrentView("BROWSE");
|
|
3410
3405
|
onNavigate?.();
|
|
3411
3406
|
},
|
|
3412
3407
|
children: [
|
|
3413
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderOpen, { className: "size-4" }),
|
|
3408
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderOpen, { className: "nd:size-4" }),
|
|
3414
3409
|
"My Files"
|
|
3415
3410
|
]
|
|
3416
3411
|
}
|
|
@@ -3419,22 +3414,22 @@ var SidebarContent = (props) => {
|
|
|
3419
3414
|
Button,
|
|
3420
3415
|
{
|
|
3421
3416
|
variant: "ghost",
|
|
3422
|
-
className:
|
|
3423
|
-
"w-full justify-start gap-2.5 h-9 px-2.5 font-medium",
|
|
3424
|
-
currentView === "TRASH" ? "bg-destructive/10 text-destructive hover:bg-destructive/15 dark:bg-destructive/15" : "hover:bg-muted/50 dark:hover:bg-muted/30"
|
|
3417
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
3418
|
+
"nd:w-full nd:justify-start nd:gap-2.5 nd:h-9 nd:px-2.5 nd:font-medium",
|
|
3419
|
+
currentView === "TRASH" ? "nd:bg-destructive/10 nd:text-destructive nd:hover:bg-destructive/15 nd:dark:bg-destructive/15" : "nd:hover:bg-muted/50 nd:dark:hover:bg-muted/30"
|
|
3425
3420
|
),
|
|
3426
3421
|
onClick: () => {
|
|
3427
3422
|
setCurrentView("TRASH");
|
|
3428
3423
|
onNavigate?.();
|
|
3429
3424
|
},
|
|
3430
3425
|
children: [
|
|
3431
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "size-4" }),
|
|
3426
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:size-4" }),
|
|
3432
3427
|
"Trash"
|
|
3433
3428
|
]
|
|
3434
3429
|
}
|
|
3435
3430
|
)
|
|
3436
3431
|
] }),
|
|
3437
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2.5 border-t border-border/50 bg-background/50 dark:bg-background/30", children: /* @__PURE__ */ jsxRuntime.jsx(DriveStorageIndicator, {}) }),
|
|
3432
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-2.5 nd:border-t nd:border-border/50 nd:bg-background/50 nd:dark:bg-background/30", children: /* @__PURE__ */ jsxRuntime.jsx(DriveStorageIndicator, {}) }),
|
|
3438
3433
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3439
3434
|
RenameAccountDialog,
|
|
3440
3435
|
{
|
|
@@ -3454,11 +3449,11 @@ var SidebarContent = (props) => {
|
|
|
3454
3449
|
onConfirm: handleDelete
|
|
3455
3450
|
}
|
|
3456
3451
|
),
|
|
3457
|
-
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: oauthLoading, onOpenChange: (open) => !open && cancelOAuth(), children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "sm:max-w-xs", showCloseButton: false, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4 py-4", children: [
|
|
3458
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-8 text-primary animate-spin" }),
|
|
3459
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
3460
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "text-base", children: "Connecting..." }),
|
|
3461
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: "text-sm mt-1", children: "Preparing Google authentication" })
|
|
3452
|
+
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: oauthLoading, onOpenChange: (open) => !open && cancelOAuth(), children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "nd:sm:max-w-xs", showCloseButton: false, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:flex-col nd:items-center nd:gap-4 nd:py-4", children: [
|
|
3453
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-8 nd:text-primary nd:animate-spin" }),
|
|
3454
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:text-center", children: [
|
|
3455
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "nd:text-base", children: "Connecting..." }),
|
|
3456
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: "nd:text-sm nd:mt-1", children: "Preparing Google authentication" })
|
|
3462
3457
|
] }),
|
|
3463
3458
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: cancelOAuth, children: "Cancel" })
|
|
3464
3459
|
] }) }) })
|
|
@@ -3467,10 +3462,10 @@ var SidebarContent = (props) => {
|
|
|
3467
3462
|
var DriveSidebar = ({ className }) => {
|
|
3468
3463
|
const [sheetOpen, setSheetOpen] = React3.useState(false);
|
|
3469
3464
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { open: sheetOpen, onOpenChange: setSheetOpen, children: [
|
|
3470
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "icon", className: "size-9", "aria-label": "Open menu", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "size-5" }) }) }),
|
|
3471
|
-
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "left", className: "w-70 sm:w-80 p-0", hideCloseButton: true, children: [
|
|
3472
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "sr-only", children: "Navigation Menu" }),
|
|
3473
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { className: "sr-only", children: "Storage accounts and navigation" }),
|
|
3465
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "icon", className: "nd:size-9", "aria-label": "Open menu", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "nd:size-5" }) }) }),
|
|
3466
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "left", className: "nd:w-70 nd:sm:w-80 nd:p-0", hideCloseButton: true, children: [
|
|
3467
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "nd:sr-only", children: "Navigation Menu" }),
|
|
3468
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { className: "nd:sr-only", children: "Storage accounts and navigation" }),
|
|
3474
3469
|
/* @__PURE__ */ jsxRuntime.jsx(SidebarContent, { onNavigate: () => setSheetOpen(false) })
|
|
3475
3470
|
] })
|
|
3476
3471
|
] }) });
|
|
@@ -3590,7 +3585,7 @@ var DriveExplorer = (props) => {
|
|
|
3590
3585
|
const processedItems = React3.useMemo(() => {
|
|
3591
3586
|
let filtered = items;
|
|
3592
3587
|
if (mimeFilter) {
|
|
3593
|
-
filtered = filtered.filter((item) =>
|
|
3588
|
+
filtered = filtered.filter((item) => chunkCFLH4TCQ_cjs.matchesMimeFilter(item.information.type === "FILE" ? item.information.mime : "", item.information.type === "FOLDER", mimeFilter));
|
|
3594
3589
|
}
|
|
3595
3590
|
return [...filtered].sort((a, b) => {
|
|
3596
3591
|
if (a.information.type === "FOLDER" && b.information.type !== "FOLDER") return -1;
|
|
@@ -3675,47 +3670,47 @@ var DriveExplorer = (props) => {
|
|
|
3675
3670
|
const enableDrag = currentView === "BROWSE";
|
|
3676
3671
|
const stateContent = (() => {
|
|
3677
3672
|
if (isLoading && items.length === 0) {
|
|
3678
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-6 animate-spin text-muted-foreground" }) });
|
|
3673
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:flex nd:items-center nd:justify-center nd:py-12 nd:flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-6 nd:animate-spin nd:text-muted-foreground" }) });
|
|
3679
3674
|
}
|
|
3680
3675
|
if (error) {
|
|
3681
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center p-12 text-destructive bg-destructive/10 rounded-lg flex-1", children: error });
|
|
3676
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:flex nd:items-center nd:justify-center nd:p-12 nd:text-destructive nd:bg-destructive/10 nd:rounded-lg nd:flex-1", children: error });
|
|
3682
3677
|
}
|
|
3683
3678
|
if (processedItems.length === 0) {
|
|
3684
3679
|
return /* @__PURE__ */ jsxRuntime.jsxs(ContextMenu, { children: [
|
|
3685
|
-
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
3686
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-12 rounded-full bg-muted flex items-center justify-center mb-3", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Folder, { className: "size-6 text-muted-foreground" }) }),
|
|
3687
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: currentView === "SEARCH" ? "No files match your search" : currentView === "TRASH" ? "Trash is empty" : "No files found" })
|
|
3680
|
+
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex nd:flex-col nd:items-center nd:justify-center nd:py-12 nd:text-center nd:flex-1", className), children: [
|
|
3681
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-12 nd:rounded-full nd:bg-muted nd:flex nd:items-center nd:justify-center nd:mb-3", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Folder, { className: "nd:size-6 nd:text-muted-foreground" }) }),
|
|
3682
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:text-muted-foreground", children: currentView === "SEARCH" ? "No files match your search" : currentView === "TRASH" ? "Trash is empty" : "No files found" })
|
|
3688
3683
|
] }) }),
|
|
3689
3684
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuContent, { children: currentView === "BROWSE" ? /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { onClick: () => setDialogs((prev) => ({ ...prev, newFolder: true })), children: [
|
|
3690
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderPlus, { className: "mr-2 size-4" }),
|
|
3685
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderPlus, { className: "nd:mr-2 nd:size-4" }),
|
|
3691
3686
|
" New Folder"
|
|
3692
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-6 text-center", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "No actions available" }) }) })
|
|
3687
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:px-2 nd:py-6 nd:text-center", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground", children: "No actions available" }) }) })
|
|
3693
3688
|
] });
|
|
3694
3689
|
}
|
|
3695
3690
|
return null;
|
|
3696
3691
|
})();
|
|
3697
|
-
return /* @__PURE__ */ jsxRuntime.jsx(core.DndContext, { sensors, collisionDetection: core.closestCenter, onDragStart: handleDragStart, onDragOver: handleDragOver, onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full w-full overflow-hidden bg-background/50 dark:bg-background/30 relative", children: [
|
|
3692
|
+
return /* @__PURE__ */ jsxRuntime.jsx(core.DndContext, { sensors, collisionDetection: core.closestCenter, onDragStart: handleDragStart, onDragOver: handleDragOver, onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd-drive-root nd:flex nd:flex-col nd:h-full nd:w-full nd:overflow-hidden nd:bg-background/50 nd:dark:bg-background/30 nd:relative", children: [
|
|
3698
3693
|
/* @__PURE__ */ jsxRuntime.jsx(DriveContentProgress, {}),
|
|
3699
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-12 px-3 sm:px-4 border-b bg-background/95 dark:bg-background/80 backdrop-blur-sm flex items-center gap-3", children: [
|
|
3700
|
-
/* @__PURE__ */ jsxRuntime.jsx(DriveSidebar, { className: "lg:hidden" }),
|
|
3701
|
-
/* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, { className: "hidden lg:flex flex-1" }),
|
|
3694
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:h-12 nd:px-3 nd:sm:px-4 nd:border-b nd:bg-background/95 nd:dark:bg-background/80 nd:backdrop-blur-sm nd:flex nd:items-center nd:gap-3", children: [
|
|
3695
|
+
/* @__PURE__ */ jsxRuntime.jsx(DriveSidebar, { className: "nd:lg:hidden" }),
|
|
3696
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, { className: "nd:hidden nd:lg:flex nd:flex-1" }),
|
|
3702
3697
|
/* @__PURE__ */ jsxRuntime.jsx(DriveUpload, { compact: true, accept: mimeFilter })
|
|
3703
3698
|
] }),
|
|
3704
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:hidden px-3 py-2 border-b bg-background/95 dark:bg-background/80 backdrop-blur-sm", children: /* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, {}) }),
|
|
3699
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:lg:hidden nd:px-3 nd:py-2 nd:border-b nd:bg-background/95 nd:dark:bg-background/80 nd:backdrop-blur-sm", children: /* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, {}) }),
|
|
3705
3700
|
stateContent || /* @__PURE__ */ jsxRuntime.jsxs(ContextMenu, { children: [
|
|
3706
|
-
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
3707
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4 sm:space-y-6 pb-8 sm:pb-12", children: Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
3708
|
-
groupBy !== "NONE" && /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "text-sm font-medium text-muted-foreground flex items-center gap-2", children: [
|
|
3701
|
+
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkCFLH4TCQ_cjs.cn("nd:flex-1 nd:overflow-y-auto nd:min-h-0 nd:container nd:mx-auto nd:p-2 nd:sm:p-3 nd:md:p-4", className), children: [
|
|
3702
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:space-y-4 nd:sm:space-y-6 nd:pb-8 nd:sm:pb-12", children: Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:space-y-3", children: [
|
|
3703
|
+
groupBy !== "NONE" && /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "nd:text-sm nd:font-medium nd:text-muted-foreground nd:flex nd:items-center nd:gap-2", children: [
|
|
3709
3704
|
groupName,
|
|
3710
3705
|
" ",
|
|
3711
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs opacity-50", children: [
|
|
3706
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:text-xs nd:opacity-50", children: [
|
|
3712
3707
|
"(",
|
|
3713
3708
|
groupItems.length,
|
|
3714
3709
|
")"
|
|
3715
3710
|
] })
|
|
3716
3711
|
] }),
|
|
3717
|
-
/* @__PURE__ */ jsxRuntime.jsx(sortable.SortableContext, { items: groupItems.map((i) => i.id), strategy: sortable.rectSortingStrategy, disabled: !enableDrag, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3718
|
-
viewMode === "GRID" ? "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6
|
|
3712
|
+
/* @__PURE__ */ jsxRuntime.jsx(sortable.SortableContext, { items: groupItems.map((i) => i.id), strategy: sortable.rectSortingStrategy, disabled: !enableDrag, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkCFLH4TCQ_cjs.cn(
|
|
3713
|
+
viewMode === "GRID" ? "nd:grid nd:grid-cols-2 nd:sm:grid-cols-3 nd:md:grid-cols-4 nd:lg:grid-cols-5 nd:xl:grid-cols-6 2nd:xl:grid-cols-7 nd:gap-2 nd:sm:gap-3 nd:md:gap-4" : "nd:flex nd:flex-col nd:gap-1"
|
|
3719
3714
|
), children: groupItems.map((item) => {
|
|
3720
3715
|
const isSelected = selectedFileIds.includes(item.id);
|
|
3721
3716
|
const isFolder = item.information.type === "FOLDER";
|
|
@@ -3728,11 +3723,11 @@ var DriveExplorer = (props) => {
|
|
|
3728
3723
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3729
3724
|
"div",
|
|
3730
3725
|
{
|
|
3731
|
-
className:
|
|
3732
|
-
"group relative cursor-pointer transition-all focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
|
|
3733
|
-
viewMode === "GRID" ? "flex flex-col rounded-xl border bg-card dark:bg-card/50 hover:bg-accent/50 dark:hover:bg-accent/30 hover:shadow-sm overflow-hidden" : "flex items-center p-2 rounded-lg hover:bg-accent/50 dark:hover:bg-accent/30 gap-3 border border-transparent hover:border-border",
|
|
3734
|
-
isSelected && "ring-2 ring-primary border-primary/50 bg-accent/30 dark:bg-accent/20",
|
|
3735
|
-
isDragOver && "ring-2 ring-primary border-primary scale-[1.02] bg-primary/10 shadow-lg transition-transform"
|
|
3726
|
+
className: chunkCFLH4TCQ_cjs.cn(
|
|
3727
|
+
"group nd:relative nd:cursor-pointer nd:transition-all nd:focus:outline-none nd:focus:ring-2 nd:focus:ring-primary nd:focus:ring-offset-2",
|
|
3728
|
+
viewMode === "GRID" ? "nd:flex nd:flex-col nd:rounded-xl nd:border nd:bg-card nd:dark:bg-card/50 nd:hover:bg-accent/50 nd:dark:hover:bg-accent/30 nd:hover:shadow-sm nd:overflow-hidden" : "nd:flex nd:items-center nd:p-2 nd:rounded-lg nd:hover:bg-accent/50 nd:dark:hover:bg-accent/30 nd:gap-3 nd:border nd:border-transparent nd:hover:border-border",
|
|
3729
|
+
isSelected && "nd:ring-2 nd:ring-primary nd:border-primary/50 nd:bg-accent/30 nd:dark:bg-accent/20",
|
|
3730
|
+
isDragOver && "nd:ring-2 nd:ring-primary nd:border-primary nd:scale-[1.02] nd:bg-primary/10 nd:shadow-lg nd:transition-transform"
|
|
3736
3731
|
),
|
|
3737
3732
|
onClick: (e) => handleItemClick(e, item),
|
|
3738
3733
|
onTouchEnd: (e) => {
|
|
@@ -3743,34 +3738,34 @@ var DriveExplorer = (props) => {
|
|
|
3743
3738
|
role: "button",
|
|
3744
3739
|
tabIndex: 0,
|
|
3745
3740
|
children: viewMode === "GRID" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3746
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "aspect-square w-full bg-muted/20 dark:bg-muted/10 flex items-center justify-center overflow-hidden relative", children: [
|
|
3747
|
-
isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: thumbnailUrl, alt: item.name, className: "size-full object-contain transition-transform group-hover:scale-105 duration-300", loading: "lazy" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "transition-transform group-hover:scale-110 duration-200", children:
|
|
3748
|
-
isSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 right-2 size-5 bg-primary rounded-full flex items-center justify-center shadow-sm animate-in zoom-in-50", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-2 bg-primary-foreground rounded-full" }) }),
|
|
3749
|
-
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-2 right-2 lg:hidden size-6 bg-primary/90 rounded-full flex items-center justify-center shadow-md", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-3.5 text-primary-foreground" }) })
|
|
3741
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:aspect-square nd:w-full nd:bg-muted/20 nd:dark:bg-muted/10 nd:flex nd:items-center nd:justify-center nd:overflow-hidden nd:relative", children: [
|
|
3742
|
+
isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: thumbnailUrl, alt: item.name, className: "nd:size-full nd:object-contain nd:transition-transform group-nd:hover:scale-105 nd:duration-300", loading: "lazy" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:transition-transform group-nd:hover:scale-110 nd:duration-200", children: chunkCFLH4TCQ_cjs.getFileIcon(item.information.type === "FILE" ? item.information.mime : "", isFolder, "nd:size-10 nd:text-muted-foreground/70") }),
|
|
3743
|
+
isSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:absolute nd:top-2 nd:right-2 nd:size-5 nd:bg-primary nd:rounded-full nd:flex nd:items-center nd:justify-center nd:shadow-sm nd:animate-in nd:zoom-in-50", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-2 nd:bg-primary-foreground nd:rounded-full" }) }),
|
|
3744
|
+
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:absolute nd:bottom-2 nd:right-2 nd:lg:hidden nd:size-6 nd:bg-primary/90 nd:rounded-full nd:flex nd:items-center nd:justify-center nd:shadow-md", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "nd:size-3.5 nd:text-primary-foreground" }) })
|
|
3750
3745
|
] }),
|
|
3751
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2.5", children: [
|
|
3752
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium truncate", title: item.name, children: item.name }),
|
|
3753
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: isFolder ? "Folder" :
|
|
3746
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:p-2.5", children: [
|
|
3747
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-sm nd:font-medium nd:truncate", title: item.name, children: item.name }),
|
|
3748
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground nd:mt-0.5", children: isFolder ? "Folder" : chunkCFLH4TCQ_cjs.formatBytes(item.information.type === "FILE" ? item.information.sizeInBytes : 0) })
|
|
3754
3749
|
] })
|
|
3755
3750
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3756
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-9 shrink-0 rounded-md overflow-hidden bg-muted/40 dark:bg-muted/20 flex items-center justify-center border", children: isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: thumbnailUrl, alt: item.name, className: "size-full object-contain", loading: "lazy" }) :
|
|
3757
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate flex-1", title: item.name, children: item.name }),
|
|
3758
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground w-20 text-right shrink-0", children: isFolder ? "-" :
|
|
3759
|
-
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4 text-muted-foreground lg:hidden shrink-0" })
|
|
3751
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:size-9 nd:shrink-0 nd:rounded-md nd:overflow-hidden nd:bg-muted/40 nd:dark:bg-muted/20 nd:flex nd:items-center nd:justify-center nd:border", children: isThumbnailable ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: thumbnailUrl, alt: item.name, className: "nd:size-full nd:object-contain", loading: "lazy" }) : chunkCFLH4TCQ_cjs.getFileIcon(item.information.type === "FILE" ? item.information.mime : "", isFolder, "nd:size-4 nd:text-muted-foreground") }),
|
|
3752
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-sm nd:font-medium nd:truncate nd:flex-1", title: item.name, children: item.name }),
|
|
3753
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "nd:text-xs nd:text-muted-foreground nd:w-20 nd:text-right nd:shrink-0", children: isFolder ? "-" : chunkCFLH4TCQ_cjs.formatBytes(item.information.type === "FILE" ? item.information.sizeInBytes : 0) }),
|
|
3754
|
+
isFolder && currentView === "BROWSE" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "nd:size-4 nd:text-muted-foreground nd:lg:hidden nd:shrink-0" })
|
|
3760
3755
|
] })
|
|
3761
3756
|
}
|
|
3762
3757
|
) }),
|
|
3763
3758
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuContent, { children: currentView === "TRASH" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3764
3759
|
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { onClick: () => restoreItem(item.id), children: [
|
|
3765
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "mr-2 size-4" }),
|
|
3760
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "nd:mr-2 nd:size-4" }),
|
|
3766
3761
|
" Restore"
|
|
3767
3762
|
] }),
|
|
3768
3763
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuSeparator, {}),
|
|
3769
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "text-destructive focus:text-destructive", onClick: () => {
|
|
3764
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "nd:text-destructive nd:focus:text-destructive", onClick: () => {
|
|
3770
3765
|
setItemToDelete(item);
|
|
3771
3766
|
setDialogs((prev) => ({ ...prev, delete: true }));
|
|
3772
3767
|
}, children: [
|
|
3773
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "mr-2 size-4" }),
|
|
3768
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:mr-2 nd:size-4" }),
|
|
3774
3769
|
" Delete Forever"
|
|
3775
3770
|
] })
|
|
3776
3771
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -3778,30 +3773,30 @@ var DriveExplorer = (props) => {
|
|
|
3778
3773
|
setItemToRename(item);
|
|
3779
3774
|
setDialogs((prev) => ({ ...prev, rename: true }));
|
|
3780
3775
|
}, children: [
|
|
3781
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "mr-2 size-4" }),
|
|
3776
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "nd:mr-2 nd:size-4" }),
|
|
3782
3777
|
" Rename"
|
|
3783
3778
|
] }),
|
|
3784
3779
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuSeparator, {}),
|
|
3785
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "text-destructive focus:text-destructive", onClick: () => {
|
|
3780
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { className: "nd:text-destructive nd:focus:text-destructive", onClick: () => {
|
|
3786
3781
|
setItemToDelete(item);
|
|
3787
3782
|
setDialogs((prev) => ({ ...prev, delete: true }));
|
|
3788
3783
|
}, children: [
|
|
3789
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "mr-2 size-4" }),
|
|
3784
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "nd:mr-2 nd:size-4" }),
|
|
3790
3785
|
" Delete"
|
|
3791
3786
|
] })
|
|
3792
3787
|
] }) })
|
|
3793
3788
|
] }) }, item.id);
|
|
3794
3789
|
}) }) })
|
|
3795
3790
|
] }, groupName)) }),
|
|
3796
|
-
hasMore && /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: observerTarget, className: "flex justify-center py-4", children: [
|
|
3797
|
-
isLoadingMore && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-6 animate-spin text-muted-foreground" }),
|
|
3798
|
-
!isLoadingMore && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-full" })
|
|
3791
|
+
hasMore && /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: observerTarget, className: "nd:flex nd:justify-center nd:py-4", children: [
|
|
3792
|
+
isLoadingMore && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-6 nd:animate-spin nd:text-muted-foreground" }),
|
|
3793
|
+
!isLoadingMore && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:h-4 nd:w-full" })
|
|
3799
3794
|
] })
|
|
3800
3795
|
] }) }),
|
|
3801
3796
|
/* @__PURE__ */ jsxRuntime.jsx(ContextMenuContent, { children: currentView === "BROWSE" ? /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuItem, { onClick: () => setDialogs((prev) => ({ ...prev, newFolder: true })), children: [
|
|
3802
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderPlus, { className: "mr-2 size-4" }),
|
|
3797
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FolderPlus, { className: "nd:mr-2 nd:size-4" }),
|
|
3803
3798
|
" New Folder"
|
|
3804
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-6 text-center", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "No actions available" }) }) })
|
|
3799
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:px-2 nd:py-6 nd:text-center", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "nd:text-xs nd:text-muted-foreground", children: "No actions available" }) }) })
|
|
3805
3800
|
] }),
|
|
3806
3801
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3807
3802
|
CreateFolderDialog,
|