{ "name": "carousel", "type": "registry:ui", "registryDependencies": [], "dependencies": [ "motion-v" ], "devDependencies": [], "tailwind": {}, "cssVars": { "light": {}, "dark": {} }, "files": [ { "path": "Carousel.vue", "content": "\n\n\n", "type": "registry:ui" }, { "path": "CarouselContent.vue", "content": "\n\n\n", "type": "registry:ui" }, { "path": "CarouselIndicator.vue", "content": "\n\n\n", "type": "registry:ui" }, { "path": "CarouselItem.vue", "content": "\n\n\n", "type": "registry:ui" }, { "path": "CarouselNavigation.vue", "content": "\n\n\n", "type": "registry:ui" }, { "path": "composables/useCarousel.ts", "content": "export interface CarouselContext {\r\n index: Ref\r\n setIndex: (index: number) => void\r\n itemsCount: Ref\r\n setItemsCount: (count: number) => void\r\n disableDrag: Ref\r\n}\r\n\r\nconst CAROUSEL_KEY = Symbol('carousel') as InjectionKey\r\n\r\nexport function provideCarouselContext(context: CarouselContext) {\r\n provide(CAROUSEL_KEY, context)\r\n}\r\n\r\nexport function useCarousel(): CarouselContext {\r\n const context = inject(CAROUSEL_KEY)\r\n if (!context) {\r\n throw new Error('useCarousel must be used within a component')\r\n }\r\n return context\r\n}\r\n", "type": "registry:hook" } ] }