@aumnidigital/bms 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -21
- package/dist/{chunk-KRDZATRT.cjs → chunk-HITKPPHP.cjs} +2 -2
- package/dist/{chunk-KRDZATRT.cjs.map → chunk-HITKPPHP.cjs.map} +1 -1
- package/dist/{chunk-NO6MNNEU.js → chunk-JEKJWMA6.js} +2 -2
- package/dist/{chunk-NO6MNNEU.js.map → chunk-JEKJWMA6.js.map} +1 -1
- package/dist/components/index.cjs +126 -126
- package/dist/components/index.js +1 -1
- package/dist/index.cjs +450 -177
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +276 -6
- package/dist/index.js.map +1 -1
- package/dist/styles.css +5 -0
- package/package.json +3 -2
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/renderer/MDXRenderer.tsx"],"names":["CTAButtonGroup","CTASection","Button","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Alert","AlertTitle","AlertDescription","Badge","Accordion","AccordionContent","AccordionItem","AccordionTrigger","Tabs","TabsContent","TabsList","TabsTrigger","Separator","Avatar","AvatarFallback","AvatarImage","Breadcrumb","BreadcrumbItem","BreadcrumbLink","BreadcrumbList","BreadcrumbPage","BreadcrumbSeparator","Checkbox","Progress","Skeleton","Table","TableBody","TableCaption","TableCell","TableHead","TableHeader","TableRow","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","AspectRatio","jsx","React","compile","remarkGfm","Content","run","runtime","error","jsxs"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { compile, run } from \"@mdx-js/mdx\";\nimport * as runtime from \"react/jsx-runtime\";\nimport remarkGfm from \"remark-gfm\";\nimport type { MDXRendererProps } from \"./types\";\n\n// Import all components for MDX usage\nimport { Button } from \"@/components/ui/button\";\nimport {\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n} from \"@/components/ui/card\";\nimport { Alert, AlertTitle, AlertDescription } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport { Progress } from \"@/components/ui/progress\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { AspectRatio } from \"@/components/ui/aspect-ratio\";\nimport { CTAButtonGroup } from \"@/components/custom/cta-buttons\";\nimport { CTASection } from \"@/components/custom/cta-section\";\n\n// Default components available in MDX\nconst defaultComponents = {\n // Custom components\n CTAButtonGroup,\n CTASection,\n\n // UI Components\n Button,\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n Alert,\n AlertTitle,\n AlertDescription,\n Badge,\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Separator,\n Avatar,\n AvatarFallback,\n AvatarImage,\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n Checkbox,\n Progress,\n Skeleton,\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n AspectRatio,\n\n // HTML element overrides for better typography\n h1: (props: any) => (\n <h1\n className=\"scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl\"\n {...props}\n />\n ),\n h2: (props: any) => (\n <h2\n className=\"scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0\"\n {...props}\n />\n ),\n h3: (props: any) => (\n <h3\n className=\"scroll-m-20 text-2xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n h4: (props: any) => (\n <h4\n className=\"scroll-m-20 text-xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n p: (props: any) => (\n <p className=\"leading-7 [&:not(:first-child)]:mt-6\" {...props} />\n ),\n a: (props: any) => (\n <a\n className=\"font-medium text-primary underline underline-offset-4\"\n {...props}\n />\n ),\n ul: (props: any) => (\n <ul className=\"my-6 ml-6 list-disc [&>li]:mt-2\" {...props} />\n ),\n ol: (props: any) => (\n <ol className=\"my-6 ml-6 list-decimal [&>li]:mt-2\" {...props} />\n ),\n li: (props: any) => <li className=\"mt-2\" {...props} />,\n blockquote: (props: any) => (\n <blockquote className=\"mt-6 border-l-2 pl-6 italic\" {...props} />\n ),\n code: (props: any) => (\n <code\n className=\"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold\"\n {...props}\n />\n ),\n pre: (props: any) => (\n <pre\n className=\"mb-4 mt-6 overflow-x-auto rounded-lg border bg-muted p-4\"\n {...props}\n />\n ),\n hr: (props: any) => <hr className=\"my-4 md:my-8\" {...props} />,\n table: (props: any) => (\n <div className=\"my-6 w-full overflow-y-auto\">\n <table className=\"w-full\" {...props} />\n </div>\n ),\n tr: (props: any) => (\n <tr className=\"m-0 border-t p-0 even:bg-muted\" {...props} />\n ),\n th: (props: any) => (\n <th\n className=\"border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n td: (props: any) => (\n <td\n className=\"border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n};\n\nexport function MDXRenderer({\n content,\n components: customComponents = {},\n scope = {},\n options = {},\n fallback,\n onError,\n}: MDXRendererProps) {\n const [MDXContent, setMDXContent] = React.useState<React.ComponentType | null>(\n null\n );\n const [error, setError] = React.useState<Error | null>(null);\n const [isLoading, setIsLoading] = React.useState(true);\n\n // Memoize options to prevent infinite re-renders\n const memoizedOptions = React.useMemo(() => options, [JSON.stringify(options)]);\n\n React.useEffect(() => {\n let isCancelled = false;\n\n async function compileMDX() {\n try {\n setIsLoading(true);\n setError(null);\n\n // Compile MDX content\n const compiled = await compile(content, {\n outputFormat: \"function-body\",\n remarkPlugins: [remarkGfm],\n ...memoizedOptions,\n });\n\n // Run the compiled code\n const { default: Content } = await run(String(compiled), {\n ...runtime,\n baseUrl: import.meta.url,\n });\n\n if (!isCancelled) {\n setMDXContent(() => Content);\n }\n } catch (err) {\n if (!isCancelled) {\n const error = err instanceof Error ? err : new Error(String(err));\n setError(error);\n if (onError) {\n onError(error);\n }\n }\n } finally {\n if (!isCancelled) {\n setIsLoading(false);\n }\n }\n }\n\n if (content) {\n compileMDX();\n }\n\n return () => {\n isCancelled = true;\n };\n }, [content, memoizedOptions]);\n\n const mergedComponents = React.useMemo(\n () => ({ ...defaultComponents, ...customComponents }),\n [customComponents]\n );\n\n // Loading state\n if (isLoading) {\n return (\n fallback ?? (\n <div className=\"animate-pulse space-y-4\">\n <div className=\"h-4 bg-muted rounded w-3/4\"></div>\n <div className=\"h-4 bg-muted rounded w-full\"></div>\n <div className=\"h-4 bg-muted rounded w-5/6\"></div>\n </div>\n )\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-8\">\n <h3 className=\"text-destructive font-semibold mb-2\">\n MDX Compilation Error\n </h3>\n <pre className=\"text-sm text-destructive/80 whitespace-pre-wrap overflow-x-auto\">\n {error.message}\n </pre>\n </div>\n );\n }\n\n // Empty state\n if (!MDXContent) {\n return null;\n }\n\n // Render compiled MDX\n const Content = MDXContent as React.ComponentType<any>;\n return <Content components={mergedComponents} {...scope} />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/hover-card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/toggle.tsx","../src/renderer/MDXRenderer.tsx"],"names":["HoverCardPrimitive","jsx","cn","React","useEmblaCarousel","api","jsxs","Button","ArrowLeft","ArrowRight","cva","TogglePrimitive","CTAButtonGroup","CTASection","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Alert","AlertTitle","AlertDescription","Badge","Accordion","AccordionContent","AccordionItem","AccordionTrigger","Tabs","TabsContent","TabsList","TabsTrigger","Separator","Avatar","AvatarFallback","AvatarImage","Breadcrumb","BreadcrumbItem","BreadcrumbLink","BreadcrumbList","BreadcrumbPage","BreadcrumbSeparator","Checkbox","Progress","Skeleton","Table","TableBody","TableCaption","TableCell","TableHead","TableHeader","TableRow","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","AspectRatio","Collapsible","CollapsibleTrigger","CollapsibleContent","Switch","Slider","ScrollArea","React2","compile","remarkGfm","Content","run","runtime","error"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction HoverCard({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />\n}\n\nfunction HoverCardTrigger({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return (\n <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n )\n}\n\nfunction HoverCardContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n )\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) return\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) return\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel()\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-9 px-2 min-w-9\",\n sm: \"h-8 px-1.5 min-w-8\",\n lg: \"h-10 px-2.5 min-w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n","\"use client\";\n\nimport * as React from \"react\";\nimport { compile, run } from \"@mdx-js/mdx\";\nimport * as runtime from \"react/jsx-runtime\";\nimport remarkGfm from \"remark-gfm\";\nimport type { MDXRendererProps } from \"./types\";\n\n// Import all components for MDX usage\nimport { Button } from \"@/components/ui/button\";\nimport {\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n} from \"@/components/ui/card\";\nimport { Alert, AlertTitle, AlertDescription } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport { Progress } from \"@/components/ui/progress\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { AspectRatio } from \"@/components/ui/aspect-ratio\";\nimport { CTAButtonGroup } from \"@/components/custom/cta-buttons\";\nimport { CTASection } from \"@/components/custom/cta-section\";\nimport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n} from \"@/components/ui/hover-card\";\nimport {\n Collapsible,\n CollapsibleTrigger,\n CollapsibleContent,\n} from \"@/components/ui/collapsible\";\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n} from \"@/components/ui/carousel\";\nimport { Toggle } from \"@/components/ui/toggle\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Slider } from \"@/components/ui/slider\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\n\n// Default components available in MDX\nconst defaultComponents = {\n // Custom components\n CTAButtonGroup,\n CTASection,\n\n // UI Components\n Button,\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n Alert,\n AlertTitle,\n AlertDescription,\n Badge,\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Separator,\n Avatar,\n AvatarFallback,\n AvatarImage,\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n Checkbox,\n Progress,\n Skeleton,\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n AspectRatio,\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n Collapsible,\n CollapsibleTrigger,\n CollapsibleContent,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n Toggle,\n Switch,\n Slider,\n ScrollArea,\n\n // HTML element overrides for better typography\n h1: (props: any) => (\n <h1\n className=\"scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl\"\n {...props}\n />\n ),\n h2: (props: any) => (\n <h2\n className=\"scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0\"\n {...props}\n />\n ),\n h3: (props: any) => (\n <h3\n className=\"scroll-m-20 text-2xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n h4: (props: any) => (\n <h4\n className=\"scroll-m-20 text-xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n p: (props: any) => (\n <p className=\"leading-7 [&:not(:first-child)]:mt-6\" {...props} />\n ),\n a: (props: any) => (\n <a\n className=\"font-medium text-primary underline underline-offset-4\"\n {...props}\n />\n ),\n ul: (props: any) => (\n <ul className=\"my-6 ml-6 list-disc [&>li]:mt-2\" {...props} />\n ),\n ol: (props: any) => (\n <ol className=\"my-6 ml-6 list-decimal [&>li]:mt-2\" {...props} />\n ),\n li: (props: any) => <li className=\"mt-2\" {...props} />,\n blockquote: (props: any) => (\n <blockquote className=\"mt-6 border-l-2 pl-6 italic\" {...props} />\n ),\n code: (props: any) => (\n <code\n className=\"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold\"\n {...props}\n />\n ),\n pre: (props: any) => (\n <pre\n className=\"mb-4 mt-6 overflow-x-auto rounded-lg border bg-muted p-4\"\n {...props}\n />\n ),\n hr: (props: any) => <hr className=\"my-4 md:my-8\" {...props} />,\n table: (props: any) => (\n <div className=\"my-6 w-full overflow-y-auto\">\n <table className=\"w-full\" {...props} />\n </div>\n ),\n tr: (props: any) => (\n <tr className=\"m-0 border-t p-0 even:bg-muted\" {...props} />\n ),\n th: (props: any) => (\n <th\n className=\"border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n td: (props: any) => (\n <td\n className=\"border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n};\n\nexport function MDXRenderer({\n content,\n components: customComponents = {},\n scope = {},\n options = {},\n fallback,\n onError,\n}: MDXRendererProps) {\n const [MDXContent, setMDXContent] = React.useState<React.ComponentType | null>(\n null\n );\n const [error, setError] = React.useState<Error | null>(null);\n const [isLoading, setIsLoading] = React.useState(true);\n\n // Memoize options to prevent infinite re-renders\n const memoizedOptions = React.useMemo(() => options, [JSON.stringify(options)]);\n\n React.useEffect(() => {\n let isCancelled = false;\n\n async function compileMDX() {\n try {\n setIsLoading(true);\n setError(null);\n\n // Compile MDX content\n const compiled = await compile(content, {\n outputFormat: \"function-body\",\n remarkPlugins: [remarkGfm],\n ...memoizedOptions,\n });\n\n // Run the compiled code\n const { default: Content } = await run(String(compiled), {\n ...runtime,\n baseUrl: import.meta.url,\n });\n\n if (!isCancelled) {\n setMDXContent(() => Content);\n }\n } catch (err) {\n if (!isCancelled) {\n const error = err instanceof Error ? err : new Error(String(err));\n setError(error);\n if (onError) {\n onError(error);\n }\n }\n } finally {\n if (!isCancelled) {\n setIsLoading(false);\n }\n }\n }\n\n if (content) {\n compileMDX();\n }\n\n return () => {\n isCancelled = true;\n };\n }, [content, memoizedOptions]);\n\n const mergedComponents = React.useMemo(\n () => ({ ...defaultComponents, ...customComponents }),\n [customComponents]\n );\n\n // Loading state\n if (isLoading) {\n return (\n fallback ?? (\n <div className=\"animate-pulse space-y-4\">\n <div className=\"h-4 bg-muted rounded w-3/4\"></div>\n <div className=\"h-4 bg-muted rounded w-full\"></div>\n <div className=\"h-4 bg-muted rounded w-5/6\"></div>\n </div>\n )\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-8\">\n <h3 className=\"text-destructive font-semibold mb-2\">\n MDX Compilation Error\n </h3>\n <pre className=\"text-sm text-destructive/80 whitespace-pre-wrap overflow-x-auto\">\n {error.message}\n </pre>\n </div>\n );\n }\n\n // Empty state\n if (!MDXContent) {\n return null;\n }\n\n // Render compiled MDX\n const Content = MDXContent as React.ComponentType<any>;\n return <Content components={mergedComponents} {...scope} />;\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,266 @@
|
|
|
1
|
-
import { AspectRatio, TooltipTrigger, TooltipProvider, TooltipContent, Tooltip, TableRow, TableHeader, TableHead, TableCell, TableCaption, TableBody, Table, Skeleton, Progress, Checkbox, BreadcrumbSeparator, BreadcrumbPage, BreadcrumbList, BreadcrumbLink, BreadcrumbItem, Breadcrumb, AvatarImage, AvatarFallback, Avatar, Separator, TabsTrigger, TabsList, TabsContent, Tabs, AccordionTrigger, AccordionItem, AccordionContent, Accordion, Badge, AlertDescription, AlertTitle, Alert, CardFooter, CardContent, CardDescription, CardTitle, CardHeader, Card, Button, CTASection, CTAButtonGroup } from './chunk-
|
|
2
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CTAButtonGroup, CTASection, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, Label, Popover, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn } from './chunk-
|
|
1
|
+
import { ScrollArea, Slider, Switch, CollapsibleContent, CollapsibleTrigger, Collapsible, AspectRatio, TooltipTrigger, TooltipProvider, TooltipContent, Tooltip, TableRow, TableHeader, TableHead, TableCell, TableCaption, TableBody, Table, Skeleton, Progress, Checkbox, BreadcrumbSeparator, BreadcrumbPage, BreadcrumbList, BreadcrumbLink, BreadcrumbItem, Breadcrumb, AvatarImage, AvatarFallback, Avatar, Separator, TabsTrigger, TabsList, TabsContent, Tabs, AccordionTrigger, AccordionItem, AccordionContent, Accordion, Badge, AlertDescription, AlertTitle, Alert, CardFooter, CardContent, CardDescription, CardTitle, CardHeader, Card, Button, CTASection, CTAButtonGroup, cn } from './chunk-JEKJWMA6.js';
|
|
2
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CTAButtonGroup, CTASection, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, Label, Popover, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn } from './chunk-JEKJWMA6.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { compile, run } from '@mdx-js/mdx';
|
|
5
5
|
import * as runtime from 'react/jsx-runtime';
|
|
6
6
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
7
|
import remarkGfm from 'remark-gfm';
|
|
8
|
+
import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
9
|
+
import useEmblaCarousel from 'embla-carousel-react';
|
|
10
|
+
import { ArrowRight, ArrowLeft } from 'lucide-react';
|
|
11
|
+
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
12
|
+
import { cva } from 'class-variance-authority';
|
|
8
13
|
|
|
14
|
+
function HoverCard({
|
|
15
|
+
...props
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ jsx(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
|
|
18
|
+
}
|
|
19
|
+
function HoverCardTrigger({
|
|
20
|
+
...props
|
|
21
|
+
}) {
|
|
22
|
+
return /* @__PURE__ */ jsx(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
23
|
+
}
|
|
24
|
+
function HoverCardContent({
|
|
25
|
+
className,
|
|
26
|
+
align = "center",
|
|
27
|
+
sideOffset = 4,
|
|
28
|
+
...props
|
|
29
|
+
}) {
|
|
30
|
+
return /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
|
|
31
|
+
HoverCardPrimitive.Content,
|
|
32
|
+
{
|
|
33
|
+
"data-slot": "hover-card-content",
|
|
34
|
+
align,
|
|
35
|
+
sideOffset,
|
|
36
|
+
className: cn(
|
|
37
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
38
|
+
className
|
|
39
|
+
),
|
|
40
|
+
...props
|
|
41
|
+
}
|
|
42
|
+
) });
|
|
43
|
+
}
|
|
44
|
+
var CarouselContext = React.createContext(null);
|
|
45
|
+
function useCarousel() {
|
|
46
|
+
const context = React.useContext(CarouselContext);
|
|
47
|
+
if (!context) {
|
|
48
|
+
throw new Error("useCarousel must be used within a <Carousel />");
|
|
49
|
+
}
|
|
50
|
+
return context;
|
|
51
|
+
}
|
|
52
|
+
function Carousel({
|
|
53
|
+
orientation = "horizontal",
|
|
54
|
+
opts,
|
|
55
|
+
setApi,
|
|
56
|
+
plugins,
|
|
57
|
+
className,
|
|
58
|
+
children,
|
|
59
|
+
...props
|
|
60
|
+
}) {
|
|
61
|
+
const [carouselRef, api] = useEmblaCarousel(
|
|
62
|
+
{
|
|
63
|
+
...opts,
|
|
64
|
+
axis: orientation === "horizontal" ? "x" : "y"
|
|
65
|
+
},
|
|
66
|
+
plugins
|
|
67
|
+
);
|
|
68
|
+
const [canScrollPrev, setCanScrollPrev] = React.useState(false);
|
|
69
|
+
const [canScrollNext, setCanScrollNext] = React.useState(false);
|
|
70
|
+
const onSelect = React.useCallback((api2) => {
|
|
71
|
+
if (!api2) return;
|
|
72
|
+
setCanScrollPrev(api2.canScrollPrev());
|
|
73
|
+
setCanScrollNext(api2.canScrollNext());
|
|
74
|
+
}, []);
|
|
75
|
+
const scrollPrev = React.useCallback(() => {
|
|
76
|
+
api?.scrollPrev();
|
|
77
|
+
}, [api]);
|
|
78
|
+
const scrollNext = React.useCallback(() => {
|
|
79
|
+
api?.scrollNext();
|
|
80
|
+
}, [api]);
|
|
81
|
+
const handleKeyDown = React.useCallback(
|
|
82
|
+
(event) => {
|
|
83
|
+
if (event.key === "ArrowLeft") {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
scrollPrev();
|
|
86
|
+
} else if (event.key === "ArrowRight") {
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
scrollNext();
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
[scrollPrev, scrollNext]
|
|
92
|
+
);
|
|
93
|
+
React.useEffect(() => {
|
|
94
|
+
if (!api || !setApi) return;
|
|
95
|
+
setApi(api);
|
|
96
|
+
}, [api, setApi]);
|
|
97
|
+
React.useEffect(() => {
|
|
98
|
+
if (!api) return;
|
|
99
|
+
onSelect(api);
|
|
100
|
+
api.on("reInit", onSelect);
|
|
101
|
+
api.on("select", onSelect);
|
|
102
|
+
return () => {
|
|
103
|
+
api?.off("select", onSelect);
|
|
104
|
+
};
|
|
105
|
+
}, [api, onSelect]);
|
|
106
|
+
return /* @__PURE__ */ jsx(
|
|
107
|
+
CarouselContext.Provider,
|
|
108
|
+
{
|
|
109
|
+
value: {
|
|
110
|
+
carouselRef,
|
|
111
|
+
api,
|
|
112
|
+
opts,
|
|
113
|
+
orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
|
|
114
|
+
scrollPrev,
|
|
115
|
+
scrollNext,
|
|
116
|
+
canScrollPrev,
|
|
117
|
+
canScrollNext
|
|
118
|
+
},
|
|
119
|
+
children: /* @__PURE__ */ jsx(
|
|
120
|
+
"div",
|
|
121
|
+
{
|
|
122
|
+
onKeyDownCapture: handleKeyDown,
|
|
123
|
+
className: cn("relative", className),
|
|
124
|
+
role: "region",
|
|
125
|
+
"aria-roledescription": "carousel",
|
|
126
|
+
"data-slot": "carousel",
|
|
127
|
+
...props,
|
|
128
|
+
children
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
function CarouselContent({ className, ...props }) {
|
|
135
|
+
const { carouselRef, orientation } = useCarousel();
|
|
136
|
+
return /* @__PURE__ */ jsx(
|
|
137
|
+
"div",
|
|
138
|
+
{
|
|
139
|
+
ref: carouselRef,
|
|
140
|
+
className: "overflow-hidden",
|
|
141
|
+
"data-slot": "carousel-content",
|
|
142
|
+
children: /* @__PURE__ */ jsx(
|
|
143
|
+
"div",
|
|
144
|
+
{
|
|
145
|
+
className: cn(
|
|
146
|
+
"flex",
|
|
147
|
+
orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
|
|
148
|
+
className
|
|
149
|
+
),
|
|
150
|
+
...props
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
function CarouselItem({ className, ...props }) {
|
|
157
|
+
const { orientation } = useCarousel();
|
|
158
|
+
return /* @__PURE__ */ jsx(
|
|
159
|
+
"div",
|
|
160
|
+
{
|
|
161
|
+
role: "group",
|
|
162
|
+
"aria-roledescription": "slide",
|
|
163
|
+
"data-slot": "carousel-item",
|
|
164
|
+
className: cn(
|
|
165
|
+
"min-w-0 shrink-0 grow-0 basis-full",
|
|
166
|
+
orientation === "horizontal" ? "pl-4" : "pt-4",
|
|
167
|
+
className
|
|
168
|
+
),
|
|
169
|
+
...props
|
|
170
|
+
}
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
function CarouselPrevious({
|
|
174
|
+
className,
|
|
175
|
+
variant = "outline",
|
|
176
|
+
size = "icon",
|
|
177
|
+
...props
|
|
178
|
+
}) {
|
|
179
|
+
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
180
|
+
return /* @__PURE__ */ jsxs(
|
|
181
|
+
Button,
|
|
182
|
+
{
|
|
183
|
+
"data-slot": "carousel-previous",
|
|
184
|
+
variant,
|
|
185
|
+
size,
|
|
186
|
+
className: cn(
|
|
187
|
+
"absolute size-8 rounded-full",
|
|
188
|
+
orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
189
|
+
className
|
|
190
|
+
),
|
|
191
|
+
disabled: !canScrollPrev,
|
|
192
|
+
onClick: scrollPrev,
|
|
193
|
+
...props,
|
|
194
|
+
children: [
|
|
195
|
+
/* @__PURE__ */ jsx(ArrowLeft, {}),
|
|
196
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
function CarouselNext({
|
|
202
|
+
className,
|
|
203
|
+
variant = "outline",
|
|
204
|
+
size = "icon",
|
|
205
|
+
...props
|
|
206
|
+
}) {
|
|
207
|
+
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
208
|
+
return /* @__PURE__ */ jsxs(
|
|
209
|
+
Button,
|
|
210
|
+
{
|
|
211
|
+
"data-slot": "carousel-next",
|
|
212
|
+
variant,
|
|
213
|
+
size,
|
|
214
|
+
className: cn(
|
|
215
|
+
"absolute size-8 rounded-full",
|
|
216
|
+
orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
217
|
+
className
|
|
218
|
+
),
|
|
219
|
+
disabled: !canScrollNext,
|
|
220
|
+
onClick: scrollNext,
|
|
221
|
+
...props,
|
|
222
|
+
children: [
|
|
223
|
+
/* @__PURE__ */ jsx(ArrowRight, {}),
|
|
224
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
|
|
225
|
+
]
|
|
226
|
+
}
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
var toggleVariants = cva(
|
|
230
|
+
"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
|
|
231
|
+
{
|
|
232
|
+
variants: {
|
|
233
|
+
variant: {
|
|
234
|
+
default: "bg-transparent",
|
|
235
|
+
outline: "border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"
|
|
236
|
+
},
|
|
237
|
+
size: {
|
|
238
|
+
default: "h-9 px-2 min-w-9",
|
|
239
|
+
sm: "h-8 px-1.5 min-w-8",
|
|
240
|
+
lg: "h-10 px-2.5 min-w-10"
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
defaultVariants: {
|
|
244
|
+
variant: "default",
|
|
245
|
+
size: "default"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
);
|
|
249
|
+
function Toggle({
|
|
250
|
+
className,
|
|
251
|
+
variant,
|
|
252
|
+
size,
|
|
253
|
+
...props
|
|
254
|
+
}) {
|
|
255
|
+
return /* @__PURE__ */ jsx(
|
|
256
|
+
TogglePrimitive.Root,
|
|
257
|
+
{
|
|
258
|
+
"data-slot": "toggle",
|
|
259
|
+
className: cn(toggleVariants({ variant, size, className })),
|
|
260
|
+
...props
|
|
261
|
+
}
|
|
262
|
+
);
|
|
263
|
+
}
|
|
9
264
|
var defaultComponents = {
|
|
10
265
|
// Custom components
|
|
11
266
|
CTAButtonGroup,
|
|
@@ -55,6 +310,21 @@ var defaultComponents = {
|
|
|
55
310
|
TooltipProvider,
|
|
56
311
|
TooltipTrigger,
|
|
57
312
|
AspectRatio,
|
|
313
|
+
HoverCard,
|
|
314
|
+
HoverCardTrigger,
|
|
315
|
+
HoverCardContent,
|
|
316
|
+
Collapsible,
|
|
317
|
+
CollapsibleTrigger,
|
|
318
|
+
CollapsibleContent,
|
|
319
|
+
Carousel,
|
|
320
|
+
CarouselContent,
|
|
321
|
+
CarouselItem,
|
|
322
|
+
CarouselPrevious,
|
|
323
|
+
CarouselNext,
|
|
324
|
+
Toggle,
|
|
325
|
+
Switch,
|
|
326
|
+
Slider,
|
|
327
|
+
ScrollArea,
|
|
58
328
|
// HTML element overrides for better typography
|
|
59
329
|
h1: (props) => /* @__PURE__ */ jsx(
|
|
60
330
|
"h1",
|
|
@@ -153,12 +423,12 @@ function MDXRenderer({
|
|
|
153
423
|
remarkPlugins: [remarkGfm],
|
|
154
424
|
...memoizedOptions
|
|
155
425
|
});
|
|
156
|
-
const { default:
|
|
426
|
+
const { default: Content3 } = await run(String(compiled), {
|
|
157
427
|
...runtime,
|
|
158
428
|
baseUrl: import.meta.url
|
|
159
429
|
});
|
|
160
430
|
if (!isCancelled) {
|
|
161
|
-
setMDXContent(() =>
|
|
431
|
+
setMDXContent(() => Content3);
|
|
162
432
|
}
|
|
163
433
|
} catch (err) {
|
|
164
434
|
if (!isCancelled) {
|
|
@@ -201,8 +471,8 @@ function MDXRenderer({
|
|
|
201
471
|
if (!MDXContent) {
|
|
202
472
|
return null;
|
|
203
473
|
}
|
|
204
|
-
const
|
|
205
|
-
return /* @__PURE__ */ jsx(
|
|
474
|
+
const Content2 = MDXContent;
|
|
475
|
+
return /* @__PURE__ */ jsx(Content2, { components: mergedComponents, ...scope });
|
|
206
476
|
}
|
|
207
477
|
|
|
208
478
|
export { MDXRenderer };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/renderer/MDXRenderer.tsx"],"names":["Content","error"],"mappings":"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","file":"index.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { compile, run } from \"@mdx-js/mdx\";\nimport * as runtime from \"react/jsx-runtime\";\nimport remarkGfm from \"remark-gfm\";\nimport type { MDXRendererProps } from \"./types\";\n\n// Import all components for MDX usage\nimport { Button } from \"@/components/ui/button\";\nimport {\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n} from \"@/components/ui/card\";\nimport { Alert, AlertTitle, AlertDescription } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport { Progress } from \"@/components/ui/progress\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { AspectRatio } from \"@/components/ui/aspect-ratio\";\nimport { CTAButtonGroup } from \"@/components/custom/cta-buttons\";\nimport { CTASection } from \"@/components/custom/cta-section\";\n\n// Default components available in MDX\nconst defaultComponents = {\n // Custom components\n CTAButtonGroup,\n CTASection,\n\n // UI Components\n Button,\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n Alert,\n AlertTitle,\n AlertDescription,\n Badge,\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Separator,\n Avatar,\n AvatarFallback,\n AvatarImage,\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n Checkbox,\n Progress,\n Skeleton,\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n AspectRatio,\n\n // HTML element overrides for better typography\n h1: (props: any) => (\n <h1\n className=\"scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl\"\n {...props}\n />\n ),\n h2: (props: any) => (\n <h2\n className=\"scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0\"\n {...props}\n />\n ),\n h3: (props: any) => (\n <h3\n className=\"scroll-m-20 text-2xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n h4: (props: any) => (\n <h4\n className=\"scroll-m-20 text-xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n p: (props: any) => (\n <p className=\"leading-7 [&:not(:first-child)]:mt-6\" {...props} />\n ),\n a: (props: any) => (\n <a\n className=\"font-medium text-primary underline underline-offset-4\"\n {...props}\n />\n ),\n ul: (props: any) => (\n <ul className=\"my-6 ml-6 list-disc [&>li]:mt-2\" {...props} />\n ),\n ol: (props: any) => (\n <ol className=\"my-6 ml-6 list-decimal [&>li]:mt-2\" {...props} />\n ),\n li: (props: any) => <li className=\"mt-2\" {...props} />,\n blockquote: (props: any) => (\n <blockquote className=\"mt-6 border-l-2 pl-6 italic\" {...props} />\n ),\n code: (props: any) => (\n <code\n className=\"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold\"\n {...props}\n />\n ),\n pre: (props: any) => (\n <pre\n className=\"mb-4 mt-6 overflow-x-auto rounded-lg border bg-muted p-4\"\n {...props}\n />\n ),\n hr: (props: any) => <hr className=\"my-4 md:my-8\" {...props} />,\n table: (props: any) => (\n <div className=\"my-6 w-full overflow-y-auto\">\n <table className=\"w-full\" {...props} />\n </div>\n ),\n tr: (props: any) => (\n <tr className=\"m-0 border-t p-0 even:bg-muted\" {...props} />\n ),\n th: (props: any) => (\n <th\n className=\"border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n td: (props: any) => (\n <td\n className=\"border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n};\n\nexport function MDXRenderer({\n content,\n components: customComponents = {},\n scope = {},\n options = {},\n fallback,\n onError,\n}: MDXRendererProps) {\n const [MDXContent, setMDXContent] = React.useState<React.ComponentType | null>(\n null\n );\n const [error, setError] = React.useState<Error | null>(null);\n const [isLoading, setIsLoading] = React.useState(true);\n\n // Memoize options to prevent infinite re-renders\n const memoizedOptions = React.useMemo(() => options, [JSON.stringify(options)]);\n\n React.useEffect(() => {\n let isCancelled = false;\n\n async function compileMDX() {\n try {\n setIsLoading(true);\n setError(null);\n\n // Compile MDX content\n const compiled = await compile(content, {\n outputFormat: \"function-body\",\n remarkPlugins: [remarkGfm],\n ...memoizedOptions,\n });\n\n // Run the compiled code\n const { default: Content } = await run(String(compiled), {\n ...runtime,\n baseUrl: import.meta.url,\n });\n\n if (!isCancelled) {\n setMDXContent(() => Content);\n }\n } catch (err) {\n if (!isCancelled) {\n const error = err instanceof Error ? err : new Error(String(err));\n setError(error);\n if (onError) {\n onError(error);\n }\n }\n } finally {\n if (!isCancelled) {\n setIsLoading(false);\n }\n }\n }\n\n if (content) {\n compileMDX();\n }\n\n return () => {\n isCancelled = true;\n };\n }, [content, memoizedOptions]);\n\n const mergedComponents = React.useMemo(\n () => ({ ...defaultComponents, ...customComponents }),\n [customComponents]\n );\n\n // Loading state\n if (isLoading) {\n return (\n fallback ?? (\n <div className=\"animate-pulse space-y-4\">\n <div className=\"h-4 bg-muted rounded w-3/4\"></div>\n <div className=\"h-4 bg-muted rounded w-full\"></div>\n <div className=\"h-4 bg-muted rounded w-5/6\"></div>\n </div>\n )\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-8\">\n <h3 className=\"text-destructive font-semibold mb-2\">\n MDX Compilation Error\n </h3>\n <pre className=\"text-sm text-destructive/80 whitespace-pre-wrap overflow-x-auto\">\n {error.message}\n </pre>\n </div>\n );\n }\n\n // Empty state\n if (!MDXContent) {\n return null;\n }\n\n // Render compiled MDX\n const Content = MDXContent as React.ComponentType<any>;\n return <Content components={mergedComponents} {...scope} />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/hover-card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/toggle.tsx","../src/renderer/MDXRenderer.tsx"],"names":["api","jsx","React2","Content","error","jsxs"],"mappings":"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","file":"index.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction HoverCard({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />\n}\n\nfunction HoverCardTrigger({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return (\n <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n )\n}\n\nfunction HoverCardContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n )\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) return\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) return\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel()\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-9 px-2 min-w-9\",\n sm: \"h-8 px-1.5 min-w-8\",\n lg: \"h-10 px-2.5 min-w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n","\"use client\";\n\nimport * as React from \"react\";\nimport { compile, run } from \"@mdx-js/mdx\";\nimport * as runtime from \"react/jsx-runtime\";\nimport remarkGfm from \"remark-gfm\";\nimport type { MDXRendererProps } from \"./types\";\n\n// Import all components for MDX usage\nimport { Button } from \"@/components/ui/button\";\nimport {\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n} from \"@/components/ui/card\";\nimport { Alert, AlertTitle, AlertDescription } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport { Progress } from \"@/components/ui/progress\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { AspectRatio } from \"@/components/ui/aspect-ratio\";\nimport { CTAButtonGroup } from \"@/components/custom/cta-buttons\";\nimport { CTASection } from \"@/components/custom/cta-section\";\nimport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n} from \"@/components/ui/hover-card\";\nimport {\n Collapsible,\n CollapsibleTrigger,\n CollapsibleContent,\n} from \"@/components/ui/collapsible\";\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n} from \"@/components/ui/carousel\";\nimport { Toggle } from \"@/components/ui/toggle\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Slider } from \"@/components/ui/slider\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\n\n// Default components available in MDX\nconst defaultComponents = {\n // Custom components\n CTAButtonGroup,\n CTASection,\n\n // UI Components\n Button,\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n Alert,\n AlertTitle,\n AlertDescription,\n Badge,\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Separator,\n Avatar,\n AvatarFallback,\n AvatarImage,\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n Checkbox,\n Progress,\n Skeleton,\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n AspectRatio,\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n Collapsible,\n CollapsibleTrigger,\n CollapsibleContent,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n Toggle,\n Switch,\n Slider,\n ScrollArea,\n\n // HTML element overrides for better typography\n h1: (props: any) => (\n <h1\n className=\"scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl\"\n {...props}\n />\n ),\n h2: (props: any) => (\n <h2\n className=\"scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0\"\n {...props}\n />\n ),\n h3: (props: any) => (\n <h3\n className=\"scroll-m-20 text-2xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n h4: (props: any) => (\n <h4\n className=\"scroll-m-20 text-xl font-semibold tracking-tight\"\n {...props}\n />\n ),\n p: (props: any) => (\n <p className=\"leading-7 [&:not(:first-child)]:mt-6\" {...props} />\n ),\n a: (props: any) => (\n <a\n className=\"font-medium text-primary underline underline-offset-4\"\n {...props}\n />\n ),\n ul: (props: any) => (\n <ul className=\"my-6 ml-6 list-disc [&>li]:mt-2\" {...props} />\n ),\n ol: (props: any) => (\n <ol className=\"my-6 ml-6 list-decimal [&>li]:mt-2\" {...props} />\n ),\n li: (props: any) => <li className=\"mt-2\" {...props} />,\n blockquote: (props: any) => (\n <blockquote className=\"mt-6 border-l-2 pl-6 italic\" {...props} />\n ),\n code: (props: any) => (\n <code\n className=\"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold\"\n {...props}\n />\n ),\n pre: (props: any) => (\n <pre\n className=\"mb-4 mt-6 overflow-x-auto rounded-lg border bg-muted p-4\"\n {...props}\n />\n ),\n hr: (props: any) => <hr className=\"my-4 md:my-8\" {...props} />,\n table: (props: any) => (\n <div className=\"my-6 w-full overflow-y-auto\">\n <table className=\"w-full\" {...props} />\n </div>\n ),\n tr: (props: any) => (\n <tr className=\"m-0 border-t p-0 even:bg-muted\" {...props} />\n ),\n th: (props: any) => (\n <th\n className=\"border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n td: (props: any) => (\n <td\n className=\"border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right\"\n {...props}\n />\n ),\n};\n\nexport function MDXRenderer({\n content,\n components: customComponents = {},\n scope = {},\n options = {},\n fallback,\n onError,\n}: MDXRendererProps) {\n const [MDXContent, setMDXContent] = React.useState<React.ComponentType | null>(\n null\n );\n const [error, setError] = React.useState<Error | null>(null);\n const [isLoading, setIsLoading] = React.useState(true);\n\n // Memoize options to prevent infinite re-renders\n const memoizedOptions = React.useMemo(() => options, [JSON.stringify(options)]);\n\n React.useEffect(() => {\n let isCancelled = false;\n\n async function compileMDX() {\n try {\n setIsLoading(true);\n setError(null);\n\n // Compile MDX content\n const compiled = await compile(content, {\n outputFormat: \"function-body\",\n remarkPlugins: [remarkGfm],\n ...memoizedOptions,\n });\n\n // Run the compiled code\n const { default: Content } = await run(String(compiled), {\n ...runtime,\n baseUrl: import.meta.url,\n });\n\n if (!isCancelled) {\n setMDXContent(() => Content);\n }\n } catch (err) {\n if (!isCancelled) {\n const error = err instanceof Error ? err : new Error(String(err));\n setError(error);\n if (onError) {\n onError(error);\n }\n }\n } finally {\n if (!isCancelled) {\n setIsLoading(false);\n }\n }\n }\n\n if (content) {\n compileMDX();\n }\n\n return () => {\n isCancelled = true;\n };\n }, [content, memoizedOptions]);\n\n const mergedComponents = React.useMemo(\n () => ({ ...defaultComponents, ...customComponents }),\n [customComponents]\n );\n\n // Loading state\n if (isLoading) {\n return (\n fallback ?? (\n <div className=\"animate-pulse space-y-4\">\n <div className=\"h-4 bg-muted rounded w-3/4\"></div>\n <div className=\"h-4 bg-muted rounded w-full\"></div>\n <div className=\"h-4 bg-muted rounded w-5/6\"></div>\n </div>\n )\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-8\">\n <h3 className=\"text-destructive font-semibold mb-2\">\n MDX Compilation Error\n </h3>\n <pre className=\"text-sm text-destructive/80 whitespace-pre-wrap overflow-x-auto\">\n {error.message}\n </pre>\n </div>\n );\n }\n\n // Empty state\n if (!MDXContent) {\n return null;\n }\n\n // Render compiled MDX\n const Content = MDXContent as React.ComponentType<any>;\n return <Content components={mergedComponents} {...scope} />;\n}\n"]}
|
package/dist/styles.css
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aumnidigital/bms",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Runtime MDX renderer with shadcn/ui components for React applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"types": "./dist/components/index.d.cts",
|
|
44
44
|
"default": "./dist/components/index.cjs"
|
|
45
45
|
}
|
|
46
|
-
}
|
|
46
|
+
},
|
|
47
|
+
"./styles.css": "./dist/styles.css"
|
|
47
48
|
},
|
|
48
49
|
"files": [
|
|
49
50
|
"dist",
|