"use client"; import * as shadcnComponents from "@/utils/shadcn"; import { Sandpack } from "@codesandbox/sandpack-react"; import { SandpackPreview, SandpackProvider, } from "@codesandbox/sandpack-react/unstyled"; import { dracula as draculaTheme } from "@codesandbox/sandpack-themes"; import dedent from "dedent"; import "./code-viewer.css"; export default function CodeViewer({ code, showEditor = false, }: { code: string; showEditor?: boolean; }) { return showEditor ? ( ) : ( ); } let sharedProps = { template: "react-ts", theme: draculaTheme, customSetup: { dependencies: { "lucide-react": "latest", recharts: "2.9.0", "react-router-dom": "latest", "@radix-ui/react-accordion": "^1.2.0", "@radix-ui/react-alert-dialog": "^1.1.1", "@radix-ui/react-aspect-ratio": "^1.1.0", "@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-checkbox": "^1.1.1", "@radix-ui/react-collapsible": "^1.1.0", "@radix-ui/react-dialog": "^1.1.1", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-hover-card": "^1.1.1", "@radix-ui/react-label": "^2.1.0", "@radix-ui/react-menubar": "^1.1.1", "@radix-ui/react-navigation-menu": "^1.2.0", "@radix-ui/react-popover": "^1.1.1", "@radix-ui/react-progress": "^1.1.0", "@radix-ui/react-radio-group": "^1.2.0", "@radix-ui/react-select": "^2.1.1", "@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-slider": "^1.2.0", "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-switch": "^1.1.0", "@radix-ui/react-tabs": "^1.1.0", "@radix-ui/react-toast": "^1.2.1", "@radix-ui/react-toggle": "^1.1.0", "@radix-ui/react-toggle-group": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.2", "class-variance-authority": "^0.7.0", clsx: "^2.1.1", "date-fns": "^3.6.0", "embla-carousel-react": "^8.1.8", "react-day-picker": "^8.10.1", "tailwind-merge": "^2.4.0", "tailwindcss-animate": "^1.0.7", vaul: "^0.9.1", }, }, } as const; let sharedOptions = { externalResources: [ "https://unpkg.com/@tailwindcss/ui/dist/tailwind-ui.min.css", ], }; let sharedFiles = { "/lib/utils.ts": shadcnComponents.utils, "/components/ui/accordion.tsx": shadcnComponents.accordian, "/components/ui/alert-dialog.tsx": shadcnComponents.alertDialog, "/components/ui/alert.tsx": shadcnComponents.alert, "/components/ui/avatar.tsx": shadcnComponents.avatar, "/components/ui/badge.tsx": shadcnComponents.badge, "/components/ui/breadcrumb.tsx": shadcnComponents.breadcrumb, "/components/ui/button.tsx": shadcnComponents.button, "/components/ui/calendar.tsx": shadcnComponents.calendar, "/components/ui/card.tsx": shadcnComponents.card, "/components/ui/carousel.tsx": shadcnComponents.carousel, "/components/ui/checkbox.tsx": shadcnComponents.checkbox, "/components/ui/collapsible.tsx": shadcnComponents.collapsible, "/components/ui/dialog.tsx": shadcnComponents.dialog, "/components/ui/drawer.tsx": shadcnComponents.drawer, "/components/ui/dropdown-menu.tsx": shadcnComponents.dropdownMenu, "/components/ui/input.tsx": shadcnComponents.input, "/components/ui/label.tsx": shadcnComponents.label, "/components/ui/menubar.tsx": shadcnComponents.menuBar, "/components/ui/navigation-menu.tsx": shadcnComponents.navigationMenu, "/components/ui/pagination.tsx": shadcnComponents.pagination, "/components/ui/popover.tsx": shadcnComponents.popover, "/components/ui/progress.tsx": shadcnComponents.progress, "/components/ui/radio-group.tsx": shadcnComponents.radioGroup, "/components/ui/select.tsx": shadcnComponents.select, "/components/ui/separator.tsx": shadcnComponents.separator, "/components/ui/skeleton.tsx": shadcnComponents.skeleton, "/components/ui/slider.tsx": shadcnComponents.slider, "/components/ui/switch.tsx": shadcnComponents.switchComponent, "/components/ui/table.tsx": shadcnComponents.table, "/components/ui/tabs.tsx": shadcnComponents.tabs, "/components/ui/textarea.tsx": shadcnComponents.textarea, "/components/ui/toast.tsx": shadcnComponents.toast, "/components/ui/toaster.tsx": shadcnComponents.toaster, "/components/ui/toggle-group.tsx": shadcnComponents.toggleGroup, "/components/ui/toggle.tsx": shadcnComponents.toggle, "/components/ui/tooltip.tsx": shadcnComponents.tooltip, "/components/ui/use-toast.tsx": shadcnComponents.useToast, "/public/index.html": dedent` Document
`, };