Commit
680788a
·
1 Parent(s): 7fb740b

improve sidebar (cherry-picked from feat/raed-ui)

Browse files
Files changed (43) hide show
  1. ui/app/.nnot-not-found.tsx +49 -0
  2. ui/app/api/data/route.ts +1 -0
  3. ui/app/api/explorer/route.ts +1 -0
  4. ui/app/data/data-view.tsx +6 -5
  5. ui/app/data/page.tsx +4 -2
  6. ui/app/discovery/page.tsx +6 -5
  7. ui/app/explorer/chart.tsx +3 -2
  8. ui/app/explorer/components.tsx +6 -5
  9. ui/app/explorer/page.tsx +4 -2
  10. ui/app/layout.tsx +5 -3
  11. ui/app/not-found.tsx +0 -48
  12. ui/app/page.tsx +5 -4
  13. ui/app/settings/page.tsx +5 -4
  14. ui/components/animate-ui/components/animate/tooltip.tsx +10 -10
  15. ui/components/animate-ui/components/radix/dropdown-menu.tsx +7 -7
  16. ui/components/animate-ui/components/radix/sheet.tsx +24 -24
  17. ui/components/animate-ui/components/radix/sidebar.tsx +15 -14
  18. ui/components/animate-ui/primitives/animate/slot.tsx +5 -3
  19. ui/components/animate-ui/primitives/animate/tooltip.tsx +25 -24
  20. ui/components/animate-ui/primitives/effects/highlight.tsx +3 -3
  21. ui/components/animate-ui/primitives/radix/checkbox.tsx +6 -6
  22. ui/components/animate-ui/primitives/radix/collapsible.tsx +1 -1
  23. ui/components/animate-ui/primitives/radix/sheet.tsx +18 -18
  24. ui/components/page-header.tsx +2 -2
  25. ui/components/sidebar.tsx +23 -23
  26. ui/components/ui/avatar.tsx +2 -2
  27. ui/components/ui/badge.tsx +1 -1
  28. ui/components/ui/breadcrumb.tsx +3 -3
  29. ui/components/ui/button.tsx +1 -1
  30. ui/components/ui/card.tsx +1 -1
  31. ui/components/ui/empty.tsx +3 -3
  32. ui/components/ui/label.tsx +1 -1
  33. ui/components/ui/select.tsx +1 -1
  34. ui/components/ui/separator.tsx +1 -1
  35. ui/components/ui/slider.tsx +1 -1
  36. ui/components/ui/switch.tsx +1 -1
  37. ui/components/ui/table.tsx +3 -3
  38. ui/components/ui/tabs.tsx +2 -2
  39. ui/eslint.config.mjs +2 -18
  40. ui/lib/explorer-service.ts +1 -1
  41. ui/lib/utils.ts +1 -1
  42. ui/types/data.ts +2 -1
  43. ui/types/explorer.ts +2 -1
ui/app/.nnot-not-found.tsx ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // import { Compass, Home } from "lucide-react";
2
+
3
+ // import { Button } from "@/components/ui/button";
4
+ // import {
5
+ // Empty,
6
+ // EmptyContent,
7
+ // EmptyDescription,
8
+ // EmptyHeader,
9
+ // EmptyTitle,
10
+ // } from "@/components/ui/empty";
11
+
12
+ // export function NotFoundPage() {
13
+ // return (
14
+ // <div className="flex w-full items-center justify-center">
15
+ // <div className="flex h-screen items-center border-x">
16
+ // <div>
17
+ // <div className="absolute inset-x-0 h-px bg-border" />
18
+ // <Empty>
19
+ // <EmptyHeader>
20
+ // <EmptyTitle className="font-black font-mono text-8xl">
21
+ // 404
22
+ // </EmptyTitle>
23
+ // <EmptyDescription className="text-nowrap">
24
+ // The page you&apos;re looking for might have been <br />
25
+ // moved or doesn&apos;t exist.
26
+ // </EmptyDescription>
27
+ // </EmptyHeader>
28
+ // <EmptyContent>
29
+ // <div className="flex gap-2">
30
+ // <Button asChild>
31
+ // <a href="#">
32
+ // <Home /> Go Home
33
+ // </a>
34
+ // </Button>
35
+
36
+ // <Button asChild variant="outline">
37
+ // <a href="#">
38
+ // <Compass /> Explore
39
+ // </a>
40
+ // </Button>
41
+ // </div>
42
+ // </EmptyContent>
43
+ // </Empty>
44
+ // <div className="absolute inset-x-0 h-px bg-border" />
45
+ // </div>
46
+ // </div>
47
+ // </div>
48
+ // );
49
+ // }
ui/app/api/data/route.ts CHANGED
@@ -1,4 +1,5 @@
1
  import { NextResponse } from "next/server";
 
2
  import { getData } from "@/lib/data-service";
3
 
