···
1
1
@import 'tailwindcss';
2
2
@import 'tw-animate-css';
3
3
+
@import "tw-animate-css";
4
4
+
@import "shadcn/tailwind.css";
3
5
4
6
@custom-variant dark (&:is(.dark *));
5
7
@custom-variant green (&:is(.green *));
···
48
50
49
51
--animate-accordion-down: accordion-down 0.2s ease-out;
50
52
--animate-accordion-up: accordion-up 0.2s ease-out;
53
53
+
--font-sans: var(--font-sans);
54
54
+
--font-heading: var(--font-heading);
55
55
+
--color-sidebar: var(--sidebar);
56
56
+
--radius-xl: calc(var(--radius) * 1.4);
57
57
+
--radius-2xl: calc(var(--radius) * 1.8);
58
58
+
--radius-3xl: calc(var(--radius) * 2.2);
59
59
+
--radius-4xl: calc(var(--radius) * 2.6);
51
60
}
52
61
53
62
@keyframes accordion-down {
···
70
79
71
80
html {
72
81
scroll-behavior: smooth;
73
73
-
}
74
74
-
75
75
-
body {
76
76
-
font-family: Arial, Helvetica, sans-serif;
77
82
}
78
83
79
84
@layer utilities {
···
341
346
background: hsl(var(--border));
342
347
opacity: 0.6;
343
348
}
349
349
+
* {
350
350
+
@apply border-border outline-ring/50;
351
351
+
}
352
352
+
body {
353
353
+
@apply bg-background text-foreground;
354
354
+
}
355
355
+
html {
356
356
+
@apply font-sans;
357
357
+
}
344
358
}
345
359
346
360
@layer base {
···
489
503
--chart-5: oklch(0.645 0.246 16.439);
490
504
}
491
505
}
506
506
+
507
507
+
:root {
508
508
+
--background: oklch(1 0 0);
509
509
+
--foreground: oklch(0.145 0 0);
510
510
+
--card: oklch(1 0 0);
511
511
+
--card-foreground: oklch(0.145 0 0);
512
512
+
--popover: oklch(1 0 0);
513
513
+
--popover-foreground: oklch(0.145 0 0);
514
514
+
--primary: oklch(0.205 0 0);
515
515
+
--primary-foreground: oklch(0.985 0 0);
516
516
+
--secondary: oklch(0.97 0 0);
517
517
+
--secondary-foreground: oklch(0.205 0 0);
518
518
+
--muted: oklch(0.97 0 0);
519
519
+
--muted-foreground: oklch(0.556 0 0);
520
520
+
--accent: oklch(0.97 0 0);
521
521
+
--accent-foreground: oklch(0.205 0 0);
522
522
+
--destructive: oklch(0.577 0.245 27.325);
523
523
+
--border: oklch(0.922 0 0);
524
524
+
--input: oklch(0.922 0 0);
525
525
+
--ring: oklch(0.708 0 0);
526
526
+
--chart-1: oklch(0.87 0 0);
527
527
+
--chart-2: oklch(0.556 0 0);
528
528
+
--chart-3: oklch(0.439 0 0);
529
529
+
--chart-4: oklch(0.371 0 0);
530
530
+
--chart-5: oklch(0.269 0 0);
531
531
+
--radius: 0.625rem;
532
532
+
--sidebar: oklch(0.985 0 0);
533
533
+
--sidebar-foreground: oklch(0.145 0 0);
534
534
+
--sidebar-primary: oklch(0.205 0 0);
535
535
+
--sidebar-primary-foreground: oklch(0.985 0 0);
536
536
+
--sidebar-accent: oklch(0.97 0 0);
537
537
+
--sidebar-accent-foreground: oklch(0.205 0 0);
538
538
+
--sidebar-border: oklch(0.922 0 0);
539
539
+
--sidebar-ring: oklch(0.708 0 0);
540
540
+
}
541
541
+
542
542
+
.dark {
543
543
+
--background: oklch(0.145 0 0);
544
544
+
--foreground: oklch(0.985 0 0);
545
545
+
--card: oklch(0.205 0 0);
546
546
+
--card-foreground: oklch(0.985 0 0);
547
547
+
--popover: oklch(0.205 0 0);
548
548
+
--popover-foreground: oklch(0.985 0 0);
549
549
+
--primary: oklch(0.922 0 0);
550
550
+
--primary-foreground: oklch(0.205 0 0);
551
551
+
--secondary: oklch(0.269 0 0);
552
552
+
--secondary-foreground: oklch(0.985 0 0);
553
553
+
--muted: oklch(0.269 0 0);
554
554
+
--muted-foreground: oklch(0.708 0 0);
555
555
+
--accent: oklch(0.269 0 0);
556
556
+
--accent-foreground: oklch(0.985 0 0);
557
557
+
--destructive: oklch(0.704 0.191 22.216);
558
558
+
--border: oklch(1 0 0 / 10%);
559
559
+
--input: oklch(1 0 0 / 15%);
560
560
+
--ring: oklch(0.556 0 0);
561
561
+
--chart-1: oklch(0.87 0 0);
562
562
+
--chart-2: oklch(0.556 0 0);
563
563
+
--chart-3: oklch(0.439 0 0);
564
564
+
--chart-4: oklch(0.371 0 0);
565
565
+
--chart-5: oklch(0.269 0 0);
566
566
+
--sidebar: oklch(0.205 0 0);
567
567
+
--sidebar-foreground: oklch(0.985 0 0);
568
568
+
--sidebar-primary: oklch(0.488 0.243 264.376);
569
569
+
--sidebar-primary-foreground: oklch(0.985 0 0);
570
570
+
--sidebar-accent: oklch(0.269 0 0);
571
571
+
--sidebar-accent-foreground: oklch(0.985 0 0);
572
572
+
--sidebar-border: oklch(1 0 0 / 10%);
573
573
+
--sidebar-ring: oklch(0.556 0 0);
574
574
+
}
···
3
3
import {
4
4
Instrument_Sans,
5
5
Instrument_Serif,
6
6
-
JetBrains_Mono,
7
7
-
} from 'next/font/google'
6
6
+
JetBrains_Mono, Inter, Geist } from 'next/font/google'
8
7
import './globals.css'
9
8
import { Toaster } from '@/components/ui/sonner'
10
9
import { CalendarProvider } from '@/components/providers/calendar-context'
11
10
import { GeistSans } from 'geist/font/sans'
12
11
import { ThemeProvider } from '@/components/providers/theme-provider'
13
12
import { PwaProvider } from '@/components/providers/pwa-provider'
13
13
+
import { cn } from "@/lib/utils";
14
14
+
15
15
+
const geistHeading = Geist({subsets:['latin'],variable:'--font-heading'});
16
16
+
17
17
+
const inter = Inter({subsets:['latin'],variable:'--font-sans'});
14
18
15
19
const instrumentSans = Instrument_Sans({
16
20
subsets: ['latin'],
···
58
62
children: React.ReactNode
59
63
}) {
60
64
return (
61
61
-
<html lang="en" suppressHydrationWarning>
65
65
+
<html lang="en" suppressHydrationWarning className={cn("font-sans", inter.variable, geistHeading.variable)}>
62
66
<body
63
67
className={`${GeistSans.className} ${instrumentSans.variable} ${instrumentSerif.variable} ${jetbrainsMono.variable} antialiased`}
64
68
>
···
1
1
{
2
2
"$schema": "https://ui.shadcn.com/schema.json",
3
3
-
"style": "new-york",
3
3
+
"style": "radix-nova",
4
4
"rsc": true,
5
5
"tsx": true,
6
6
"tailwind": {
···
10
10
"cssVariables": true,
11
11
"prefix": ""
12
12
},
13
13
+
"iconLibrary": "lucide",
14
14
+
"rtl": false,
13
15
"aliases": {
14
16
"components": "@/components",
15
17
"utils": "@/lib/utils",
···
17
19
"lib": "@/lib",
18
20
"hooks": "@/hooks"
19
21
},
20
20
-
"iconLibrary": "lucide"
22
22
+
"menuColor": "default",
23
23
+
"menuAccent": "subtle",
24
24
+
"registries": {}
21
25
}
···
1
1
-
"use client";
1
1
+
"use client"
2
2
3
3
-
import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
4
4
-
import * as React from "react";
3
3
+
import * as React from "react"
4
4
+
import { AlertDialog as AlertDialogPrimitive } from "radix-ui"
5
5
6
6
-
import { cn } from "@/lib/utils";
7
7
-
import { Button } from "@/components/ui/button";
6
6
+
import { cn } from "@/lib/utils"
7
7
+
import { Button } from "@/components/ui/button"
8
8
9
9
function AlertDialog({
10
10
...props
11
11
}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {
12
12
-
return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />;
12
12
+
return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />
13
13
}
14
14
15
15
function AlertDialogTrigger({
···
17
17
}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {
18
18
return (
19
19
<AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />
20
20
-
);
20
20
+
)
21
21
}
22
22
23
23
function AlertDialogPortal({
···
25
25
}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {
26
26
return (
27
27
<AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" {...props} />
28
28
-
);
28
28
+
)
29
29
}
30
30
31
31
function AlertDialogOverlay({
···
36
36
<AlertDialogPrimitive.Overlay
37
37
data-slot="alert-dialog-overlay"
38
38
className={cn(
39
39
-
"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50",
40
40
-
className,
39
39
+
"fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
40
40
+
className
41
41
)}
42
42
{...props}
43
43
/>
44
44
-
);
44
44
+
)
45
45
}
46
46
47
47
function AlertDialogContent({
···
49
49
size = "default",
50
50
...props
51
51
}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {
52
52
-
size?: "default" | "sm";
52
52
+
size?: "default" | "sm"
53
53
}) {
54
54
return (
55
55
<AlertDialogPortal>
···
58
58
data-slot="alert-dialog-content"
59
59
data-size={size}
60
60
className={cn(
61
61
-
"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-4 rounded-xl p-4 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",
62
62
-
className,
61
61
+
"group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
62
62
+
className
63
63
)}
64
64
{...props}
65
65
/>
66
66
</AlertDialogPortal>
67
67
-
);
67
67
+
)
68
68
}
69
69
70
70
function AlertDialogHeader({
···
76
76
data-slot="alert-dialog-header"
77
77
className={cn(
78
78
"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
79
79
-
className,
79
79
+
className
80
80
)}
81
81
{...props}
82
82
/>
83
83
-
);
83
83
+
)
84
84
}
85
85
86
86
function AlertDialogFooter({
···
91
91
<div
92
92
data-slot="alert-dialog-footer"
93
93
className={cn(
94
94
-
"bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
95
95
-
className,
94
94
+
"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
95
95
+
className
96
96
)}
97
97
{...props}
98
98
/>
99
99
-
);
99
99
+
)
100
100
}
101
101
102
102
function AlertDialogMedia({
···
107
107
<div
108
108
data-slot="alert-dialog-media"
109
109
className={cn(
110
110
-
"bg-muted mb-2 inline-flex size-10 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",
111
111
-
className,
110
110
+
"mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",
111
111
+
className
112
112
)}
113
113
{...props}
114
114
/>
115
115
-
);
115
115
+
)
116
116
}
117
117
118
118
function AlertDialogTitle({
···
123
123
<AlertDialogPrimitive.Title
124
124
data-slot="alert-dialog-title"
125
125
className={cn(
126
126
-
"text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
127
127
-
className,
126
126
+
"font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
127
127
+
className
128
128
)}
129
129
{...props}
130
130
/>
131
131
-
);
131
131
+
)
132
132
}
133
133
134
134
function AlertDialogDescription({
···
139
139
<AlertDialogPrimitive.Description
140
140
data-slot="alert-dialog-description"
141
141
className={cn(
142
142
-
"text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",
143
143
-
className,
142
142
+
"text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
143
143
+
className
144
144
)}
145
145
{...props}
146
146
/>
147
147
-
);
147
147
+
)
148
148
}
149
149
150
150
function AlertDialogAction({
···
162
162
{...props}
163
163
/>
164
164
</Button>
165
165
-
);
165
165
+
)
166
166
}
167
167
168
168
function AlertDialogCancel({
···
180
180
{...props}
181
181
/>
182
182
</Button>
183
183
-
);
183
183
+
)
184
184
}
185
185
186
186
export {
···
196
196
AlertDialogPortal,
197
197
AlertDialogTitle,
198
198
AlertDialogTrigger,
199
199
-
};
199
199
+
}
···
1
1
-
import { cva, type VariantProps } from "class-variance-authority";
2
2
-
import * as React from "react";
1
1
+
import * as React from "react"
2
2
+
import { cva, type VariantProps } from "class-variance-authority"
3
3
4
4
-
import { cn } from "@/lib/utils";
4
4
+
import { cn } from "@/lib/utils"
5
5
6
6
const alertVariants = cva(
7
7
-
"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",
7
7
+
"group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",
8
8
{
9
9
variants: {
10
10
variant: {
11
11
default: "bg-card text-card-foreground",
12
12
destructive:
13
13
-
"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",
13
13
+
"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current",
14
14
},
15
15
},
16
16
defaultVariants: {
17
17
variant: "default",
18
18
},
19
19
-
},
20
20
-
);
19
19
+
}
20
20
+
)
21
21
22
22
function Alert({
23
23
className,
···
31
31
className={cn(alertVariants({ variant }), className)}
32
32
{...props}
33
33
/>
34
34
-
);
34
34
+
)
35
35
}
36
36
37
37
function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
···
39
39
<div
40
40
data-slot="alert-title"
41
41
className={cn(
42
42
-
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
43
43
-
className,
42
42
+
"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",
43
43
+
className
44
44
)}
45
45
{...props}
46
46
/>
47
47
-
);
47
47
+
)
48
48
}
49
49
50
50
function AlertDescription({
···
55
55
<div
56
56
data-slot="alert-description"
57
57
className={cn(
58
58
-
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
59
59
-
className,
58
58
+
"text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
59
59
+
className
60
60
)}
61
61
{...props}
62
62
/>
63
63
-
);
63
63
+
)
64
64
}
65
65
66
66
-
export { Alert, AlertTitle, AlertDescription };
66
66
+
function AlertAction({ className, ...props }: React.ComponentProps<"div">) {
67
67
+
return (
68
68
+
<div
69
69
+
data-slot="alert-action"
70
70
+
className={cn("absolute top-2 right-2", className)}
71
71
+
{...props}
72
72
+
/>
73
73
+
)
74
74
+
}
75
75
+
76
76
+
export { Alert, AlertTitle, AlertDescription, AlertAction }
···
17
17
data-slot="avatar"
18
18
data-size={size}
19
19
className={cn(
20
20
-
"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
20
20
+
"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",
21
21
className
22
22
)}
23
23
{...props}
···
32
32
return (
33
33
<AvatarPrimitive.Image
34
34
data-slot="avatar-image"
35
35
-
className={cn("aspect-square size-full", className)}
35
35
+
className={cn(
36
36
+
"aspect-square size-full rounded-full object-cover",
37
37
+
className
38
38
+
)}
36
39
{...props}
37
40
/>
38
41
)
···
59
62
<span
60
63
data-slot="avatar-badge"
61
64
className={cn(
62
62
-
"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
65
65
+
"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none",
63
66
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
64
67
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
65
68
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
···
103
106
Avatar,
104
107
AvatarImage,
105
108
AvatarFallback,
106
106
-
AvatarBadge,
107
109
AvatarGroup,
108
110
AvatarGroupCount,
111
111
+
AvatarBadge,
109
112
}
···
5
5
import { cn } from "@/lib/utils"
6
6
7
7
const badgeVariants = cva(
8
8
-
"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
8
8
+
"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",
9
9
{
10
10
variants: {
11
11
variant: {
12
12
-
default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
12
12
+
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
13
13
secondary:
14
14
-
"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
14
14
+
"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
15
15
destructive:
16
16
-
"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
16
16
+
"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",
17
17
outline:
18
18
-
"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
19
19
-
ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
20
20
-
link: "text-primary underline-offset-4 [a&]:hover:underline",
18
18
+
"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",
19
19
+
ghost:
20
20
+
"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
21
21
+
link: "text-primary underline-offset-4 hover:underline",
21
22
},
22
23
},
23
24
defaultVariants: {
···
9
9
{
10
10
variants: {
11
11
variant: {
12
12
-
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
12
12
+
default: "bg-primary text-primary-foreground hover:bg-primary/80",
13
13
outline:
14
14
"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
15
15
secondary:
16
16
-
"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
16
16
+
"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
17
17
ghost:
18
18
"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
19
19
destructive:
···
1
1
-
"use client";
1
1
+
"use client"
2
2
3
3
-
import * as React from "react";
3
3
+
import * as React from "react"
4
4
import {
5
5
DayPicker,
6
6
getDefaultClassNames,
7
7
type DayButton,
8
8
type Locale,
9
9
-
} from "react-day-picker";
9
9
+
} from "react-day-picker"
10
10
11
11
-
import { cn } from "@/lib/utils";
12
12
-
import { Button, buttonVariants } from "@/components/ui/button";
13
13
-
import {
14
14
-
ChevronLeftIcon,
15
15
-
ChevronRightIcon,
16
16
-
ChevronDownIcon,
17
17
-
} from "lucide-react";
11
11
+
import { cn } from "@/lib/utils"
12
12
+
import { Button, buttonVariants } from "@/components/ui/button"
13
13
+
import { ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon } from "lucide-react"
18
14
19
15
function Calendar({
20
16
className,
···
27
23
components,
28
24
...props
29
25
}: React.ComponentProps<typeof DayPicker> & {
30
30
-
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
26
26
+
buttonVariant?: React.ComponentProps<typeof Button>["variant"]
31
27
}) {
32
32
-
const defaultClassNames = getDefaultClassNames();
28
28
+
const defaultClassNames = getDefaultClassNames()
33
29
34
30
return (
35
31
<DayPicker
36
32
showOutsideDays={showOutsideDays}
37
33
className={cn(
38
38
-
"p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] group/calendar bg-background in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",
34
34
+
"group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",
39
35
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
40
36
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
41
41
-
className,
37
37
+
className
42
38
)}
43
39
captionLayout={captionLayout}
44
40
locale={locale}
45
41
formatters={{
46
46
-
formatMonthDropdown: (date: Date) =>
42
42
+
formatMonthDropdown: (date) =>
47
43
date.toLocaleString(locale?.code, { month: "short" }),
48
44
...formatters,
49
45
}}
···
51
47
root: cn("w-fit", defaultClassNames.root),
52
48
months: cn(
53
49
"relative flex flex-col gap-4 md:flex-row",
54
54
-
defaultClassNames.months,
50
50
+
defaultClassNames.months
55
51
),
56
52
month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
57
53
nav: cn(
58
54
"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
59
59
-
defaultClassNames.nav,
55
55
+
defaultClassNames.nav
60
56
),
61
57
button_previous: cn(
62
58
buttonVariants({ variant: buttonVariant }),
63
59
"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
64
64
-
defaultClassNames.button_previous,
60
60
+
defaultClassNames.button_previous
65
61
),
66
62
button_next: cn(
67
63
buttonVariants({ variant: buttonVariant }),
68
64
"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
69
69
-
defaultClassNames.button_next,
65
65
+
defaultClassNames.button_next
70
66
),
71
67
month_caption: cn(
72
68
"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",
73
73
-
defaultClassNames.month_caption,
69
69
+
defaultClassNames.month_caption
74
70
),
75
71
dropdowns: cn(
76
72
"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",
77
77
-
defaultClassNames.dropdowns,
73
73
+
defaultClassNames.dropdowns
78
74
),
79
75
dropdown_root: cn(
80
80
-
"cn-calendar-dropdown-root relative rounded-(--cell-radius)",
81
81
-
defaultClassNames.dropdown_root,
76
76
+
"relative rounded-(--cell-radius)",
77
77
+
defaultClassNames.dropdown_root
82
78
),
83
79
dropdown: cn(
84
80
"absolute inset-0 bg-popover opacity-0",
85
85
-
defaultClassNames.dropdown,
81
81
+
defaultClassNames.dropdown
86
82
),
87
83
caption_label: cn(
88
84
"font-medium select-none",
89
85
captionLayout === "label"
90
86
? "text-sm"
91
91
-
: "cn-calendar-caption-label flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
92
92
-
defaultClassNames.caption_label,
87
87
+
: "flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
88
88
+
defaultClassNames.caption_label
93
89
),
94
90
table: "w-full border-collapse",
95
91
weekdays: cn("flex", defaultClassNames.weekdays),
96
92
weekday: cn(
97
93
"flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",
98
98
-
defaultClassNames.weekday,
94
94
+
defaultClassNames.weekday
99
95
),
100
96
week: cn("mt-2 flex w-full", defaultClassNames.week),
101
97
week_number_header: cn(
102
98
"w-(--cell-size) select-none",
103
103
-
defaultClassNames.week_number_header,
99
99
+
defaultClassNames.week_number_header
104
100
),
105
101
week_number: cn(
106
102
"text-[0.8rem] text-muted-foreground select-none",
107
107
-
defaultClassNames.week_number,
103
103
+
defaultClassNames.week_number
108
104
),
109
105
day: cn(
110
106
"group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)",
111
107
props.showWeekNumber
112
108
? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)"
113
109
: "[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",
114
114
-
defaultClassNames.day,
110
110
+
defaultClassNames.day
115
111
),
116
112
range_start: cn(
117
113
"relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",
118
118
-
defaultClassNames.range_start,
114
114
+
defaultClassNames.range_start
119
115
),
120
116
range_middle: cn("rounded-none", defaultClassNames.range_middle),
121
117
range_end: cn(
122
118
"relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted",
123
123
-
defaultClassNames.range_end,
119
119
+
defaultClassNames.range_end
124
120
),
125
121
today: cn(
126
122
"rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",
127
127
-
defaultClassNames.today,
123
123
+
defaultClassNames.today
128
124
),
129
125
outside: cn(
130
126
"text-muted-foreground aria-selected:text-muted-foreground",
131
131
-
defaultClassNames.outside,
127
127
+
defaultClassNames.outside
132
128
),
133
129
disabled: cn(
134
130
"text-muted-foreground opacity-50",
135
135
-
defaultClassNames.disabled,
131
131
+
defaultClassNames.disabled
136
132
),
137
133
hidden: cn("invisible", defaultClassNames.hidden),
138
134
...classNames,
139
135
}}
140
136
components={{
141
141
-
Root: ({
142
142
-
className,
143
143
-
rootRef,
144
144
-
...props
145
145
-
}: {
146
146
-
className?: string
147
147
-
rootRef?: React.Ref<HTMLDivElement>
148
148
-
} & React.HTMLAttributes<HTMLDivElement>) => {
137
137
+
Root: ({ className, rootRef, ...props }) => {
149
138
return (
150
139
<div
151
140
data-slot="calendar"
···
155
144
/>
156
145
)
157
146
},
158
158
-
Chevron: ({
159
159
-
className,
160
160
-
orientation,
161
161
-
...props
162
162
-
}: {
163
163
-
className?: string
164
164
-
orientation?: 'left' | 'right' | 'up' | 'down'
165
165
-
} & React.SVGProps<SVGSVGElement>) => {
166
166
-
if (orientation === 'left') {
147
147
+
Chevron: ({ className, orientation, ...props }) => {
148
148
+
if (orientation === "left") {
167
149
return (
168
168
-
<ChevronLeftIcon
169
169
-
className={cn('cn-rtl-flip size-4', className)}
170
170
-
{...props}
171
171
-
/>
150
150
+
<ChevronLeftIcon className={cn("size-4", className)} {...props} />
172
151
)
173
152
}
174
153
175
175
-
if (orientation === 'right') {
154
154
+
if (orientation === "right") {
176
155
return (
177
177
-
<ChevronRightIcon
178
178
-
className={cn('cn-rtl-flip size-4', className)}
179
179
-
{...props}
180
180
-
/>
156
156
+
<ChevronRightIcon className={cn("size-4", className)} {...props} />
181
157
)
182
158
}
183
159
184
184
-
return <ChevronDownIcon className={cn('size-4', className)} {...props} />
160
160
+
return (
161
161
+
<ChevronDownIcon className={cn("size-4", className)} {...props} />
162
162
+
)
185
163
},
186
164
DayButton: ({ ...props }) => (
187
165
<CalendarDayButton locale={locale} {...props} />
···
199
177
}}
200
178
{...props}
201
179
/>
202
202
-
);
180
180
+
)
203
181
}
204
182
205
183
function CalendarDayButton({
···
209
187
locale,
210
188
...props
211
189
}: React.ComponentProps<typeof DayButton> & { locale?: Partial<Locale> }) {
212
212
-
const defaultClassNames = getDefaultClassNames();
190
190
+
const defaultClassNames = getDefaultClassNames()
213
191
214
214
-
const ref = React.useRef<HTMLButtonElement>(null);
192
192
+
const ref = React.useRef<HTMLButtonElement>(null)
215
193
React.useEffect(() => {
216
216
-
if (modifiers.focused) ref.current?.focus();
217
217
-
}, [modifiers.focused]);
194
194
+
if (modifiers.focused) ref.current?.focus()
195
195
+
}, [modifiers.focused])
218
196
219
197
return (
220
198
<Button
···
234
212
className={cn(
235
213
"relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70",
236
214
defaultClassNames.day,
237
237
-
className,
215
215
+
className
238
216
)}
239
217
{...props}
240
218
/>
241
241
-
);
219
219
+
)
242
220
}
243
221
244
244
-
export { Calendar, CalendarDayButton };
222
222
+
export { Calendar, CalendarDayButton }
···
1
1
-
import * as React from "react";
1
1
+
import * as React from "react"
2
2
3
3
-
import { cn } from "@/lib/utils";
3
3
+
import { cn } from "@/lib/utils"
4
4
5
5
function Card({
6
6
className,
···
12
12
data-slot="card"
13
13
data-size={size}
14
14
className={cn(
15
15
-
"ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-xl py-4 text-sm ring-1 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col",
16
16
-
className,
15
15
+
"group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",
16
16
+
className
17
17
)}
18
18
{...props}
19
19
/>
20
20
-
);
20
20
+
)
21
21
}
22
22
23
23
function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
···
25
25
<div
26
26
data-slot="card-header"
27
27
className={cn(
28
28
-
"gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",
29
29
-
className,
28
28
+
"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",
29
29
+
className
30
30
)}
31
31
{...props}
32
32
/>
33
33
-
);
33
33
+
)
34
34
}
35
35
36
36
function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
···
38
38
<div
39
39
data-slot="card-title"
40
40
className={cn(
41
41
-
"text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",
42
42
-
className,
41
41
+
"font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",
42
42
+
className
43
43
)}
44
44
{...props}
45
45
/>
46
46
-
);
46
46
+
)
47
47
}
48
48
49
49
function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
50
50
return (
51
51
<div
52
52
data-slot="card-description"
53
53
-
className={cn("text-muted-foreground text-sm", className)}
53
53
+
className={cn("text-sm text-muted-foreground", className)}
54
54
{...props}
55
55
/>
56
56
-
);
56
56
+
)
57
57
}
58
58
59
59
function CardAction({ className, ...props }: React.ComponentProps<"div">) {
···
62
62
data-slot="card-action"
63
63
className={cn(
64
64
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
65
65
-
className,
65
65
+
className
66
66
)}
67
67
{...props}
68
68
/>
69
69
-
);
69
69
+
)
70
70
}
71
71
72
72
function CardContent({ className, ...props }: React.ComponentProps<"div">) {
···
76
76
className={cn("px-4 group-data-[size=sm]/card:px-3", className)}
77
77
{...props}
78
78
/>
79
79
-
);
79
79
+
)
80
80
}
81
81
82
82
function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
···
84
84
<div
85
85
data-slot="card-footer"
86
86
className={cn(
87
87
-
"bg-muted/50 rounded-b-xl border-t p-4 group-data-[size=sm]/card:p-3 flex items-center",
88
88
-
className,
87
87
+
"flex items-center rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/card:p-3",
88
88
+
className
89
89
)}
90
90
{...props}
91
91
/>
92
92
-
);
92
92
+
)
93
93
}
94
94
95
95
export {
···
100
100
CardAction,
101
101
CardDescription,
102
102
CardContent,
103
103
-
};
103
103
+
}
···
6
6
7
7
import { cn } from "@/lib/utils"
8
8
9
9
+
// Format: { THEME_NAME: CSS_SELECTOR }
9
10
const THEMES = { light: "", dark: ".dark" } as const
10
11
11
12
const INITIAL_DIMENSION = { width: 320, height: 200 } as const
···
80
81
)
81
82
}
82
83
83
83
-
const toCssVarKey = (key: string): string => key.replace(/[^a-zA-Z0-9_-]/g, "-")
84
84
-
85
84
const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
86
85
const colorConfig = Object.entries(config).filter(
87
86
([, config]) => config.theme ?? config.color
···
103
102
const color =
104
103
itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ??
105
104
itemConfig.color
106
106
-
return color ? ` --color-${toCssVarKey(key)}: ${color};` : null
105
105
+
return color ? ` --color-${key}: ${color};` : null
107
106
})
108
107
.join("\n")}
109
108
}
···
253
252
{itemConfig?.label ?? item.name}
254
253
</span>
255
254
</div>
256
256
-
{item.value !== null && item.value !== undefined && (
255
255
+
{item.value != null && (
257
256
<span className="font-mono font-medium text-foreground tabular-nums">
258
257
{typeof item.value === "number"
259
258
? item.value.toLocaleString()
···
1
1
"use client"
2
2
3
3
import * as React from "react"
4
4
-
import { CheckIcon } from "lucide-react"
5
4
import { Checkbox as CheckboxPrimitive } from "radix-ui"
6
5
7
6
import { cn } from "@/lib/utils"
7
7
+
import { CheckIcon } from "lucide-react"
8
8
9
9
function Checkbox({
10
10
className,
···
23
23
data-slot="checkbox-indicator"
24
24
className="grid place-content-center text-current transition-none [&>svg]:size-3.5"
25
25
>
26
26
-
<CheckIcon />
26
26
+
<CheckIcon
27
27
+
/>
27
28
</CheckboxPrimitive.Indicator>
28
29
</CheckboxPrimitive.Root>
29
30
)
···
1
1
-
"use client";
1
1
+
"use client"
2
2
3
3
-
import { Dialog as DialogPrimitive } from "radix-ui";
4
4
-
import * as React from "react";
3
3
+
import * as React from "react"
4
4
+
import { Dialog as DialogPrimitive } from "radix-ui"
5
5
6
6
-
import { cn } from "@/lib/utils";
7
7
-
import { Button } from "@/components/ui/button";
8
8
-
import { XIcon } from "lucide-react";
6
6
+
import { cn } from "@/lib/utils"
7
7
+
import { Button } from "@/components/ui/button"
8
8
+
import { XIcon } from "lucide-react"
9
9
10
10
function Dialog({
11
11
...props
12
12
}: React.ComponentProps<typeof DialogPrimitive.Root>) {
13
13
-
return <DialogPrimitive.Root data-slot="dialog" {...props} />;
13
13
+
return <DialogPrimitive.Root data-slot="dialog" {...props} />
14
14
}
15
15
16
16
function DialogTrigger({
17
17
...props
18
18
}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {
19
19
-
return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;
19
19
+
return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />
20
20
}
21
21
22
22
function DialogPortal({
23
23
...props
24
24
}: React.ComponentProps<typeof DialogPrimitive.Portal>) {
25
25
-
return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />;
25
25
+
return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />
26
26
}
27
27
28
28
function DialogClose({
29
29
...props
30
30
}: React.ComponentProps<typeof DialogPrimitive.Close>) {
31
31
-
return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
31
31
+
return <DialogPrimitive.Close data-slot="dialog-close" {...props} />
32
32
}
33
33
34
34
function DialogOverlay({
···
39
39
<DialogPrimitive.Overlay
40
40
data-slot="dialog-overlay"
41
41
className={cn(
42
42
-
"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",
43
43
-
className,
42
42
+
"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
43
43
+
className
44
44
)}
45
45
{...props}
46
46
/>
47
47
-
);
47
47
+
)
48
48
}
49
49
50
50
function DialogContent({
···
53
53
showCloseButton = true,
54
54
...props
55
55
}: React.ComponentProps<typeof DialogPrimitive.Content> & {
56
56
-
showCloseButton?: boolean;
56
56
+
showCloseButton?: boolean
57
57
}) {
58
58
return (
59
59
<DialogPortal>
···
61
61
<DialogPrimitive.Content
62
62
data-slot="dialog-content"
63
63
className={cn(
64
64
-
"bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-sm ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 outline-none",
65
65
-
className,
64
64
+
"fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
65
65
+
className
66
66
)}
67
67
{...props}
68
68
>
···
74
74
className="absolute top-2 right-2"
75
75
size="icon-sm"
76
76
>
77
77
-
<XIcon />
77
77
+
<XIcon
78
78
+
/>
78
79
<span className="sr-only">Close</span>
79
80
</Button>
80
81
</DialogPrimitive.Close>
81
82
)}
82
83
</DialogPrimitive.Content>
83
84
</DialogPortal>
84
84
-
);
85
85
+
)
85
86
}
86
87
87
88
function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
88
89
return (
89
90
<div
90
91
data-slot="dialog-header"
91
91
-
className={cn("gap-2 flex flex-col", className)}
92
92
+
className={cn("flex flex-col gap-2", className)}
92
93
{...props}
93
94
/>
94
94
-
);
95
95
+
)
95
96
}
96
97
97
98
function DialogFooter({
···
100
101
children,
101
102
...props
102
103
}: React.ComponentProps<"div"> & {
103
103
-
showCloseButton?: boolean;
104
104
+
showCloseButton?: boolean
104
105
}) {
105
106
return (
106
107
<div
107
108
data-slot="dialog-footer"
108
109
className={cn(
109
109
-
"bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
110
110
-
className,
110
110
+
"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",
111
111
+
className
111
112
)}
112
113
{...props}
113
114
>
···
118
119
</DialogPrimitive.Close>
119
120
)}
120
121
</div>
121
121
-
);
122
122
+
)
122
123
}
123
124
124
125
function DialogTitle({
···
128
129
return (
129
130
<DialogPrimitive.Title
130
131
data-slot="dialog-title"
131
131
-
className={cn("text-base leading-none font-medium", className)}
132
132
+
className={cn(
133
133
+
"font-heading text-base leading-none font-medium",
134
134
+
className
135
135
+
)}
132
136
{...props}
133
137
/>
134
134
-
);
138
138
+
)
135
139
}
136
140
137
141
function DialogDescription({
···
142
146
<DialogPrimitive.Description
143
147
data-slot="dialog-description"
144
148
className={cn(
145
145
-
"text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3",
146
146
-
className,
149
149
+
"text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
150
150
+
className
147
151
)}
148
152
{...props}
149
153
/>
150
150
-
);
154
154
+
)
151
155
}
152
156
153
157
export {
···
161
165
DialogPortal,
162
166
DialogTitle,
163
167
DialogTrigger,
164
164
-
};
168
168
+
}
···
60
60
<div
61
61
data-slot="empty-title"
62
62
className={cn(
63
63
-
"cn-font-heading text-sm font-medium tracking-tight",
63
63
+
"font-heading text-sm font-medium tracking-tight",
64
64
className
65
65
)}
66
66
{...props}
···
1
1
-
'use client'
1
1
+
"use client"
2
2
3
3
-
import * as React from 'react'
4
4
-
import { cva, type VariantProps } from 'class-variance-authority'
3
3
+
import * as React from "react"
4
4
+
import { cva, type VariantProps } from "class-variance-authority"
5
5
6
6
-
import { cn } from '@/lib/utils'
7
7
-
import { Button } from '@/components/ui/button'
8
8
-
import { Input } from '@/components/ui/input'
9
9
-
import { Textarea } from '@/components/ui/textarea'
6
6
+
import { cn } from "@/lib/utils"
7
7
+
import { Button } from "@/components/ui/button"
8
8
+
import { Input } from "@/components/ui/input"
9
9
+
import { Textarea } from "@/components/ui/textarea"
10
10
11
11
-
function InputGroup({ className, ...props }: React.ComponentProps<'div'>) {
11
11
+
function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
12
12
return (
13
13
<div
14
14
data-slot="input-group"
15
15
role="group"
16
16
className={cn(
17
17
-
'group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5',
18
18
-
className,
17
17
+
"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",
18
18
+
className
19
19
)}
20
20
{...props}
21
21
/>
···
27
27
{
28
28
variants: {
29
29
align: {
30
30
-
'inline-start':
31
31
-
'order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]',
32
32
-
'inline-end':
33
33
-
'order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]',
34
34
-
'block-start':
35
35
-
'order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2',
36
36
-
'block-end':
37
37
-
'order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2',
30
30
+
"inline-start":
31
31
+
"order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
32
32
+
"inline-end":
33
33
+
"order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
34
34
+
"block-start":
35
35
+
"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
36
36
+
"block-end":
37
37
+
"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2",
38
38
},
39
39
},
40
40
defaultVariants: {
41
41
-
align: 'inline-start',
41
41
+
align: "inline-start",
42
42
},
43
43
-
},
43
43
+
}
44
44
)
45
45
46
46
function InputGroupAddon({
47
47
className,
48
48
-
align = 'inline-start',
48
48
+
align = "inline-start",
49
49
...props
50
50
-
}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {
50
50
+
}: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>) {
51
51
return (
52
52
<div
53
53
role="group"
···
55
55
data-align={align}
56
56
className={cn(inputGroupAddonVariants({ align }), className)}
57
57
onClick={(e) => {
58
58
-
if ((e.target as HTMLElement).closest('button')) {
58
58
+
if ((e.target as HTMLElement).closest("button")) {
59
59
return
60
60
}
61
61
-
e.currentTarget.parentElement?.querySelector('input')?.focus()
61
61
+
e.currentTarget.parentElement?.querySelector("input")?.focus()
62
62
}}
63
63
{...props}
64
64
/>
65
65
)
66
66
}
67
67
68
68
-
const inputGroupButtonVariants = cva('flex items-center gap-2 text-sm shadow-none', {
69
69
-
variants: {
70
70
-
size: {
71
71
-
xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
72
72
-
sm: '',
73
73
-
'icon-xs': 'size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0',
74
74
-
'icon-sm': 'size-8 p-0 has-[>svg]:p-0',
68
68
+
const inputGroupButtonVariants = cva(
69
69
+
"flex items-center gap-2 text-sm shadow-none",
70
70
+
{
71
71
+
variants: {
72
72
+
size: {
73
73
+
xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
74
74
+
sm: "",
75
75
+
"icon-xs":
76
76
+
"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
77
77
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0",
78
78
+
},
79
79
+
},
80
80
+
defaultVariants: {
81
81
+
size: "xs",
75
82
},
76
76
-
},
77
77
-
defaultVariants: {
78
78
-
size: 'xs',
79
79
-
},
80
80
-
})
83
83
+
}
84
84
+
)
81
85
82
86
function InputGroupButton({
83
87
className,
84
84
-
type = 'button',
85
85
-
variant = 'ghost',
86
86
-
size = 'xs',
88
88
+
type = "button",
89
89
+
variant = "ghost",
90
90
+
size = "xs",
87
91
...props
88
88
-
}: Omit<React.ComponentProps<typeof Button>, 'size'> &
92
92
+
}: Omit<React.ComponentProps<typeof Button>, "size"> &
89
93
VariantProps<typeof inputGroupButtonVariants>) {
90
94
return (
91
95
<Button
···
98
102
)
99
103
}
100
104
101
101
-
function InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {
105
105
+
function InputGroupText({ className, ...props }: React.ComponentProps<"span">) {
102
106
return (
103
107
<span
104
108
className={cn(
105
109
"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
106
106
-
className,
110
110
+
className
107
111
)}
108
112
{...props}
109
113
/>
···
113
117
function InputGroupInput({
114
118
className,
115
119
...props
116
116
-
}: React.ComponentProps<'input'>) {
120
120
+
}: React.ComponentProps<"input">) {
117
121
return (
118
122
<Input
119
123
data-slot="input-group-control"
120
124
className={cn(
121
121
-
'flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent',
122
122
-
className,
125
125
+
"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent",
126
126
+
className
123
127
)}
124
128
{...props}
125
129
/>
···
129
133
function InputGroupTextarea({
130
134
className,
131
135
...props
132
132
-
}: React.ComponentProps<'textarea'>) {
136
136
+
}: React.ComponentProps<"textarea">) {
133
137
return (
134
138
<Textarea
135
139
data-slot="input-group-control"
136
140
className={cn(
137
137
-
'flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent',
138
138
-
className,
141
141
+
"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent",
142
142
+
className
139
143
)}
140
144
{...props}
141
145
/>
···
1
1
-
'use client'
1
1
+
"use client"
2
2
3
3
-
import { cn } from '@/lib/utils'
4
4
-
import { Input } from '@/components/ui/input'
3
3
+
import * as React from "react"
4
4
+
import { OTPInput, OTPInputContext } from "input-otp"
5
5
6
6
-
interface InputOTPProps {
7
7
-
value: string
8
8
-
onChange: (value: string) => void
9
9
-
maxLength?: number
10
10
-
className?: string
11
11
-
}
6
6
+
import { cn } from "@/lib/utils"
7
7
+
import { MinusIcon } from "lucide-react"
12
8
13
13
-
interface InputOTPSlotProps {
14
14
-
index: number
15
15
-
value: string
16
16
-
onSlotChange: (index: number, value: string) => void
17
17
-
onSlotBackspace: (index: number) => void
18
18
-
className?: string
9
9
+
function InputOTP({
10
10
+
className,
11
11
+
containerClassName,
12
12
+
...props
13
13
+
}: React.ComponentProps<typeof OTPInput> & {
14
14
+
containerClassName?: string
15
15
+
}) {
16
16
+
return (
17
17
+
<OTPInput
18
18
+
data-slot="input-otp"
19
19
+
containerClassName={cn(
20
20
+
"cn-input-otp flex items-center has-disabled:opacity-50",
21
21
+
containerClassName
22
22
+
)}
23
23
+
spellCheck={false}
24
24
+
className={cn("disabled:cursor-not-allowed", className)}
25
25
+
{...props}
26
26
+
/>
27
27
+
)
19
28
}
20
29
21
21
-
export function InputOTPSlot({ index, value, onSlotChange, onSlotBackspace, className }: InputOTPSlotProps) {
30
30
+
function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) {
22
31
return (
23
23
-
<Input
24
24
-
value={value}
25
25
-
inputMode="numeric"
26
26
-
autoComplete="one-time-code"
27
27
-
maxLength={1}
28
28
-
className={cn('h-12 w-11 text-center text-xl', className)}
29
29
-
data-slot="input-otp-slot"
30
30
-
data-otp-index={index}
31
31
-
onChange={(e) => onSlotChange(index, e.target.value)}
32
32
-
onKeyDown={(e) => {
33
33
-
if (e.key === 'Backspace' && !value) onSlotBackspace(index)
34
34
-
}}
32
32
+
<div
33
33
+
data-slot="input-otp-group"
34
34
+
className={cn(
35
35
+
"flex items-center rounded-lg has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40",
36
36
+
className
37
37
+
)}
38
38
+
{...props}
35
39
/>
36
40
)
37
41
}
38
42
39
39
-
export function InputOTPGroup({ className, children }: React.PropsWithChildren<{ className?: string }>) {
40
40
-
return <div className={cn('flex items-center gap-2', className)}>{children}</div>
41
41
-
}
43
43
+
function InputOTPSlot({
44
44
+
index,
45
45
+
className,
46
46
+
...props
47
47
+
}: React.ComponentProps<"div"> & {
48
48
+
index: number
49
49
+
}) {
50
50
+
const inputOTPContext = React.useContext(OTPInputContext)
51
51
+
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}
42
52
43
43
-
export function InputOTPSeparator({ className }: { className?: string }) {
44
44
-
return <span className={cn('mx-2 text-muted-foreground', className)}>-</span>
53
53
+
return (
54
54
+
<div
55
55
+
data-slot="input-otp-slot"
56
56
+
data-active={isActive}
57
57
+
className={cn(
58
58
+
"relative flex size-8 items-center justify-center border-y border-r border-input text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",
59
59
+
className
60
60
+
)}
61
61
+
{...props}
62
62
+
>
63
63
+
{char}
64
64
+
{hasFakeCaret && (
65
65
+
<div className="pointer-events-none absolute inset-0 flex items-center justify-center">
66
66
+
<div className="h-4 w-px animate-caret-blink bg-foreground duration-1000" />
67
67
+
</div>
68
68
+
)}
69
69
+
</div>
70
70
+
)
45
71
}
46
72
47
47
-
export function InputOTP({ value, onChange, maxLength = 6, className }: InputOTPProps) {
48
48
-
const chars = Array.from({ length: maxLength }, (_, i) => value[i] ?? '')
49
49
-
50
50
-
const onSlotChange = (index: number, nextRaw: string) => {
51
51
-
const nextChar = nextRaw.replace(/\D/g, '')
52
52
-
const next = chars.slice()
53
53
-
next[index] = nextChar
54
54
-
onChange(next.join('').slice(0, maxLength))
55
55
-
if (nextChar) {
56
56
-
const el = document.querySelector<HTMLInputElement>(`input[data-otp-index='${index + 1}']`)
57
57
-
el?.focus()
58
58
-
}
59
59
-
}
60
60
-
61
61
-
const onSlotBackspace = (index: number) => {
62
62
-
if (index <= 0) return
63
63
-
const el = document.querySelector<HTMLInputElement>(`input[data-otp-index='${index - 1}']`)
64
64
-
el?.focus()
65
65
-
}
66
66
-
73
73
+
function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
67
74
return (
68
68
-
<div className={cn('flex w-full items-center justify-between', className)}>
69
69
-
<InputOTPGroup>
70
70
-
<InputOTPSlot index={0} value={chars[0]} onSlotChange={onSlotChange} onSlotBackspace={onSlotBackspace} />
71
71
-
<InputOTPSlot index={1} value={chars[1]} onSlotChange={onSlotChange} onSlotBackspace={onSlotBackspace} />
72
72
-
<InputOTPSlot index={2} value={chars[2]} onSlotChange={onSlotChange} onSlotBackspace={onSlotBackspace} />
73
73
-
</InputOTPGroup>
74
74
-
<InputOTPSeparator />
75
75
-
<InputOTPGroup>
76
76
-
<InputOTPSlot index={3} value={chars[3]} onSlotChange={onSlotChange} onSlotBackspace={onSlotBackspace} />
77
77
-
<InputOTPSlot index={4} value={chars[4]} onSlotChange={onSlotChange} onSlotBackspace={onSlotBackspace} />
78
78
-
<InputOTPSlot index={5} value={chars[5]} onSlotChange={onSlotChange} onSlotBackspace={onSlotBackspace} />
79
79
-
</InputOTPGroup>
75
75
+
<div
76
76
+
data-slot="input-otp-separator"
77
77
+
className="flex items-center [&_svg:not([class*='size-'])]:size-4"
78
78
+
role="separator"
79
79
+
{...props}
80
80
+
>
81
81
+
<MinusIcon
82
82
+
/>
80
83
</div>
81
84
)
82
85
}
86
86
+
87
87
+
export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }
···
1
1
-
import { cn } from "@/lib/utils";
1
1
+
import { cn } from "@/lib/utils"
2
2
3
3
function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
4
4
return (
5
5
<kbd
6
6
data-slot="kbd"
7
7
className={cn(
8
8
-
"bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none",
9
9
-
"[&_svg:not([class*='size-'])]:size-3",
10
10
-
"[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
11
11
-
className,
8
8
+
"pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3",
9
9
+
className
12
10
)}
13
11
{...props}
14
12
/>
15
15
-
);
13
13
+
)
16
14
}
17
15
18
16
function KbdGroup({ className, ...props }: React.ComponentProps<"div">) {
···
22
20
className={cn("inline-flex items-center gap-1", className)}
23
21
{...props}
24
22
/>
25
25
-
);
23
23
+
)
26
24
}
27
25
28
28
-
export { Kbd, KbdGroup };
26
26
+
export { Kbd, KbdGroup }
···
1
1
-
"use client";
1
1
+
"use client"
2
2
3
3
-
import { Popover as PopoverPrimitive } from "radix-ui";
4
4
-
import * as React from "react";
3
3
+
import * as React from "react"
4
4
+
import { Popover as PopoverPrimitive } from "radix-ui"
5
5
6
6
-
import { cn } from "@/lib/utils";
6
6
+
import { cn } from "@/lib/utils"
7
7
8
8
function Popover({
9
9
...props
10
10
}: React.ComponentProps<typeof PopoverPrimitive.Root>) {
11
11
-
return <PopoverPrimitive.Root data-slot="popover" {...props} />;
11
11
+
return <PopoverPrimitive.Root data-slot="popover" {...props} />
12
12
}
13
13
14
14
function PopoverTrigger({
15
15
...props
16
16
}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {
17
17
-
return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />;
17
17
+
return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />
18
18
}
19
19
20
20
function PopoverContent({
···
30
30
align={align}
31
31
sideOffset={sideOffset}
32
32
className={cn(
33
33
-
"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/10 flex flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 z-50 w-72 origin-(--radix-popover-content-transform-origin) outline-hidden",
34
34
-
className,
33
33
+
"z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
34
34
+
className
35
35
)}
36
36
{...props}
37
37
/>
38
38
</PopoverPrimitive.Portal>
39
39
-
);
39
39
+
)
40
40
}
41
41
42
42
function PopoverAnchor({
43
43
...props
44
44
}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {
45
45
-
return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />;
45
45
+
return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />
46
46
}
47
47
48
48
function PopoverHeader({ className, ...props }: React.ComponentProps<"div">) {
···
52
52
className={cn("flex flex-col gap-0.5 text-sm", className)}
53
53
{...props}
54
54
/>
55
55
-
);
55
55
+
)
56
56
}
57
57
58
58
function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">) {
···
62
62
className={cn("font-medium", className)}
63
63
{...props}
64
64
/>
65
65
-
);
65
65
+
)
66
66
}
67
67
68
68
function PopoverDescription({
···
75
75
className={cn("text-muted-foreground", className)}
76
76
{...props}
77
77
/>
78
78
-
);
78
78
+
)
79
79
}
80
80
81
81
export {
···
86
86
PopoverHeader,
87
87
PopoverTitle,
88
88
PopoverTrigger,
89
89
-
};
89
89
+
}
···
1
1
-
"use client";
1
1
+
"use client"
2
2
3
3
-
import { Select as SelectPrimitive } from "radix-ui";
4
4
-
import * as React from "react";
3
3
+
import * as React from "react"
4
4
+
import { Select as SelectPrimitive } from "radix-ui"
5
5
6
6
-
import { cn } from "@/lib/utils";
7
7
-
import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react";
6
6
+
import { cn } from "@/lib/utils"
7
7
+
import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react"
8
8
9
9
function Select({
10
10
...props
11
11
}: React.ComponentProps<typeof SelectPrimitive.Root>) {
12
12
-
return <SelectPrimitive.Root data-slot="select" {...props} />;
12
12
+
return <SelectPrimitive.Root data-slot="select" {...props} />
13
13
}
14
14
15
15
function SelectGroup({
···
22
22
className={cn("scroll-my-1 p-1", className)}
23
23
{...props}
24
24
/>
25
25
-
);
25
25
+
)
26
26
}
27
27
28
28
function SelectValue({
29
29
...props
30
30
}: React.ComponentProps<typeof SelectPrimitive.Value>) {
31
31
-
return <SelectPrimitive.Value data-slot="select-value" {...props} />;
31
31
+
return <SelectPrimitive.Value data-slot="select-value" {...props} />
32
32
}
33
33
34
34
function SelectTrigger({
···
37
37
children,
38
38
...props
39
39
}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
40
40
-
size?: "sm" | "default";
40
40
+
size?: "sm" | "default"
41
41
}) {
42
42
return (
43
43
<SelectPrimitive.Trigger
44
44
data-slot="select-trigger"
45
45
data-size={size}
46
46
className={cn(
47
47
-
"border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
48
48
-
className,
47
47
+
"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
48
48
+
className
49
49
)}
50
50
{...props}
51
51
>
52
52
{children}
53
53
<SelectPrimitive.Icon asChild>
54
54
-
<ChevronDownIcon className="text-muted-foreground size-4 pointer-events-none" />
54
54
+
<ChevronDownIcon className="pointer-events-none size-4 text-muted-foreground" />
55
55
</SelectPrimitive.Icon>
56
56
</SelectPrimitive.Trigger>
57
57
-
);
57
57
+
)
58
58
}
59
59
60
60
function SelectContent({
···
69
69
<SelectPrimitive.Content
70
70
data-slot="select-content"
71
71
data-align-trigger={position === "item-aligned"}
72
72
-
className={cn(
73
73
-
"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/10 min-w-36 rounded-lg shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none",
74
74
-
position === "popper" &&
75
75
-
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
76
76
-
className,
77
77
-
)}
72
72
+
className={cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", position ==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className )}
78
73
position={position}
79
74
align={align}
80
75
{...props}
···
83
78
<SelectPrimitive.Viewport
84
79
data-position={position}
85
80
className={cn(
86
86
-
"data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]",
87
87
-
position === "popper" && "",
81
81
+
"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",
82
82
+
position === "popper" && ""
88
83
)}
89
84
>
90
85
{children}
···
92
87
<SelectScrollDownButton />
93
88
</SelectPrimitive.Content>
94
89
</SelectPrimitive.Portal>
95
95
-
);
90
90
+
)
96
91
}
97
92
98
93
function SelectLabel({
···
102
97
return (
103
98
<SelectPrimitive.Label
104
99
data-slot="select-label"
105
105
-
className={cn("text-muted-foreground px-1.5 py-1 text-xs", className)}
100
100
+
className={cn("px-1.5 py-1 text-xs text-muted-foreground", className)}
106
101
{...props}
107
102
/>
108
108
-
);
103
103
+
)
109
104
}
110
105
111
106
function SelectItem({
···
117
112
<SelectPrimitive.Item
118
113
data-slot="select-item"
119
114
className={cn(
120
120
-
"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
121
121
-
className,
115
115
+
"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
116
116
+
className
122
117
)}
123
118
{...props}
124
119
>
···
129
124
</span>
130
125
<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
131
126
</SelectPrimitive.Item>
132
132
-
);
127
127
+
)
133
128
}
134
129
135
130
function SelectSeparator({
···
139
134
return (
140
135
<SelectPrimitive.Separator
141
136
data-slot="select-separator"
142
142
-
className={cn("bg-border -mx-1 my-1 h-px pointer-events-none", className)}
137
137
+
className={cn("pointer-events-none -mx-1 my-1 h-px bg-border", className)}
143
138
{...props}
144
139
/>
145
145
-
);
140
140
+
)
146
141
}
147
142
148
143
function SelectScrollUpButton({
···
153
148
<SelectPrimitive.ScrollUpButton
154
149
data-slot="select-scroll-up-button"
155
150
className={cn(
156
156
-
"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",
157
157
-
className,
151
151
+
"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
152
152
+
className
158
153
)}
159
154
{...props}
160
155
>
161
161
-
<ChevronUpIcon />
156
156
+
<ChevronUpIcon
157
157
+
/>
162
158
</SelectPrimitive.ScrollUpButton>
163
163
-
);
159
159
+
)
164
160
}
165
161
166
162
function SelectScrollDownButton({
···
171
167
<SelectPrimitive.ScrollDownButton
172
168
data-slot="select-scroll-down-button"
173
169
className={cn(
174
174
-
"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",
175
175
-
className,
170
170
+
"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
171
171
+
className
176
172
)}
177
173
{...props}
178
174
>
179
179
-
<ChevronDownIcon />
175
175
+
<ChevronDownIcon
176
176
+
/>
180
177
</SelectPrimitive.ScrollDownButton>
181
181
-
);
178
178
+
)
182
179
}
183
180
184
181
export {
···
192
189
SelectSeparator,
193
190
SelectTrigger,
194
191
SelectValue,
195
195
-
};
192
192
+
}
···
1
1
"use client"
2
2
3
3
import * as React from "react"
4
4
-
import { XIcon } from "lucide-react"
5
4
import { Dialog as SheetPrimitive } from "radix-ui"
6
5
7
6
import { cn } from "@/lib/utils"
8
7
import { Button } from "@/components/ui/button"
8
8
+
import { XIcon } from "lucide-react"
9
9
10
10
function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {
11
11
return <SheetPrimitive.Root data-slot="sheet" {...props} />
···
37
37
<SheetPrimitive.Overlay
38
38
data-slot="sheet-overlay"
39
39
className={cn(
40
40
-
"fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
40
40
+
"fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
41
41
className
42
42
)}
43
43
{...props}
···
62
62
data-slot="sheet-content"
63
63
data-side={side}
64
64
className={cn(
65
65
-
"fixed z-50 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[side=bottom]:data-[state=open]:slide-in-from-bottom-10 data-[side=left]:data-[state=open]:slide-in-from-left-10 data-[side=right]:data-[state=open]:slide-in-from-right-10 data-[side=top]:data-[state=open]:slide-in-from-top-10 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[side=bottom]:data-[state=closed]:slide-out-to-bottom-10 data-[side=left]:data-[state=closed]:slide-out-to-left-10 data-[side=right]:data-[state=closed]:slide-out-to-right-10 data-[side=top]:data-[state=closed]:slide-out-to-top-10",
65
65
+
"fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",
66
66
className
67
67
)}
68
68
{...props}
···
75
75
className="absolute top-3 right-3"
76
76
size="icon-sm"
77
77
>
78
78
-
<XIcon />
78
78
+
<XIcon
79
79
+
/>
79
80
<span className="sr-only">Close</span>
80
81
</Button>
81
82
</SheetPrimitive.Close>
···
113
114
<SheetPrimitive.Title
114
115
data-slot="sheet-title"
115
116
className={cn(
116
116
-
"cn-font-heading text-base font-medium text-foreground",
117
117
+
"font-heading text-base font-medium text-foreground",
117
118
className
118
119
)}
119
120
{...props}
···
1
1
-
"use client";
1
1
+
"use client"
2
2
3
3
-
import {
4
4
-
CircleCheckIcon,
5
5
-
InfoIcon,
6
6
-
TriangleAlertIcon,
7
7
-
OctagonXIcon,
8
8
-
Loader2Icon,
9
9
-
} from "lucide-react";
10
10
-
import { Toaster as Sonner, type ToasterProps } from "sonner";
11
11
-
import { useTheme } from "next-themes";
12
12
-
import { useLocalStorage } from "@/hooks/useLocalStorage";
3
3
+
import { useTheme } from "next-themes"
4
4
+
import { Toaster as Sonner, type ToasterProps } from "sonner"
5
5
+
import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, Loader2Icon } from "lucide-react"
13
6
14
7
const Toaster = ({ ...props }: ToasterProps) => {
15
15
-
const { theme = "system" } = useTheme();
16
16
-
const [toastPosition] = useLocalStorage<
17
17
-
"bottom-left" | "bottom-center" | "bottom-right"
18
18
-
>("toast-position", "bottom-right");
8
8
+
const { theme = "system" } = useTheme()
19
9
20
10
return (
21
11
<Sonner
22
12
theme={theme as ToasterProps["theme"]}
23
13
className="toaster group"
24
14
icons={{
25
25
-
success: <CircleCheckIcon className="size-4" />,
26
26
-
info: <InfoIcon className="size-4" />,
27
27
-
warning: <TriangleAlertIcon className="size-4" />,
28
28
-
error: <OctagonXIcon className="size-4" />,
29
29
-
loading: <Loader2Icon className="size-4 animate-spin" />,
15
15
+
success: (
16
16
+
<CircleCheckIcon className="size-4" />
17
17
+
),
18
18
+
info: (
19
19
+
<InfoIcon className="size-4" />
20
20
+
),
21
21
+
warning: (
22
22
+
<TriangleAlertIcon className="size-4" />
23
23
+
),
24
24
+
error: (
25
25
+
<OctagonXIcon className="size-4" />
26
26
+
),
27
27
+
loading: (
28
28
+
<Loader2Icon className="size-4 animate-spin" />
29
29
+
),
30
30
}}
31
31
style={
32
32
{
33
33
-
"--normal-bg": "hsl(var(--popover))",
34
34
-
"--normal-text": "hsl(var(--popover-foreground))",
35
35
-
"--normal-border": "hsl(var(--border))",
33
33
+
"--normal-bg": "var(--popover)",
34
34
+
"--normal-text": "var(--popover-foreground)",
35
35
+
"--normal-border": "var(--border)",
36
36
"--border-radius": "var(--radius)",
37
37
} as React.CSSProperties
38
38
}
39
39
-
position={toastPosition}
40
39
toastOptions={{
41
40
classNames: {
42
41
toast: "cn-toast",
···
44
43
}}
45
44
{...props}
46
45
/>
47
47
-
);
48
48
-
};
46
46
+
)
47
47
+
}
49
48
50
50
-
export { Toaster };
49
49
+
export { Toaster }
···
1
1
-
import { LoaderIcon } from "lucide-react";
2
2
-
3
3
-
import { cn } from "@/lib/utils";
1
1
+
import { cn } from "@/lib/utils"
2
2
+
import { Loader2Icon } from "lucide-react"
4
3
5
4
function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
6
5
return (
7
7
-
<LoaderIcon
8
8
-
role="status"
9
9
-
aria-label="Loading"
10
10
-
className={cn("size-4 animate-spin", className)}
11
11
-
{...props}
12
12
-
/>
13
13
-
);
6
6
+
<Loader2Icon role="status" aria-label="Loading" className={cn("size-4 animate-spin", className)} {...props} />
7
7
+
)
14
8
}
15
9
16
16
-
export { Spinner };
10
10
+
export { Spinner }
···
17
17
data-slot="switch"
18
18
data-size={size}
19
19
className={cn(
20
20
-
"peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",
20
20
+
"peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",
21
21
className
22
22
)}
23
23
{...props}
24
24
>
25
25
<SwitchPrimitive.Thumb
26
26
data-slot="switch-thumb"
27
27
-
className="pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground"
27
27
+
className="pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"
28
28
/>
29
29
</SwitchPrimitive.Root>
30
30
)
···
63
63
<TabsPrimitive.Trigger
64
64
data-slot="tabs-trigger"
65
65
className={cn(
66
66
-
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
67
67
-
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent",
68
68
-
"data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground",
69
69
-
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",
66
66
+
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
67
67
+
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
68
68
+
"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground",
69
69
+
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
70
70
className
71
71
)}
72
72
{...props}
···
1
1
-
import { clsx, type ClassValue } from 'clsx'
2
2
-
import { twMerge } from 'tailwind-merge'
1
1
+
import { clsx, type ClassValue } from "clsx"
2
2
+
import { twMerge } from "tailwind-merge"
3
3
4
4
export function cn(...inputs: ClassValue[]) {
5
5
return twMerge(clsx(inputs))
···
30
30
"evlog": "^2.18.1",
31
31
"framer-motion": "^12.40.0",
32
32
"geist": "latest",
33
33
+
"input-otp": "^1.4.2",
33
34
"lucide-react": "1.17.0",
34
35
"next": "16.2.6",
35
36
"next-themes": "latest",
···
37
38
"qr-code-styling": "latest",
38
39
"radix-ui": "latest",
39
40
"react": "^18",
40
40
-
"react-day-picker": "9.14.0",
41
41
+
"react-day-picker": "10.0.1",
41
42
"react-dom": "^18",
42
43
"react-email": "6.5.0",
43
44
"react-icons": "5.6.0",
44
44
-
"recharts": "3.8.1",
45
45
+
"recharts": "3.8.0",
45
46
"resend": "6.12.4",
47
47
+
"shadcn": "^4.8.2",
46
48
"sonner": "2.0.7",
47
49
"tailwind-merge": "3.6.0",
48
50
"tw-animate-css": "^1.4.0",
···
56
58
],
57
59
"*.{json,md,css}": [
58
60
"prettier --write"
59
59
-
]
60
60
-
},
61
61
-
"pnpm": {
62
62
-
"onlyBuiltDependencies": [
63
63
-
"sharp",
64
64
-
"esbuild"
65
61
]
66
62
},
67
63
"devDependencies": {
···
13
13
version: 1.6.11(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))
14
14
'@better-auth/infra':
15
15
specifier: 0.2.8
16
16
-
version: 0.2.8(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/sso@1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3)))(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(zod@4.4.3)
16
16
+
version: 0.2.8(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/sso@1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3)))(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(zod@4.4.3)
17
17
'@marsidev/react-turnstile':
18
18
specifier: 1.5.2
19
19
version: 1.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
···
34
34
version: 3.0.3
35
35
better-auth:
36
36
specifier: 1.6.11
37
37
-
version: 1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
37
37
+
version: 1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
38
38
class-variance-authority:
39
39
specifier: ^0.7.1
40
40
version: 0.7.1
···
49
49
version: 0.45.2(kysely@0.28.17)(postgres@3.4.9)
50
50
evlog:
51
51
specifier: ^2.18.1
52
52
-
version: 2.18.1(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
52
52
+
version: 2.18.1(express@5.2.1)(hono@4.12.23)(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
53
53
framer-motion:
54
54
specifier: ^12.40.0
55
55
version: 12.40.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
56
56
geist:
57
57
specifier: latest
58
58
-
version: 1.7.1(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
58
58
+
version: 1.7.1(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
59
59
+
input-otp:
60
60
+
specifier: ^1.4.2
61
61
+
version: 1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
59
62
lucide-react:
60
63
specifier: 1.17.0
61
64
version: 1.17.0(react@18.3.1)
62
65
next:
63
66
specifier: 16.2.6
64
64
-
version: 16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
67
67
+
version: 16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
65
68
next-themes:
66
69
specifier: latest
67
70
version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
···
78
81
specifier: ^18
79
82
version: 18.3.1
80
83
react-day-picker:
81
81
-
specifier: 9.14.0
82
82
-
version: 9.14.0(react@18.3.1)
84
84
+
specifier: 10.0.1
85
85
+
version: 10.0.1(@types/react@19.2.14)(react@18.3.1)
83
86
react-dom:
84
87
specifier: ^18
85
88
version: 18.3.1(react@18.3.1)
···
90
93
specifier: 5.6.0
91
94
version: 5.6.0(react@18.3.1)
92
95
recharts:
93
93
-
specifier: 3.8.1
94
94
-
version: 3.8.1(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(redux@5.0.1)
96
96
+
specifier: 3.8.0
97
97
+
version: 3.8.0(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(redux@5.0.1)
95
98
resend:
96
99
specifier: 6.12.4
97
100
version: 6.12.4(@react-email/render@2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
101
101
+
shadcn:
102
102
+
specifier: ^4.8.2
103
103
+
version: 4.8.2(@types/node@25.6.0)(typescript@6.0.3)
98
104
sonner:
99
105
specifier: 2.0.7
100
106
version: 2.0.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
···
186
192
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
187
193
engines: {node: '>=6.9.0'}
188
194
195
195
+
'@babel/code-frame@7.29.7':
196
196
+
resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
197
197
+
engines: {node: '>=6.9.0'}
198
198
+
199
199
+
'@babel/compat-data@7.29.7':
200
200
+
resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==}
201
201
+
engines: {node: '>=6.9.0'}
202
202
+
203
203
+
'@babel/core@7.29.7':
204
204
+
resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==}
205
205
+
engines: {node: '>=6.9.0'}
206
206
+
189
207
'@babel/generator@7.29.1':
190
208
resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
191
209
engines: {node: '>=6.9.0'}
192
210
211
211
+
'@babel/generator@7.29.7':
212
212
+
resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==}
213
213
+
engines: {node: '>=6.9.0'}
214
214
+
215
215
+
'@babel/helper-annotate-as-pure@7.29.7':
216
216
+
resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==}
217
217
+
engines: {node: '>=6.9.0'}
218
218
+
219
219
+
'@babel/helper-compilation-targets@7.29.7':
220
220
+
resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==}
221
221
+
engines: {node: '>=6.9.0'}
222
222
+
223
223
+
'@babel/helper-create-class-features-plugin@7.29.7':
224
224
+
resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==}
225
225
+
engines: {node: '>=6.9.0'}
226
226
+
peerDependencies:
227
227
+
'@babel/core': ^7.0.0
228
228
+
229
229
+
'@babel/helper-globals@7.29.7':
230
230
+
resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==}
231
231
+
engines: {node: '>=6.9.0'}
232
232
+
233
233
+
'@babel/helper-member-expression-to-functions@7.29.7':
234
234
+
resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==}
235
235
+
engines: {node: '>=6.9.0'}
236
236
+
237
237
+
'@babel/helper-module-imports@7.29.7':
238
238
+
resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==}
239
239
+
engines: {node: '>=6.9.0'}
240
240
+
241
241
+
'@babel/helper-module-transforms@7.29.7':
242
242
+
resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==}
243
243
+
engines: {node: '>=6.9.0'}
244
244
+
peerDependencies:
245
245
+
'@babel/core': ^7.0.0
246
246
+
247
247
+
'@babel/helper-optimise-call-expression@7.29.7':
248
248
+
resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==}
249
249
+
engines: {node: '>=6.9.0'}
250
250
+
251
251
+
'@babel/helper-plugin-utils@7.29.7':
252
252
+
resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==}
253
253
+
engines: {node: '>=6.9.0'}
254
254
+
255
255
+
'@babel/helper-replace-supers@7.29.7':
256
256
+
resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==}
257
257
+
engines: {node: '>=6.9.0'}
258
258
+
peerDependencies:
259
259
+
'@babel/core': ^7.0.0
260
260
+
261
261
+
'@babel/helper-skip-transparent-expression-wrappers@7.29.7':
262
262
+
resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==}
263
263
+
engines: {node: '>=6.9.0'}
264
264
+
193
265
'@babel/helper-string-parser@7.29.7':
194
266
resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
195
267
engines: {node: '>=6.9.0'}
···
200
272
201
273
'@babel/helper-validator-identifier@7.29.7':
202
274
resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
275
275
+
engines: {node: '>=6.9.0'}
276
276
+
277
277
+
'@babel/helper-validator-option@7.29.7':
278
278
+
resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==}
279
279
+
engines: {node: '>=6.9.0'}
280
280
+
281
281
+
'@babel/helpers@7.29.7':
282
282
+
resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==}
203
283
engines: {node: '>=6.9.0'}
204
284
205
285
'@babel/parser@7.27.0':
···
212
292
engines: {node: '>=6.0.0'}
213
293
hasBin: true
214
294
295
295
+
'@babel/parser@7.29.7':
296
296
+
resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==}
297
297
+
engines: {node: '>=6.0.0'}
298
298
+
hasBin: true
299
299
+
300
300
+
'@babel/plugin-syntax-jsx@7.29.7':
301
301
+
resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==}
302
302
+
engines: {node: '>=6.9.0'}
303
303
+
peerDependencies:
304
304
+
'@babel/core': ^7.0.0-0
305
305
+
306
306
+
'@babel/plugin-syntax-typescript@7.29.7':
307
307
+
resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==}
308
308
+
engines: {node: '>=6.9.0'}
309
309
+
peerDependencies:
310
310
+
'@babel/core': ^7.0.0-0
311
311
+
312
312
+
'@babel/plugin-transform-modules-commonjs@7.29.7':
313
313
+
resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==}
314
314
+
engines: {node: '>=6.9.0'}
315
315
+
peerDependencies:
316
316
+
'@babel/core': ^7.0.0-0
317
317
+
318
318
+
'@babel/plugin-transform-typescript@7.29.7':
319
319
+
resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==}
320
320
+
engines: {node: '>=6.9.0'}
321
321
+
peerDependencies:
322
322
+
'@babel/core': ^7.0.0-0
323
323
+
324
324
+
'@babel/preset-typescript@7.29.7':
325
325
+
resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==}
326
326
+
engines: {node: '>=6.9.0'}
327
327
+
peerDependencies:
328
328
+
'@babel/core': ^7.0.0-0
329
329
+
215
330
'@babel/template@7.28.6':
216
331
resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
217
332
engines: {node: '>=6.9.0'}
218
333
334
334
+
'@babel/template@7.29.7':
335
335
+
resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==}
336
336
+
engines: {node: '>=6.9.0'}
337
337
+
219
338
'@babel/traverse@7.27.0':
220
339
resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==}
221
340
engines: {node: '>=6.9.0'}
222
341
342
342
+
'@babel/traverse@7.29.7':
343
343
+
resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==}
344
344
+
engines: {node: '>=6.9.0'}
345
345
+
223
346
'@babel/types@7.29.0':
224
347
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
348
348
+
engines: {node: '>=6.9.0'}
349
349
+
350
350
+
'@babel/types@7.29.7':
351
351
+
resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
225
352
engines: {node: '>=6.9.0'}
226
353
227
354
'@better-auth/core@1.6.11':
···
417
544
conventional-commits-parser:
418
545
optional: true
419
546
420
420
-
'@date-fns/tz@1.4.1':
421
421
-
resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==}
547
547
+
'@date-fns/tz@1.5.0':
548
548
+
resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==}
549
549
+
550
550
+
'@dotenvx/dotenvx@1.69.1':
551
551
+
resolution: {integrity: sha512-kwQB5KcAegxw/+NGUgXAo5ovyOSjlMhoXSSnSEpDhoHJwzMcMO0HE1U0VCYZ7jbAeCMGamed9XdWzOA5ixtTNg==}
552
552
+
hasBin: true
422
553
423
554
'@drizzle-team/brocli@0.10.2':
424
555
resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==}
556
556
+
557
557
+
'@ecies/ciphers@0.2.6':
558
558
+
resolution: {integrity: sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==}
559
559
+
engines: {bun: '>=1', deno: '>=2.7.10', node: '>=16'}
560
560
+
peerDependencies:
561
561
+
'@noble/ciphers': ^1.0.0
425
562
426
563
'@emnapi/runtime@1.10.0':
427
564
resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
···
1088
1225
'@floating-ui/utils@0.2.11':
1089
1226
resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
1090
1227
1228
1228
+
'@hono/node-server@1.19.14':
1229
1229
+
resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
1230
1230
+
engines: {node: '>=18.14.1'}
1231
1231
+
peerDependencies:
1232
1232
+
hono: ^4
1233
1233
+
1091
1234
'@humanfs/core@0.19.2':
1092
1235
resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==}
1093
1236
engines: {node: '>=18.18.0'}
···
1261
1404
cpu: [x64]
1262
1405
os: [win32]
1263
1406
1407
1407
+
'@inquirer/ansi@2.0.6':
1408
1408
+
resolution: {integrity: sha512-I/INw4sHGlVZ/afZOckpLiDP9SmbMl1g/GCqeHjLw1Afw/0PlRs2tRFgTGWmdI0hoNuWZn3y2iHNmG1vyECyQQ==}
1409
1409
+
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
1410
1410
+
1411
1411
+
'@inquirer/confirm@6.1.0':
1412
1412
+
resolution: {integrity: sha512-USpeB76eqK7yGricDlGAupxWlp4a59qpeZOoNWaxO/nJln7agpJveyNkQ1d5u8YXG6TOqxZtQpKPORQQDrdVsA==}
1413
1413
+
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
1414
1414
+
peerDependencies:
1415
1415
+
'@types/node': '>=18'
1416
1416
+
peerDependenciesMeta:
1417
1417
+
'@types/node':
1418
1418
+
optional: true
1419
1419
+
1420
1420
+
'@inquirer/core@11.2.0':
1421
1421
+
resolution: {integrity: sha512-joR1YS2sI0us+9d0I8ViqFbrRLONO8CFTuyvBX4ZVBSch+VsZiugUABdrhBXXJR1VyEzvpz5SQCix3keETQ58g==}
1422
1422
+
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
1423
1423
+
peerDependencies:
1424
1424
+
'@types/node': '>=18'
1425
1425
+
peerDependenciesMeta:
1426
1426
+
'@types/node':
1427
1427
+
optional: true
1428
1428
+
1429
1429
+
'@inquirer/figures@2.0.6':
1430
1430
+
resolution: {integrity: sha512-dsZgQtH2t5Q6ah3aPbZbeEZAxsD9qQu0DXf01AltuEfRTm+NoLN6+rLVbr+4edeEbNCp/wBNM6mALRWtsQpfkw==}
1431
1431
+
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
1432
1432
+
1433
1433
+
'@inquirer/type@4.0.6':
1434
1434
+
resolution: {integrity: sha512-J+9tdxOskuYuGjsvGaq00AamhDgjR7anhEW2dP4QdQpFCMPngCeC/bCYWQ5NsMWZRdsy53is7kAHb/+7cwDk2g==}
1435
1435
+
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
1436
1436
+
peerDependencies:
1437
1437
+
'@types/node': '>=18'
1438
1438
+
peerDependenciesMeta:
1439
1439
+
'@types/node':
1440
1440
+
optional: true
1441
1441
+
1264
1442
'@jridgewell/gen-mapping@0.3.13':
1265
1443
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
1266
1444
···
1282
1460
peerDependencies:
1283
1461
react: ^17.0.2 || ^18.0.0 || ^19.0
1284
1462
react-dom: ^17.0.2 || ^18.0.0 || ^19.0
1463
1463
+
1464
1464
+
'@modelcontextprotocol/sdk@1.29.0':
1465
1465
+
resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==}
1466
1466
+
engines: {node: '>=18'}
1467
1467
+
peerDependencies:
1468
1468
+
'@cfworker/json-schema': ^4.1.1
1469
1469
+
zod: ^3.25 || ^4.0
1470
1470
+
peerDependenciesMeta:
1471
1471
+
'@cfworker/json-schema':
1472
1472
+
optional: true
1473
1473
+
1474
1474
+
'@mswjs/interceptors@0.41.9':
1475
1475
+
resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==}
1476
1476
+
engines: {node: '>=18'}
1285
1477
1286
1478
'@next/env@16.2.6':
1287
1479
resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==}
···
1341
1533
cpu: [x64]
1342
1534
os: [win32]
1343
1535
1536
1536
+
'@noble/ciphers@1.3.0':
1537
1537
+
resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==}
1538
1538
+
engines: {node: ^14.21.3 || >=16}
1539
1539
+
1344
1540
'@noble/ciphers@2.2.0':
1345
1541
resolution: {integrity: sha512-Z6pjIZ/8IJcCGzb2S/0Px5J81yij85xASuk1teLNeg75bfT07MV3a/O2Mtn1I2se43k3lkVEcFaR10N4cgQcZA==}
1346
1542
engines: {node: '>= 20.19.0'}
1543
1543
+
1544
1544
+
'@noble/curves@1.9.7':
1545
1545
+
resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==}
1546
1546
+
engines: {node: ^14.21.3 || >=16}
1547
1547
+
1548
1548
+
'@noble/hashes@1.8.0':
1549
1549
+
resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
1550
1550
+
engines: {node: ^14.21.3 || >=16}
1347
1551
1348
1552
'@noble/hashes@2.2.0':
1349
1553
resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==}
···
1363
1567
'@nodelib/fs.walk@1.2.8':
1364
1568
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
1365
1569
engines: {node: '>= 8'}
1570
1570
+
1571
1571
+
'@open-draft/deferred-promise@2.2.0':
1572
1572
+
resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
1573
1573
+
1574
1574
+
'@open-draft/deferred-promise@3.0.0':
1575
1575
+
resolution: {integrity: sha512-XW375UK8/9SqUVNVa6M0yEy8+iTi4QN5VZ7aZuRFQmy76LRwI9wy5F4YIBU6T+eTe2/DNDo8tqu8RHlwLHM6RA==}
1576
1576
+
1577
1577
+
'@open-draft/logger@0.3.0':
1578
1578
+
resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==}
1579
1579
+
1580
1580
+
'@open-draft/until@2.1.0':
1581
1581
+
resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
1366
1582
1367
1583
'@opentelemetry/semantic-conventions@1.40.0':
1368
1584
resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==}
···
2207
2423
react-redux:
2208
2424
optional: true
2209
2425
2426
2426
+
'@sec-ant/readable-stream@0.4.1':
2427
2427
+
resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
2428
2428
+
2210
2429
'@selderee/plugin-htmlparser2@0.11.0':
2211
2430
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
2212
2431
···
2216
2435
2217
2436
'@simple-libs/stream-utils@1.2.0':
2218
2437
resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==}
2438
2438
+
engines: {node: '>=18'}
2439
2439
+
2440
2440
+
'@sindresorhus/merge-streams@4.0.0':
2441
2441
+
resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
2219
2442
engines: {node: '>=18'}
2220
2443
2221
2444
'@socket.io/component-emitter@3.1.2':
···
2232
2455
2233
2456
'@swc/helpers@0.5.15':
2234
2457
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
2235
2235
-
2236
2236
-
'@tabby_ai/hijri-converter@1.0.5':
2237
2237
-
resolution: {integrity: sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ==}
2238
2238
-
engines: {node: '>=16.0.0'}
2239
2458
2240
2459
'@tailwindcss/node@4.3.0':
2241
2460
resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==}
···
2329
2548
'@tailwindcss/postcss@4.3.0':
2330
2549
resolution: {integrity: sha512-Jm05Tjx+9yCLGv5qw1c+84Psds8MnyrEQYCB+FFk2lgGiUjlRqdxke4mVTuYrj2xnVZqKim2Apr5ySuQRYAw/w==}
2331
2550
2551
2551
+
'@ts-morph/common@0.27.0':
2552
2552
+
resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==}
2553
2553
+
2332
2554
'@types/cors@2.8.19':
2333
2555
resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==}
2334
2556
···
2379
2601
'@types/react@19.2.14':
2380
2602
resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
2381
2603
2604
2604
+
'@types/set-cookie-parser@2.4.10':
2605
2605
+
resolution: {integrity: sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw==}
2606
2606
+
2607
2607
+
'@types/statuses@2.0.6':
2608
2608
+
resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==}
2609
2609
+
2382
2610
'@types/use-sync-external-store@0.0.6':
2383
2611
resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
2384
2612
2613
2613
+
'@types/validate-npm-package-name@4.0.2':
2614
2614
+
resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==}
2615
2615
+
2385
2616
'@types/ws@8.18.1':
2386
2617
resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
2387
2618
···
2456
2687
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
2457
2688
engines: {node: '>= 0.6'}
2458
2689
2690
2690
+
accepts@2.0.0:
2691
2691
+
resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
2692
2692
+
engines: {node: '>= 0.6'}
2693
2693
+
2459
2694
acorn-jsx@5.3.2:
2460
2695
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
2461
2696
peerDependencies:
···
2465
2700
resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
2466
2701
engines: {node: '>=0.4.0'}
2467
2702
hasBin: true
2703
2703
+
2704
2704
+
agent-base@7.1.2:
2705
2705
+
resolution: {integrity: sha512-JVzqkCNRT+VfqzzgPWDPnwvDheSAUdiMUn3NoLXpDJF5lRqeJqyC9iGsAxIOAW+mzIdq+uP1TvcX6bMtrH0agg==}
2706
2706
+
engines: {node: '>= 14'}
2468
2707
2469
2708
ajv-formats@3.0.1:
2470
2709
resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
···
2480
2719
ajv@8.20.0:
2481
2720
resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
2482
2721
2722
2722
+
ansi-colors@4.1.3:
2723
2723
+
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
2724
2724
+
engines: {node: '>=6'}
2725
2725
+
2483
2726
ansi-escapes@7.3.0:
2484
2727
resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
2485
2728
engines: {node: '>=18'}
···
2512
2755
2513
2756
asn1@0.2.6:
2514
2757
resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
2758
2758
+
2759
2759
+
ast-types@0.16.1:
2760
2760
+
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
2761
2761
+
engines: {node: '>=4'}
2515
2762
2516
2763
atomically@2.1.1:
2517
2764
resolution: {integrity: sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ==}
···
2603
2850
zod:
2604
2851
optional: true
2605
2852
2853
2853
+
body-parser@2.2.2:
2854
2854
+
resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==}
2855
2855
+
engines: {node: '>=18'}
2856
2856
+
2606
2857
brace-expansion@5.0.6:
2607
2858
resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
2608
2859
engines: {node: 18 || 20 || >=22}
···
2611
2862
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
2612
2863
engines: {node: '>=8'}
2613
2864
2865
2865
+
browserslist@4.28.2:
2866
2866
+
resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
2867
2867
+
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
2868
2868
+
hasBin: true
2869
2869
+
2614
2870
buffer-from@1.1.2:
2615
2871
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
2616
2872
2873
2873
+
bundle-name@4.1.0:
2874
2874
+
resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
2875
2875
+
engines: {node: '>=18'}
2876
2876
+
2877
2877
+
bytes@3.1.2:
2878
2878
+
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
2879
2879
+
engines: {node: '>= 0.8'}
2880
2880
+
2881
2881
+
call-bind-apply-helpers@1.0.2:
2882
2882
+
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
2883
2883
+
engines: {node: '>= 0.4'}
2884
2884
+
2885
2885
+
call-bound@1.0.4:
2886
2886
+
resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
2887
2887
+
engines: {node: '>= 0.4'}
2888
2888
+
2617
2889
callsites@3.1.0:
2618
2890
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
2619
2891
engines: {node: '>=6'}
···
2625
2897
caniuse-lite@1.0.30001792:
2626
2898
resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==}
2627
2899
2900
2900
+
chalk@5.6.2:
2901
2901
+
resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
2902
2902
+
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
2903
2903
+
2628
2904
chokidar@4.0.3:
2629
2905
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
2630
2906
engines: {node: '>= 14.16.0'}
···
2639
2915
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
2640
2916
engines: {node: '>=18'}
2641
2917
2918
2918
+
cli-spinners@2.9.2:
2919
2919
+
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
2920
2920
+
engines: {node: '>=6'}
2921
2921
+
2642
2922
cli-truncate@5.2.0:
2643
2923
resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==}
2644
2924
engines: {node: '>=20'}
2925
2925
+
2926
2926
+
cli-width@4.1.0:
2927
2927
+
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
2928
2928
+
engines: {node: '>= 12'}
2645
2929
2646
2930
client-only@0.0.1:
2647
2931
resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
···
2653
2937
clsx@2.1.1:
2654
2938
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
2655
2939
engines: {node: '>=6'}
2940
2940
+
2941
2941
+
code-block-writer@13.0.3:
2942
2942
+
resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
2656
2943
2657
2944
color-convert@2.0.1:
2658
2945
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
···
2661
2948
color-name@1.1.4:
2662
2949
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
2663
2950
2951
2951
+
commander@11.1.0:
2952
2952
+
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
2953
2953
+
engines: {node: '>=16'}
2954
2954
+
2664
2955
commander@13.1.0:
2665
2956
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
2666
2957
engines: {node: '>=18'}
2958
2958
+
2959
2959
+
commander@14.0.3:
2960
2960
+
resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
2961
2961
+
engines: {node: '>=20'}
2667
2962
2668
2963
compare-func@2.0.0:
2669
2964
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
···
2672
2967
resolution: {integrity: sha512-Uy5YN9KEu0WWDaZAVJ5FAmZoaJt9rdK6kH+utItPyGsCqCgaTKkrmZx3zoE0/3q6S3bcp3Ihkk+ZqPxWxFK5og==}
2673
2968
engines: {node: '>=20'}
2674
2969
2970
2970
+
content-disposition@1.1.0:
2971
2971
+
resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==}
2972
2972
+
engines: {node: '>=18'}
2973
2973
+
2974
2974
+
content-type@1.0.5:
2975
2975
+
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
2976
2976
+
engines: {node: '>= 0.6'}
2977
2977
+
2978
2978
+
content-type@2.0.0:
2979
2979
+
resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==}
2980
2980
+
engines: {node: '>=18'}
2981
2981
+
2675
2982
conventional-changelog-angular@8.3.1:
2676
2983
resolution: {integrity: sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==}
2677
2984
engines: {node: '>=18'}
···
2685
2992
engines: {node: '>=18'}
2686
2993
hasBin: true
2687
2994
2995
2995
+
convert-source-map@2.0.0:
2996
2996
+
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
2997
2997
+
2998
2998
+
cookie-signature@1.2.2:
2999
2999
+
resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
3000
3000
+
engines: {node: '>=6.6.0'}
3001
3001
+
2688
3002
cookie@0.7.2:
2689
3003
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
2690
3004
engines: {node: '>= 0.6'}
3005
3005
+
3006
3006
+
cookie@1.1.1:
3007
3007
+
resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
3008
3008
+
engines: {node: '>=18'}
2691
3009
2692
3010
cors@2.8.6:
2693
3011
resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==}
···
2717
3035
css-tree@3.2.1:
2718
3036
resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
2719
3037
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
3038
3038
+
3039
3039
+
cssesc@3.0.0:
3040
3040
+
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
3041
3041
+
engines: {node: '>=4'}
3042
3042
+
hasBin: true
2720
3043
2721
3044
csstype@3.2.3:
2722
3045
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
···
2765
3088
resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
2766
3089
engines: {node: '>=12'}
2767
3090
2768
2768
-
date-fns-jalali@4.1.0-0:
2769
2769
-
resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==}
2770
2770
-
2771
2771
-
date-fns@4.1.0:
2772
2772
-
resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
3091
3091
+
data-uri-to-buffer@4.0.0:
3092
3092
+
resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==}
3093
3093
+
engines: {node: '>= 12'}
2773
3094
2774
3095
date-fns@4.3.0:
2775
3096
resolution: {integrity: sha512-OYcL+3N/jyWbYdFGqoMAhytDgxP9pbYPUUiRCOgn4Fewaadk9l/Wam4Avciiyp2BgkpfQyBV9B+ehnVJych+eQ==}
···
2794
3115
decimal.js-light@2.5.1:
2795
3116
resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==}
2796
3117
3118
3118
+
dedent@1.7.2:
3119
3119
+
resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==}
3120
3120
+
peerDependencies:
3121
3121
+
babel-plugin-macros: ^3.1.0
3122
3122
+
peerDependenciesMeta:
3123
3123
+
babel-plugin-macros:
3124
3124
+
optional: true
3125
3125
+
2797
3126
deep-is@0.1.4:
2798
3127
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
2799
3128
···
2801
3130
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
2802
3131
engines: {node: '>=0.10.0'}
2803
3132
3133
3133
+
default-browser-id@5.0.1:
3134
3134
+
resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
3135
3135
+
engines: {node: '>=18'}
3136
3136
+
3137
3137
+
default-browser@5.5.0:
3138
3138
+
resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==}
3139
3139
+
engines: {node: '>=18'}
3140
3140
+
3141
3141
+
define-lazy-prop@3.0.0:
3142
3142
+
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
3143
3143
+
engines: {node: '>=12'}
3144
3144
+
2804
3145
defu@6.1.7:
2805
3146
resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
2806
3147
3148
3148
+
depd@2.0.0:
3149
3149
+
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
3150
3150
+
engines: {node: '>= 0.8'}
3151
3151
+
2807
3152
detect-libc@2.1.2:
2808
3153
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
2809
3154
engines: {node: '>=8'}
2810
3155
2811
3156
detect-node-es@1.1.0:
2812
3157
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
3158
3158
+
3159
3159
+
diff@8.0.4:
3160
3160
+
resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==}
3161
3161
+
engines: {node: '>=0.3.1'}
2813
3162
2814
3163
dom-serializer@2.0.0:
2815
3164
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
···
2832
3181
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
2833
3182
engines: {node: '>=8'}
2834
3183
3184
3184
+
dotenv@17.4.2:
3185
3185
+
resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==}
3186
3186
+
engines: {node: '>=12'}
3187
3187
+
2835
3188
drizzle-kit@0.31.10:
2836
3189
resolution: {integrity: sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==}
2837
3190
hasBin: true
···
2928
3281
sqlite3:
2929
3282
optional: true
2930
3283
3284
3284
+
dunder-proto@1.0.1:
3285
3285
+
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
3286
3286
+
engines: {node: '>= 0.4'}
3287
3287
+
3288
3288
+
eciesjs@0.4.18:
3289
3289
+
resolution: {integrity: sha512-wG99Zcfcys9fZux7Cft8BAX/YrOJLJSZ3jyYPfhZHqN2E+Ffx+QXBDsv3gubEgPtV6dTzJMSQUwk1H98/t/0wQ==}
3290
3290
+
engines: {bun: '>=1', deno: '>=2', node: '>=16'}
3291
3291
+
3292
3292
+
ee-first@1.1.1:
3293
3293
+
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
3294
3294
+
3295
3295
+
electron-to-chromium@1.5.363:
3296
3296
+
resolution: {integrity: sha512-VjUKPyWzGnT1fujlkEGC/BvN70Hh70KXtAqcmniXviYlJC/ivcT+BWGPyxWVbJZLfvtKR6dqg1L7T7pgAMBtWA==}
3297
3297
+
2931
3298
emoji-regex@10.6.0:
2932
3299
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
2933
3300
2934
3301
emoji-regex@8.0.0:
2935
3302
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
2936
3303
3304
3304
+
encodeurl@2.0.0:
3305
3305
+
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
3306
3306
+
engines: {node: '>= 0.8'}
3307
3307
+
2937
3308
engine.io-parser@5.2.3:
2938
3309
resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
2939
3310
engines: {node: '>=10.0.0'}
···
2945
3316
enhanced-resolve@5.21.2:
2946
3317
resolution: {integrity: sha512-xe9vQb5kReirPUxgQrXA3ihgbCqssmTiM7cOZ+Gzu+VeGWgpV98lLZvp0dl4yriyAePcewxGUs9UpKD8PET9KQ==}
2947
3318
engines: {node: '>=10.13.0'}
3319
3319
+
3320
3320
+
enquirer@2.4.1:
3321
3321
+
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
3322
3322
+
engines: {node: '>=8.6'}
2948
3323
2949
3324
entities@4.5.0:
2950
3325
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
···
2965
3340
error-ex@1.3.4:
2966
3341
resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
2967
3342
3343
3343
+
es-define-property@1.0.1:
3344
3344
+
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
3345
3345
+
engines: {node: '>= 0.4'}
3346
3346
+
3347
3347
+
es-errors@1.3.0:
3348
3348
+
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
3349
3349
+
engines: {node: '>= 0.4'}
3350
3350
+
3351
3351
+
es-object-atoms@1.1.2:
3352
3352
+
resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==}
3353
3353
+
engines: {node: '>= 0.4'}
3354
3354
+
2968
3355
es-toolkit@1.46.1:
2969
3356
resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==}
2970
3357
···
3039
3426
resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==}
3040
3427
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
3041
3428
3429
3429
+
esprima@4.0.1:
3430
3430
+
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
3431
3431
+
engines: {node: '>=4'}
3432
3432
+
hasBin: true
3433
3433
+
3042
3434
esquery@1.7.0:
3043
3435
resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
3044
3436
engines: {node: '>=0.10'}
···
3055
3447
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
3056
3448
engines: {node: '>=0.10.0'}
3057
3449
3450
3450
+
etag@1.8.1:
3451
3451
+
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
3452
3452
+
engines: {node: '>= 0.6'}
3453
3453
+
3058
3454
eventemitter3@5.0.4:
3059
3455
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
3060
3456
3457
3457
+
eventsource-parser@3.1.0:
3458
3458
+
resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==}
3459
3459
+
engines: {node: '>=18.0.0'}
3460
3460
+
3461
3461
+
eventsource@3.0.7:
3462
3462
+
resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==}
3463
3463
+
engines: {node: '>=18.0.0'}
3464
3464
+
3061
3465
evlog@2.18.1:
3062
3466
resolution: {integrity: sha512-uP7NNcmgQST0VdJ5c+gm4uBOOQDc/lGDWwH6aRS2H4C6mu4Hm7N8bCi6cSKIz8+If6pD2uA5EgPuhvI7OH+SHA==}
3063
3467
peerDependencies:
···
3114
3518
vite:
3115
3519
optional: true
3116
3520
3521
3521
+
execa@5.1.1:
3522
3522
+
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
3523
3523
+
engines: {node: '>=10'}
3524
3524
+
3525
3525
+
execa@9.6.1:
3526
3526
+
resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==}
3527
3527
+
engines: {node: ^18.19.0 || >=20.5.0}
3528
3528
+
3529
3529
+
express-rate-limit@8.5.2:
3530
3530
+
resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==}
3531
3531
+
engines: {node: '>= 16'}
3532
3532
+
peerDependencies:
3533
3533
+
express: '>= 4.11'
3534
3534
+
3535
3535
+
express@5.2.1:
3536
3536
+
resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
3537
3537
+
engines: {node: '>= 18'}
3538
3538
+
3117
3539
fast-deep-equal@3.1.3:
3118
3540
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
3119
3541
···
3121
3543
resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
3122
3544
engines: {node: '>=8.6.0'}
3123
3545
3546
3546
+
fast-glob@3.3.3:
3547
3547
+
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
3548
3548
+
engines: {node: '>=8.6.0'}
3549
3549
+
3124
3550
fast-json-stable-stringify@2.1.0:
3125
3551
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
3126
3552
···
3130
3556
fast-sha256@1.3.0:
3131
3557
resolution: {integrity: sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==}
3132
3558
3559
3559
+
fast-string-truncated-width@3.0.3:
3560
3560
+
resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==}
3561
3561
+
3562
3562
+
fast-string-width@3.0.2:
3563
3563
+
resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==}
3564
3564
+
3133
3565
fast-uri@3.1.2:
3134
3566
resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==}
3567
3567
+
3568
3568
+
fast-wrap-ansi@0.2.2:
3569
3569
+
resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==}
3135
3570
3136
3571
fast-xml-builder@1.2.0:
3137
3572
resolution: {integrity: sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==}
···
3152
3587
picomatch:
3153
3588
optional: true
3154
3589
3590
3590
+
fetch-blob@3.2.0:
3591
3591
+
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
3592
3592
+
engines: {node: ^12.20 || >= 14.13}
3593
3593
+
3594
3594
+
figures@6.1.0:
3595
3595
+
resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==}
3596
3596
+
engines: {node: '>=18'}
3597
3597
+
3155
3598
file-entry-cache@8.0.0:
3156
3599
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
3157
3600
engines: {node: '>=16.0.0'}
···
3159
3602
fill-range@7.1.1:
3160
3603
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
3161
3604
engines: {node: '>=8'}
3605
3605
+
3606
3606
+
finalhandler@2.1.1:
3607
3607
+
resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
3608
3608
+
engines: {node: '>= 18.0.0'}
3162
3609
3163
3610
find-up@5.0.0:
3164
3611
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
···
3171
3618
flatted@3.4.2:
3172
3619
resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
3173
3620
3621
3621
+
formdata-polyfill@4.0.10:
3622
3622
+
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
3623
3623
+
engines: {node: '>=12.20.0'}
3624
3624
+
3625
3625
+
forwarded@0.2.0:
3626
3626
+
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
3627
3627
+
engines: {node: '>= 0.6'}
3628
3628
+
3174
3629
framer-motion@12.40.0:
3175
3630
resolution: {integrity: sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==}
3176
3631
peerDependencies:
···
3184
3639
optional: true
3185
3640
react-dom:
3186
3641
optional: true
3642
3642
+
3643
3643
+
fresh@2.0.0:
3644
3644
+
resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
3645
3645
+
engines: {node: '>= 0.8'}
3646
3646
+
3647
3647
+
fs-extra@11.3.5:
3648
3648
+
resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==}
3649
3649
+
engines: {node: '>=14.14'}
3187
3650
3188
3651
fsevents@2.3.3:
3189
3652
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
3190
3653
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
3191
3654
os: [darwin]
3192
3655
3656
3656
+
function-bind@1.1.2:
3657
3657
+
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
3658
3658
+
3659
3659
+
fuzzysort@3.1.0:
3660
3660
+
resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==}
3661
3661
+
3193
3662
geist@1.7.1:
3194
3663
resolution: {integrity: sha512-XF8DM30ODhDu0Ng5S2kOS8j4ZkG/6z2fKWAiFJA7wG0Hc92ZXgjYLrwbD9bVU4nGVzwboPtG+QtaPGsfgnXLaA==}
3195
3664
peerDependencies:
3196
3665
next: '>=13.2.0'
3197
3666
3667
3667
+
gensync@1.0.0-beta.2:
3668
3668
+
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
3669
3669
+
engines: {node: '>=6.9.0'}
3670
3670
+
3198
3671
get-caller-file@2.0.5:
3199
3672
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
3200
3673
engines: {node: 6.* || 8.* || >= 10.*}
···
3203
3676
resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
3204
3677
engines: {node: '>=18'}
3205
3678
3679
3679
+
get-intrinsic@1.3.0:
3680
3680
+
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
3681
3681
+
engines: {node: '>= 0.4'}
3682
3682
+
3206
3683
get-nonce@1.0.1:
3207
3684
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
3208
3685
engines: {node: '>=6'}
3209
3686
3687
3687
+
get-own-enumerable-keys@1.0.0:
3688
3688
+
resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==}
3689
3689
+
engines: {node: '>=14.16'}
3690
3690
+
3691
3691
+
get-proto@1.0.1:
3692
3692
+
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
3693
3693
+
engines: {node: '>= 0.4'}
3694
3694
+
3695
3695
+
get-stream@6.0.1:
3696
3696
+
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
3697
3697
+
engines: {node: '>=10'}
3698
3698
+
3699
3699
+
get-stream@9.0.1:
3700
3700
+
resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==}
3701
3701
+
engines: {node: '>=18'}
3702
3702
+
3210
3703
get-tsconfig@4.14.0:
3211
3704
resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==}
3212
3705
···
3235
3728
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
3236
3729
engines: {node: '>=4'}
3237
3730
3731
3731
+
gopd@1.2.0:
3732
3732
+
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
3733
3733
+
engines: {node: '>= 0.4'}
3734
3734
+
3238
3735
graceful-fs@4.2.11:
3239
3736
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
3240
3737
3738
3738
+
graphql@16.14.0:
3739
3739
+
resolution: {integrity: sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==}
3740
3740
+
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
3741
3741
+
3742
3742
+
has-symbols@1.1.0:
3743
3743
+
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
3744
3744
+
engines: {node: '>= 0.4'}
3745
3745
+
3746
3746
+
hasown@2.0.3:
3747
3747
+
resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==}
3748
3748
+
engines: {node: '>= 0.4'}
3749
3749
+
3750
3750
+
headers-polyfill@5.0.1:
3751
3751
+
resolution: {integrity: sha512-1TJ6Fih/b8h5TIcv+1+Hw0PDQWJTKDKzFZzcKOiW1wJza3XoAQlkCuXLbymPYB8+ZQyw8mHvdw560e8zVFIWyA==}
3752
3752
+
3753
3753
+
hono@4.12.23:
3754
3754
+
resolution: {integrity: sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==}
3755
3755
+
engines: {node: '>=16.9.0'}
3756
3756
+
3241
3757
html-to-text@9.0.5:
3242
3758
resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
3243
3759
engines: {node: '>=14'}
···
3245
3761
htmlparser2@8.0.2:
3246
3762
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
3247
3763
3764
3764
+
http-errors@2.0.1:
3765
3765
+
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
3766
3766
+
engines: {node: '>= 0.8'}
3767
3767
+
3768
3768
+
https-proxy-agent@7.0.6:
3769
3769
+
resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
3770
3770
+
engines: {node: '>= 14'}
3771
3771
+
3772
3772
+
human-signals@2.1.0:
3773
3773
+
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
3774
3774
+
engines: {node: '>=10.17.0'}
3775
3775
+
3776
3776
+
human-signals@8.0.1:
3777
3777
+
resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==}
3778
3778
+
engines: {node: '>=18.18.0'}
3779
3779
+
3248
3780
husky@9.1.7:
3249
3781
resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
3250
3782
engines: {node: '>=18'}
3251
3783
hasBin: true
3784
3784
+
3785
3785
+
iconv-lite@0.7.2:
3786
3786
+
resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==}
3787
3787
+
engines: {node: '>=0.10.0'}
3252
3788
3253
3789
ignore@5.3.2:
3254
3790
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
···
3275
3811
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
3276
3812
engines: {node: '>=0.8.19'}
3277
3813
3814
3814
+
inherits@2.0.4:
3815
3815
+
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
3816
3816
+
3278
3817
ini@6.0.0:
3279
3818
resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==}
3280
3819
engines: {node: ^20.17.0 || >=22.9.0}
3281
3820
3821
3821
+
input-otp@1.4.2:
3822
3822
+
resolution: {integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==}
3823
3823
+
peerDependencies:
3824
3824
+
react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
3825
3825
+
react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
3826
3826
+
3282
3827
internmap@2.0.3:
3283
3828
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
3284
3829
engines: {node: '>=12'}
3830
3830
+
3831
3831
+
ip-address@10.2.0:
3832
3832
+
resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
3833
3833
+
engines: {node: '>= 12'}
3834
3834
+
3835
3835
+
ipaddr.js@1.9.1:
3836
3836
+
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
3837
3837
+
engines: {node: '>= 0.10'}
3285
3838
3286
3839
is-arrayish@0.2.1:
3287
3840
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
3288
3841
3842
3842
+
is-docker@3.0.0:
3843
3843
+
resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
3844
3844
+
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
3845
3845
+
hasBin: true
3846
3846
+
3289
3847
is-extglob@2.1.1:
3290
3848
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
3291
3849
engines: {node: '>=0.10.0'}
···
3302
3860
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
3303
3861
engines: {node: '>=0.10.0'}
3304
3862
3863
3863
+
is-in-ssh@1.0.0:
3864
3864
+
resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
3865
3865
+
engines: {node: '>=20'}
3866
3866
+
3867
3867
+
is-inside-container@1.0.0:
3868
3868
+
resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
3869
3869
+
engines: {node: '>=14.16'}
3870
3870
+
hasBin: true
3871
3871
+
3872
3872
+
is-interactive@2.0.0:
3873
3873
+
resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
3874
3874
+
engines: {node: '>=12'}
3875
3875
+
3876
3876
+
is-node-process@1.2.0:
3877
3877
+
resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
3878
3878
+
3305
3879
is-number@7.0.0:
3306
3880
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
3307
3881
engines: {node: '>=0.12.0'}
···
3310
3884
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
3311
3885
engines: {node: '>=8'}
3312
3886
3887
3887
+
is-obj@3.0.0:
3888
3888
+
resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==}
3889
3889
+
engines: {node: '>=12'}
3890
3890
+
3313
3891
is-plain-obj@4.1.0:
3314
3892
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
3315
3893
engines: {node: '>=12'}
3316
3894
3895
3895
+
is-promise@4.0.0:
3896
3896
+
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
3897
3897
+
3898
3898
+
is-regexp@3.1.0:
3899
3899
+
resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==}
3900
3900
+
engines: {node: '>=12'}
3901
3901
+
3902
3902
+
is-stream@2.0.1:
3903
3903
+
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
3904
3904
+
engines: {node: '>=8'}
3905
3905
+
3906
3906
+
is-stream@4.0.1:
3907
3907
+
resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
3908
3908
+
engines: {node: '>=18'}
3909
3909
+
3910
3910
+
is-unicode-supported@1.3.0:
3911
3911
+
resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
3912
3912
+
engines: {node: '>=12'}
3913
3913
+
3317
3914
is-unicode-supported@2.1.0:
3318
3915
resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
3319
3916
engines: {node: '>=18'}
3320
3917
3918
3918
+
is-wsl@3.1.1:
3919
3919
+
resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
3920
3920
+
engines: {node: '>=16'}
3921
3921
+
3321
3922
isexe@2.0.0:
3322
3923
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
3924
3924
+
3925
3925
+
isexe@3.1.5:
3926
3926
+
resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==}
3927
3927
+
engines: {node: '>=18'}
3323
3928
3324
3929
jiti@2.4.2:
3325
3930
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
···
3374
3979
jsonc-parser@3.3.1:
3375
3980
resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
3376
3981
3982
3982
+
jsonfile@6.2.1:
3983
3983
+
resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==}
3984
3984
+
3377
3985
keyv@4.5.4:
3378
3986
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
3379
3987
···
3381
3989
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
3382
3990
engines: {node: '>=6'}
3383
3991
3992
3992
+
kleur@4.1.5:
3993
3993
+
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
3994
3994
+
engines: {node: '>=6'}
3995
3995
+
3384
3996
kysely@0.28.17:
3385
3997
resolution: {integrity: sha512-nbD8lB9EB3wNdMhOCdx5Li8DxnLbvKByylRLcJ1h+4SkrowVeECAyZlyiKMThF7xFdRz0jSQ2MoJr+wXux2y0Q==}
3386
3998
engines: {node: '>=20.0.0'}
···
3485
4097
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
3486
4098
engines: {node: '>=10'}
3487
4099
4100
4100
+
log-symbols@6.0.0:
4101
4101
+
resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
4102
4102
+
engines: {node: '>=18'}
4103
4103
+
3488
4104
log-symbols@7.0.1:
3489
4105
resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==}
3490
4106
engines: {node: '>=18'}
···
3500
4116
lru-cache@11.3.6:
3501
4117
resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==}
3502
4118
engines: {node: 20 || >=22}
4119
4119
+
4120
4120
+
lru-cache@5.1.1:
4121
4121
+
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
3503
4122
3504
4123
lucide-react@1.17.0:
3505
4124
resolution: {integrity: sha512-9FA9evdox/JQL5PT57fdA1x/yg8T7knJ98+zjTL3UfKza6pflQUUh3XtaQIHKvnsJw1lmsEyHVlt5jchYxOQ5w==}
···
3514
4133
engines: {node: '>= 18'}
3515
4134
hasBin: true
3516
4135
4136
4136
+
math-intrinsics@1.1.0:
4137
4137
+
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
4138
4138
+
engines: {node: '>= 0.4'}
4139
4139
+
3517
4140
mdn-data@2.27.1:
3518
4141
resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
3519
4142
4143
4143
+
media-typer@1.1.0:
4144
4144
+
resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
4145
4145
+
engines: {node: '>= 0.8'}
4146
4146
+
3520
4147
meow@13.2.0:
3521
4148
resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
3522
4149
engines: {node: '>=18'}
4150
4150
+
4151
4151
+
merge-descriptors@2.0.0:
4152
4152
+
resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
4153
4153
+
engines: {node: '>=18'}
4154
4154
+
4155
4155
+
merge-stream@2.0.0:
4156
4156
+
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
3523
4157
3524
4158
merge2@1.4.1:
3525
4159
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
···
3545
4179
resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
3546
4180
engines: {node: '>=18'}
3547
4181
4182
4182
+
mimic-fn@2.1.0:
4183
4183
+
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
4184
4184
+
engines: {node: '>=6'}
4185
4185
+
3548
4186
mimic-function@5.0.1:
3549
4187
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
3550
4188
engines: {node: '>=18'}
···
3569
4207
ms@2.1.3:
3570
4208
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
3571
4209
4210
4210
+
msw@2.14.6:
4211
4211
+
resolution: {integrity: sha512-ALe+N10S72cyx94cMcy3Zs4HhXCj35sgeAL4c+WTvKi0zWnbd8/h0lcFqv0mb2P+aSgAdD7p9HzvA0DiUPxsyg==}
4212
4212
+
engines: {node: '>=18'}
4213
4213
+
hasBin: true
4214
4214
+
peerDependencies:
4215
4215
+
typescript: '>= 4.8.x'
4216
4216
+
peerDependenciesMeta:
4217
4217
+
typescript:
4218
4218
+
optional: true
4219
4219
+
4220
4220
+
mute-stream@4.0.0:
4221
4221
+
resolution: {integrity: sha512-gSrprq0fJ3EiOErzjdIZrjysVVmJ4uu1QWfCDss5LypA5OXvrMje5Ym5z6V6RLyJ2eF87lasX7t6a0AnFvZblg==}
4222
4222
+
engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
4223
4223
+
3572
4224
nanoid@3.3.12:
3573
4225
resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
3574
4226
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
···
3583
4235
3584
4236
negotiator@0.6.3:
3585
4237
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
4238
4238
+
engines: {node: '>= 0.6'}
4239
4239
+
4240
4240
+
negotiator@1.0.0:
4241
4241
+
resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
3586
4242
engines: {node: '>= 0.6'}
3587
4243
3588
4244
next-themes@0.4.6:
···
3612
4268
sass:
3613
4269
optional: true
3614
4270
4271
4271
+
node-domexception@1.0.0:
4272
4272
+
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
4273
4273
+
engines: {node: '>=10.5.0'}
4274
4274
+
deprecated: Use your platform's native DOMException instead
4275
4275
+
4276
4276
+
node-fetch@3.3.2:
4277
4277
+
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
4278
4278
+
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
4279
4279
+
3615
4280
node-forge@1.4.0:
3616
4281
resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==}
3617
4282
engines: {node: '>= 6.13.0'}
3618
4283
4284
4284
+
node-releases@2.0.46:
4285
4285
+
resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==}
4286
4286
+
engines: {node: '>=18'}
4287
4287
+
3619
4288
node-rsa@1.1.1:
3620
4289
resolution: {integrity: sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==}
3621
4290
···
3623
4292
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
3624
4293
engines: {node: '>=0.10.0'}
3625
4294
4295
4295
+
npm-run-path@4.0.1:
4296
4296
+
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
4297
4297
+
engines: {node: '>=8'}
4298
4298
+
4299
4299
+
npm-run-path@6.0.0:
4300
4300
+
resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
4301
4301
+
engines: {node: '>=18'}
4302
4302
+
3626
4303
nypm@0.6.6:
3627
4304
resolution: {integrity: sha512-vRyr0r4cbBapw07Xw8xrj9Teq3o7MUD35rSaTcanDbW+aK2XHDgJFiU6ZTj2GBw7Q12ysdsyFss+Vdz4hQ0Y6Q==}
3628
4305
engines: {node: '>=18'}
···
3632
4309
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
3633
4310
engines: {node: '>=0.10.0'}
3634
4311
4312
4312
+
object-inspect@1.13.4:
4313
4313
+
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
4314
4314
+
engines: {node: '>= 0.4'}
4315
4315
+
4316
4316
+
object-treeify@1.1.33:
4317
4317
+
resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==}
4318
4318
+
engines: {node: '>= 10'}
4319
4319
+
4320
4320
+
on-finished@2.4.1:
4321
4321
+
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
4322
4322
+
engines: {node: '>= 0.8'}
4323
4323
+
4324
4324
+
once@1.4.0:
4325
4325
+
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
4326
4326
+
4327
4327
+
onetime@5.1.2:
4328
4328
+
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
4329
4329
+
engines: {node: '>=6'}
4330
4330
+
3635
4331
onetime@7.0.0:
3636
4332
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
3637
4333
engines: {node: '>=18'}
3638
4334
4335
4335
+
open@11.0.0:
4336
4336
+
resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==}
4337
4337
+
engines: {node: '>=20'}
4338
4338
+
3639
4339
optionator@0.9.4:
3640
4340
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
3641
4341
engines: {node: '>= 0.8.0'}
4342
4342
+
4343
4343
+
ora@8.2.0:
4344
4344
+
resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==}
4345
4345
+
engines: {node: '>=18'}
4346
4346
+
4347
4347
+
outvariant@1.4.3:
4348
4348
+
resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
3642
4349
3643
4350
oxlint@1.63.0:
3644
4351
resolution: {integrity: sha512-9TGXetdjgIHOJ9OiReomP7nnrMkV9HxC1xM2ramJSLQpzxjsAJtQwa4wqkJN2f/uCrqZuJseFuSlWDdvcruveg==}
···
3669
4376
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
3670
4377
engines: {node: '>=8'}
3671
4378
4379
4379
+
parse-ms@4.0.0:
4380
4380
+
resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
4381
4381
+
engines: {node: '>=18'}
4382
4382
+
3672
4383
parseley@0.12.1:
3673
4384
resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==}
3674
4385
4386
4386
+
parseurl@1.3.3:
4387
4387
+
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
4388
4388
+
engines: {node: '>= 0.8'}
4389
4389
+
4390
4390
+
path-browserify@1.0.1:
4391
4391
+
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
4392
4392
+
3675
4393
path-exists@4.0.0:
3676
4394
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
3677
4395
engines: {node: '>=8'}
···
3684
4402
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
3685
4403
engines: {node: '>=8'}
3686
4404
4405
4405
+
path-key@4.0.0:
4406
4406
+
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
4407
4407
+
engines: {node: '>=12'}
4408
4408
+
3687
4409
path-scurry@2.0.2:
3688
4410
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
3689
4411
engines: {node: 18 || 20 || >=22}
3690
4412
4413
4413
+
path-to-regexp@6.3.0:
4414
4414
+
resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
4415
4415
+
4416
4416
+
path-to-regexp@8.4.2:
4417
4417
+
resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}
4418
4418
+
3691
4419
pathe@2.0.3:
3692
4420
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
3693
4421
···
3709
4437
resolution: {integrity: sha512-lGA1TNsmy2bxvRsTI2cV01kfTwKzZjnZSDmF9llYNyMHMrU4sP87lQ5taiIKm88L3cbswjl008nwyGc3WpNvzg==}
3710
4438
engines: {node: '>=18.0.0'}
3711
4439
4440
4440
+
pkce-challenge@5.0.0:
4441
4441
+
resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==}
4442
4442
+
engines: {node: '>=16.20.0'}
4443
4443
+
3712
4444
postal-mime@2.7.4:
3713
4445
resolution: {integrity: sha512-0WdnFQYUrPGGTFu1uOqD2s7omwua8xaeYGdO6rb88oD5yJ/4pPHDA4sdWqfD8wQVfCny563n/HQS7zTFft+f/g==}
4446
4446
+
4447
4447
+
postcss-selector-parser@7.1.1:
4448
4448
+
resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
4449
4449
+
engines: {node: '>=4'}
3714
4450
3715
4451
postcss@8.4.31:
3716
4452
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
···
3724
4460
resolution: {integrity: sha512-GD3qdB0x1z9xgFI6cdRD6xu2Sp2WCOEoe3mtnyB5Ee0XrrL5Pe+e4CCnJrRMnL1zYtRDZmQQVbvOttLnKDLnaw==}
3725
4461
engines: {node: '>=12'}
3726
4462
4463
4463
+
powershell-utils@0.1.0:
4464
4464
+
resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
4465
4465
+
engines: {node: '>=20'}
4466
4466
+
3727
4467
prelude-ls@1.2.1:
3728
4468
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
3729
4469
engines: {node: '>= 0.8.0'}
···
3732
4472
resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==}
3733
4473
engines: {node: '>=14'}
3734
4474
hasBin: true
4475
4475
+
4476
4476
+
pretty-ms@9.3.0:
4477
4477
+
resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==}
4478
4478
+
engines: {node: '>=18'}
3735
4479
3736
4480
prismjs@1.30.0:
3737
4481
resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
···
3740
4484
prompts@2.4.2:
3741
4485
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
3742
4486
engines: {node: '>= 6'}
4487
4487
+
4488
4488
+
proxy-addr@2.0.7:
4489
4489
+
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
4490
4490
+
engines: {node: '>= 0.10'}
3743
4491
3744
4492
punycode@2.3.1:
3745
4493
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
···
3752
4500
qrcode-generator@1.5.2:
3753
4501
resolution: {integrity: sha512-pItrW0Z9HnDBnFmgiNrY1uxRdri32Uh9EjNYLPVC2zZ3ZRIIEqBoDgm4DkvDwNNDHTK7FNkmr8zAa77BYc9xNw==}
3754
4502
4503
4503
+
qs@6.15.2:
4504
4504
+
resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
4505
4505
+
engines: {node: '>=0.6'}
4506
4506
+
3755
4507
queue-microtask@1.2.3:
3756
4508
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
3757
4509
···
3768
4520
'@types/react-dom':
3769
4521
optional: true
3770
4522
3771
3771
-
react-day-picker@9.14.0:
3772
3772
-
resolution: {integrity: sha512-tBaoDWjPwe0M5pGrum4H0SR6Lyk+BO9oHnp9JbKpGKW2mlraNPgP9BMfsg5pWpwrssARmeqk7YBl2oXutZTaHA==}
4523
4523
+
range-parser@1.2.1:
4524
4524
+
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
4525
4525
+
engines: {node: '>= 0.6'}
4526
4526
+
4527
4527
+
raw-body@3.0.2:
4528
4528
+
resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
4529
4529
+
engines: {node: '>= 0.10'}
4530
4530
+
4531
4531
+
react-day-picker@10.0.1:
4532
4532
+
resolution: {integrity: sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==}
3773
4533
engines: {node: '>=18'}
3774
4534
peerDependencies:
4535
4535
+
'@types/react': '>=16.8.0'
3775
4536
react: '>=16.8.0'
4537
4537
+
peerDependenciesMeta:
4538
4538
+
'@types/react':
4539
4539
+
optional: true
3776
4540
3777
4541
react-dom@18.3.1:
3778
4542
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
···
3795
4559
react-is@16.13.1:
3796
4560
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
3797
4561
3798
3798
-
react-redux@9.2.0:
3799
3799
-
resolution: {integrity: sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==}
4562
4562
+
react-redux@9.3.0:
4563
4563
+
resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==}
3800
4564
peerDependencies:
3801
4565
'@types/react': ^18.2.25 || ^19
3802
4566
react: ^18.0 || ^19
···
3845
4609
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
3846
4610
engines: {node: '>= 14.18.0'}
3847
4611
3848
3848
-
recharts@3.8.1:
3849
3849
-
resolution: {integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==}
4612
4612
+
recast@0.23.11:
4613
4613
+
resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==}
4614
4614
+
engines: {node: '>= 4'}
4615
4615
+
4616
4616
+
recharts@3.8.0:
4617
4617
+
resolution: {integrity: sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ==}
3850
4618
engines: {node: '>=18'}
3851
4619
peerDependencies:
3852
4620
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
···
3872
4640
reselect@5.1.1:
3873
4641
resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==}
3874
4642
4643
4643
+
reselect@5.2.0:
4644
4644
+
resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==}
4645
4645
+
3875
4646
resend@6.12.4:
3876
4647
resolution: {integrity: sha512-lRpJ2Hxd+ht+JPDm97juRcUp9HOMuZyxaRFRFmc9Tx8iNWiei94Dx9v6SWufgKk2667C/uCeKKspMotOHSpCSg==}
3877
4648
engines: {node: '>=20'}
···
3896
4667
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
3897
4668
engines: {node: '>=18'}
3898
4669
4670
4670
+
rettime@0.11.11:
4671
4671
+
resolution: {integrity: sha512-ILJRqVWBCTlg9r42fFgwVZx1gnFAcQF8mRoMkbgQfIrjEDf9nbBFDFx00oloOa+Q869FUtaYDXZvEfnecQSCoQ==}
4672
4672
+
3899
4673
reusify@1.1.0:
3900
4674
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
3901
4675
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
···
3906
4680
rou3@0.7.12:
3907
4681
resolution: {integrity: sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==}
3908
4682
4683
4683
+
router@2.2.0:
4684
4684
+
resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
4685
4685
+
engines: {node: '>= 18'}
4686
4686
+
4687
4687
+
run-applescript@7.1.0:
4688
4688
+
resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
4689
4689
+
engines: {node: '>=18'}
4690
4690
+
3909
4691
run-parallel@1.2.0:
3910
4692
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
3911
4693
···
3921
4703
selderee@0.11.0:
3922
4704
resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
3923
4705
4706
4706
+
semver@6.3.1:
4707
4707
+
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
4708
4708
+
hasBin: true
4709
4709
+
3924
4710
semver@7.8.0:
3925
4711
resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==}
3926
4712
engines: {node: '>=10'}
3927
4713
hasBin: true
3928
4714
4715
4715
+
send@1.2.1:
4716
4716
+
resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
4717
4717
+
engines: {node: '>= 18'}
4718
4718
+
4719
4719
+
serve-static@2.2.1:
4720
4720
+
resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}
4721
4721
+
engines: {node: '>= 18'}
4722
4722
+
3929
4723
set-cookie-parser@3.1.0:
3930
4724
resolution: {integrity: sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==}
3931
4725
4726
4726
+
setprototypeof@1.2.0:
4727
4727
+
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
4728
4728
+
4729
4729
+
shadcn@4.8.2:
4730
4730
+
resolution: {integrity: sha512-pt3KneOg6LGYKNAdoTVf/lpVcf7t2MlV+Ll2Xc3lIIYN3ph4ajrjU+CcG6OVSgO5ubbLZj+9j5oMA9Lqg7o8KA==}
4731
4731
+
hasBin: true
4732
4732
+
3932
4733
sharp@0.34.5:
3933
4734
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
3934
4735
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
···
3940
4741
shebang-regex@3.0.0:
3941
4742
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
3942
4743
engines: {node: '>=8'}
4744
4744
+
4745
4745
+
side-channel-list@1.0.1:
4746
4746
+
resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==}
4747
4747
+
engines: {node: '>= 0.4'}
4748
4748
+
4749
4749
+
side-channel-map@1.0.1:
4750
4750
+
resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
4751
4751
+
engines: {node: '>= 0.4'}
4752
4752
+
4753
4753
+
side-channel-weakmap@1.0.2:
4754
4754
+
resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
4755
4755
+
engines: {node: '>= 0.4'}
4756
4756
+
4757
4757
+
side-channel@1.1.0:
4758
4758
+
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
4759
4759
+
engines: {node: '>= 0.4'}
4760
4760
+
4761
4761
+
signal-exit@3.0.7:
4762
4762
+
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
3943
4763
3944
4764
signal-exit@4.1.0:
3945
4765
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
···
3987
4807
standardwebhooks@1.0.0:
3988
4808
resolution: {integrity: sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==}
3989
4809
4810
4810
+
statuses@2.0.2:
4811
4811
+
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
4812
4812
+
engines: {node: '>= 0.8'}
4813
4813
+
4814
4814
+
stdin-discarder@0.2.2:
4815
4815
+
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
4816
4816
+
engines: {node: '>=18'}
4817
4817
+
4818
4818
+
strict-event-emitter@0.5.1:
4819
4819
+
resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
4820
4820
+
3990
4821
string-argv@0.3.2:
3991
4822
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
3992
4823
engines: {node: '>=0.6.19'}
···
4003
4834
resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==}
4004
4835
engines: {node: '>=20'}
4005
4836
4837
4837
+
stringify-object@5.0.0:
4838
4838
+
resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==}
4839
4839
+
engines: {node: '>=14.16'}
4840
4840
+
4006
4841
strip-ansi@6.0.1:
4007
4842
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
4008
4843
engines: {node: '>=8'}
···
4015
4850
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
4016
4851
engines: {node: '>=4'}
4017
4852
4853
4853
+
strip-final-newline@2.0.0:
4854
4854
+
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
4855
4855
+
engines: {node: '>=6'}
4856
4856
+
4857
4857
+
strip-final-newline@4.0.0:
4858
4858
+
resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==}
4859
4859
+
engines: {node: '>=18'}
4860
4860
+
4018
4861
strnum@2.3.0:
4019
4862
resolution: {integrity: sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==}
4020
4863
···
4065
4908
tldts-core@6.1.0:
4066
4909
resolution: {integrity: sha512-kWIs6ECYvpsHXmVezsbU2ZmaPZld6bArFUM2HS/Pz1o1pRCu/y8w6n02IfiefUA5NarwJ7sCjwsrKGtpztXYZQ==}
4067
4910
4911
4911
+
tldts-core@7.4.1:
4912
4912
+
resolution: {integrity: sha512-sc2nGvGbixlJRHwTh/qQdPXTxJU1UDJboGPQm4d/01YUJ9r/u6aeIulQvEaxUlvKDN7hb1qCLjax+jhVAPLa/g==}
4913
4913
+
4068
4914
tldts@6.1.0:
4069
4915
resolution: {integrity: sha512-9eh9oPefds2M+Trcgpa4gLaHtckcmfgHsNwQKE4kfiy6ApJrt4Thko2CXQ9s3K1o0rQtJOLmV0UfFLhC9CAN3w==}
4916
4916
+
hasBin: true
4917
4917
+
4918
4918
+
tldts@7.4.0:
4919
4919
+
resolution: {integrity: sha512-yHBe+zVfzNZ3QfTPW/Z6KK1G2t340gFjMHqI/4KKSt/abzYydzuCnpqdaF5gCCABby+9Yfbj59oR5F2Fd5CBzg==}
4070
4920
hasBin: true
4071
4921
4072
4922
to-regex-range@5.0.1:
4073
4923
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
4074
4924
engines: {node: '>=8.0'}
4075
4925
4926
4926
+
toidentifier@1.0.1:
4927
4927
+
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
4928
4928
+
engines: {node: '>=0.6'}
4929
4929
+
4930
4930
+
tough-cookie@6.0.1:
4931
4931
+
resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==}
4932
4932
+
engines: {node: '>=16'}
4933
4933
+
4076
4934
ts-api-utils@2.5.0:
4077
4935
resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
4078
4936
engines: {node: '>=18.12'}
4079
4937
peerDependencies:
4080
4938
typescript: '>=4.8.4'
4939
4939
+
4940
4940
+
ts-morph@26.0.0:
4941
4941
+
resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==}
4081
4942
4082
4943
tsconfig-paths@4.2.0:
4083
4944
resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
···
4102
4963
resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==}
4103
4964
engines: {node: '>=20'}
4104
4965
4966
4966
+
type-is@2.1.0:
4967
4967
+
resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}
4968
4968
+
engines: {node: '>= 18'}
4969
4969
+
4105
4970
typescript-eslint@8.59.2:
4106
4971
resolution: {integrity: sha512-pJw051uomb3ZeCzGTpRb8RbEqB5Y4WWet8gl/GcTlU35BSx0PVdZ86/bqkQCyKKuraVQEK7r6kBHQXF+fBhkoQ==}
4107
4972
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
···
4121
4986
undici-types@7.19.2:
4122
4987
resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==}
4123
4988
4989
4989
+
unicorn-magic@0.3.0:
4990
4990
+
resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
4991
4991
+
engines: {node: '>=18'}
4992
4992
+
4993
4993
+
universalify@2.0.1:
4994
4994
+
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
4995
4995
+
engines: {node: '>= 10.0.0'}
4996
4996
+
4997
4997
+
unpipe@1.0.0:
4998
4998
+
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
4999
4999
+
engines: {node: '>= 0.8'}
5000
5000
+
5001
5001
+
until-async@3.0.2:
5002
5002
+
resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==}
5003
5003
+
5004
5004
+
update-browserslist-db@1.2.3:
5005
5005
+
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
5006
5006
+
hasBin: true
5007
5007
+
peerDependencies:
5008
5008
+
browserslist: '>= 4.21.0'
5009
5009
+
4124
5010
uri-js@4.4.1:
4125
5011
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
4126
5012
···
4149
5035
peerDependencies:
4150
5036
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
4151
5037
5038
5038
+
util-deprecate@1.0.2:
5039
5039
+
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
5040
5040
+
4152
5041
uuid@8.3.2:
4153
5042
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
4154
5043
hasBin: true
4155
5044
5045
5045
+
validate-npm-package-name@7.0.2:
5046
5046
+
resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==}
5047
5047
+
engines: {node: ^20.17.0 || >=22.9.0}
5048
5048
+
4156
5049
vary@1.1.2:
4157
5050
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
4158
5051
engines: {node: '>= 0.8'}
···
4160
5053
victory-vendor@37.3.6:
4161
5054
resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==}
4162
5055
5056
5056
+
web-streams-polyfill@3.0.3:
5057
5057
+
resolution: {integrity: sha512-d2H/t0eqRNM4w2WvmTdoeIvzAUSpK7JmATB8Nr2lb7nQ9BTIJVjbQ/TRFVEh2gUH1HwclPdoPtfMoFfetXaZnA==}
5058
5058
+
engines: {node: '>= 8'}
5059
5059
+
4163
5060
when-exit@2.1.5:
4164
5061
resolution: {integrity: sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==}
4165
5062
···
4168
5065
engines: {node: '>= 8'}
4169
5066
hasBin: true
4170
5067
5068
5068
+
which@4.0.0:
5069
5069
+
resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
5070
5070
+
engines: {node: ^16.13.0 || >=18.0.0}
5071
5071
+
hasBin: true
5072
5072
+
4171
5073
word-wrap@1.2.5:
4172
5074
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
4173
5075
engines: {node: '>=0.10.0'}
···
4184
5086
resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
4185
5087
engines: {node: '>=18'}
4186
5088
5089
5089
+
wrappy@1.0.2:
5090
5090
+
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
5091
5091
+
4187
5092
ws@8.18.3:
4188
5093
resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
4189
5094
engines: {node: '>=10.0.0'}
···
4196
5101
utf-8-validate:
4197
5102
optional: true
4198
5103
5104
5104
+
wsl-utils@0.3.1:
5105
5105
+
resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==}
5106
5106
+
engines: {node: '>=20'}
5107
5107
+
4199
5108
xml-crypto@6.1.2:
4200
5109
resolution: {integrity: sha512-leBOVQdVi8FvPJrMYoum7Ici9qyxfE4kVi+AkpUoYCSXaQF4IlBm1cneTK9oAxR61LpYxTx7lNcsnBIeRpGW2w==}
4201
5110
engines: {node: '>=16'}
···
4222
5131
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
4223
5132
engines: {node: '>=10'}
4224
5133
5134
5134
+
yallist@3.1.1:
5135
5135
+
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
5136
5136
+
4225
5137
yaml@2.8.4:
4226
5138
resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==}
4227
5139
engines: {node: '>= 14.6'}
···
4239
5151
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
4240
5152
engines: {node: '>=10'}
4241
5153
5154
5154
+
yocto-spinner@1.2.0:
5155
5155
+
resolution: {integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==}
5156
5156
+
engines: {node: '>=18.19'}
5157
5157
+
4242
5158
yoctocolors@2.1.2:
4243
5159
resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==}
4244
5160
engines: {node: '>=18'}
4245
5161
5162
5162
+
zod-to-json-schema@3.25.2:
5163
5163
+
resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}
5164
5164
+
peerDependencies:
5165
5165
+
zod: ^3.25.28 || ^4
5166
5166
+
5167
5167
+
zod@3.24.1:
5168
5168
+
resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
5169
5169
+
4246
5170
zod@4.4.3:
4247
5171
resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
4248
5172
···
4280
5204
js-tokens: 4.0.0
4281
5205
picocolors: 1.1.1
4282
5206
5207
5207
+
'@babel/code-frame@7.29.7':
5208
5208
+
dependencies:
5209
5209
+
'@babel/helper-validator-identifier': 7.29.7
5210
5210
+
js-tokens: 4.0.0
5211
5211
+
picocolors: 1.1.1
5212
5212
+
5213
5213
+
'@babel/compat-data@7.29.7': {}
5214
5214
+
5215
5215
+
'@babel/core@7.29.7':
5216
5216
+
dependencies:
5217
5217
+
'@babel/code-frame': 7.29.7
5218
5218
+
'@babel/generator': 7.29.7
5219
5219
+
'@babel/helper-compilation-targets': 7.29.7
5220
5220
+
'@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
5221
5221
+
'@babel/helpers': 7.29.7
5222
5222
+
'@babel/parser': 7.29.7
5223
5223
+
'@babel/template': 7.29.7
5224
5224
+
'@babel/traverse': 7.29.7
5225
5225
+
'@babel/types': 7.29.7
5226
5226
+
'@jridgewell/remapping': 2.3.5
5227
5227
+
convert-source-map: 2.0.0
5228
5228
+
debug: 4.4.3
5229
5229
+
gensync: 1.0.0-beta.2
5230
5230
+
json5: 2.2.3
5231
5231
+
semver: 6.3.1
5232
5232
+
transitivePeerDependencies:
5233
5233
+
- supports-color
5234
5234
+
4283
5235
'@babel/generator@7.29.1':
4284
5236
dependencies:
4285
5237
'@babel/parser': 7.29.3
···
4288
5240
'@jridgewell/trace-mapping': 0.3.31
4289
5241
jsesc: 3.1.0
4290
5242
5243
5243
+
'@babel/generator@7.29.7':
5244
5244
+
dependencies:
5245
5245
+
'@babel/parser': 7.29.7
5246
5246
+
'@babel/types': 7.29.7
5247
5247
+
'@jridgewell/gen-mapping': 0.3.13
5248
5248
+
'@jridgewell/trace-mapping': 0.3.31
5249
5249
+
jsesc: 3.1.0
5250
5250
+
5251
5251
+
'@babel/helper-annotate-as-pure@7.29.7':
5252
5252
+
dependencies:
5253
5253
+
'@babel/types': 7.29.7
5254
5254
+
5255
5255
+
'@babel/helper-compilation-targets@7.29.7':
5256
5256
+
dependencies:
5257
5257
+
'@babel/compat-data': 7.29.7
5258
5258
+
'@babel/helper-validator-option': 7.29.7
5259
5259
+
browserslist: 4.28.2
5260
5260
+
lru-cache: 5.1.1
5261
5261
+
semver: 6.3.1
5262
5262
+
5263
5263
+
'@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)':
5264
5264
+
dependencies:
5265
5265
+
'@babel/core': 7.29.7
5266
5266
+
'@babel/helper-annotate-as-pure': 7.29.7
5267
5267
+
'@babel/helper-member-expression-to-functions': 7.29.7
5268
5268
+
'@babel/helper-optimise-call-expression': 7.29.7
5269
5269
+
'@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7)
5270
5270
+
'@babel/helper-skip-transparent-expression-wrappers': 7.29.7
5271
5271
+
'@babel/traverse': 7.29.7
5272
5272
+
semver: 6.3.1
5273
5273
+
transitivePeerDependencies:
5274
5274
+
- supports-color
5275
5275
+
5276
5276
+
'@babel/helper-globals@7.29.7': {}
5277
5277
+
5278
5278
+
'@babel/helper-member-expression-to-functions@7.29.7':
5279
5279
+
dependencies:
5280
5280
+
'@babel/traverse': 7.29.7
5281
5281
+
'@babel/types': 7.29.7
5282
5282
+
transitivePeerDependencies:
5283
5283
+
- supports-color
5284
5284
+
5285
5285
+
'@babel/helper-module-imports@7.29.7':
5286
5286
+
dependencies:
5287
5287
+
'@babel/traverse': 7.29.7
5288
5288
+
'@babel/types': 7.29.7
5289
5289
+
transitivePeerDependencies:
5290
5290
+
- supports-color
5291
5291
+
5292
5292
+
'@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
5293
5293
+
dependencies:
5294
5294
+
'@babel/core': 7.29.7
5295
5295
+
'@babel/helper-module-imports': 7.29.7
5296
5296
+
'@babel/helper-validator-identifier': 7.29.7
5297
5297
+
'@babel/traverse': 7.29.7
5298
5298
+
transitivePeerDependencies:
5299
5299
+
- supports-color
5300
5300
+
5301
5301
+
'@babel/helper-optimise-call-expression@7.29.7':
5302
5302
+
dependencies:
5303
5303
+
'@babel/types': 7.29.7
5304
5304
+
5305
5305
+
'@babel/helper-plugin-utils@7.29.7': {}
5306
5306
+
5307
5307
+
'@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)':
5308
5308
+
dependencies:
5309
5309
+
'@babel/core': 7.29.7
5310
5310
+
'@babel/helper-member-expression-to-functions': 7.29.7
5311
5311
+
'@babel/helper-optimise-call-expression': 7.29.7
5312
5312
+
'@babel/traverse': 7.29.7
5313
5313
+
transitivePeerDependencies:
5314
5314
+
- supports-color
5315
5315
+
5316
5316
+
'@babel/helper-skip-transparent-expression-wrappers@7.29.7':
5317
5317
+
dependencies:
5318
5318
+
'@babel/traverse': 7.29.7
5319
5319
+
'@babel/types': 7.29.7
5320
5320
+
transitivePeerDependencies:
5321
5321
+
- supports-color
5322
5322
+
4291
5323
'@babel/helper-string-parser@7.29.7': {}
4292
5324
4293
5325
'@babel/helper-validator-identifier@7.28.5': {}
4294
5326
4295
5327
'@babel/helper-validator-identifier@7.29.7': {}
4296
5328
5329
5329
+
'@babel/helper-validator-option@7.29.7': {}
5330
5330
+
5331
5331
+
'@babel/helpers@7.29.7':
5332
5332
+
dependencies:
5333
5333
+
'@babel/template': 7.29.7
5334
5334
+
'@babel/types': 7.29.7
5335
5335
+
4297
5336
'@babel/parser@7.27.0':
4298
5337
dependencies:
4299
5338
'@babel/types': 7.29.0
···
4302
5341
dependencies:
4303
5342
'@babel/types': 7.29.0
4304
5343
5344
5344
+
'@babel/parser@7.29.7':
5345
5345
+
dependencies:
5346
5346
+
'@babel/types': 7.29.7
5347
5347
+
5348
5348
+
'@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)':
5349
5349
+
dependencies:
5350
5350
+
'@babel/core': 7.29.7
5351
5351
+
'@babel/helper-plugin-utils': 7.29.7
5352
5352
+
5353
5353
+
'@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)':
5354
5354
+
dependencies:
5355
5355
+
'@babel/core': 7.29.7
5356
5356
+
'@babel/helper-plugin-utils': 7.29.7
5357
5357
+
5358
5358
+
'@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)':
5359
5359
+
dependencies:
5360
5360
+
'@babel/core': 7.29.7
5361
5361
+
'@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
5362
5362
+
'@babel/helper-plugin-utils': 7.29.7
5363
5363
+
transitivePeerDependencies:
5364
5364
+
- supports-color
5365
5365
+
5366
5366
+
'@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)':
5367
5367
+
dependencies:
5368
5368
+
'@babel/core': 7.29.7
5369
5369
+
'@babel/helper-annotate-as-pure': 7.29.7
5370
5370
+
'@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
5371
5371
+
'@babel/helper-plugin-utils': 7.29.7
5372
5372
+
'@babel/helper-skip-transparent-expression-wrappers': 7.29.7
5373
5373
+
'@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
5374
5374
+
transitivePeerDependencies:
5375
5375
+
- supports-color
5376
5376
+
5377
5377
+
'@babel/preset-typescript@7.29.7(@babel/core@7.29.7)':
5378
5378
+
dependencies:
5379
5379
+
'@babel/core': 7.29.7
5380
5380
+
'@babel/helper-plugin-utils': 7.29.7
5381
5381
+
'@babel/helper-validator-option': 7.29.7
5382
5382
+
'@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
5383
5383
+
'@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7)
5384
5384
+
'@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
5385
5385
+
transitivePeerDependencies:
5386
5386
+
- supports-color
5387
5387
+
4305
5388
'@babel/template@7.28.6':
4306
5389
dependencies:
4307
5390
'@babel/code-frame': 7.29.0
4308
5391
'@babel/parser': 7.29.3
4309
5392
'@babel/types': 7.29.0
4310
5393
5394
5394
+
'@babel/template@7.29.7':
5395
5395
+
dependencies:
5396
5396
+
'@babel/code-frame': 7.29.7
5397
5397
+
'@babel/parser': 7.29.7
5398
5398
+
'@babel/types': 7.29.7
5399
5399
+
4311
5400
'@babel/traverse@7.27.0':
4312
5401
dependencies:
4313
5402
'@babel/code-frame': 7.29.0
···
4320
5409
transitivePeerDependencies:
4321
5410
- supports-color
4322
5411
5412
5412
+
'@babel/traverse@7.29.7':
5413
5413
+
dependencies:
5414
5414
+
'@babel/code-frame': 7.29.7
5415
5415
+
'@babel/generator': 7.29.7
5416
5416
+
'@babel/helper-globals': 7.29.7
5417
5417
+
'@babel/parser': 7.29.7
5418
5418
+
'@babel/template': 7.29.7
5419
5419
+
'@babel/types': 7.29.7
5420
5420
+
debug: 4.4.3
5421
5421
+
transitivePeerDependencies:
5422
5422
+
- supports-color
5423
5423
+
4323
5424
'@babel/types@7.29.0':
5425
5425
+
dependencies:
5426
5426
+
'@babel/helper-string-parser': 7.29.7
5427
5427
+
'@babel/helper-validator-identifier': 7.29.7
5428
5428
+
5429
5429
+
'@babel/types@7.29.7':
4324
5430
dependencies:
4325
5431
'@babel/helper-string-parser': 7.29.7
4326
5432
'@babel/helper-validator-identifier': 7.29.7
···
4344
5450
optionalDependencies:
4345
5451
drizzle-orm: 0.45.2(kysely@0.28.17)(postgres@3.4.9)
4346
5452
4347
4347
-
'@better-auth/infra@0.2.8(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/sso@1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3)))(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(zod@4.4.3)':
5453
5453
+
'@better-auth/infra@0.2.8(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/sso@1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3)))(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(zod@4.4.3)':
4348
5454
dependencies:
4349
5455
'@better-auth/core': 1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0)
4350
4350
-
'@better-auth/sso': 1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3))
5456
5456
+
'@better-auth/sso': 1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3))
4351
5457
'@better-fetch/fetch': 1.1.21
4352
4352
-
better-auth: 1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
5458
5458
+
better-auth: 1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4353
5459
better-call: 1.3.5(zod@4.4.3)
4354
5460
jose: 6.2.3
4355
5461
libphonenumber-js: 1.13.1
···
4377
5483
'@better-auth/core': 1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0)
4378
5484
'@better-auth/utils': 0.4.0
4379
5485
4380
4380
-
'@better-auth/sso@1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3))':
5486
5486
+
'@better-auth/sso@1.6.9(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(better-call@1.3.5(zod@4.4.3))':
4381
5487
dependencies:
4382
5488
'@better-auth/core': 1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0)
4383
5489
'@better-auth/utils': 0.4.0
4384
5490
'@better-fetch/fetch': 1.1.21
4385
4385
-
better-auth: 1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
5491
5491
+
better-auth: 1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4386
5492
better-call: 1.3.5(zod@4.4.3)
4387
5493
fast-xml-parser: 5.8.0
4388
5494
jose: 6.2.3
···
4520
5626
optionalDependencies:
4521
5627
conventional-commits-parser: 6.4.0
4522
5628
4523
4523
-
'@date-fns/tz@1.4.1': {}
5629
5629
+
'@date-fns/tz@1.5.0': {}
5630
5630
+
5631
5631
+
'@dotenvx/dotenvx@1.69.1':
5632
5632
+
dependencies:
5633
5633
+
commander: 11.1.0
5634
5634
+
dotenv: 17.4.2
5635
5635
+
eciesjs: 0.4.18
5636
5636
+
enquirer: 2.4.1
5637
5637
+
execa: 5.1.1
5638
5638
+
fdir: 6.5.0(picomatch@4.0.4)
5639
5639
+
ignore: 5.3.2
5640
5640
+
object-treeify: 1.1.33
5641
5641
+
picomatch: 4.0.4
5642
5642
+
which: 4.0.0
5643
5643
+
yocto-spinner: 1.2.0
4524
5644
4525
5645
'@drizzle-team/brocli@0.10.2': {}
5646
5646
+
5647
5647
+
'@ecies/ciphers@0.2.6(@noble/ciphers@1.3.0)':
5648
5648
+
dependencies:
5649
5649
+
'@noble/ciphers': 1.3.0
4526
5650
4527
5651
'@emnapi/runtime@1.10.0':
4528
5652
dependencies:
···
4890
6014
4891
6015
'@floating-ui/utils@0.2.11': {}
4892
6016
6017
6017
+
'@hono/node-server@1.19.14(hono@4.12.23)':
6018
6018
+
dependencies:
6019
6019
+
hono: 4.12.23
6020
6020
+
4893
6021
'@humanfs/core@0.19.2':
4894
6022
dependencies:
4895
6023
'@humanfs/types': 0.15.0
···
5003
6131
'@img/sharp-win32-x64@0.34.5':
5004
6132
optional: true
5005
6133
6134
6134
+
'@inquirer/ansi@2.0.6': {}
6135
6135
+
6136
6136
+
'@inquirer/confirm@6.1.0(@types/node@25.6.0)':
6137
6137
+
dependencies:
6138
6138
+
'@inquirer/core': 11.2.0(@types/node@25.6.0)
6139
6139
+
'@inquirer/type': 4.0.6(@types/node@25.6.0)
6140
6140
+
optionalDependencies:
6141
6141
+
'@types/node': 25.6.0
6142
6142
+
6143
6143
+
'@inquirer/core@11.2.0(@types/node@25.6.0)':
6144
6144
+
dependencies:
6145
6145
+
'@inquirer/ansi': 2.0.6
6146
6146
+
'@inquirer/figures': 2.0.6
6147
6147
+
'@inquirer/type': 4.0.6(@types/node@25.6.0)
6148
6148
+
cli-width: 4.1.0
6149
6149
+
fast-wrap-ansi: 0.2.2
6150
6150
+
mute-stream: 4.0.0
6151
6151
+
signal-exit: 4.1.0
6152
6152
+
optionalDependencies:
6153
6153
+
'@types/node': 25.6.0
6154
6154
+
6155
6155
+
'@inquirer/figures@2.0.6': {}
6156
6156
+
6157
6157
+
'@inquirer/type@4.0.6(@types/node@25.6.0)':
6158
6158
+
optionalDependencies:
6159
6159
+
'@types/node': 25.6.0
6160
6160
+
5006
6161
'@jridgewell/gen-mapping@0.3.13':
5007
6162
dependencies:
5008
6163
'@jridgewell/sourcemap-codec': 1.5.5
···
5027
6182
react: 18.3.1
5028
6183
react-dom: 18.3.1(react@18.3.1)
5029
6184
6185
6185
+
'@modelcontextprotocol/sdk@1.29.0(zod@3.24.1)':
6186
6186
+
dependencies:
6187
6187
+
'@hono/node-server': 1.19.14(hono@4.12.23)
6188
6188
+
ajv: 8.20.0
6189
6189
+
ajv-formats: 3.0.1(ajv@8.20.0)
6190
6190
+
content-type: 1.0.5
6191
6191
+
cors: 2.8.6
6192
6192
+
cross-spawn: 7.0.6
6193
6193
+
eventsource: 3.0.7
6194
6194
+
eventsource-parser: 3.1.0
6195
6195
+
express: 5.2.1
6196
6196
+
express-rate-limit: 8.5.2(express@5.2.1)
6197
6197
+
hono: 4.12.23
6198
6198
+
jose: 6.2.3
6199
6199
+
json-schema-typed: 8.0.2
6200
6200
+
pkce-challenge: 5.0.0
6201
6201
+
raw-body: 3.0.2
6202
6202
+
zod: 3.24.1
6203
6203
+
zod-to-json-schema: 3.25.2(zod@3.24.1)
6204
6204
+
transitivePeerDependencies:
6205
6205
+
- supports-color
6206
6206
+
6207
6207
+
'@mswjs/interceptors@0.41.9':
6208
6208
+
dependencies:
6209
6209
+
'@open-draft/deferred-promise': 2.2.0
6210
6210
+
'@open-draft/logger': 0.3.0
6211
6211
+
'@open-draft/until': 2.1.0
6212
6212
+
is-node-process: 1.2.0
6213
6213
+
outvariant: 1.4.3
6214
6214
+
strict-event-emitter: 0.5.1
6215
6215
+
5030
6216
'@next/env@16.2.6': {}
5031
6217
5032
6218
'@next/eslint-plugin-next@16.2.6':
···
5057
6243
'@next/swc-win32-x64-msvc@16.2.6':
5058
6244
optional: true
5059
6245
6246
6246
+
'@noble/ciphers@1.3.0': {}
6247
6247
+
5060
6248
'@noble/ciphers@2.2.0': {}
6249
6249
+
6250
6250
+
'@noble/curves@1.9.7':
6251
6251
+
dependencies:
6252
6252
+
'@noble/hashes': 1.8.0
6253
6253
+
6254
6254
+
'@noble/hashes@1.8.0': {}
5061
6255
5062
6256
'@noble/hashes@2.2.0': {}
5063
6257
···
5074
6268
dependencies:
5075
6269
'@nodelib/fs.scandir': 2.1.5
5076
6270
fastq: 1.20.1
6271
6271
+
6272
6272
+
'@open-draft/deferred-promise@2.2.0': {}
6273
6273
+
6274
6274
+
'@open-draft/deferred-promise@3.0.0': {}
6275
6275
+
6276
6276
+
'@open-draft/logger@0.3.0':
6277
6277
+
dependencies:
6278
6278
+
is-node-process: 1.2.0
6279
6279
+
outvariant: 1.4.3
6280
6280
+
6281
6281
+
'@open-draft/until@2.1.0': {}
5077
6282
5078
6283
'@opentelemetry/semantic-conventions@1.40.0': {}
5079
6284
···
5895
7100
react: 18.3.1
5896
7101
react-dom: 18.3.1(react@18.3.1)
5897
7102
5898
5898
-
'@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1))(react@18.3.1)':
7103
7103
+
'@reduxjs/toolkit@2.11.2(react-redux@9.3.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1))(react@18.3.1)':
5899
7104
dependencies:
5900
7105
'@standard-schema/spec': 1.1.0
5901
7106
'@standard-schema/utils': 0.3.0
5902
7107
immer: 11.1.8
5903
7108
redux: 5.0.1
5904
7109
redux-thunk: 3.1.0(redux@5.0.1)
5905
5905
-
reselect: 5.1.1
7110
7110
+
reselect: 5.2.0
5906
7111
optionalDependencies:
5907
7112
react: 18.3.1
5908
5908
-
react-redux: 9.2.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1)
7113
7113
+
react-redux: 9.3.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1)
7114
7114
+
7115
7115
+
'@sec-ant/readable-stream@0.4.1': {}
5909
7116
5910
7117
'@selderee/plugin-htmlparser2@0.11.0':
5911
7118
dependencies:
···
5918
7125
5919
7126
'@simple-libs/stream-utils@1.2.0': {}
5920
7127
7128
7128
+
'@sindresorhus/merge-streams@4.0.0': {}
7129
7129
+
5921
7130
'@socket.io/component-emitter@3.1.2': {}
5922
7131
5923
7132
'@stablelib/base64@1.0.1': {}
···
5929
7138
'@swc/helpers@0.5.15':
5930
7139
dependencies:
5931
7140
tslib: 2.8.1
5932
5932
-
5933
5933
-
'@tabby_ai/hijri-converter@1.0.5': {}
5934
7141
5935
7142
'@tailwindcss/node@4.3.0':
5936
7143
dependencies:
···
6001
7208
postcss: 8.5.14
6002
7209
tailwindcss: 4.3.0
6003
7210
7211
7211
+
'@ts-morph/common@0.27.0':
7212
7212
+
dependencies:
7213
7213
+
fast-glob: 3.3.3
7214
7214
+
minimatch: 10.2.5
7215
7215
+
path-browserify: 1.0.1
7216
7216
+
6004
7217
'@types/cors@2.8.19':
6005
7218
dependencies:
6006
7219
'@types/node': 25.6.0
···
6047
7260
dependencies:
6048
7261
csstype: 3.2.3
6049
7262
7263
7263
+
'@types/set-cookie-parser@2.4.10':
7264
7264
+
dependencies:
7265
7265
+
'@types/node': 25.6.0
7266
7266
+
7267
7267
+
'@types/statuses@2.0.6': {}
7268
7268
+
6050
7269
'@types/use-sync-external-store@0.0.6': {}
7270
7270
+
7271
7271
+
'@types/validate-npm-package-name@4.0.2': {}
6051
7272
6052
7273
'@types/ws@8.18.1':
6053
7274
dependencies:
···
6153
7374
mime-types: 2.1.35
6154
7375
negotiator: 0.6.3
6155
7376
7377
7377
+
accepts@2.0.0:
7378
7378
+
dependencies:
7379
7379
+
mime-types: 3.0.2
7380
7380
+
negotiator: 1.0.0
7381
7381
+
6156
7382
acorn-jsx@5.3.2(acorn@8.16.0):
6157
7383
dependencies:
6158
7384
acorn: 8.16.0
6159
7385
6160
7386
acorn@8.16.0: {}
7387
7387
+
7388
7388
+
agent-base@7.1.2:
7389
7389
+
dependencies:
7390
7390
+
debug: 4.4.3
7391
7391
+
transitivePeerDependencies:
7392
7392
+
- supports-color
6161
7393
6162
7394
ajv-formats@3.0.1(ajv@8.20.0):
6163
7395
optionalDependencies:
···
6177
7409
json-schema-traverse: 1.0.0
6178
7410
require-from-string: 2.0.2
6179
7411
7412
7412
+
ansi-colors@4.1.3: {}
7413
7413
+
6180
7414
ansi-escapes@7.3.0:
6181
7415
dependencies:
6182
7416
environment: 1.1.0
···
6203
7437
dependencies:
6204
7438
safer-buffer: 2.1.2
6205
7439
7440
7440
+
ast-types@0.16.1:
7441
7441
+
dependencies:
7442
7442
+
tslib: 2.8.1
7443
7443
+
6206
7444
atomically@2.1.1:
6207
7445
dependencies:
6208
7446
stubborn-fs: 2.0.0
···
6216
7454
6217
7455
bcryptjs@3.0.3: {}
6218
7456
6219
6219
-
better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
7457
7457
+
better-auth@1.6.11(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
6220
7458
dependencies:
6221
7459
'@better-auth/core': 1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0)
6222
7460
'@better-auth/drizzle-adapter': 1.6.11(@better-auth/core@1.6.11(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(drizzle-orm@0.45.2(kysely@0.28.17)(postgres@3.4.9))
···
6238
7476
optionalDependencies:
6239
7477
drizzle-kit: 0.31.10
6240
7478
drizzle-orm: 0.45.2(kysely@0.28.17)(postgres@3.4.9)
6241
6241
-
next: 16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
7479
7479
+
next: 16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6242
7480
react: 18.3.1
6243
7481
react-dom: 18.3.1(react@18.3.1)
6244
7482
transitivePeerDependencies:
···
6254
7492
optionalDependencies:
6255
7493
zod: 4.4.3
6256
7494
7495
7495
+
body-parser@2.2.2:
7496
7496
+
dependencies:
7497
7497
+
bytes: 3.1.2
7498
7498
+
content-type: 1.0.5
7499
7499
+
debug: 4.4.3
7500
7500
+
http-errors: 2.0.1
7501
7501
+
iconv-lite: 0.7.2
7502
7502
+
on-finished: 2.4.1
7503
7503
+
qs: 6.15.2
7504
7504
+
raw-body: 3.0.2
7505
7505
+
type-is: 2.1.0
7506
7506
+
transitivePeerDependencies:
7507
7507
+
- supports-color
7508
7508
+
6257
7509
brace-expansion@5.0.6:
6258
7510
dependencies:
6259
7511
balanced-match: 4.0.4
···
6262
7514
dependencies:
6263
7515
fill-range: 7.1.1
6264
7516
7517
7517
+
browserslist@4.28.2:
7518
7518
+
dependencies:
7519
7519
+
baseline-browser-mapping: 2.10.28
7520
7520
+
caniuse-lite: 1.0.30001792
7521
7521
+
electron-to-chromium: 1.5.363
7522
7522
+
node-releases: 2.0.46
7523
7523
+
update-browserslist-db: 1.2.3(browserslist@4.28.2)
7524
7524
+
6265
7525
buffer-from@1.1.2: {}
6266
7526
7527
7527
+
bundle-name@4.1.0:
7528
7528
+
dependencies:
7529
7529
+
run-applescript: 7.1.0
7530
7530
+
7531
7531
+
bytes@3.1.2: {}
7532
7532
+
7533
7533
+
call-bind-apply-helpers@1.0.2:
7534
7534
+
dependencies:
7535
7535
+
es-errors: 1.3.0
7536
7536
+
function-bind: 1.1.2
7537
7537
+
7538
7538
+
call-bound@1.0.4:
7539
7539
+
dependencies:
7540
7540
+
call-bind-apply-helpers: 1.0.2
7541
7541
+
get-intrinsic: 1.3.0
7542
7542
+
6267
7543
callsites@3.1.0: {}
6268
7544
6269
7545
camelcase@6.3.0: {}
6270
7546
6271
7547
caniuse-lite@1.0.30001792: {}
6272
7548
7549
7549
+
chalk@5.6.2: {}
7550
7550
+
6273
7551
chokidar@4.0.3:
6274
7552
dependencies:
6275
7553
readdirp: 4.1.2
···
6284
7562
dependencies:
6285
7563
restore-cursor: 5.1.0
6286
7564
7565
7565
+
cli-spinners@2.9.2: {}
7566
7566
+
6287
7567
cli-truncate@5.2.0:
6288
7568
dependencies:
6289
7569
slice-ansi: 8.0.0
6290
7570
string-width: 8.2.1
6291
7571
7572
7572
+
cli-width@4.1.0: {}
7573
7573
+
6292
7574
client-only@0.0.1: {}
6293
7575
6294
7576
cliui@8.0.1:
···
6299
7581
6300
7582
clsx@2.1.1: {}
6301
7583
7584
7584
+
code-block-writer@13.0.3: {}
7585
7585
+
6302
7586
color-convert@2.0.1:
6303
7587
dependencies:
6304
7588
color-name: 1.1.4
6305
7589
6306
7590
color-name@1.1.4: {}
6307
7591
7592
7592
+
commander@11.1.0: {}
7593
7593
+
6308
7594
commander@13.1.0: {}
7595
7595
+
7596
7596
+
commander@14.0.3: {}
6309
7597
6310
7598
compare-func@2.0.0:
6311
7599
dependencies:
···
6323
7611
json-schema-typed: 8.0.2
6324
7612
semver: 7.8.0
6325
7613
uint8array-extras: 1.5.0
7614
7614
+
7615
7615
+
content-disposition@1.1.0: {}
7616
7616
+
7617
7617
+
content-type@1.0.5: {}
7618
7618
+
7619
7619
+
content-type@2.0.0: {}
6326
7620
6327
7621
conventional-changelog-angular@8.3.1:
6328
7622
dependencies:
···
6337
7631
'@simple-libs/stream-utils': 1.2.0
6338
7632
meow: 13.2.0
6339
7633
7634
7634
+
convert-source-map@2.0.0: {}
7635
7635
+
7636
7636
+
cookie-signature@1.2.2: {}
7637
7637
+
6340
7638
cookie@0.7.2: {}
7639
7639
+
7640
7640
+
cookie@1.1.1: {}
6341
7641
6342
7642
cors@2.8.6:
6343
7643
dependencies:
···
6370
7670
dependencies:
6371
7671
mdn-data: 2.27.1
6372
7672
source-map-js: 1.2.1
7673
7673
+
7674
7674
+
cssesc@3.0.0: {}
6373
7675
6374
7676
csstype@3.2.3: {}
6375
7677
···
6411
7713
6412
7714
d3-timer@3.0.1: {}
6413
7715
6414
6414
-
date-fns-jalali@4.1.0-0: {}
6415
6415
-
6416
6416
-
date-fns@4.1.0: {}
7716
7716
+
data-uri-to-buffer@4.0.0: {}
6417
7717
6418
7718
date-fns@4.3.0: {}
6419
7719
···
6429
7729
6430
7730
decimal.js-light@2.5.1: {}
6431
7731
7732
7732
+
dedent@1.7.2: {}
7733
7733
+
6432
7734
deep-is@0.1.4: {}
6433
7735
6434
7736
deepmerge@4.3.1: {}
6435
7737
7738
7738
+
default-browser-id@5.0.1: {}
7739
7739
+
7740
7740
+
default-browser@5.5.0:
7741
7741
+
dependencies:
7742
7742
+
bundle-name: 4.1.0
7743
7743
+
default-browser-id: 5.0.1
7744
7744
+
7745
7745
+
define-lazy-prop@3.0.0: {}
7746
7746
+
6436
7747
defu@6.1.7: {}
6437
7748
7749
7749
+
depd@2.0.0: {}
7750
7750
+
6438
7751
detect-libc@2.1.2: {}
6439
7752
6440
7753
detect-node-es@1.1.0: {}
7754
7754
+
7755
7755
+
diff@8.0.4: {}
6441
7756
6442
7757
dom-serializer@2.0.0:
6443
7758
dependencies:
···
6465
7780
dependencies:
6466
7781
is-obj: 2.0.0
6467
7782
7783
7783
+
dotenv@17.4.2: {}
7784
7784
+
6468
7785
drizzle-kit@0.31.10:
6469
7786
dependencies:
6470
7787
'@drizzle-team/brocli': 0.10.2
···
6477
7794
kysely: 0.28.17
6478
7795
postgres: 3.4.9
6479
7796
7797
7797
+
dunder-proto@1.0.1:
7798
7798
+
dependencies:
7799
7799
+
call-bind-apply-helpers: 1.0.2
7800
7800
+
es-errors: 1.3.0
7801
7801
+
gopd: 1.2.0
7802
7802
+
7803
7803
+
eciesjs@0.4.18:
7804
7804
+
dependencies:
7805
7805
+
'@ecies/ciphers': 0.2.6(@noble/ciphers@1.3.0)
7806
7806
+
'@noble/ciphers': 1.3.0
7807
7807
+
'@noble/curves': 1.9.7
7808
7808
+
'@noble/hashes': 1.8.0
7809
7809
+
7810
7810
+
ee-first@1.1.1: {}
7811
7811
+
7812
7812
+
electron-to-chromium@1.5.363: {}
7813
7813
+
6480
7814
emoji-regex@10.6.0: {}
6481
7815
6482
7816
emoji-regex@8.0.0: {}
7817
7817
+
7818
7818
+
encodeurl@2.0.0: {}
6483
7819
6484
7820
engine.io-parser@5.2.3: {}
6485
7821
···
6505
7841
graceful-fs: 4.2.11
6506
7842
tapable: 2.3.3
6507
7843
7844
7844
+
enquirer@2.4.1:
7845
7845
+
dependencies:
7846
7846
+
ansi-colors: 4.1.3
7847
7847
+
strip-ansi: 6.0.1
7848
7848
+
6508
7849
entities@4.5.0: {}
6509
7850
6510
7851
env-paths@2.2.1: {}
···
6517
7858
dependencies:
6518
7859
is-arrayish: 0.2.1
6519
7860
7861
7861
+
es-define-property@1.0.1: {}
7862
7862
+
7863
7863
+
es-errors@1.3.0: {}
7864
7864
+
7865
7865
+
es-object-atoms@1.1.2:
7866
7866
+
dependencies:
7867
7867
+
es-errors: 1.3.0
7868
7868
+
6520
7869
es-toolkit@1.46.1: {}
6521
7870
6522
7871
esbuild@0.18.20:
···
6702
8051
acorn-jsx: 5.3.2(acorn@8.16.0)
6703
8052
eslint-visitor-keys: 5.0.1
6704
8053
8054
8054
+
esprima@4.0.1: {}
8055
8055
+
6705
8056
esquery@1.7.0:
6706
8057
dependencies:
6707
8058
estraverse: 5.3.0
···
6714
8065
6715
8066
esutils@2.0.3: {}
6716
8067
8068
8068
+
etag@1.8.1: {}
8069
8069
+
6717
8070
eventemitter3@5.0.4: {}
6718
8071
6719
6719
-
evlog@2.18.1(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
8072
8072
+
eventsource-parser@3.1.0: {}
8073
8073
+
8074
8074
+
eventsource@3.0.7:
8075
8075
+
dependencies:
8076
8076
+
eventsource-parser: 3.1.0
8077
8077
+
8078
8078
+
evlog@2.18.1(express@5.2.1)(hono@4.12.23)(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
6720
8079
optionalDependencies:
6721
6721
-
next: 16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
8080
8080
+
express: 5.2.1
8081
8081
+
hono: 4.12.23
8082
8082
+
next: 16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
6722
8083
react: 18.3.1
6723
8084
8085
8085
+
execa@5.1.1:
8086
8086
+
dependencies:
8087
8087
+
cross-spawn: 7.0.6
8088
8088
+
get-stream: 6.0.1
8089
8089
+
human-signals: 2.1.0
8090
8090
+
is-stream: 2.0.1
8091
8091
+
merge-stream: 2.0.0
8092
8092
+
npm-run-path: 4.0.1
8093
8093
+
onetime: 5.1.2
8094
8094
+
signal-exit: 3.0.7
8095
8095
+
strip-final-newline: 2.0.0
8096
8096
+
8097
8097
+
execa@9.6.1:
8098
8098
+
dependencies:
8099
8099
+
'@sindresorhus/merge-streams': 4.0.0
8100
8100
+
cross-spawn: 7.0.6
8101
8101
+
figures: 6.1.0
8102
8102
+
get-stream: 9.0.1
8103
8103
+
human-signals: 8.0.1
8104
8104
+
is-plain-obj: 4.1.0
8105
8105
+
is-stream: 4.0.1
8106
8106
+
npm-run-path: 6.0.0
8107
8107
+
pretty-ms: 9.3.0
8108
8108
+
signal-exit: 4.1.0
8109
8109
+
strip-final-newline: 4.0.0
8110
8110
+
yoctocolors: 2.1.2
8111
8111
+
8112
8112
+
express-rate-limit@8.5.2(express@5.2.1):
8113
8113
+
dependencies:
8114
8114
+
express: 5.2.1
8115
8115
+
ip-address: 10.2.0
8116
8116
+
8117
8117
+
express@5.2.1:
8118
8118
+
dependencies:
8119
8119
+
accepts: 2.0.0
8120
8120
+
body-parser: 2.2.2
8121
8121
+
content-disposition: 1.1.0
8122
8122
+
content-type: 1.0.5
8123
8123
+
cookie: 0.7.2
8124
8124
+
cookie-signature: 1.2.2
8125
8125
+
debug: 4.4.3
8126
8126
+
depd: 2.0.0
8127
8127
+
encodeurl: 2.0.0
8128
8128
+
escape-html: 1.0.3
8129
8129
+
etag: 1.8.1
8130
8130
+
finalhandler: 2.1.1
8131
8131
+
fresh: 2.0.0
8132
8132
+
http-errors: 2.0.1
8133
8133
+
merge-descriptors: 2.0.0
8134
8134
+
mime-types: 3.0.2
8135
8135
+
on-finished: 2.4.1
8136
8136
+
once: 1.4.0
8137
8137
+
parseurl: 1.3.3
8138
8138
+
proxy-addr: 2.0.7
8139
8139
+
qs: 6.15.2
8140
8140
+
range-parser: 1.2.1
8141
8141
+
router: 2.2.0
8142
8142
+
send: 1.2.1
8143
8143
+
serve-static: 2.2.1
8144
8144
+
statuses: 2.0.2
8145
8145
+
type-is: 2.1.0
8146
8146
+
vary: 1.1.2
8147
8147
+
transitivePeerDependencies:
8148
8148
+
- supports-color
8149
8149
+
6724
8150
fast-deep-equal@3.1.3: {}
6725
8151
6726
8152
fast-glob@3.3.1:
···
6731
8157
merge2: 1.4.1
6732
8158
micromatch: 4.0.8
6733
8159
8160
8160
+
fast-glob@3.3.3:
8161
8161
+
dependencies:
8162
8162
+
'@nodelib/fs.stat': 2.0.5
8163
8163
+
'@nodelib/fs.walk': 1.2.8
8164
8164
+
glob-parent: 5.1.2
8165
8165
+
merge2: 1.4.1
8166
8166
+
micromatch: 4.0.8
8167
8167
+
6734
8168
fast-json-stable-stringify@2.1.0: {}
6735
8169
6736
8170
fast-levenshtein@2.0.6: {}
6737
8171
6738
8172
fast-sha256@1.3.0: {}
6739
8173
8174
8174
+
fast-string-truncated-width@3.0.3: {}
8175
8175
+
8176
8176
+
fast-string-width@3.0.2:
8177
8177
+
dependencies:
8178
8178
+
fast-string-truncated-width: 3.0.3
8179
8179
+
6740
8180
fast-uri@3.1.2: {}
8181
8181
+
8182
8182
+
fast-wrap-ansi@0.2.2:
8183
8183
+
dependencies:
8184
8184
+
fast-string-width: 3.0.2
6741
8185
6742
8186
fast-xml-builder@1.2.0:
6743
8187
dependencies:
···
6759
8203
fdir@6.5.0(picomatch@4.0.4):
6760
8204
optionalDependencies:
6761
8205
picomatch: 4.0.4
8206
8206
+
8207
8207
+
fetch-blob@3.2.0:
8208
8208
+
dependencies:
8209
8209
+
node-domexception: 1.0.0
8210
8210
+
web-streams-polyfill: 3.0.3
8211
8211
+
8212
8212
+
figures@6.1.0:
8213
8213
+
dependencies:
8214
8214
+
is-unicode-supported: 2.1.0
6762
8215
6763
8216
file-entry-cache@8.0.0:
6764
8217
dependencies:
···
6768
8221
dependencies:
6769
8222
to-regex-range: 5.0.1
6770
8223
8224
8224
+
finalhandler@2.1.1:
8225
8225
+
dependencies:
8226
8226
+
debug: 4.4.3
8227
8227
+
encodeurl: 2.0.0
8228
8228
+
escape-html: 1.0.3
8229
8229
+
on-finished: 2.4.1
8230
8230
+
parseurl: 1.3.3
8231
8231
+
statuses: 2.0.2
8232
8232
+
transitivePeerDependencies:
8233
8233
+
- supports-color
8234
8234
+
6771
8235
find-up@5.0.0:
6772
8236
dependencies:
6773
8237
locate-path: 6.0.0
···
6780
8244
6781
8245
flatted@3.4.2: {}
6782
8246
8247
8247
+
formdata-polyfill@4.0.10:
8248
8248
+
dependencies:
8249
8249
+
fetch-blob: 3.2.0
8250
8250
+
8251
8251
+
forwarded@0.2.0: {}
8252
8252
+
6783
8253
framer-motion@12.40.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
6784
8254
dependencies:
6785
8255
motion-dom: 12.40.0
···
6788
8258
optionalDependencies:
6789
8259
react: 18.3.1
6790
8260
react-dom: 18.3.1(react@18.3.1)
8261
8261
+
8262
8262
+
fresh@2.0.0: {}
8263
8263
+
8264
8264
+
fs-extra@11.3.5:
8265
8265
+
dependencies:
8266
8266
+
graceful-fs: 4.2.11
8267
8267
+
jsonfile: 6.2.1
8268
8268
+
universalify: 2.0.1
6791
8269
6792
8270
fsevents@2.3.3:
6793
8271
optional: true
6794
8272
6795
6795
-
geist@1.7.1(next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
8273
8273
+
function-bind@1.1.2: {}
8274
8274
+
8275
8275
+
fuzzysort@3.1.0: {}
8276
8276
+
8277
8277
+
geist@1.7.1(next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
6796
8278
dependencies:
6797
6797
-
next: 16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
8279
8279
+
next: 16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
8280
8280
+
8281
8281
+
gensync@1.0.0-beta.2: {}
6798
8282
6799
8283
get-caller-file@2.0.5: {}
6800
8284
6801
8285
get-east-asian-width@1.6.0: {}
6802
8286
8287
8287
+
get-intrinsic@1.3.0:
8288
8288
+
dependencies:
8289
8289
+
call-bind-apply-helpers: 1.0.2
8290
8290
+
es-define-property: 1.0.1
8291
8291
+
es-errors: 1.3.0
8292
8292
+
es-object-atoms: 1.1.2
8293
8293
+
function-bind: 1.1.2
8294
8294
+
get-proto: 1.0.1
8295
8295
+
gopd: 1.2.0
8296
8296
+
has-symbols: 1.1.0
8297
8297
+
hasown: 2.0.3
8298
8298
+
math-intrinsics: 1.1.0
8299
8299
+
6803
8300
get-nonce@1.0.1: {}
6804
8301
8302
8302
+
get-own-enumerable-keys@1.0.0: {}
8303
8303
+
8304
8304
+
get-proto@1.0.1:
8305
8305
+
dependencies:
8306
8306
+
dunder-proto: 1.0.1
8307
8307
+
es-object-atoms: 1.1.2
8308
8308
+
8309
8309
+
get-stream@6.0.1: {}
8310
8310
+
8311
8311
+
get-stream@9.0.1:
8312
8312
+
dependencies:
8313
8313
+
'@sec-ant/readable-stream': 0.4.1
8314
8314
+
is-stream: 4.0.1
8315
8315
+
6805
8316
get-tsconfig@4.14.0:
6806
8317
dependencies:
6807
8318
resolve-pkg-maps: 1.0.0
···
6834
8345
6835
8346
globals@11.12.0: {}
6836
8347
8348
8348
+
gopd@1.2.0: {}
8349
8349
+
6837
8350
graceful-fs@4.2.11: {}
6838
8351
8352
8352
+
graphql@16.14.0: {}
8353
8353
+
8354
8354
+
has-symbols@1.1.0: {}
8355
8355
+
8356
8356
+
hasown@2.0.3:
8357
8357
+
dependencies:
8358
8358
+
function-bind: 1.1.2
8359
8359
+
8360
8360
+
headers-polyfill@5.0.1:
8361
8361
+
dependencies:
8362
8362
+
'@types/set-cookie-parser': 2.4.10
8363
8363
+
set-cookie-parser: 3.1.0
8364
8364
+
8365
8365
+
hono@4.12.23: {}
8366
8366
+
6839
8367
html-to-text@9.0.5:
6840
8368
dependencies:
6841
8369
'@selderee/plugin-htmlparser2': 0.11.0
···
6851
8379
domutils: 3.2.2
6852
8380
entities: 4.5.0
6853
8381
8382
8382
+
http-errors@2.0.1:
8383
8383
+
dependencies:
8384
8384
+
depd: 2.0.0
8385
8385
+
inherits: 2.0.4
8386
8386
+
setprototypeof: 1.2.0
8387
8387
+
statuses: 2.0.2
8388
8388
+
toidentifier: 1.0.1
8389
8389
+
8390
8390
+
https-proxy-agent@7.0.6:
8391
8391
+
dependencies:
8392
8392
+
agent-base: 7.1.2
8393
8393
+
debug: 4.4.3
8394
8394
+
transitivePeerDependencies:
8395
8395
+
- supports-color
8396
8396
+
8397
8397
+
human-signals@2.1.0: {}
8398
8398
+
8399
8399
+
human-signals@8.0.1: {}
8400
8400
+
6854
8401
husky@9.1.7: {}
6855
8402
8403
8403
+
iconv-lite@0.7.2:
8404
8404
+
dependencies:
8405
8405
+
safer-buffer: 2.1.2
8406
8406
+
6856
8407
ignore@5.3.2: {}
6857
8408
6858
8409
ignore@7.0.5: {}
···
6870
8421
6871
8422
imurmurhash@0.1.4: {}
6872
8423
8424
8424
+
inherits@2.0.4: {}
8425
8425
+
6873
8426
ini@6.0.0: {}
6874
8427
8428
8428
+
input-otp@1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
8429
8429
+
dependencies:
8430
8430
+
react: 18.3.1
8431
8431
+
react-dom: 18.3.1(react@18.3.1)
8432
8432
+
6875
8433
internmap@2.0.3: {}
6876
8434
8435
8435
+
ip-address@10.2.0: {}
8436
8436
+
8437
8437
+
ipaddr.js@1.9.1: {}
8438
8438
+
6877
8439
is-arrayish@0.2.1: {}
6878
8440
8441
8441
+
is-docker@3.0.0: {}
8442
8442
+
6879
8443
is-extglob@2.1.1: {}
6880
8444
6881
8445
is-fullwidth-code-point@3.0.0: {}
···
6888
8452
dependencies:
6889
8453
is-extglob: 2.1.1
6890
8454
8455
8455
+
is-in-ssh@1.0.0: {}
8456
8456
+
8457
8457
+
is-inside-container@1.0.0:
8458
8458
+
dependencies:
8459
8459
+
is-docker: 3.0.0
8460
8460
+
8461
8461
+
is-interactive@2.0.0: {}
8462
8462
+
8463
8463
+
is-node-process@1.2.0: {}
8464
8464
+
6891
8465
is-number@7.0.0: {}
6892
8466
6893
8467
is-obj@2.0.0: {}
6894
8468
8469
8469
+
is-obj@3.0.0: {}
8470
8470
+
6895
8471
is-plain-obj@4.1.0: {}
6896
8472
8473
8473
+
is-promise@4.0.0: {}
8474
8474
+
8475
8475
+
is-regexp@3.1.0: {}
8476
8476
+
8477
8477
+
is-stream@2.0.1: {}
8478
8478
+
8479
8479
+
is-stream@4.0.1: {}
8480
8480
+
8481
8481
+
is-unicode-supported@1.3.0: {}
8482
8482
+
6897
8483
is-unicode-supported@2.1.0: {}
6898
8484
8485
8485
+
is-wsl@3.1.1:
8486
8486
+
dependencies:
8487
8487
+
is-inside-container: 1.0.0
8488
8488
+
6899
8489
isexe@2.0.0: {}
8490
8490
+
8491
8491
+
isexe@3.1.5: {}
6900
8492
6901
8493
jiti@2.4.2: {}
6902
8494
···
6930
8522
6931
8523
jsonc-parser@3.3.1: {}
6932
8524
8525
8525
+
jsonfile@6.2.1:
8526
8526
+
dependencies:
8527
8527
+
universalify: 2.0.1
8528
8528
+
optionalDependencies:
8529
8529
+
graceful-fs: 4.2.11
8530
8530
+
6933
8531
keyv@4.5.4:
6934
8532
dependencies:
6935
8533
json-buffer: 3.0.1
6936
8534
6937
8535
kleur@3.0.3: {}
8536
8536
+
8537
8537
+
kleur@4.1.5: {}
6938
8538
6939
8539
kysely@0.28.17: {}
6940
8540
···
7019
8619
dependencies:
7020
8620
p-locate: 5.0.0
7021
8621
8622
8622
+
log-symbols@6.0.0:
8623
8623
+
dependencies:
8624
8624
+
chalk: 5.6.2
8625
8625
+
is-unicode-supported: 1.3.0
8626
8626
+
7022
8627
log-symbols@7.0.1:
7023
8628
dependencies:
7024
8629
is-unicode-supported: 2.1.0
···
7038
8643
7039
8644
lru-cache@11.3.6: {}
7040
8645
8646
8646
+
lru-cache@5.1.1:
8647
8647
+
dependencies:
8648
8648
+
yallist: 3.1.1
8649
8649
+
7041
8650
lucide-react@1.17.0(react@18.3.1):
7042
8651
dependencies:
7043
8652
react: 18.3.1
···
7048
8657
7049
8658
marked@15.0.12: {}
7050
8659
8660
8660
+
math-intrinsics@1.1.0: {}
8661
8661
+
7051
8662
mdn-data@2.27.1: {}
7052
8663
8664
8664
+
media-typer@1.1.0: {}
8665
8665
+
7053
8666
meow@13.2.0: {}
7054
8667
8668
8668
+
merge-descriptors@2.0.0: {}
8669
8669
+
8670
8670
+
merge-stream@2.0.0: {}
8671
8671
+
7055
8672
merge2@1.4.1: {}
7056
8673
7057
8674
micromatch@4.0.8:
···
7071
8688
dependencies:
7072
8689
mime-db: 1.54.0
7073
8690
8691
8691
+
mimic-fn@2.1.0: {}
8692
8692
+
7074
8693
mimic-function@5.0.1: {}
7075
8694
7076
8695
minimatch@10.2.5:
···
7089
8708
7090
8709
ms@2.1.3: {}
7091
8710
8711
8711
+
msw@2.14.6(@types/node@25.6.0)(typescript@6.0.3):
8712
8712
+
dependencies:
8713
8713
+
'@inquirer/confirm': 6.1.0(@types/node@25.6.0)
8714
8714
+
'@mswjs/interceptors': 0.41.9
8715
8715
+
'@open-draft/deferred-promise': 3.0.0
8716
8716
+
'@types/statuses': 2.0.6
8717
8717
+
cookie: 1.1.1
8718
8718
+
graphql: 16.14.0
8719
8719
+
headers-polyfill: 5.0.1
8720
8720
+
is-node-process: 1.2.0
8721
8721
+
outvariant: 1.4.3
8722
8722
+
path-to-regexp: 6.3.0
8723
8723
+
picocolors: 1.1.1
8724
8724
+
rettime: 0.11.11
8725
8725
+
statuses: 2.0.2
8726
8726
+
strict-event-emitter: 0.5.1
8727
8727
+
tough-cookie: 6.0.1
8728
8728
+
type-fest: 5.6.0
8729
8729
+
until-async: 3.0.2
8730
8730
+
yargs: 17.7.2
8731
8731
+
optionalDependencies:
8732
8732
+
typescript: 6.0.3
8733
8733
+
transitivePeerDependencies:
8734
8734
+
- '@types/node'
8735
8735
+
8736
8736
+
mute-stream@4.0.0: {}
8737
8737
+
7092
8738
nanoid@3.3.12: {}
7093
8739
7094
8740
nanostores@1.3.0: {}
···
7096
8742
natural-compare@1.4.0: {}
7097
8743
7098
8744
negotiator@0.6.3: {}
8745
8745
+
8746
8746
+
negotiator@1.0.0: {}
7099
8747
7100
8748
next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
7101
8749
dependencies:
7102
8750
react: 18.3.1
7103
8751
react-dom: 18.3.1(react@18.3.1)
7104
8752
7105
7105
-
next@16.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
8753
8753
+
next@16.2.6(@babel/core@7.29.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
7106
8754
dependencies:
7107
8755
'@next/env': 16.2.6
7108
8756
'@swc/helpers': 0.5.15
···
7111
8759
postcss: 8.4.31
7112
8760
react: 18.3.1
7113
8761
react-dom: 18.3.1(react@18.3.1)
7114
7114
-
styled-jsx: 5.1.6(react@18.3.1)
8762
8762
+
styled-jsx: 5.1.6(@babel/core@7.29.7)(react@18.3.1)
7115
8763
optionalDependencies:
7116
8764
'@next/swc-darwin-arm64': 16.2.6
7117
8765
'@next/swc-darwin-x64': 16.2.6
···
7125
8773
transitivePeerDependencies:
7126
8774
- '@babel/core'
7127
8775
- babel-plugin-macros
8776
8776
+
8777
8777
+
node-domexception@1.0.0: {}
8778
8778
+
8779
8779
+
node-fetch@3.3.2:
8780
8780
+
dependencies:
8781
8781
+
data-uri-to-buffer: 4.0.0
8782
8782
+
fetch-blob: 3.2.0
8783
8783
+
formdata-polyfill: 4.0.10
7128
8784
7129
8785
node-forge@1.4.0: {}
7130
8786
8787
8787
+
node-releases@2.0.46: {}
8788
8788
+
7131
8789
node-rsa@1.1.1:
7132
8790
dependencies:
7133
8791
asn1: 0.2.6
7134
8792
7135
8793
normalize-path@3.0.0: {}
7136
8794
8795
8795
+
npm-run-path@4.0.1:
8796
8796
+
dependencies:
8797
8797
+
path-key: 3.1.1
8798
8798
+
8799
8799
+
npm-run-path@6.0.0:
8800
8800
+
dependencies:
8801
8801
+
path-key: 4.0.0
8802
8802
+
unicorn-magic: 0.3.0
8803
8803
+
7137
8804
nypm@0.6.6:
7138
8805
dependencies:
7139
8806
citty: 0.2.2
···
7142
8809
7143
8810
object-assign@4.1.1: {}
7144
8811
8812
8812
+
object-inspect@1.13.4: {}
8813
8813
+
8814
8814
+
object-treeify@1.1.33: {}
8815
8815
+
8816
8816
+
on-finished@2.4.1:
8817
8817
+
dependencies:
8818
8818
+
ee-first: 1.1.1
8819
8819
+
8820
8820
+
once@1.4.0:
8821
8821
+
dependencies:
8822
8822
+
wrappy: 1.0.2
8823
8823
+
8824
8824
+
onetime@5.1.2:
8825
8825
+
dependencies:
8826
8826
+
mimic-fn: 2.1.0
8827
8827
+
7145
8828
onetime@7.0.0:
7146
8829
dependencies:
7147
8830
mimic-function: 5.0.1
7148
8831
8832
8832
+
open@11.0.0:
8833
8833
+
dependencies:
8834
8834
+
default-browser: 5.5.0
8835
8835
+
define-lazy-prop: 3.0.0
8836
8836
+
is-in-ssh: 1.0.0
8837
8837
+
is-inside-container: 1.0.0
8838
8838
+
powershell-utils: 0.1.0
8839
8839
+
wsl-utils: 0.3.1
8840
8840
+
7149
8841
optionator@0.9.4:
7150
8842
dependencies:
7151
8843
deep-is: 0.1.4
···
7155
8847
type-check: 0.4.0
7156
8848
word-wrap: 1.2.5
7157
8849
8850
8850
+
ora@8.2.0:
8851
8851
+
dependencies:
8852
8852
+
chalk: 5.6.2
8853
8853
+
cli-cursor: 5.0.0
8854
8854
+
cli-spinners: 2.9.2
8855
8855
+
is-interactive: 2.0.0
8856
8856
+
is-unicode-supported: 2.1.0
8857
8857
+
log-symbols: 6.0.0
8858
8858
+
stdin-discarder: 0.2.2
8859
8859
+
string-width: 7.2.0
8860
8860
+
strip-ansi: 7.2.0
8861
8861
+
8862
8862
+
outvariant@1.4.3: {}
8863
8863
+
7158
8864
oxlint@1.63.0:
7159
8865
optionalDependencies:
7160
8866
'@oxlint/binding-android-arm-eabi': 1.63.0
···
7198
8904
json-parse-even-better-errors: 2.3.1
7199
8905
lines-and-columns: 1.2.4
7200
8906
8907
8907
+
parse-ms@4.0.0: {}
8908
8908
+
7201
8909
parseley@0.12.1:
7202
8910
dependencies:
7203
8911
leac: 0.6.0
7204
8912
peberminta: 0.9.0
7205
8913
8914
8914
+
parseurl@1.3.3: {}
8915
8915
+
8916
8916
+
path-browserify@1.0.1: {}
8917
8917
+
7206
8918
path-exists@4.0.0: {}
7207
8919
7208
8920
path-expression-matcher@1.5.0: {}
7209
8921
7210
8922
path-key@3.1.1: {}
7211
8923
8924
8924
+
path-key@4.0.0: {}
8925
8925
+
7212
8926
path-scurry@2.0.2:
7213
8927
dependencies:
7214
8928
lru-cache: 11.3.6
7215
8929
minipass: 7.1.3
8930
8930
+
8931
8931
+
path-to-regexp@6.3.0: {}
8932
8932
+
8933
8933
+
path-to-regexp@8.4.2: {}
7216
8934
7217
8935
pathe@2.0.3: {}
7218
8936
···
7225
8943
picomatch@4.0.4: {}
7226
8944
7227
8945
picospinner@3.0.0: {}
8946
8946
+
8947
8947
+
pkce-challenge@5.0.0: {}
7228
8948
7229
8949
postal-mime@2.7.4: {}
7230
8950
8951
8951
+
postcss-selector-parser@7.1.1:
8952
8952
+
dependencies:
8953
8953
+
cssesc: 3.0.0
8954
8954
+
util-deprecate: 1.0.2
8955
8955
+
7231
8956
postcss@8.4.31:
7232
8957
dependencies:
7233
8958
nanoid: 3.3.12
···
7242
8967
7243
8968
postgres@3.4.9: {}
7244
8969
8970
8970
+
powershell-utils@0.1.0: {}
8971
8971
+
7245
8972
prelude-ls@1.2.1: {}
7246
8973
7247
8974
prettier@3.8.3: {}
7248
8975
8976
8976
+
pretty-ms@9.3.0:
8977
8977
+
dependencies:
8978
8978
+
parse-ms: 4.0.0
8979
8979
+
7249
8980
prismjs@1.30.0: {}
7250
8981
7251
8982
prompts@2.4.2:
···
7253
8984
kleur: 3.0.3
7254
8985
sisteransi: 1.0.5
7255
8986
8987
8987
+
proxy-addr@2.0.7:
8988
8988
+
dependencies:
8989
8989
+
forwarded: 0.2.0
8990
8990
+
ipaddr.js: 1.9.1
8991
8991
+
7256
8992
punycode@2.3.1: {}
7257
8993
7258
8994
qr-code-styling@1.9.2:
···
7260
8996
qrcode-generator: 1.5.2
7261
8997
7262
8998
qrcode-generator@1.5.2: {}
8999
8999
+
9000
9000
+
qs@6.15.2:
9001
9001
+
dependencies:
9002
9002
+
side-channel: 1.1.0
7263
9003
7264
9004
queue-microtask@1.2.3: {}
7265
9005
···
7326
9066
'@types/react': 19.2.14
7327
9067
'@types/react-dom': 19.2.3(@types/react@19.2.14)
7328
9068
7329
7329
-
react-day-picker@9.14.0(react@18.3.1):
9069
9069
+
range-parser@1.2.1: {}
9070
9070
+
9071
9071
+
raw-body@3.0.2:
9072
9072
+
dependencies:
9073
9073
+
bytes: 3.1.2
9074
9074
+
http-errors: 2.0.1
9075
9075
+
iconv-lite: 0.7.2
9076
9076
+
unpipe: 1.0.0
9077
9077
+
9078
9078
+
react-day-picker@10.0.1(@types/react@19.2.14)(react@18.3.1):
7330
9079
dependencies:
7331
7331
-
'@date-fns/tz': 1.4.1
7332
7332
-
'@tabby_ai/hijri-converter': 1.0.5
7333
7333
-
date-fns: 4.1.0
7334
7334
-
date-fns-jalali: 4.1.0-0
9080
9080
+
'@date-fns/tz': 1.5.0
9081
9081
+
date-fns: 4.3.0
7335
9082
react: 18.3.1
9083
9083
+
optionalDependencies:
9084
9084
+
'@types/react': 19.2.14
7336
9085
7337
9086
react-dom@18.3.1(react@18.3.1):
7338
9087
dependencies:
···
7377
9126
7378
9127
react-is@16.13.1: {}
7379
9128
7380
7380
-
react-redux@9.2.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1):
9129
9129
+
react-redux@9.3.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1):
7381
9130
dependencies:
7382
9131
'@types/use-sync-external-store': 0.0.6
7383
9132
react: 18.3.1
···
7419
9168
7420
9169
readdirp@4.1.2: {}
7421
9170
7422
7422
-
recharts@3.8.1(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(redux@5.0.1):
9171
9171
+
recast@0.23.11:
7423
9172
dependencies:
7424
7424
-
'@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1))(react@18.3.1)
9173
9173
+
ast-types: 0.16.1
9174
9174
+
esprima: 4.0.1
9175
9175
+
source-map: 0.6.1
9176
9176
+
tiny-invariant: 1.3.3
9177
9177
+
tslib: 2.8.1
9178
9178
+
9179
9179
+
recharts@3.8.0(@types/react@19.2.14)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(redux@5.0.1):
9180
9180
+
dependencies:
9181
9181
+
'@reduxjs/toolkit': 2.11.2(react-redux@9.3.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1))(react@18.3.1)
7425
9182
clsx: 2.1.1
7426
9183
decimal.js-light: 2.5.1
7427
9184
es-toolkit: 1.46.1
···
7430
9187
react: 18.3.1
7431
9188
react-dom: 18.3.1(react@18.3.1)
7432
9189
react-is: 16.13.1
7433
7433
-
react-redux: 9.2.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1)
9190
9190
+
react-redux: 9.3.0(@types/react@19.2.14)(react@18.3.1)(redux@5.0.1)
7434
9191
reselect: 5.1.1
7435
9192
tiny-invariant: 1.3.3
7436
9193
use-sync-external-store: 1.6.0(react@18.3.1)
···
7450
9207
require-from-string@2.0.2: {}
7451
9208
7452
9209
reselect@5.1.1: {}
9210
9210
+
9211
9211
+
reselect@5.2.0: {}
7453
9212
7454
9213
resend@6.12.4(@react-email/render@2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
7455
9214
dependencies:
···
7469
9228
onetime: 7.0.0
7470
9229
signal-exit: 4.1.0
7471
9230
9231
9231
+
rettime@0.11.11: {}
9232
9232
+
7472
9233
reusify@1.1.0: {}
7473
9234
7474
9235
rfdc@1.4.1: {}
7475
9236
7476
9237
rou3@0.7.12: {}
7477
9238
9239
9239
+
router@2.2.0:
9240
9240
+
dependencies:
9241
9241
+
debug: 4.4.3
9242
9242
+
depd: 2.0.0
9243
9243
+
is-promise: 4.0.0
9244
9244
+
parseurl: 1.3.3
9245
9245
+
path-to-regexp: 8.4.2
9246
9246
+
transitivePeerDependencies:
9247
9247
+
- supports-color
9248
9248
+
9249
9249
+
run-applescript@7.1.0: {}
9250
9250
+
7478
9251
run-parallel@1.2.0:
7479
9252
dependencies:
7480
9253
queue-microtask: 1.2.3
···
7503
9276
dependencies:
7504
9277
parseley: 0.12.1
7505
9278
9279
9279
+
semver@6.3.1: {}
9280
9280
+
7506
9281
semver@7.8.0: {}
9282
9282
+
9283
9283
+
send@1.2.1:
9284
9284
+
dependencies:
9285
9285
+
debug: 4.4.3
9286
9286
+
encodeurl: 2.0.0
9287
9287
+
escape-html: 1.0.3
9288
9288
+
etag: 1.8.1
9289
9289
+
fresh: 2.0.0
9290
9290
+
http-errors: 2.0.1
9291
9291
+
mime-types: 3.0.2
9292
9292
+
ms: 2.1.3
9293
9293
+
on-finished: 2.4.1
9294
9294
+
range-parser: 1.2.1
9295
9295
+
statuses: 2.0.2
9296
9296
+
transitivePeerDependencies:
9297
9297
+
- supports-color
9298
9298
+
9299
9299
+
serve-static@2.2.1:
9300
9300
+
dependencies:
9301
9301
+
encodeurl: 2.0.0
9302
9302
+
escape-html: 1.0.3
9303
9303
+
parseurl: 1.3.3
9304
9304
+
send: 1.2.1
9305
9305
+
transitivePeerDependencies:
9306
9306
+
- supports-color
7507
9307
7508
9308
set-cookie-parser@3.1.0: {}
7509
9309
9310
9310
+
setprototypeof@1.2.0: {}
9311
9311
+
9312
9312
+
shadcn@4.8.2(@types/node@25.6.0)(typescript@6.0.3):
9313
9313
+
dependencies:
9314
9314
+
'@babel/core': 7.29.7
9315
9315
+
'@babel/parser': 7.29.3
9316
9316
+
'@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
9317
9317
+
'@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)
9318
9318
+
'@dotenvx/dotenvx': 1.69.1
9319
9319
+
'@modelcontextprotocol/sdk': 1.29.0(zod@3.24.1)
9320
9320
+
'@types/validate-npm-package-name': 4.0.2
9321
9321
+
browserslist: 4.28.2
9322
9322
+
commander: 14.0.3
9323
9323
+
cosmiconfig: 9.0.1(typescript@6.0.3)
9324
9324
+
dedent: 1.7.2
9325
9325
+
deepmerge: 4.3.1
9326
9326
+
diff: 8.0.4
9327
9327
+
execa: 9.6.1
9328
9328
+
fast-glob: 3.3.3
9329
9329
+
fs-extra: 11.3.5
9330
9330
+
fuzzysort: 3.1.0
9331
9331
+
https-proxy-agent: 7.0.6
9332
9332
+
kleur: 4.1.5
9333
9333
+
msw: 2.14.6(@types/node@25.6.0)(typescript@6.0.3)
9334
9334
+
node-fetch: 3.3.2
9335
9335
+
open: 11.0.0
9336
9336
+
ora: 8.2.0
9337
9337
+
postcss: 8.5.14
9338
9338
+
postcss-selector-parser: 7.1.1
9339
9339
+
prompts: 2.4.2
9340
9340
+
recast: 0.23.11
9341
9341
+
stringify-object: 5.0.0
9342
9342
+
tailwind-merge: 3.6.0
9343
9343
+
ts-morph: 26.0.0
9344
9344
+
tsconfig-paths: 4.2.0
9345
9345
+
validate-npm-package-name: 7.0.2
9346
9346
+
zod: 3.24.1
9347
9347
+
zod-to-json-schema: 3.25.2(zod@3.24.1)
9348
9348
+
transitivePeerDependencies:
9349
9349
+
- '@cfworker/json-schema'
9350
9350
+
- '@types/node'
9351
9351
+
- babel-plugin-macros
9352
9352
+
- supports-color
9353
9353
+
- typescript
9354
9354
+
7510
9355
sharp@0.34.5:
7511
9356
dependencies:
7512
9357
'@img/colour': 1.1.0
···
7545
9390
7546
9391
shebang-regex@3.0.0: {}
7547
9392
9393
9393
+
side-channel-list@1.0.1:
9394
9394
+
dependencies:
9395
9395
+
es-errors: 1.3.0
9396
9396
+
object-inspect: 1.13.4
9397
9397
+
9398
9398
+
side-channel-map@1.0.1:
9399
9399
+
dependencies:
9400
9400
+
call-bound: 1.0.4
9401
9401
+
es-errors: 1.3.0
9402
9402
+
get-intrinsic: 1.3.0
9403
9403
+
object-inspect: 1.13.4
9404
9404
+
9405
9405
+
side-channel-weakmap@1.0.2:
9406
9406
+
dependencies:
9407
9407
+
call-bound: 1.0.4
9408
9408
+
es-errors: 1.3.0
9409
9409
+
get-intrinsic: 1.3.0
9410
9410
+
object-inspect: 1.13.4
9411
9411
+
side-channel-map: 1.0.1
9412
9412
+
9413
9413
+
side-channel@1.1.0:
9414
9414
+
dependencies:
9415
9415
+
es-errors: 1.3.0
9416
9416
+
object-inspect: 1.13.4
9417
9417
+
side-channel-list: 1.0.1
9418
9418
+
side-channel-map: 1.0.1
9419
9419
+
side-channel-weakmap: 1.0.2
9420
9420
+
9421
9421
+
signal-exit@3.0.7: {}
9422
9422
+
7548
9423
signal-exit@4.1.0: {}
7549
9424
7550
9425
sisteransi@1.0.5: {}
···
7607
9482
dependencies:
7608
9483
'@stablelib/base64': 1.0.1
7609
9484
fast-sha256: 1.3.0
9485
9485
+
9486
9486
+
statuses@2.0.2: {}
9487
9487
+
9488
9488
+
stdin-discarder@0.2.2: {}
9489
9489
+
9490
9490
+
strict-event-emitter@0.5.1: {}
7610
9491
7611
9492
string-argv@0.3.2: {}
7612
9493
···
7627
9508
get-east-asian-width: 1.6.0
7628
9509
strip-ansi: 7.2.0
7629
9510
9511
9511
+
stringify-object@5.0.0:
9512
9512
+
dependencies:
9513
9513
+
get-own-enumerable-keys: 1.0.0
9514
9514
+
is-obj: 3.0.0
9515
9515
+
is-regexp: 3.1.0
9516
9516
+
7630
9517
strip-ansi@6.0.1:
7631
9518
dependencies:
7632
9519
ansi-regex: 5.0.1
···
7637
9524
7638
9525
strip-bom@3.0.0: {}
7639
9526
9527
9527
+
strip-final-newline@2.0.0: {}
9528
9528
+
9529
9529
+
strip-final-newline@4.0.0: {}
9530
9530
+
7640
9531
strnum@2.3.0: {}
7641
9532
7642
9533
stubborn-fs@2.0.0:
···
7645
9536
7646
9537
stubborn-utils@1.0.2: {}
7647
9538
7648
7648
-
styled-jsx@5.1.6(react@18.3.1):
9539
9539
+
styled-jsx@5.1.6(@babel/core@7.29.7)(react@18.3.1):
7649
9540
dependencies:
7650
9541
client-only: 0.0.1
7651
9542
react: 18.3.1
9543
9543
+
optionalDependencies:
9544
9544
+
'@babel/core': 7.29.7
7652
9545
7653
9546
tagged-tag@1.0.0: {}
7654
9547
···
7668
9561
picomatch: 4.0.4
7669
9562
7670
9563
tldts-core@6.1.0: {}
9564
9564
+
9565
9565
+
tldts-core@7.4.1: {}
7671
9566
7672
9567
tldts@6.1.0:
7673
9568
dependencies:
7674
9569
tldts-core: 6.1.0
7675
9570
9571
9571
+
tldts@7.4.0:
9572
9572
+
dependencies:
9573
9573
+
tldts-core: 7.4.1
9574
9574
+
7676
9575
to-regex-range@5.0.1:
7677
9576
dependencies:
7678
9577
is-number: 7.0.0
7679
9578
9579
9579
+
toidentifier@1.0.1: {}
9580
9580
+
9581
9581
+
tough-cookie@6.0.1:
9582
9582
+
dependencies:
9583
9583
+
tldts: 7.4.0
9584
9584
+
7680
9585
ts-api-utils@2.5.0(typescript@6.0.3):
7681
9586
dependencies:
7682
9587
typescript: 6.0.3
9588
9588
+
9589
9589
+
ts-morph@26.0.0:
9590
9590
+
dependencies:
9591
9591
+
'@ts-morph/common': 0.27.0
9592
9592
+
code-block-writer: 13.0.3
7683
9593
7684
9594
tsconfig-paths@4.2.0:
7685
9595
dependencies:
···
7706
9616
dependencies:
7707
9617
tagged-tag: 1.0.0
7708
9618
9619
9619
+
type-is@2.1.0:
9620
9620
+
dependencies:
9621
9621
+
content-type: 2.0.0
9622
9622
+
media-typer: 1.1.0
9623
9623
+
mime-types: 3.0.2
9624
9624
+
7709
9625
typescript-eslint@8.59.2(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3):
7710
9626
dependencies:
7711
9627
'@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3)
···
7723
9639
7724
9640
undici-types@7.19.2: {}
7725
9641
9642
9642
+
unicorn-magic@0.3.0: {}
9643
9643
+
9644
9644
+
universalify@2.0.1: {}
9645
9645
+
9646
9646
+
unpipe@1.0.0: {}
9647
9647
+
9648
9648
+
until-async@3.0.2: {}
9649
9649
+
9650
9650
+
update-browserslist-db@1.2.3(browserslist@4.28.2):
9651
9651
+
dependencies:
9652
9652
+
browserslist: 4.28.2
9653
9653
+
escalade: 3.2.0
9654
9654
+
picocolors: 1.1.1
9655
9655
+
7726
9656
uri-js@4.4.1:
7727
9657
dependencies:
7728
9658
punycode: 2.3.1
···
7746
9676
dependencies:
7747
9677
react: 18.3.1
7748
9678
9679
9679
+
util-deprecate@1.0.2: {}
9680
9680
+
7749
9681
uuid@8.3.2: {}
9682
9682
+
9683
9683
+
validate-npm-package-name@7.0.2: {}
7750
9684
7751
9685
vary@1.1.2: {}
7752
9686
···
7767
9701
d3-time: 3.1.0
7768
9702
d3-timer: 3.0.1
7769
9703
9704
9704
+
web-streams-polyfill@3.0.3: {}
9705
9705
+
7770
9706
when-exit@2.1.5: {}
7771
9707
7772
9708
which@2.0.2:
7773
9709
dependencies:
7774
9710
isexe: 2.0.0
9711
9711
+
9712
9712
+
which@4.0.0:
9713
9713
+
dependencies:
9714
9714
+
isexe: 3.1.5
7775
9715
7776
9716
word-wrap@1.2.5: {}
7777
9717
···
7793
9733
string-width: 7.2.0
7794
9734
strip-ansi: 7.2.0
7795
9735
9736
9736
+
wrappy@1.0.2: {}
9737
9737
+
7796
9738
ws@8.18.3: {}
7797
9739
9740
9740
+
wsl-utils@0.3.1:
9741
9741
+
dependencies:
9742
9742
+
is-wsl: 3.1.1
9743
9743
+
powershell-utils: 0.1.0
9744
9744
+
7798
9745
xml-crypto@6.1.2:
7799
9746
dependencies:
7800
9747
'@xmldom/is-dom-node': 1.0.1
···
7813
9760
7814
9761
y18n@5.0.8: {}
7815
9762
9763
9763
+
yallist@3.1.1: {}
9764
9764
+
7816
9765
yaml@2.8.4:
7817
9766
optional: true
7818
9767
···
7830
9779
7831
9780
yocto-queue@0.1.0: {}
7832
9781
9782
9782
+
yocto-spinner@1.2.0:
9783
9783
+
dependencies:
9784
9784
+
yoctocolors: 2.1.2
9785
9785
+
7833
9786
yoctocolors@2.1.2: {}
9787
9787
+
9788
9788
+
zod-to-json-schema@3.25.2(zod@3.24.1):
9789
9789
+
dependencies:
9790
9790
+
zod: 3.24.1
9791
9791
+
9792
9792
+
zod@3.24.1: {}
7834
9793
7835
9794
zod@4.4.3: {}
7836
9795
···
5
5
msw: false
6
6
sharp: false
7
7
unrs-resolver: false
8
8
+
9
9
+
onlyBuiltDependencies:
10
10
+
- sharp
11
11
+
- esbuild