carousel.tsx — ui Source File
Architecture documentation for carousel.tsx, a tsx file in the ui codebase. 5 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 7e7652ce_fc95_8d6e_4506_c860f14d1d73["carousel.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] 7e7652ce_fc95_8d6e_4506_c860f14d1d73 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 191e4a89_25e4_f7a3_d5fb_d71d101e0990["utils"] 7e7652ce_fc95_8d6e_4506_c860f14d1d73 --> 191e4a89_25e4_f7a3_d5fb_d71d101e0990 c79cdc74_50fb_62bd_465f_35936d2c5eac["button"] 7e7652ce_fc95_8d6e_4506_c860f14d1d73 --> c79cdc74_50fb_62bd_465f_35936d2c5eac 559b74d2_d779_7211_a405_2fab8e345935["embla-carousel-react"] 7e7652ce_fc95_8d6e_4506_c860f14d1d73 --> 559b74d2_d779_7211_a405_2fab8e345935 d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] 7e7652ce_fc95_8d6e_4506_c860f14d1d73 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 style 7e7652ce_fc95_8d6e_4506_c860f14d1d73 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { cn } from "@/examples/radix/lib/utils"
import { Button } from "@/examples/radix/ui-rtl/button"
import useEmblaCarousel, {
type UseEmblaCarouselType,
} from "embla-carousel-react"
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"
type CarouselApi = UseEmblaCarouselType[1]
type UseCarouselParameters = Parameters<typeof useEmblaCarousel>
type CarouselOptions = UseCarouselParameters[0]
type CarouselPlugin = UseCarouselParameters[1]
type CarouselProps = {
opts?: CarouselOptions
plugins?: CarouselPlugin
orientation?: "horizontal" | "vertical"
setApi?: (api: CarouselApi) => void
}
type CarouselContextProps = {
carouselRef: ReturnType<typeof useEmblaCarousel>[0]
api: ReturnType<typeof useEmblaCarousel>[1]
scrollPrev: () => void
scrollNext: () => void
canScrollPrev: boolean
canScrollNext: boolean
} & CarouselProps
const CarouselContext = React.createContext<CarouselContextProps | null>(null)
function useCarousel() {
const context = React.useContext(CarouselContext)
if (!context) {
throw new Error("useCarousel must be used within a <Carousel />")
}
return context
}
function Carousel({
orientation = "horizontal",
opts,
setApi,
plugins,
className,
children,
...props
}: React.ComponentProps<"div"> & CarouselProps) {
const [carouselRef, api] = useEmblaCarousel(
{
...opts,
axis: orientation === "horizontal" ? "x" : "y",
},
plugins
)
const [canScrollPrev, setCanScrollPrev] = React.useState(false)
// ... (182 more lines)
Domain
Subdomains
Functions
Types
Dependencies
- button
- embla-carousel-react
- lucide-react
- react
- utils
Source
Frequently Asked Questions
What does carousel.tsx do?
carousel.tsx is a source file in the ui codebase, written in tsx. It belongs to the DocumentationAtlas domain, Changelog subdomain.
What functions are defined in carousel.tsx?
carousel.tsx defines 7 function(s): Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, api, useCarousel.
What does carousel.tsx depend on?
carousel.tsx imports 5 module(s): button, embla-carousel-react, lucide-react, react, utils.
Where is carousel.tsx in the architecture?
carousel.tsx is located at apps/v4/examples/radix/ui-rtl/carousel.tsx (domain: DocumentationAtlas, subdomain: Changelog, directory: apps/v4/examples/radix/ui-rtl).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free