4
  export async function GET() {
 
1
  import { NextResponse } from "next/server";
2
+
3
  import { getData } from "@/lib/data-service";
4
 
5
  export async function GET() {
ui/app/api/explorer/route.ts CHANGED
@@ -1,4 +1,5 @@
1
  import { NextResponse } from "next/server";
 
2
  import { getExplorerPoints } from "@/lib/explorer-service";
3
 
4
  export async function GET(request: Request) {
 
1
  import { NextResponse } from "next/server";
2
+
3
  import { getExplorerPoints } from "@/lib/explorer-service";
4
 
5
  export async function GET(request: Request) {
ui/app/data/data-view.tsx CHANGED
@@ -1,12 +1,13 @@
1
  "use client"
2
 
3
- import { Card, CardContent } from "@/components/ui/card"
4
- import { Button } from "@/components/ui/button"
 
5
  import { Badge } from "@/components/ui/badge"
6
- import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"
 
7
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
8
- import { Folder, FileText, Database, HardDrive, Upload, CloudUpload, Eye, Download, Trash2 } from "lucide-react"
9
- import { SectionHeader } from "@/components/page-header"
10
  import { Dataset, Statistics } from "@/types/data"
11
 
12
  interface DataViewProps {
 
1
  "use client"
2
 
3
+ import { CloudUpload, Database, Download, Eye, FileText, Folder, HardDrive, Trash2,Upload } from "lucide-react"
4
+
5
+ import { SectionHeader } from "@/components/page-header"
6
  import { Badge } from "@/components/ui/badge"
7
+ import { Button } from "@/components/ui/button"
8
+ import { Card, CardContent } from "@/components/ui/card"
9
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
10
+ import { Tabs, TabsContent,TabsList, TabsTrigger } from "@/components/ui/tabs"
 
11
  import { Dataset, Statistics } from "@/types/data"
12
 
13
  interface DataViewProps {
ui/app/data/page.tsx CHANGED
@@ -1,8 +1,10 @@
 
1
  import { Suspense } from 'react'
 
 
2
  import { getData } from "@/lib/data-service"
 
3
  import { DataView } from "./data-view"
4
- import { PageHeader } from "@/components/page-header"
5
- import { Database, Loader2 } from "lucide-react"
6
 
7
  export default async function DataPage() {
8
  const { datasets, stats } = await getData()
 
1
+ import { Database, Loader2 } from "lucide-react"
2
  import { Suspense } from 'react'
3
+
4
+ import { PageHeader } from "@/components/page-header"
5
  import { getData } from "@/lib/data-service"
6
+
7
  import { DataView } from "./data-view"
 
 
8
 
9
  export default async function DataPage() {
10
  const { datasets, stats } = await getData()
ui/app/discovery/page.tsx CHANGED
@@ -1,14 +1,15 @@
1
  "use client"
2
 
 
3
  import * as React from "react"
 
4
  import { PageHeader, SectionHeader } from "@/components/page-header"
5
- import { Card, CardContent } from "@/components/ui/card"
6
- import { Textarea } from "@/components/ui/textarea"
7
  import { Button } from "@/components/ui/button"
8
- import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"
9
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
10
  import { Label } from "@/components/ui/label"
11
- import { Microscope, Search, CheckCircle2, Circle, Loader2, ArrowRight } from "lucide-react"
 
 
12
 
13
  export default function DiscoveryPage() {
14
  const [query, setQuery] = React.useState("")
 
1
  "use client"
2
 
3
+ import { ArrowRight,CheckCircle2, Circle, Loader2, Microscope, Search } from "lucide-react"
4
  import * as React from "react"
5
+
6
  import { PageHeader, SectionHeader } from "@/components/page-header"
 
 
7
  import { Button } from "@/components/ui/button"
8
+ import { Card, CardContent } from "@/components/ui/card"
 
9
  import { Label } from "@/components/ui/label"
10
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
11
+ import { Tabs, TabsContent,TabsList, TabsTrigger } from "@/components/ui/tabs"
12
+ import { Textarea } from "@/components/ui/textarea"
13
 
14
  export default function DiscoveryPage() {
15
  const [query, setQuery] = React.useState("")
ui/app/explorer/chart.tsx CHANGED
@@ -1,8 +1,9 @@
1
  "use client"
2
 
3
- import { ResponsiveContainer, ScatterChart, Scatter, XAxis, YAxis, ZAxis, Tooltip, Cell } from "recharts"
4
- import { Card, CardContent } from "@/components/ui/card"
5
  import { AlertCircle } from "lucide-react"
 
 
 
6
  import { DataPoint } from "@/types/explorer"
7
 
8
  export function ExplorerChart({ data }: { data: DataPoint[] }) {
 
1
  "use client"
2
 
 
 
3
  import { AlertCircle } from "lucide-react"
4
+ import { Cell,ResponsiveContainer, Scatter, ScatterChart, Tooltip, XAxis, YAxis, ZAxis } from "recharts"
5
+
6
+ import { Card, CardContent } from "@/components/ui/card"
7
  import { DataPoint } from "@/types/explorer"
8
 
9
  export function ExplorerChart({ data }: { data: DataPoint[] }) {
ui/app/explorer/components.tsx CHANGED
@@ -1,12 +1,13 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import { useRouter, useSearchParams } from "next/navigation"
5
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
6
- import { Label } from "@/components/ui/label"
7
  import { Button } from "@/components/ui/button"
8
- import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
9
- import { RefreshCw, SlidersHorizontal } from "lucide-react"
 
10
 
11
  export function ExplorerControls() {
12
  const router = useRouter()
 
1
  "use client"
2
 
3
+ import { RefreshCw, SlidersHorizontal } from "lucide-react"
4
  import { useRouter, useSearchParams } from "next/navigation"
5
+ import * as React from "react"
6
+
7
  import { Button } from "@/components/ui/button"
8
+ import { Card, CardContent,CardHeader, CardTitle } from "@/components/ui/card"
9
+ import { Label } from "@/components/ui/label"
10
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
11
 
12
  export function ExplorerControls() {
13
  const router = useRouter()
ui/app/explorer/page.tsx CHANGED
@@ -1,8 +1,10 @@
 
1
  import { Suspense } from "react"
 
2
  import { getExplorerPoints } from "@/lib/explorer-service"
3
- import { ExplorerControls } from "./components"
4
  import { ExplorerChart } from "./chart"
5
- import { Loader2 } from "lucide-react"
6
 
7
  interface ExplorerPageProps {
8
  searchParams: Promise<{ [key: string]: string | string[] | undefined }>
 
1
+ import { Loader2 } from "lucide-react"
2
  import { Suspense } from "react"
3
+
4
  import { getExplorerPoints } from "@/lib/explorer-service"
5
+
6
  import { ExplorerChart } from "./chart"
7
+ import { ExplorerControls } from "./components"
8
 
9
  interface ExplorerPageProps {
10
  searchParams: Promise<{ [key: string]: string | string[] | undefined }>
ui/app/layout.tsx CHANGED
@@ -1,11 +1,13 @@
 
 
1
  import type { Metadata, Viewport } from "next";
2
  import { Geist, Geist_Mono } from "next/font/google";
3
- import "./globals.css";
4
- import { AppSidebar } from "@/components/sidebar";
5
  import {
6
- SidebarProvider,
7
  SidebarInset,
 
8
  } from "@/components/animate-ui/components/radix/sidebar";
 
9
 
10
  const geistSans = Geist({
11
  variable: "--font-geist-sans",
 
1
+ import "./globals.css";
2
+
3
  import type { Metadata, Viewport } from "next";
4
  import { Geist, Geist_Mono } from "next/font/google";
5
+
 
6
  import {
 
7
  SidebarInset,
8
+ SidebarProvider,
9
  } from "@/components/animate-ui/components/radix/sidebar";
10
+ import { AppSidebar } from "@/components/sidebar";
11
 
12
  const geistSans = Geist({
13
  variable: "--font-geist-sans",
ui/app/not-found.tsx DELETED
@@ -1,48 +0,0 @@
1
- import { Button } from "@/components/ui/button";
2
- import {
3
- Empty,
4
- EmptyContent,
5
- EmptyDescription,
6
- EmptyHeader,
7
- EmptyTitle,
8
- } from "@/components/ui/empty";
9
- import { Compass, Home } from "lucide-react";
10
-
11
- export function NotFoundPage() {
12
- return (
13
- <div className="flex w-full items-center justify-center">
14
- <div className="flex h-screen items-center border-x">
15
- <div>
16
- <div className="absolute inset-x-0 h-px bg-border" />
17
- <Empty>
18
- <EmptyHeader>
19
- <EmptyTitle className="font-black font-mono text-8xl">
20
- 404
21
- </EmptyTitle>
22
- <EmptyDescription className="text-nowrap">
23
- The page you're looking for might have been <br />
24
- moved or doesn't exist.
25
- </EmptyDescription>
26
- </EmptyHeader>
27
- <EmptyContent>
28
- <div className="flex gap-2">
29
- <Button asChild>
30
- <a href="#">
31
- <Home /> Go Home
32
- </a>
33
- </Button>
34
-
35
- <Button asChild variant="outline">
36
- <a href="#">
37
- <Compass /> Explore
38
- </a>
39
- </Button>
40
- </div>
41
- </EmptyContent>
42
- </Empty>
43
- <div className="absolute inset-x-0 h-px bg-border" />
44
- </div>
45
- </div>
46
- </div>
47
- );
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ui/app/page.tsx CHANGED
@@ -1,12 +1,13 @@
1
  "use client"
2
 
3
- import { Button } from "@/components/ui/button"
 
 
 
4
  import { Badge } from "@/components/ui/badge"
 
5
  import { Card, CardContent } from "@/components/ui/card"
6
  import { Separator } from "@/components/ui/separator"
7
- import { SectionHeader } from "@/components/page-header"
8
- import { ArrowUp, Zap, Search, Database, FileText, Sparkles } from "lucide-react"
9
- import Link from "next/link"
10
 
11
  export default function Home() {
12
  return (
 
1
  "use client"
2
 
3
+ import { ArrowUp, Database, FileText, Search, Sparkles,Zap } from "lucide-react"
4
+ import Link from "next/link"
5
+
6
+ import { SectionHeader } from "@/components/page-header"
7
  import { Badge } from "@/components/ui/badge"
8
+ import { Button } from "@/components/ui/button"
9
  import { Card, CardContent } from "@/components/ui/card"
10
  import { Separator } from "@/components/ui/separator"
 
 
 
11
 
12
  export default function Home() {
13
  return (
ui/app/settings/page.tsx CHANGED
@@ -1,14 +1,15 @@
1
  "use client"
2
 
 
 
3
  import { PageHeader, SectionHeader } from "@/components/page-header"
4
- import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"
5
  import { Button } from "@/components/ui/button"
6
- import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"
7
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
8
  import { Label } from "@/components/ui/label"
 
9
  import { Slider } from "@/components/ui/slider"
10
  import { Switch } from "@/components/ui/switch"
11
- import { Settings, Brain, Save } from "lucide-react"
12
 
13
  export default function SettingsPage() {
14
  return (
 
1
  "use client"
2
 
3
+ import { Brain, Save,Settings } from "lucide-react"
4
+
5
  import { PageHeader, SectionHeader } from "@/components/page-header"
 
6
  import { Button } from "@/components/ui/button"
7
+ import { Card, CardContent, CardDescription,CardHeader, CardTitle } from "@/components/ui/card"
 
8
  import { Label } from "@/components/ui/label"
9
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
10
  import { Slider } from "@/components/ui/slider"
11
  import { Switch } from "@/components/ui/switch"
12
+ import { Tabs, TabsContent,TabsList, TabsTrigger } from "@/components/ui/tabs"
13
 
14
  export default function SettingsPage() {
15
  return (
ui/components/animate-ui/components/animate/tooltip.tsx CHANGED
@@ -1,16 +1,16 @@
1
- import * as React from 'react';
2
  import * as motion from 'motion/react-client';
 
3
 
4
  import {
5
- TooltipProvider as TooltipProviderPrimitive,
6
  Tooltip as TooltipPrimitive,
7
- TooltipTrigger as TooltipTriggerPrimitive,
8
- TooltipContent as TooltipContentPrimitive,
9
  TooltipArrow as TooltipArrowPrimitive,
10
- type TooltipProviderProps as TooltipProviderPrimitiveProps,
 
11
  type TooltipProps as TooltipPrimitiveProps,
 
 
 
12
  type TooltipTriggerProps as TooltipTriggerPrimitiveProps,
13
- type TooltipContentProps as TooltipContentPrimitiveProps,
14
  } from '@/components/animate-ui/primitives/animate/tooltip';
15
  import { cn } from '@/lib/utils';
16
 
@@ -63,12 +63,12 @@ function TooltipContent({
63
  }
64
 
65
  export {
66
- TooltipProvider,
67
  Tooltip,
68
- TooltipTrigger,
69
  TooltipContent,
70
- type TooltipProviderProps,
71
  type TooltipProps,
 
 
 
72
  type TooltipTriggerProps,
73
- type TooltipContentProps,
74
  };
 
 
1
  import * as motion from 'motion/react-client';
2
+ import * as React from 'react';
3
 
4
  import {
 
5
  Tooltip as TooltipPrimitive,
 
 
6
  TooltipArrow as TooltipArrowPrimitive,
7
+ TooltipContent as TooltipContentPrimitive,
8
+ type TooltipContentProps as TooltipContentPrimitiveProps,
9
  type TooltipProps as TooltipPrimitiveProps,
10
+ TooltipProvider as TooltipProviderPrimitive,
11
+ type TooltipProviderProps as TooltipProviderPrimitiveProps,
12
+ TooltipTrigger as TooltipTriggerPrimitive,
13
  type TooltipTriggerProps as TooltipTriggerPrimitiveProps,
 
14
  } from '@/components/animate-ui/primitives/animate/tooltip';
15
  import { cn } from '@/lib/utils';
16
 
 
63
  }
64
 
65
  export {
 
66
  Tooltip,
 
67
  TooltipContent,
68
+ type TooltipContentProps,
69
  type TooltipProps,
70
+ TooltipProvider,
71
+ type TooltipProviderProps,
72
+ TooltipTrigger,
73
  type TooltipTriggerProps,
 
74
  };
ui/components/animate-ui/components/radix/dropdown-menu.tsx CHANGED
@@ -1,8 +1,8 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
5
  import { Check, ChevronRight, Circle } from "lucide-react"
 
6
 
7
  import { cn } from "@/lib/utils"
8
 
@@ -183,18 +183,18 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut"
183
 
184
  export {
185
  DropdownMenu,
186
- DropdownMenuTrigger,
187
  DropdownMenuContent,
 
188
  DropdownMenuItem,
189
- DropdownMenuCheckboxItem,
190
- DropdownMenuRadioItem,
191
  DropdownMenuLabel,
 
 
 
192
  DropdownMenuSeparator,
193
  DropdownMenuShortcut,
194
- DropdownMenuGroup,
195
- DropdownMenuPortal,
196
  DropdownMenuSub,
197
  DropdownMenuSubContent,
198
  DropdownMenuSubTrigger,
199
- DropdownMenuRadioGroup,
200
  }
 
1
  "use client"
2
 
 
3
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
4
  import { Check, ChevronRight, Circle } from "lucide-react"
5
+ import * as React from "react"
6
 
7
  import { cn } from "@/lib/utils"
8
 
 
183
 
184
  export {
185
  DropdownMenu,
186
+ DropdownMenuCheckboxItem,
187
  DropdownMenuContent,
188
+ DropdownMenuGroup,
189
  DropdownMenuItem,
 
 
190
  DropdownMenuLabel,
191
+ DropdownMenuPortal,
192
+ DropdownMenuRadioGroup,
193
+ DropdownMenuRadioItem,
194
  DropdownMenuSeparator,
195
  DropdownMenuShortcut,
 
 
196
  DropdownMenuSub,
197
  DropdownMenuSubContent,
198
  DropdownMenuSubTrigger,
199
+ DropdownMenuTrigger,
200
  }
ui/components/animate-ui/components/radix/sheet.tsx CHANGED
@@ -1,28 +1,28 @@
 
1
  import * as React from 'react';
2
 
3
  import {
4
  Sheet as SheetPrimitive,
5
- SheetTrigger as SheetTriggerPrimitive,
6
- SheetOverlay as SheetOverlayPrimitive,
7
  SheetClose as SheetClosePrimitive,
8
- SheetPortal as SheetPortalPrimitive,
9
- SheetContent as SheetContentPrimitive,
10
- SheetHeader as SheetHeaderPrimitive,
11
- SheetFooter as SheetFooterPrimitive,
12
- SheetTitle as SheetTitlePrimitive,
13
- SheetDescription as SheetDescriptionPrimitive,
14
- type SheetProps as SheetPrimitiveProps,
15
- type SheetTriggerProps as SheetTriggerPrimitiveProps,
16
- type SheetOverlayProps as SheetOverlayPrimitiveProps,
17
  type SheetCloseProps as SheetClosePrimitiveProps,
 
18
  type SheetContentProps as SheetContentPrimitiveProps,
19
- type SheetHeaderProps as SheetHeaderPrimitiveProps,
 
 
20
  type SheetFooterProps as SheetFooterPrimitiveProps,
 
 
 
 
 
 
 
21
  type SheetTitleProps as SheetTitlePrimitiveProps,
22
- type SheetDescriptionProps as SheetDescriptionPrimitiveProps,
 
23
  } from '@/components/animate-ui/primitives/radix/sheet';
24
  import { cn } from '@/lib/utils';
25
- import { XIcon } from 'lucide-react';
26
 
27
  type SheetProps = SheetPrimitiveProps;
28
 
@@ -137,19 +137,19 @@ function SheetDescription({ className, ...props }: SheetDescriptionProps) {
137
 
138
  export {
139
  Sheet,
140
- SheetTrigger,
141
  SheetClose,
142
- SheetContent,
143
- SheetHeader,
144
- SheetFooter,
145
- SheetTitle,
146
- SheetDescription,
147
- type SheetProps,
148
- type SheetTriggerProps,
149
  type SheetCloseProps,
 
150
  type SheetContentProps,
151
- type SheetHeaderProps,
 
 
152
  type SheetFooterProps,
 
 
 
 
153
  type SheetTitleProps,
154
- type SheetDescriptionProps,
 
155
  };
 
1
+ import { XIcon } from 'lucide-react';
2
  import * as React from 'react';
3
 
4
  import {
5
  Sheet as SheetPrimitive,
 
 
6
  SheetClose as SheetClosePrimitive,
 
 
 
 
 
 
 
 
 
7
  type SheetCloseProps as SheetClosePrimitiveProps,
8
+ SheetContent as SheetContentPrimitive,
9
  type SheetContentProps as SheetContentPrimitiveProps,
10
+ SheetDescription as SheetDescriptionPrimitive,
11
+ type SheetDescriptionProps as SheetDescriptionPrimitiveProps,
12
+ SheetFooter as SheetFooterPrimitive,
13
  type SheetFooterProps as SheetFooterPrimitiveProps,
14
+ SheetHeader as SheetHeaderPrimitive,
15
+ type SheetHeaderProps as SheetHeaderPrimitiveProps,
16
+ SheetOverlay as SheetOverlayPrimitive,
17
+ type SheetOverlayProps as SheetOverlayPrimitiveProps,
18
+ SheetPortal as SheetPortalPrimitive,
19
+ type SheetProps as SheetPrimitiveProps,
20
+ SheetTitle as SheetTitlePrimitive,
21
  type SheetTitleProps as SheetTitlePrimitiveProps,
22
+ SheetTrigger as SheetTriggerPrimitive,
23
+ type SheetTriggerProps as SheetTriggerPrimitiveProps,
24
  } from '@/components/animate-ui/primitives/radix/sheet';
25
  import { cn } from '@/lib/utils';
 
26
 
27
  type SheetProps = SheetPrimitiveProps;
28
 
 
137
 
138
  export {
139
  Sheet,
 
140
  SheetClose,
 
 
 
 
 
 
 
141
  type SheetCloseProps,
142
+ SheetContent,
143
  type SheetContentProps,
144
+ SheetDescription,
145
+ type SheetDescriptionProps,
146
+ SheetFooter,
147
  type SheetFooterProps,
148
+ SheetHeader,
149
+ type SheetHeaderProps,
150
+ type SheetProps,
151
+ SheetTitle,
152
  type SheetTitleProps,
153
+ SheetTrigger,
154
+ type SheetTriggerProps,
155
  };
ui/components/animate-ui/components/radix/sidebar.tsx CHANGED
@@ -1,17 +1,18 @@
1
  'use client';
2
 
3
- import * as React from 'react';
4
- import { Slot } from 'radix-ui';
5
  import { cva, VariantProps } from 'class-variance-authority';
6
  import { PanelLeftIcon } from 'lucide-react';
7
  import { type Transition } from 'motion/react';
 
 
8
 
9
- import { useIsMobile } from '@/hooks/use-mobile';
10
- import { cn } from '@/lib/utils';
11
- import { Button } from '@/components/ui/button';
12
- import { Input } from '@/components/ui/input';
13
- import { Separator } from '@/components/ui/separator';
14
- import { Skeleton } from '@/components/ui/skeleton';
15
  import {
16
  Sheet,
17
  SheetContent,
@@ -19,17 +20,17 @@ import {
19
  SheetHeader,
20
  SheetTitle,
21
  } from '@/components/animate-ui/components/radix/sheet';
22
- import {
23
- TooltipProvider,
24
- Tooltip,
25
- TooltipContent,
26
- TooltipTrigger,
27
- } from '@/components/animate-ui/components/animate/tooltip';
28
  import {
29
  Highlight,
30
  HighlightItem,
31
  } from '@/components/animate-ui/primitives/effects/highlight';
 
 
 
 
 
32
  import { getStrictContext } from '@/lib/get-strict-context';
 
33
 
34
  const SIDEBAR_COOKIE_NAME = 'sidebar_state';
35
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
 
1
  'use client';
2
 
3
+ /* eslint-disable react-hooks/purity */
 
4
  import { cva, VariantProps } from 'class-variance-authority';
5
  import { PanelLeftIcon } from 'lucide-react';
6
  import { type Transition } from 'motion/react';
7
+ import { Slot } from 'radix-ui';
8
+ import * as React from 'react';
9
 
10
+ import {
11
+ Tooltip,
12
+ TooltipContent,
13
+ TooltipProvider,
14
+ TooltipTrigger,
15
+ } from '@/components/animate-ui/components/animate/tooltip';
16
  import {
17
  Sheet,
18
  SheetContent,
 
20
  SheetHeader,
21
  SheetTitle,
22
  } from '@/components/animate-ui/components/radix/sheet';
 
 
 
 
 
 
23
  import {
24
  Highlight,
25
  HighlightItem,
26
  } from '@/components/animate-ui/primitives/effects/highlight';
27
+ import { Button } from '@/components/ui/button';
28
+ import { Input } from '@/components/ui/input';
29
+ import { Separator } from '@/components/ui/separator';
30
+ import { Skeleton } from '@/components/ui/skeleton';
31
+ import { useIsMobile } from '@/hooks/use-mobile';
32
  import { getStrictContext } from '@/lib/get-strict-context';
33
+ import { cn } from '@/lib/utils';
34
 
35
  const SIDEBAR_COOKIE_NAME = 'sidebar_state';
36
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
ui/components/animate-ui/primitives/animate/slot.tsx CHANGED
@@ -1,7 +1,9 @@
1
  'use client';
2
 
 
 
3
  import * as React from 'react';
4
- import { motion, isMotionComponent, type HTMLMotionProps } from 'motion/react';
5
  import { cn } from '@/lib/utils';
6
 
7
  type AnyProps = Record<string, unknown>;
@@ -88,9 +90,9 @@ function Slot<T extends HTMLElement = HTMLElement>({
88
  }
89
 
90
  export {
 
 
91
  Slot,
92
  type SlotProps,
93
  type WithAsChild,
94
- type DOMMotionProps,
95
- type AnyProps,
96
  };
 
1
  'use client';
2
 
3
+ /* eslint-disable react-hooks/static-components */
4
+ import { type HTMLMotionProps,isMotionComponent, motion } from 'motion/react';
5
  import * as React from 'react';
6
+
7
  import { cn } from '@/lib/utils';
8
 
9
  type AnyProps = Record<string, unknown>;
 
90
  }
91
 
92
  export {
93
+ type AnyProps,
94
+ type DOMMotionProps,
95
  Slot,
96
  type SlotProps,
97
  type WithAsChild,
 
 
98
  };
ui/components/animate-ui/primitives/animate/tooltip.tsx CHANGED
@@ -1,27 +1,28 @@
1
  'use client';
2
 
3
- import * as React from 'react';
4
- import {
5
- motion,
6
- AnimatePresence,
7
- LayoutGroup,
8
- type Transition,
9
- type HTMLMotionProps,
10
- } from 'motion/react';
11
  import {
12
- useFloating,
13
  autoUpdate,
14
- offset as floatingOffset,
15
  flip,
16
- shift,
17
- arrow as floatingArrow,
18
- FloatingPortal,
19
  FloatingArrow,
 
 
 
 
20
  type UseFloatingReturn,
21
  } from '@floating-ui/react';
 
 
 
 
 
 
 
 
22
 
23
- import { getStrictContext } from '@/lib/get-strict-context';
24
  import { Slot, type WithAsChild } from '@/components/animate-ui/primitives/animate/slot';
 
25
 
26
  type Side = 'top' | 'bottom' | 'left' | 'right';
27
  type Align = 'start' | 'center' | 'end';
@@ -554,19 +555,19 @@ function TooltipTrigger({
554
  }
555
 
556
  export {
557
- TooltipProvider,
558
  Tooltip,
 
 
559
  TooltipContent,
 
 
 
 
 
 
560
  TooltipTrigger,
561
- TooltipArrow,
562
  useGlobalTooltip,
563
  useTooltip,
564
- type TooltipProviderProps,
565
- type TooltipProps,
566
- type TooltipContentProps,
567
- type TooltipTriggerProps,
568
- type TooltipArrowProps,
569
- type TooltipPosition,
570
- type GlobalTooltipContextType,
571
- type TooltipContextType,
572
  };
 
1
  'use client';
2
 
3
+ /* eslint-disable react-hooks/refs */
 
 
 
 
 
 
 
4
  import {
5
+ arrow as floatingArrow,
6
  autoUpdate,
 
7
  flip,
 
 
 
8
  FloatingArrow,
9
+ FloatingPortal,
10
+ offset as floatingOffset,
11
+ shift,
12
+ useFloating,
13
  type UseFloatingReturn,
14
  } from '@floating-ui/react';
15
+ import {
16
+ AnimatePresence,
17
+ type HTMLMotionProps,
18
+ LayoutGroup,
19
+ motion,
20
+ type Transition,
21
+ } from 'motion/react';
22
+ import * as React from 'react';
23
 
 
24
  import { Slot, type WithAsChild } from '@/components/animate-ui/primitives/animate/slot';
25
+ import { getStrictContext } from '@/lib/get-strict-context';
26
 
27
  type Side = 'top' | 'bottom' | 'left' | 'right';
28
  type Align = 'start' | 'center' | 'end';
 
555
  }
556
 
557
  export {
558
+ type GlobalTooltipContextType,
559
  Tooltip,
560
+ TooltipArrow,
561
+ type TooltipArrowProps,
562
  TooltipContent,
563
+ type TooltipContentProps,
564
+ type TooltipContextType,
565
+ type TooltipPosition,
566
+ type TooltipProps,
567
+ TooltipProvider,
568
+ type TooltipProviderProps,
569
  TooltipTrigger,
570
+ type TooltipTriggerProps,
571
  useGlobalTooltip,
572
  useTooltip,
 
 
 
 
 
 
 
 
573
  };
ui/components/animate-ui/primitives/effects/highlight.tsx CHANGED
@@ -1,7 +1,7 @@
1
  'use client';
2
 
3
- import * as React from 'react';
4
  import { AnimatePresence, motion, type Transition } from 'motion/react';
 
5
 
6
  import { cn } from '@/lib/utils';
7
 
@@ -634,7 +634,7 @@ function HighlightItem<T extends React.ElementType>({
634
  export {
635
  Highlight,
636
  HighlightItem,
637
- useHighlight,
638
- type HighlightProps,
639
  type HighlightItemProps,
 
 
640
  };
 
1
  'use client';
2
 
 
3
  import { AnimatePresence, motion, type Transition } from 'motion/react';
4
+ import * as React from 'react';
5
 
6
  import { cn } from '@/lib/utils';
7
 
 
634
  export {
635
  Highlight,
636
  HighlightItem,
 
 
637
  type HighlightItemProps,
638
+ type HighlightProps,
639
+ useHighlight,
640
  };
ui/components/animate-ui/primitives/radix/checkbox.tsx CHANGED
@@ -1,11 +1,11 @@
1
  'use client';
2
 
3
- import * as React from 'react';
4
  import { Checkbox as CheckboxPrimitive } from 'radix-ui';
5
- import { motion, SVGMotionProps, type HTMLMotionProps } from 'motion/react';
6
 
7
- import { getStrictContext } from '@/lib/get-strict-context';
8
  import { useControlledState } from '@/hooks/use-controlled-state';
 
9
 
10
  type CheckboxContextType = {
11
  isChecked: boolean | 'indeterminate';
@@ -120,9 +120,9 @@ function CheckboxIndicator(props: CheckboxIndicatorProps) {
120
 
121
  export {
122
  Checkbox,
 
123
  CheckboxIndicator,
124
- useCheckbox,
125
- type CheckboxProps,
126
  type CheckboxIndicatorProps,
127
- type CheckboxContextType,
 
128
  };
 
1
  'use client';
2
 
3
+ import { type HTMLMotionProps,motion, SVGMotionProps } from 'motion/react';
4
  import { Checkbox as CheckboxPrimitive } from 'radix-ui';
5
+ import * as React from 'react';
6
 
 
7
  import { useControlledState } from '@/hooks/use-controlled-state';
8
+ import { getStrictContext } from '@/lib/get-strict-context';
9
 
10
  type CheckboxContextType = {
11
  isChecked: boolean | 'indeterminate';
 
120
 
121
  export {
122
  Checkbox,
123
+ type CheckboxContextType,
124
  CheckboxIndicator,
 
 
125
  type CheckboxIndicatorProps,
126
+ type CheckboxProps,
127
+ useCheckbox,
128
  };
ui/components/animate-ui/primitives/radix/collapsible.tsx CHANGED
@@ -8,4 +8,4 @@ const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger
8
 
9
  const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent
10
 
11
- export { Collapsible, CollapsibleTrigger, CollapsibleContent }
 
8
 
9
  const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent
10
 
11
+ export { Collapsible, CollapsibleContent,CollapsibleTrigger }
ui/components/animate-ui/primitives/radix/sheet.tsx CHANGED
@@ -1,11 +1,11 @@
1
  'use client';
2
 
3
- import * as React from 'react';
4
  import { Dialog as SheetPrimitive } from 'radix-ui';
5
- import { AnimatePresence, motion, type HTMLMotionProps } from 'motion/react';
6
 
7
- import { getStrictContext } from '@/lib/get-strict-context';
8
  import { useControlledState } from '@/hooks/use-controlled-state';
 
9
 
10
  type SheetContextType = {
11
  isOpen: boolean;
@@ -167,25 +167,25 @@ function SheetDescription(props: SheetDescriptionProps) {
167
  }
168
 
169
  export {
170
- useSheet,
171
  Sheet,
172
- SheetPortal,
173
- SheetOverlay,
174
- SheetTrigger,
175
  SheetClose,
176
- SheetContent,
177
- SheetHeader,
178
- SheetFooter,
179
- SheetTitle,
180
- SheetDescription,
181
- type SheetProps,
182
- type SheetPortalProps,
183
- type SheetOverlayProps,
184
- type SheetTriggerProps,
185
  type SheetCloseProps,
 
186
  type SheetContentProps,
187
- type SheetHeaderProps,
 
 
188
  type SheetFooterProps,
 
 
 
 
 
 
 
 
189
  type SheetTitleProps,
190
- type SheetDescriptionProps,
 
 
191
  };
 
1
  'use client';
2
 
3
+ import { AnimatePresence, type HTMLMotionProps,motion } from 'motion/react';
4
  import { Dialog as SheetPrimitive } from 'radix-ui';
5
+ import * as React from 'react';
6
 
 
7
  import { useControlledState } from '@/hooks/use-controlled-state';
8
+ import { getStrictContext } from '@/lib/get-strict-context';
9
 
10
  type SheetContextType = {
11
  isOpen: boolean;
 
167
  }
168
 
169
  export {
 
170
  Sheet,
 
 
 
171
  SheetClose,
 
 
 
 
 
 
 
 
 
172
  type SheetCloseProps,
173
+ SheetContent,
174
  type SheetContentProps,
175
+ SheetDescription,
176
+ type SheetDescriptionProps,
177
+ SheetFooter,
178
  type SheetFooterProps,
179
+ SheetHeader,
180
+ type SheetHeaderProps,
181
+ SheetOverlay,
182
+ type SheetOverlayProps,
183
+ SheetPortal,
184
+ type SheetPortalProps,
185
+ type SheetProps,
186
+ SheetTitle,
187
  type SheetTitleProps,
188
+ SheetTrigger,
189
+ type SheetTriggerProps,
190
+ useSheet,
191
  };
ui/components/page-header.tsx CHANGED
@@ -1,6 +1,4 @@
1
- import { cn } from "@/lib/utils"
2
  import { SidebarTrigger } from "@/components/animate-ui/components/radix/sidebar"
3
- import { Separator } from "@/components/ui/separator"
4
  import {
5
  Breadcrumb,
6
  BreadcrumbItem,
@@ -9,6 +7,8 @@ import {
9
  BreadcrumbPage,
10
  BreadcrumbSeparator,
11
  } from "@/components/ui/breadcrumb"
 
 
12
 
13
  interface PageHeaderProps {
14
  title: string
 
 
1
  import { SidebarTrigger } from "@/components/animate-ui/components/radix/sidebar"
 
2
  import {
3
  Breadcrumb,
4
  BreadcrumbItem,
 
7
  BreadcrumbPage,
8
  BreadcrumbSeparator,
9
  } from "@/components/ui/breadcrumb"
10
+ import { Separator } from "@/components/ui/separator"
11
+ import { cn } from "@/lib/utils"
12
 
13
  interface PageHeaderProps {
14
  title: string
ui/components/sidebar.tsx CHANGED
@@ -1,55 +1,55 @@
1
  // ui/components/sidebar.tsx
2
  'use client';
3
 
4
- import * as React from 'react';
5
- import Link from 'next/link';
6
- import { usePathname } from 'next/navigation';
7
  import {
8
- Home,
9
- Microscope,
10
- Dna,
11
  BarChart2,
12
- Settings,
13
- Terminal,
14
  ChevronRight,
15
  ChevronsUpDown,
16
- BadgeCheck,
17
- Bell,
18
  CreditCard,
 
 
19
  LogOut,
 
 
20
  Sparkles,
 
21
  User,
22
  } from 'lucide-react';
 
 
 
23
 
 
 
 
 
 
 
 
 
 
24
  import {
25
  Sidebar,
26
- SidebarHeader,
27
  SidebarContent,
28
  SidebarFooter,
29
- SidebarRail,
30
  SidebarGroup,
31
  SidebarGroupLabel,
 
32
  SidebarMenu,
33
- SidebarMenuItem,
34
  SidebarMenuButton,
 
35
  SidebarMenuSub,
36
- SidebarMenuSubItem,
37
  SidebarMenuSubButton,
 
 
38
  } from '@/components/animate-ui/components/radix/sidebar';
39
  import {
40
  Collapsible,
41
  CollapsibleContent,
42
  CollapsibleTrigger,
43
  } from '@/components/animate-ui/primitives/radix/collapsible';
44
- import {
45
- DropdownMenu,
46
- DropdownMenuContent,
47
- DropdownMenuGroup,
48
- DropdownMenuItem,
49
- DropdownMenuLabel,
50
- DropdownMenuSeparator,
51
- DropdownMenuTrigger,
52
- } from '@/components/animate-ui/components/radix/dropdown-menu';
53
  import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
54
  import { useIsMobile } from '@/hooks/use-mobile';
55
 
 
1
  // ui/components/sidebar.tsx
2
  'use client';
3
 
 
 
 
4
  import {
5
+ BadgeCheck,
 
 
6
  BarChart2,
7
+ Bell,
 
8
  ChevronRight,
9
  ChevronsUpDown,
 
 
10
  CreditCard,
11
+ Dna,
12
+ Home,
13
  LogOut,
14
+ Microscope,
15
+ Settings,
16
  Sparkles,
17
+ Terminal,
18
  User,
19
  } from 'lucide-react';
20
+ import Link from 'next/link';
21
+ import { usePathname } from 'next/navigation';
22
+ import * as React from 'react';
23
 
24
+ import {
25
+ DropdownMenu,
26
+ DropdownMenuContent,
27
+ DropdownMenuGroup,
28
+ DropdownMenuItem,
29
+ DropdownMenuLabel,
30
+ DropdownMenuSeparator,
31
+ DropdownMenuTrigger,
32
+ } from '@/components/animate-ui/components/radix/dropdown-menu';
33
  import {
34
  Sidebar,
 
35
  SidebarContent,
36
  SidebarFooter,
 
37
  SidebarGroup,
38
  SidebarGroupLabel,
39
+ SidebarHeader,
40
  SidebarMenu,
 
41
  SidebarMenuButton,
42
+ SidebarMenuItem,
43
  SidebarMenuSub,
 
44
  SidebarMenuSubButton,
45
+ SidebarMenuSubItem,
46
+ SidebarRail,
47
  } from '@/components/animate-ui/components/radix/sidebar';
48
  import {
49
  Collapsible,
50
  CollapsibleContent,
51
  CollapsibleTrigger,
52
  } from '@/components/animate-ui/primitives/radix/collapsible';
 
 
 
 
 
 
 
 
 
53
  import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
54
  import { useIsMobile } from '@/hooks/use-mobile';
55
 
ui/components/ui/avatar.tsx CHANGED
@@ -1,7 +1,7 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as AvatarPrimitive from "@radix-ui/react-avatar"
 
5
 
6
  import { cn } from "@/lib/utils"
7
 
@@ -47,4 +47,4 @@ const AvatarFallback = React.forwardRef<
47
  ))
48
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
49
 
50
- export { Avatar, AvatarImage, AvatarFallback }
 
1
  "use client"
2
 
 
3
  import * as AvatarPrimitive from "@radix-ui/react-avatar"
4
+ import * as React from "react"
5
 
6
  import { cn } from "@/lib/utils"
7
 
 
47
  ))
48
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
49
 
50
+ export { Avatar, AvatarFallback,AvatarImage }
ui/components/ui/badge.tsx CHANGED
@@ -1,6 +1,6 @@
1
  // ui/components/ui/badge.tsx
2
- import * as React from "react"
3
  import { cva, type VariantProps } from "class-variance-authority"
 
4
 
5
  import { cn } from "@/lib/utils"
6
 
 
1
  // ui/components/ui/badge.tsx
 
2
  import { cva, type VariantProps } from "class-variance-authority"
3
+ import * as React from "react"
4
 
5
  import { cn } from "@/lib/utils"
6
 
ui/components/ui/breadcrumb.tsx CHANGED
@@ -1,6 +1,6 @@
1
- import * as React from "react"
2
  import { Slot } from "@radix-ui/react-slot"
3
  import { ChevronRight, MoreHorizontal } from "lucide-react"
 
4
 
5
  import { cn } from "@/lib/utils"
6
 
@@ -106,10 +106,10 @@ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis"
106
 
107
  export {
108
  Breadcrumb,
109
- BreadcrumbList,
110
  BreadcrumbItem,
111
  BreadcrumbLink,
 
112
  BreadcrumbPage,
113
  BreadcrumbSeparator,
114
- BreadcrumbEllipsis,
115
  }
 
 
1
  import { Slot } from "@radix-ui/react-slot"
2
  import { ChevronRight, MoreHorizontal } from "lucide-react"
3
+ import * as React from "react"
4
 
5
  import { cn } from "@/lib/utils"
6
 
 
106
 
107
  export {
108
  Breadcrumb,
109
+ BreadcrumbEllipsis,
110
  BreadcrumbItem,
111
  BreadcrumbLink,
112
+ BreadcrumbList,
113
  BreadcrumbPage,
114
  BreadcrumbSeparator,
 
115
  }
ui/components/ui/button.tsx CHANGED
@@ -1,6 +1,6 @@
1
- import * as React from "react"
2
  import { Slot } from "@radix-ui/react-slot"
3
  import { cva, type VariantProps } from "class-variance-authority"
 
4
 
5
  import { cn } from "@/lib/utils"
6
 
 
 
1
  import { Slot } from "@radix-ui/react-slot"
2
  import { cva, type VariantProps } from "class-variance-authority"
3
+ import * as React from "react"
4
 
5
  import { cn } from "@/lib/utils"
6
 
ui/components/ui/card.tsx CHANGED
@@ -74,4 +74,4 @@ const CardFooter = React.forwardRef<
74
  ))
75
  CardFooter.displayName = "CardFooter"
76
 
77
- export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
 
74
  ))
75
  CardFooter.displayName = "CardFooter"
76
 
77
+ export { Card, CardContent,CardDescription, CardFooter, CardHeader, CardTitle }
ui/components/ui/empty.tsx CHANGED
@@ -96,9 +96,9 @@ function EmptyContent({ className, ...props }: React.ComponentProps<"div">) {
96
 
97
  export {
98
  Empty,
99
- EmptyHeader,
100
- EmptyTitle,
101
- EmptyDescription,
102
  EmptyContent,
 
 
103
  EmptyMedia,
 
104
  }
 
96
 
97
  export {
98
  Empty,
 
 
 
99
  EmptyContent,
100
+ EmptyDescription,
101
+ EmptyHeader,
102
  EmptyMedia,
103
+ EmptyTitle,
104
  }
ui/components/ui/label.tsx CHANGED
@@ -1,7 +1,7 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as LabelPrimitive from "@radix-ui/react-label"
 
5
 
6
  import { cn } from "@/lib/utils"
7
 
 
1
  "use client"
2
 
 
3
  import * as LabelPrimitive from "@radix-ui/react-label"
4
+ import * as React from "react"
5
 
6
  import { cn } from "@/lib/utils"
7
 
ui/components/ui/select.tsx CHANGED
@@ -1,8 +1,8 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as SelectPrimitive from "@radix-ui/react-select"
5
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"
 
6
 
7
  import { cn } from "@/lib/utils"
8
 
 
1
  "use client"
2
 
 
3
  import * as SelectPrimitive from "@radix-ui/react-select"
4
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"
5
+ import * as React from "react"
6
 
7
  import { cn } from "@/lib/utils"
8
 
ui/components/ui/separator.tsx CHANGED
@@ -1,7 +1,7 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as SeparatorPrimitive from "@radix-ui/react-separator"
 
5
 
6
  import { cn } from "@/lib/utils"
7
 
 
1
  "use client"
2
 
 
3
  import * as SeparatorPrimitive from "@radix-ui/react-separator"
4
+ import * as React from "react"
5
 
6
  import { cn } from "@/lib/utils"
7
 
ui/components/ui/slider.tsx CHANGED
@@ -1,7 +1,7 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as SliderPrimitive from "@radix-ui/react-slider"
 
5
 
6
  import { cn } from "@/lib/utils"
7
 
 
1
  "use client"
2
 
 
3
  import * as SliderPrimitive from "@radix-ui/react-slider"
4
+ import * as React from "react"
5
 
6
  import { cn } from "@/lib/utils"
7
 
ui/components/ui/switch.tsx CHANGED
@@ -1,7 +1,7 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as SwitchPrimitive from "@radix-ui/react-switch"
 
5
 
6
  import { cn } from "@/lib/utils"
7
 
 
1
  "use client"
2
 
 
3
  import * as SwitchPrimitive from "@radix-ui/react-switch"
4
+ import * as React from "react"
5
 
6
  import { cn } from "@/lib/utils"
7
 
ui/components/ui/table.tsx CHANGED
@@ -106,11 +106,11 @@ function TableCaption({
106
 
107
  export {
108
  Table,
109
- TableHeader,
110
  TableBody,
 
 
111
  TableFooter,
112
  TableHead,
 
113
  TableRow,
114
- TableCell,
115
- TableCaption,
116
  }
 
106
 
107
  export {
108
  Table,
 
109
  TableBody,
110
+ TableCaption,
111
+ TableCell,
112
  TableFooter,
113
  TableHead,
114
+ TableHeader,
115
  TableRow,
 
 
116
  }
ui/components/ui/tabs.tsx CHANGED
@@ -1,8 +1,8 @@
1
  "use client"
2
 
3
- import * as React from "react"
4
  import * as TabsPrimitive from "@radix-ui/react-tabs"
5
  import { cva, type VariantProps } from "class-variance-authority"
 
6
 
7
  import { cn } from "@/lib/utils"
8
 
@@ -88,4 +88,4 @@ function TabsContent({
88
  )
89
  }
90
 
91
- export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }
 
1
  "use client"
2
 
 
3
  import * as TabsPrimitive from "@radix-ui/react-tabs"
4
  import { cva, type VariantProps } from "class-variance-authority"
5
+ import * as React from "react"
6
 
7
  import { cn } from "@/lib/utils"
8
 
 
88
  )
89
  }
90
 
91
+ export { Tabs, TabsContent, TabsList, tabsListVariants,TabsTrigger }
ui/eslint.config.mjs CHANGED
@@ -2,11 +2,9 @@
2
  import { defineConfig, globalIgnores } from "eslint/config";
3
  import nextVitals from "eslint-config-next/core-web-vitals";
4
  import nextTs from "eslint-config-next/typescript";
5
-
6
  import reactHooks from "eslint-plugin-react-hooks";
7
- import unusedImports from "eslint-plugin-unused-imports";
8
  import simpleImportSort from "eslint-plugin-simple-import-sort";
9
- import tailwindcss from "eslint-plugin-tailwindcss";
10
 
11
  export default defineConfig([
12
  ...nextVitals,
@@ -17,16 +15,6 @@ export default defineConfig([
17
  "react-hooks": reactHooks,
18
  "unused-imports": unusedImports,
19
  "simple-import-sort": simpleImportSort,
20
- tailwindcss,
21
- },
22
-
23
- settings: {
24
- // Helps eslint-plugin-tailwindcss understand cn()/cva() patterns (common with shadcn)
25
- tailwindcss: {
26
- callees: ["cn", "cva"],
27
- // If you still have a config file, keep it here; otherwise it’s harmless.
28
- config: "./tailwind.config.ts",
29
- },
30
  },
31
 
32
  rules: {
@@ -55,11 +43,7 @@ export default defineConfig([
55
  "simple-import-sort/imports": "warn",
56
  "simple-import-sort/exports": "warn",
57
 
58
- // Tailwind + shadcn friendly defaults
59
- "tailwindcss/classnames-order": "warn",
60
- "tailwindcss/no-contradicting-classname": "error",
61
- // shadcn often uses design-token classes (e.g. bg-background, text-foreground)
62
- "tailwindcss/no-custom-classname": "off",
63
  },
64
  },
65
 
 
2
  import { defineConfig, globalIgnores } from "eslint/config";
3
  import nextVitals from "eslint-config-next/core-web-vitals";
4
  import nextTs from "eslint-config-next/typescript";
 
5
  import reactHooks from "eslint-plugin-react-hooks";
 
6
  import simpleImportSort from "eslint-plugin-simple-import-sort";
7
+ import unusedImports from "eslint-plugin-unused-imports";
8
 
9
  export default defineConfig([
10
  ...nextVitals,
 
15
  "react-hooks": reactHooks,
16
  "unused-imports": unusedImports,
17
  "simple-import-sort": simpleImportSort,
 
 
 
 
 
 
 
 
 
 
18
  },
19
 
20
  rules: {
 
43
  "simple-import-sort/imports": "warn",
44
  "simple-import-sort/exports": "warn",
45
 
46
+ // NOTE: Tailwind rules disabled - plugin not compatible with Tailwind v4
 
 
 
 
47
  },
48
  },
49
 
ui/lib/explorer-service.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { ExplorerResponse } from "@/types/explorer";
2
  import { ExplorerRequestSchema } from "@/schemas/explorer";
 
3
 
4
  export async function getExplorerPoints(
5
  dataset?: string,
 
 
1
  import { ExplorerRequestSchema } from "@/schemas/explorer";
2
+ import { DataPoint, ExplorerResponse } from "@/types/explorer";
3
 
4
  export async function getExplorerPoints(
5
  dataset?: string,
ui/lib/utils.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { clsx, type ClassValue } from "clsx"
2
  import { twMerge } from "tailwind-merge"
3
 
4
  export function cn(...inputs: ClassValue[]) {
 
1
+ import { type ClassValue,clsx } from "clsx"
2
  import { twMerge } from "tailwind-merge"
3
 
4
  export function cn(...inputs: ClassValue[]) {
ui/types/data.ts CHANGED
@@ -1,5 +1,6 @@
1
  import { z } from "zod";
2
- import { DatasetSchema, StatisticsSchema, DataResponseSchema } from "@/schemas/data";
 
3
 
4
  export type Dataset = z.infer<typeof DatasetSchema>;
5
  export type Statistics = z.infer<typeof StatisticsSchema>;
 
1
  import { z } from "zod";
2
+
3
+ import { DataResponseSchema,DatasetSchema, StatisticsSchema } from "@/schemas/data";
4
 
5
  export type Dataset = z.infer<typeof DatasetSchema>;
6
  export type Statistics = z.infer<typeof StatisticsSchema>;
ui/types/explorer.ts CHANGED
@@ -1,5 +1,6 @@
1
  import { z } from "zod";
2
- import { DataPointSchema, ExplorerMetricsSchema, ExplorerResponseSchema, ExplorerRequestSchema } from "@/schemas/explorer";
 
3
 
4
  export type DataPoint = z.infer<typeof DataPointSchema>;
5
  export type ExplorerMetrics = z.infer<typeof ExplorerMetricsSchema>;
 
1
  import { z } from "zod";
2
+
3
+ import { DataPointSchema, ExplorerMetricsSchema, ExplorerRequestSchema,ExplorerResponseSchema } from "@/schemas/explorer";
4
 
5
  export type DataPoint = z.infer<typeof DataPointSchema>;
6
  export type ExplorerMetrics = z.infer<typeof ExplorerMetricsSchema>;