@codefast/ui 0.0.27 → 0.0.28
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/dist/accordion.js +1 -49
- package/dist/accordion.js.map +1 -1
- package/dist/accordion.mjs +1 -49
- package/dist/accordion.mjs.map +1 -1
- package/dist/alert-dialog.js +1 -65
- package/dist/alert-dialog.js.map +1 -1
- package/dist/alert-dialog.mjs +1 -65
- package/dist/alert-dialog.mjs.map +1 -1
- package/dist/alert.js +1 -33
- package/dist/alert.js.map +1 -1
- package/dist/alert.mjs +1 -33
- package/dist/alert.mjs.map +1 -1
- package/dist/animate.plugin.js +2 -0
- package/dist/animate.plugin.js.map +1 -0
- package/dist/animate.plugin.mjs +2 -0
- package/dist/animate.plugin.mjs.map +1 -0
- package/dist/aspect-ratio.js +1 -8
- package/dist/aspect-ratio.js.map +1 -1
- package/dist/aspect-ratio.mjs +1 -8
- package/dist/aspect-ratio.mjs.map +1 -1
- package/dist/avatar.js +1 -34
- package/dist/avatar.js.map +1 -1
- package/dist/avatar.mjs +1 -34
- package/dist/avatar.mjs.map +1 -1
- package/dist/badge.js +1 -26
- package/dist/badge.js.map +1 -1
- package/dist/badge.mjs +1 -26
- package/dist/badge.mjs.map +1 -1
- package/dist/blockquote.js +1 -12
- package/dist/blockquote.js.map +1 -1
- package/dist/blockquote.mjs +1 -12
- package/dist/blockquote.mjs.map +1 -1
- package/dist/box.js +1 -12
- package/dist/box.js.map +1 -1
- package/dist/box.mjs +1 -12
- package/dist/box.mjs.map +1 -1
- package/dist/breadcrumb.js +1 -71
- package/dist/breadcrumb.js.map +1 -1
- package/dist/breadcrumb.mjs +1 -71
- package/dist/breadcrumb.mjs.map +1 -1
- package/dist/button.js +1 -10
- package/dist/button.mjs +1 -10
- package/dist/calendar.js +1 -70
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.mjs +1 -70
- package/dist/calendar.mjs.map +1 -1
- package/dist/card.js +1 -29
- package/dist/card.js.map +1 -1
- package/dist/card.mjs +1 -29
- package/dist/card.mjs.map +1 -1
- package/dist/carousel.js +1 -193
- package/dist/carousel.js.map +1 -1
- package/dist/carousel.mjs +1 -193
- package/dist/carousel.mjs.map +1 -1
- package/dist/checkbox-cards.js +1 -51
- package/dist/checkbox-cards.js.map +1 -1
- package/dist/checkbox-cards.mjs +1 -51
- package/dist/checkbox-cards.mjs.map +1 -1
- package/dist/checkbox-group.js +1 -39
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox-group.mjs +1 -39
- package/dist/checkbox-group.mjs.map +1 -1
- package/dist/checkbox-group.primitive.js +1 -18
- package/dist/checkbox-group.primitive.mjs +1 -18
- package/dist/checkbox.js +1 -26
- package/dist/checkbox.js.map +1 -1
- package/dist/checkbox.mjs +1 -26
- package/dist/checkbox.mjs.map +1 -1
- package/dist/chunk-2RQCRE7N.js +2 -0
- package/dist/chunk-2RQCRE7N.js.map +1 -0
- package/dist/chunk-ATQPXKGH.mjs +2 -0
- package/dist/{chunk-JULVZPCS.mjs.map → chunk-ATQPXKGH.mjs.map} +1 -1
- package/dist/chunk-CF2GOAXC.mjs +2 -0
- package/dist/{chunk-AUQEMOIM.mjs.map → chunk-CF2GOAXC.mjs.map} +1 -1
- package/dist/chunk-CHJJRHD2.mjs +2 -0
- package/dist/{chunk-TXRIFICH.mjs.map → chunk-CHJJRHD2.mjs.map} +1 -1
- package/dist/chunk-CNPQJV2G.js +2 -0
- package/dist/chunk-CNPQJV2G.js.map +1 -0
- package/dist/chunk-DCN2KICL.js +2 -0
- package/dist/chunk-DCN2KICL.js.map +1 -0
- package/dist/chunk-HJ4U5JJA.mjs +2 -0
- package/dist/chunk-HJ4U5JJA.mjs.map +1 -0
- package/dist/chunk-IBJ5USOR.js +2 -0
- package/dist/chunk-IBJ5USOR.js.map +1 -0
- package/dist/chunk-J5EXNAHZ.js +2 -0
- package/dist/chunk-J5EXNAHZ.js.map +1 -0
- package/dist/chunk-JTI7KCLO.mjs +2 -0
- package/dist/chunk-JTI7KCLO.mjs.map +1 -0
- package/dist/chunk-JVGHOCS7.js +2 -0
- package/dist/chunk-JVGHOCS7.js.map +1 -0
- package/dist/chunk-KICZFOKE.js +2 -0
- package/dist/chunk-KICZFOKE.js.map +1 -0
- package/dist/chunk-MXVHKLFU.mjs +2 -0
- package/dist/{chunk-FGI3JA75.mjs.map → chunk-MXVHKLFU.mjs.map} +1 -1
- package/dist/chunk-O7LLHO4I.js +2 -0
- package/dist/chunk-O7LLHO4I.js.map +1 -0
- package/dist/chunk-QZCQ42BP.js +2 -0
- package/dist/chunk-QZCQ42BP.js.map +1 -0
- package/dist/chunk-S23IT4G2.js +2 -0
- package/dist/chunk-S23IT4G2.js.map +1 -0
- package/dist/chunk-TMXZMQRK.mjs +2 -0
- package/dist/{chunk-73S45XV3.mjs.map → chunk-TMXZMQRK.mjs.map} +1 -1
- package/dist/chunk-VDYNVLXR.mjs +2 -0
- package/dist/{chunk-U6VR5RJ5.mjs.map → chunk-VDYNVLXR.mjs.map} +1 -1
- package/dist/chunk-XPJZ6WQM.js +2 -0
- package/dist/chunk-XPJZ6WQM.js.map +1 -0
- package/dist/chunk-YV4UJQ5X.mjs +2 -0
- package/dist/{chunk-EWS3N4OZ.mjs.map → chunk-YV4UJQ5X.mjs.map} +1 -1
- package/dist/chunk-ZLAYTLRK.mjs +2 -0
- package/dist/chunk-ZLAYTLRK.mjs.map +1 -0
- package/dist/chunk-ZMVKHU4U.mjs +2 -0
- package/dist/{chunk-Q24YJU6W.mjs.map → chunk-ZMVKHU4U.mjs.map} +1 -1
- package/dist/code.js +1 -12
- package/dist/code.js.map +1 -1
- package/dist/code.mjs +1 -12
- package/dist/code.mjs.map +1 -1
- package/dist/collapsible.js +1 -12
- package/dist/collapsible.js.map +1 -1
- package/dist/collapsible.mjs +1 -12
- package/dist/collapsible.mjs.map +1 -1
- package/dist/command.js +1 -93
- package/dist/command.js.map +1 -1
- package/dist/command.mjs +1 -93
- package/dist/command.mjs.map +1 -1
- package/dist/container.js +1 -16
- package/dist/container.js.map +1 -1
- package/dist/container.mjs +1 -16
- package/dist/container.mjs.map +1 -1
- package/dist/context-menu.js +1 -153
- package/dist/context-menu.js.map +1 -1
- package/dist/context-menu.mjs +1 -153
- package/dist/context-menu.mjs.map +1 -1
- package/dist/data-table.js +1 -235
- package/dist/data-table.js.map +1 -1
- package/dist/data-table.mjs +1 -235
- package/dist/data-table.mjs.map +1 -1
- package/dist/dialog.js +1 -22
- package/dist/dialog.mjs +1 -22
- package/dist/drawer.js +1 -64
- package/dist/drawer.js.map +1 -1
- package/dist/drawer.mjs +1 -64
- package/dist/drawer.mjs.map +1 -1
- package/dist/dropdown-menu.js +1 -34
- package/dist/dropdown-menu.mjs +1 -34
- package/dist/em.js +1 -12
- package/dist/em.js.map +1 -1
- package/dist/em.mjs +1 -12
- package/dist/em.mjs.map +1 -1
- package/dist/form.js +1 -91
- package/dist/form.js.map +1 -1
- package/dist/form.mjs +1 -91
- package/dist/form.mjs.map +1 -1
- package/dist/heading.js +1 -12
- package/dist/heading.js.map +1 -1
- package/dist/heading.mjs +1 -12
- package/dist/heading.mjs.map +1 -1
- package/dist/hover-card.js +1 -35
- package/dist/hover-card.js.map +1 -1
- package/dist/hover-card.mjs +1 -35
- package/dist/hover-card.mjs.map +1 -1
- package/dist/input-otp.js +1 -62
- package/dist/input-otp.js.map +1 -1
- package/dist/input-otp.mjs +1 -62
- package/dist/input-otp.mjs.map +1 -1
- package/dist/input.js +1 -28
- package/dist/input.js.map +1 -1
- package/dist/input.mjs +1 -28
- package/dist/input.mjs.map +1 -1
- package/dist/kbd.js +1 -26
- package/dist/kbd.js.map +1 -1
- package/dist/kbd.mjs +1 -26
- package/dist/kbd.mjs.map +1 -1
- package/dist/label.js +1 -8
- package/dist/label.mjs +1 -8
- package/dist/menubar.js +1 -168
- package/dist/menubar.js.map +1 -1
- package/dist/menubar.mjs +1 -168
- package/dist/menubar.mjs.map +1 -1
- package/dist/navigation-menu.js +1 -119
- package/dist/navigation-menu.js.map +1 -1
- package/dist/navigation-menu.mjs +1 -119
- package/dist/navigation-menu.mjs.map +1 -1
- package/dist/pagination.js +1 -86
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.mjs +1 -86
- package/dist/pagination.mjs.map +1 -1
- package/dist/perspective.plugin.js +2 -0
- package/dist/perspective.plugin.js.map +1 -0
- package/dist/perspective.plugin.mjs +2 -0
- package/dist/perspective.plugin.mjs.map +1 -0
- package/dist/popover.js +1 -37
- package/dist/popover.js.map +1 -1
- package/dist/popover.mjs +1 -37
- package/dist/popover.mjs.map +1 -1
- package/dist/pre.js +1 -12
- package/dist/pre.js.map +1 -1
- package/dist/pre.mjs +1 -12
- package/dist/pre.mjs.map +1 -1
- package/dist/progress.js +1 -30
- package/dist/progress.js.map +1 -1
- package/dist/progress.mjs +1 -30
- package/dist/progress.mjs.map +1 -1
- package/dist/quote.js +1 -12
- package/dist/quote.js.map +1 -1
- package/dist/quote.mjs +1 -12
- package/dist/quote.mjs.map +1 -1
- package/dist/radio-cards.js +1 -31
- package/dist/radio-cards.js.map +1 -1
- package/dist/radio-cards.mjs +1 -31
- package/dist/radio-cards.mjs.map +1 -1
- package/dist/radio-group.js +1 -32
- package/dist/radio-group.js.map +1 -1
- package/dist/radio-group.mjs +1 -32
- package/dist/radio-group.mjs.map +1 -1
- package/dist/radio.js +1 -28
- package/dist/radio.js.map +1 -1
- package/dist/radio.mjs +1 -28
- package/dist/radio.mjs.map +1 -1
- package/dist/resizable.js +1 -44
- package/dist/resizable.js.map +1 -1
- package/dist/resizable.mjs +1 -44
- package/dist/resizable.mjs.map +1 -1
- package/dist/scroll-area.js +1 -38
- package/dist/scroll-area.js.map +1 -1
- package/dist/scroll-area.mjs +1 -38
- package/dist/scroll-area.mjs.map +1 -1
- package/dist/section.js +1 -12
- package/dist/section.js.map +1 -1
- package/dist/section.mjs +1 -12
- package/dist/section.mjs.map +1 -1
- package/dist/select.js +1 -26
- package/dist/select.mjs +1 -26
- package/dist/separator.js +1 -25
- package/dist/separator.js.map +1 -1
- package/dist/separator.mjs +1 -25
- package/dist/separator.mjs.map +1 -1
- package/dist/sheet.js +1 -64
- package/dist/sheet.js.map +1 -1
- package/dist/sheet.mjs +1 -64
- package/dist/sheet.mjs.map +1 -1
- package/dist/skeleton.js +1 -12
- package/dist/skeleton.js.map +1 -1
- package/dist/skeleton.mjs +1 -12
- package/dist/skeleton.mjs.map +1 -1
- package/dist/slider.js +1 -32
- package/dist/slider.js.map +1 -1
- package/dist/slider.mjs +1 -32
- package/dist/slider.mjs.map +1 -1
- package/dist/sonner.js +1 -29
- package/dist/sonner.js.map +1 -1
- package/dist/sonner.mjs +1 -29
- package/dist/sonner.mjs.map +1 -1
- package/dist/spinner.js +1 -7
- package/dist/spinner.mjs +1 -7
- package/dist/strong.js +1 -12
- package/dist/strong.js.map +1 -1
- package/dist/strong.mjs +1 -12
- package/dist/strong.mjs.map +1 -1
- package/dist/switch.js +1 -25
- package/dist/switch.js.map +1 -1
- package/dist/switch.mjs +1 -25
- package/dist/switch.mjs.map +1 -1
- package/dist/table.js +1 -50
- package/dist/table.js.map +1 -1
- package/dist/table.mjs +1 -50
- package/dist/table.mjs.map +1 -1
- package/dist/tabs.js +1 -52
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.mjs +1 -52
- package/dist/tabs.mjs.map +1 -1
- package/dist/tailwind.config.js +1 -383
- package/dist/tailwind.config.js.map +1 -1
- package/dist/tailwind.config.mjs +1 -383
- package/dist/tailwind.config.mjs.map +1 -1
- package/dist/text.js +1 -12
- package/dist/text.js.map +1 -1
- package/dist/text.mjs +1 -12
- package/dist/text.mjs.map +1 -1
- package/dist/textarea.js +1 -24
- package/dist/textarea.js.map +1 -1
- package/dist/textarea.mjs +1 -24
- package/dist/textarea.mjs.map +1 -1
- package/dist/toggle-group.js +1 -56
- package/dist/toggle-group.js.map +1 -1
- package/dist/toggle-group.mjs +1 -56
- package/dist/toggle-group.mjs.map +1 -1
- package/dist/toggle.js +1 -10
- package/dist/toggle.mjs +1 -10
- package/dist/tooltip.js +1 -36
- package/dist/tooltip.js.map +1 -1
- package/dist/tooltip.mjs +1 -36
- package/dist/tooltip.mjs.map +1 -1
- package/dist/utils.js +1 -10
- package/dist/utils.mjs +1 -10
- package/package.json +1 -1
- package/dist/chunk-3ZZ3SRTJ.js +0 -148
- package/dist/chunk-3ZZ3SRTJ.js.map +0 -1
- package/dist/chunk-73S45XV3.mjs +0 -51
- package/dist/chunk-AOIW2XNK.js +0 -34
- package/dist/chunk-AOIW2XNK.js.map +0 -1
- package/dist/chunk-AUQEMOIM.mjs +0 -34
- package/dist/chunk-BA3XYBWR.js +0 -120
- package/dist/chunk-BA3XYBWR.js.map +0 -1
- package/dist/chunk-EWS3N4OZ.mjs +0 -148
- package/dist/chunk-FGI3JA75.mjs +0 -25
- package/dist/chunk-G3NP7M2N.js +0 -19
- package/dist/chunk-G3NP7M2N.js.map +0 -1
- package/dist/chunk-IVYGBU4G.js +0 -25
- package/dist/chunk-IVYGBU4G.js.map +0 -1
- package/dist/chunk-JULVZPCS.mjs +0 -120
- package/dist/chunk-MOJNV3XZ.js +0 -120
- package/dist/chunk-MOJNV3XZ.js.map +0 -1
- package/dist/chunk-Q24YJU6W.mjs +0 -120
- package/dist/chunk-TFYKPLNV.js +0 -73
- package/dist/chunk-TFYKPLNV.js.map +0 -1
- package/dist/chunk-TH24V27M.js +0 -67
- package/dist/chunk-TH24V27M.js.map +0 -1
- package/dist/chunk-TXRIFICH.mjs +0 -67
- package/dist/chunk-U6VR5RJ5.mjs +0 -73
- package/dist/chunk-UG3URV2Z.mjs +0 -19
- package/dist/chunk-UG3URV2Z.mjs.map +0 -1
- package/dist/chunk-Y3DZHPJ5.js +0 -51
- package/dist/chunk-Y3DZHPJ5.js.map +0 -1
package/dist/carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/carousel.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport useEmblaCarousel, { type UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"@radix-ui/react-icons\";\nimport { createContextScope, type Scope } from \"@radix-ui/react-context\";\nimport { cn } from \"./utils\";\nimport { Button, type ButtonProps } from \"./button\";\n\n/* -----------------------------------------------------------------------------\n * Context: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = \"Carousel\";\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = {\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} & BaseCarouselProps;\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\ntype CarouselElement = HTMLDivElement;\ntype CarouselProps = React.HTMLAttributes<HTMLDivElement> & BaseCarouselProps;\n\nconst Carousel = React.forwardRef<CarouselElement, CarouselProps>(\n (\n { __scopeCarousel, orientation, opts, setApi, plugins, className, children, ...props }: ScopedProps<CarouselProps>,\n ref,\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"vertical\" ? \"y\" : \"x\",\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.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) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\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 <CarouselProvider\n scope={__scopeCarousel}\n carouselRef={carouselRef}\n api={api}\n opts={opts}\n orientation={orientation ?? (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\")}\n scrollPrev={scrollPrev}\n scrollNext={scrollNext}\n canScrollPrev={canScrollPrev}\n canScrollNext={canScrollNext}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n },\n);\n\nCarousel.displayName = CAROUSEL_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = \"CarouselContent\";\n\ntype CarouselContentElement = HTMLDivElement;\ntype CarouselContentProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselContent = React.forwardRef<CarouselContentElement, CarouselContentProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, ref) => {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\"flex\", orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\", className)}\n {...props}\n />\n </div>\n );\n },\n);\n\nCarouselContent.displayName = CAROUSEL_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = \"CarouselItem\";\n\ntype CarouselItemElement = HTMLDivElement;\ntype CarouselItemProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselItem = React.forwardRef<CarouselItemElement, CarouselItemProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, ref) => {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\", className)}\n {...props}\n />\n );\n },\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = \"CarouselPrevious\";\n\ntype CarouselPreviousElement = HTMLButtonElement;\ntype CarouselPreviousProps = ButtonProps;\n\nconst CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPreviousProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselPreviousProps>,\n ref,\n ) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -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 <ArrowLeftIcon className=\"size-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n },\n);\n\nCarouselPrevious.displayName = CAROUSEL_PREVIOUS_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = \"CarouselNext\";\n\ntype CarouselNextElement = HTMLButtonElement;\ntype CarouselNextProps = ButtonProps;\n\nconst CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselNextProps>,\n ref,\n ) => {\n const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -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 <ArrowRightIcon className=\"size-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n },\n);\n\nCarouselNext.displayName = CAROUSEL_NEXT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n type CarouselProps,\n type CarouselContentProps,\n type CarouselItemProps,\n type CarouselPreviousProps,\n type CarouselNextProps,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/carousel.tsx"],"names":["React","useEmblaCarousel","ArrowLeftIcon","ArrowRightIcon","createContextScope","jsx","jsxs","CAROUSEL_NAME","createCarouselContext","CarouselProvider","useCarouselContext","Carousel","__scopeCarousel","orientation","opts","setApi","plugins","className","children","props","ref","carouselRef","api","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","carouselApi","scrollPrev","scrollNext","handleKeyDown","event","cn","CAROUSEL_CONTENT_NAME","CarouselContent","CAROUSEL_ITEM_NAME","CarouselItem","CAROUSEL_PREVIOUS_NAME","CarouselPrevious","variant","size","Button","CAROUSEL_NEXT_NAME","CarouselNext"],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport useEmblaCarousel, { type UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"@radix-ui/react-icons\";\nimport { createContextScope, type Scope } from \"@radix-ui/react-context\";\nimport { cn } from \"./utils\";\nimport { Button, type ButtonProps } from \"./button\";\n\n/* -----------------------------------------------------------------------------\n * Context: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = \"Carousel\";\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = {\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} & BaseCarouselProps;\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\ntype CarouselElement = HTMLDivElement;\ntype CarouselProps = React.HTMLAttributes<HTMLDivElement> & BaseCarouselProps;\n\nconst Carousel = React.forwardRef<CarouselElement, CarouselProps>(\n (\n { __scopeCarousel, orientation, opts, setApi, plugins, className, children, ...props }: ScopedProps<CarouselProps>,\n ref,\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"vertical\" ? \"y\" : \"x\",\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.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) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\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 <CarouselProvider\n scope={__scopeCarousel}\n carouselRef={carouselRef}\n api={api}\n opts={opts}\n orientation={orientation ?? (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\")}\n scrollPrev={scrollPrev}\n scrollNext={scrollNext}\n canScrollPrev={canScrollPrev}\n canScrollNext={canScrollNext}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n },\n);\n\nCarousel.displayName = CAROUSEL_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = \"CarouselContent\";\n\ntype CarouselContentElement = HTMLDivElement;\ntype CarouselContentProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselContent = React.forwardRef<CarouselContentElement, CarouselContentProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, ref) => {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\"flex\", orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\", className)}\n {...props}\n />\n </div>\n );\n },\n);\n\nCarouselContent.displayName = CAROUSEL_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = \"CarouselItem\";\n\ntype CarouselItemElement = HTMLDivElement;\ntype CarouselItemProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselItem = React.forwardRef<CarouselItemElement, CarouselItemProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, ref) => {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\", className)}\n {...props}\n />\n );\n },\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = \"CarouselPrevious\";\n\ntype CarouselPreviousElement = HTMLButtonElement;\ntype CarouselPreviousProps = ButtonProps;\n\nconst CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPreviousProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselPreviousProps>,\n ref,\n ) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -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 <ArrowLeftIcon className=\"size-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n },\n);\n\nCarouselPrevious.displayName = CAROUSEL_PREVIOUS_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = \"CarouselNext\";\n\ntype CarouselNextElement = HTMLButtonElement;\ntype CarouselNextProps = ButtonProps;\n\nconst CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselNextProps>,\n ref,\n ) => {\n const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -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 <ArrowRightIcon className=\"size-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n },\n);\n\nCarouselNext.displayName = CAROUSEL_NEXT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n type CarouselProps,\n type CarouselContentProps,\n type CarouselItemProps,\n type CarouselPreviousProps,\n type CarouselNextProps,\n};\n"]}
|
package/dist/carousel.mjs
CHANGED
|
@@ -1,194 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
Button
|
|
4
|
-
} from "./chunk-U6VR5RJ5.mjs";
|
|
5
|
-
import "./chunk-73S45XV3.mjs";
|
|
6
|
-
import {
|
|
7
|
-
cn
|
|
8
|
-
} from "./chunk-UG3URV2Z.mjs";
|
|
9
|
-
|
|
10
|
-
// src/carousel.tsx
|
|
11
|
-
import * as React from "react";
|
|
12
|
-
import useEmblaCarousel from "embla-carousel-react";
|
|
13
|
-
import { ArrowLeftIcon, ArrowRightIcon } from "@radix-ui/react-icons";
|
|
14
|
-
import { createContextScope } from "@radix-ui/react-context";
|
|
15
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
-
var CAROUSEL_NAME = "Carousel";
|
|
17
|
-
var [createCarouselContext] = createContextScope(CAROUSEL_NAME);
|
|
18
|
-
var [CarouselProvider, useCarouselContext] = createCarouselContext(CAROUSEL_NAME);
|
|
19
|
-
var Carousel = React.forwardRef(
|
|
20
|
-
({ __scopeCarousel, orientation, opts, setApi, plugins, className, children, ...props }, ref) => {
|
|
21
|
-
const [carouselRef, api] = useEmblaCarousel(
|
|
22
|
-
{
|
|
23
|
-
...opts,
|
|
24
|
-
axis: orientation === "vertical" ? "y" : "x"
|
|
25
|
-
},
|
|
26
|
-
plugins
|
|
27
|
-
);
|
|
28
|
-
const [canScrollPrev, setCanScrollPrev] = React.useState(false);
|
|
29
|
-
const [canScrollNext, setCanScrollNext] = React.useState(false);
|
|
30
|
-
const onSelect = React.useCallback((carouselApi) => {
|
|
31
|
-
if (!carouselApi) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
setCanScrollPrev(carouselApi.canScrollPrev());
|
|
35
|
-
setCanScrollNext(carouselApi.canScrollNext());
|
|
36
|
-
}, []);
|
|
37
|
-
const scrollPrev = React.useCallback(() => {
|
|
38
|
-
api?.scrollPrev();
|
|
39
|
-
}, [api]);
|
|
40
|
-
const scrollNext = React.useCallback(() => {
|
|
41
|
-
api?.scrollNext();
|
|
42
|
-
}, [api]);
|
|
43
|
-
const handleKeyDown = React.useCallback(
|
|
44
|
-
(event) => {
|
|
45
|
-
if (event.key === "ArrowLeft") {
|
|
46
|
-
event.preventDefault();
|
|
47
|
-
scrollPrev();
|
|
48
|
-
} else if (event.key === "ArrowRight") {
|
|
49
|
-
event.preventDefault();
|
|
50
|
-
scrollNext();
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
[scrollPrev, scrollNext]
|
|
54
|
-
);
|
|
55
|
-
React.useEffect(() => {
|
|
56
|
-
if (!api || !setApi) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
setApi(api);
|
|
60
|
-
}, [api, setApi]);
|
|
61
|
-
React.useEffect(() => {
|
|
62
|
-
if (!api) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
onSelect(api);
|
|
66
|
-
api.on("reInit", onSelect);
|
|
67
|
-
api.on("select", onSelect);
|
|
68
|
-
return () => {
|
|
69
|
-
api.off("select", onSelect);
|
|
70
|
-
};
|
|
71
|
-
}, [api, onSelect]);
|
|
72
|
-
return /* @__PURE__ */ jsx(
|
|
73
|
-
CarouselProvider,
|
|
74
|
-
{
|
|
75
|
-
scope: __scopeCarousel,
|
|
76
|
-
carouselRef,
|
|
77
|
-
api,
|
|
78
|
-
opts,
|
|
79
|
-
orientation: orientation ?? (opts?.axis === "y" ? "vertical" : "horizontal"),
|
|
80
|
-
scrollPrev,
|
|
81
|
-
scrollNext,
|
|
82
|
-
canScrollPrev,
|
|
83
|
-
canScrollNext,
|
|
84
|
-
children: /* @__PURE__ */ jsx(
|
|
85
|
-
"div",
|
|
86
|
-
{
|
|
87
|
-
ref,
|
|
88
|
-
onKeyDownCapture: handleKeyDown,
|
|
89
|
-
className: cn("relative", className),
|
|
90
|
-
role: "region",
|
|
91
|
-
"aria-roledescription": "carousel",
|
|
92
|
-
...props,
|
|
93
|
-
children
|
|
94
|
-
}
|
|
95
|
-
)
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
);
|
|
100
|
-
Carousel.displayName = CAROUSEL_NAME;
|
|
101
|
-
var CAROUSEL_CONTENT_NAME = "CarouselContent";
|
|
102
|
-
var CarouselContent = React.forwardRef(
|
|
103
|
-
({ __scopeCarousel, className, ...props }, ref) => {
|
|
104
|
-
const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);
|
|
105
|
-
return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
106
|
-
"div",
|
|
107
|
-
{
|
|
108
|
-
ref,
|
|
109
|
-
className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className),
|
|
110
|
-
...props
|
|
111
|
-
}
|
|
112
|
-
) });
|
|
113
|
-
}
|
|
114
|
-
);
|
|
115
|
-
CarouselContent.displayName = CAROUSEL_CONTENT_NAME;
|
|
116
|
-
var CAROUSEL_ITEM_NAME = "CarouselItem";
|
|
117
|
-
var CarouselItem = React.forwardRef(
|
|
118
|
-
({ __scopeCarousel, className, ...props }, ref) => {
|
|
119
|
-
const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);
|
|
120
|
-
return /* @__PURE__ */ jsx(
|
|
121
|
-
"div",
|
|
122
|
-
{
|
|
123
|
-
ref,
|
|
124
|
-
role: "group",
|
|
125
|
-
"aria-roledescription": "slide",
|
|
126
|
-
className: cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "pl-4" : "pt-4", className),
|
|
127
|
-
...props
|
|
128
|
-
}
|
|
129
|
-
);
|
|
130
|
-
}
|
|
131
|
-
);
|
|
132
|
-
CarouselItem.displayName = CAROUSEL_ITEM_NAME;
|
|
133
|
-
var CAROUSEL_PREVIOUS_NAME = "CarouselPrevious";
|
|
134
|
-
var CarouselPrevious = React.forwardRef(
|
|
135
|
-
({ __scopeCarousel, className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
136
|
-
const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);
|
|
137
|
-
return /* @__PURE__ */ jsxs(
|
|
138
|
-
Button,
|
|
139
|
-
{
|
|
140
|
-
ref,
|
|
141
|
-
variant,
|
|
142
|
-
size,
|
|
143
|
-
className: cn(
|
|
144
|
-
"absolute size-8 rounded-full",
|
|
145
|
-
orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
146
|
-
className
|
|
147
|
-
),
|
|
148
|
-
disabled: !canScrollPrev,
|
|
149
|
-
onClick: scrollPrev,
|
|
150
|
-
...props,
|
|
151
|
-
children: [
|
|
152
|
-
/* @__PURE__ */ jsx(ArrowLeftIcon, { className: "size-4" }),
|
|
153
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
|
|
154
|
-
]
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
);
|
|
159
|
-
CarouselPrevious.displayName = CAROUSEL_PREVIOUS_NAME;
|
|
160
|
-
var CAROUSEL_NEXT_NAME = "CarouselNext";
|
|
161
|
-
var CarouselNext = React.forwardRef(
|
|
162
|
-
({ __scopeCarousel, className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
163
|
-
const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);
|
|
164
|
-
return /* @__PURE__ */ jsxs(
|
|
165
|
-
Button,
|
|
166
|
-
{
|
|
167
|
-
ref,
|
|
168
|
-
variant,
|
|
169
|
-
size,
|
|
170
|
-
className: cn(
|
|
171
|
-
"absolute size-8 rounded-full",
|
|
172
|
-
orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
173
|
-
className
|
|
174
|
-
),
|
|
175
|
-
disabled: !canScrollNext,
|
|
176
|
-
onClick: scrollNext,
|
|
177
|
-
...props,
|
|
178
|
-
children: [
|
|
179
|
-
/* @__PURE__ */ jsx(ArrowRightIcon, { className: "size-4" }),
|
|
180
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
|
|
181
|
-
]
|
|
182
|
-
}
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
);
|
|
186
|
-
CarouselNext.displayName = CAROUSEL_NEXT_NAME;
|
|
187
|
-
export {
|
|
188
|
-
Carousel,
|
|
189
|
-
CarouselContent,
|
|
190
|
-
CarouselItem,
|
|
191
|
-
CarouselNext,
|
|
192
|
-
CarouselPrevious
|
|
193
|
-
};
|
|
1
|
+
"use client";import{b as d}from"./chunk-VDYNVLXR.mjs";import"./chunk-TMXZMQRK.mjs";import{b as i}from"./chunk-JTI7KCLO.mjs";import*as e from"react";import h from"embla-carousel-react";import{ArrowLeftIcon as z,ArrowRightIcon as H}from"@radix-ui/react-icons";import{createContextScope as B}from"@radix-ui/react-context";import{jsx as n,jsxs as b}from"react/jsx-runtime";var N="Carousel",[D]=B(N),[U,f]=D(N),_=e.forwardRef(({__scopeCarousel:l,orientation:s,opts:r,setApi:t,plugins:a,className:c,children:p,...C},m)=>{let[T,o]=h({...r,axis:s==="vertical"?"y":"x"},a),[L,A]=e.useState(!1),[M,w]=e.useState(!1),P=e.useCallback(u=>{u&&(A(u.canScrollPrev()),w(u.canScrollNext()))},[]),y=e.useCallback(()=>{o?.scrollPrev()},[o]),v=e.useCallback(()=>{o?.scrollNext()},[o]),I=e.useCallback(u=>{u.key==="ArrowLeft"?(u.preventDefault(),y()):u.key==="ArrowRight"&&(u.preventDefault(),v())},[y,v]);return e.useEffect(()=>{!o||!t||t(o)},[o,t]),e.useEffect(()=>{if(o)return P(o),o.on("reInit",P),o.on("select",P),()=>{o.off("select",P)}},[o,P]),n(U,{scope:l,carouselRef:T,api:o,opts:r,orientation:s??(r?.axis==="y"?"vertical":"horizontal"),scrollPrev:y,scrollNext:v,canScrollPrev:L,canScrollNext:M,children:n("div",{ref:m,onKeyDownCapture:I,className:i("relative",c),role:"region","aria-roledescription":"carousel",...C,children:p})})});_.displayName=N;var E="CarouselContent",g=e.forwardRef(({__scopeCarousel:l,className:s,...r},t)=>{let{carouselRef:a,orientation:c}=f(E,l);return n("div",{ref:a,className:"overflow-hidden",children:n("div",{ref:t,className:i("flex",c==="horizontal"?"-ml-4":"-mt-4 flex-col",s),...r})})});g.displayName=E;var R="CarouselItem",k=e.forwardRef(({__scopeCarousel:l,className:s,...r},t)=>{let{orientation:a}=f(R,l);return n("div",{ref:t,role:"group","aria-roledescription":"slide",className:i("min-w-0 shrink-0 grow-0 basis-full",a==="horizontal"?"pl-4":"pt-4",s),...r})});k.displayName=R;var x="CarouselPrevious",O=e.forwardRef(({__scopeCarousel:l,className:s,variant:r="outline",size:t="icon",...a},c)=>{let{orientation:p,scrollPrev:C,canScrollPrev:m}=f(x,l);return b(d,{ref:c,variant:r,size:t,className:i("absolute size-8 rounded-full",p==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",s),disabled:!m,onClick:C,...a,children:[n(z,{className:"size-4"}),n("span",{className:"sr-only",children:"Previous slide"})]})});O.displayName=x;var S="CarouselNext",K=e.forwardRef(({__scopeCarousel:l,className:s,variant:r="outline",size:t="icon",...a},c)=>{let{orientation:p,scrollNext:C,canScrollNext:m}=f(S,l);return b(d,{ref:c,variant:r,size:t,className:i("absolute size-8 rounded-full",p==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",s),disabled:!m,onClick:C,...a,children:[n(H,{className:"size-4"}),n("span",{className:"sr-only",children:"Next slide"})]})});K.displayName=S;export{_ as Carousel,g as CarouselContent,k as CarouselItem,K as CarouselNext,O as CarouselPrevious};
|
|
194
2
|
//# sourceMappingURL=carousel.mjs.map
|
package/dist/carousel.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/carousel.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport useEmblaCarousel, { type UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"@radix-ui/react-icons\";\nimport { createContextScope, type Scope } from \"@radix-ui/react-context\";\nimport { cn } from \"./utils\";\nimport { Button, type ButtonProps } from \"./button\";\n\n/* -----------------------------------------------------------------------------\n * Context: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = \"Carousel\";\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = {\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} & BaseCarouselProps;\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\ntype CarouselElement = HTMLDivElement;\ntype CarouselProps = React.HTMLAttributes<HTMLDivElement> & BaseCarouselProps;\n\nconst Carousel = React.forwardRef<CarouselElement, CarouselProps>(\n (\n { __scopeCarousel, orientation, opts, setApi, plugins, className, children, ...props }: ScopedProps<CarouselProps>,\n ref,\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"vertical\" ? \"y\" : \"x\",\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.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) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\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 <CarouselProvider\n scope={__scopeCarousel}\n carouselRef={carouselRef}\n api={api}\n opts={opts}\n orientation={orientation ?? (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\")}\n scrollPrev={scrollPrev}\n scrollNext={scrollNext}\n canScrollPrev={canScrollPrev}\n canScrollNext={canScrollNext}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n },\n);\n\nCarousel.displayName = CAROUSEL_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = \"CarouselContent\";\n\ntype CarouselContentElement = HTMLDivElement;\ntype CarouselContentProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselContent = React.forwardRef<CarouselContentElement, CarouselContentProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, ref) => {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\"flex\", orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\", className)}\n {...props}\n />\n </div>\n );\n },\n);\n\nCarouselContent.displayName = CAROUSEL_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = \"CarouselItem\";\n\ntype CarouselItemElement = HTMLDivElement;\ntype CarouselItemProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselItem = React.forwardRef<CarouselItemElement, CarouselItemProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, ref) => {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\", className)}\n {...props}\n />\n );\n },\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = \"CarouselPrevious\";\n\ntype CarouselPreviousElement = HTMLButtonElement;\ntype CarouselPreviousProps = ButtonProps;\n\nconst CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPreviousProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselPreviousProps>,\n ref,\n ) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -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 <ArrowLeftIcon className=\"size-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n },\n);\n\nCarouselPrevious.displayName = CAROUSEL_PREVIOUS_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = \"CarouselNext\";\n\ntype CarouselNextElement = HTMLButtonElement;\ntype CarouselNextProps = ButtonProps;\n\nconst CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselNextProps>,\n ref,\n ) => {\n const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -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 <ArrowRightIcon className=\"size-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n },\n);\n\nCarouselNext.displayName = CAROUSEL_NEXT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n type CarouselProps,\n type CarouselContentProps,\n type CarouselItemProps,\n type CarouselPreviousProps,\n type CarouselNextProps,\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/carousel.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport useEmblaCarousel, { type UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"@radix-ui/react-icons\";\nimport { createContextScope, type Scope } from \"@radix-ui/react-context\";\nimport { cn } from \"./utils\";\nimport { Button, type ButtonProps } from \"./button\";\n\n/* -----------------------------------------------------------------------------\n * Context: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = \"Carousel\";\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = {\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} & BaseCarouselProps;\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\ntype CarouselElement = HTMLDivElement;\ntype CarouselProps = React.HTMLAttributes<HTMLDivElement> & BaseCarouselProps;\n\nconst Carousel = React.forwardRef<CarouselElement, CarouselProps>(\n (\n { __scopeCarousel, orientation, opts, setApi, plugins, className, children, ...props }: ScopedProps<CarouselProps>,\n ref,\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"vertical\" ? \"y\" : \"x\",\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.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) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\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 <CarouselProvider\n scope={__scopeCarousel}\n carouselRef={carouselRef}\n api={api}\n opts={opts}\n orientation={orientation ?? (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\")}\n scrollPrev={scrollPrev}\n scrollNext={scrollNext}\n canScrollPrev={canScrollPrev}\n canScrollNext={canScrollNext}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n },\n);\n\nCarousel.displayName = CAROUSEL_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = \"CarouselContent\";\n\ntype CarouselContentElement = HTMLDivElement;\ntype CarouselContentProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselContent = React.forwardRef<CarouselContentElement, CarouselContentProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, ref) => {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\"flex\", orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\", className)}\n {...props}\n />\n </div>\n );\n },\n);\n\nCarouselContent.displayName = CAROUSEL_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = \"CarouselItem\";\n\ntype CarouselItemElement = HTMLDivElement;\ntype CarouselItemProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst CarouselItem = React.forwardRef<CarouselItemElement, CarouselItemProps>(\n ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, ref) => {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\", className)}\n {...props}\n />\n );\n },\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = \"CarouselPrevious\";\n\ntype CarouselPreviousElement = HTMLButtonElement;\ntype CarouselPreviousProps = ButtonProps;\n\nconst CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPreviousProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselPreviousProps>,\n ref,\n ) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -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 <ArrowLeftIcon className=\"size-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n },\n);\n\nCarouselPrevious.displayName = CAROUSEL_PREVIOUS_NAME;\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = \"CarouselNext\";\n\ntype CarouselNextElement = HTMLButtonElement;\ntype CarouselNextProps = ButtonProps;\n\nconst CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(\n (\n { __scopeCarousel, className, variant = \"outline\", size = \"icon\", ...props }: ScopedProps<CarouselNextProps>,\n ref,\n ) => {\n const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -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 <ArrowRightIcon className=\"size-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n },\n);\n\nCarouselNext.displayName = CAROUSEL_NEXT_NAME;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n type CarouselProps,\n type CarouselContentProps,\n type CarouselItemProps,\n type CarouselPreviousProps,\n type CarouselNextProps,\n};\n"],"mappings":"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","names":["React","useEmblaCarousel","ArrowLeftIcon","ArrowRightIcon","createContextScope","jsx","jsxs","CAROUSEL_NAME","createCarouselContext","createContextScope","CarouselProvider","useCarouselContext","Carousel","__scopeCarousel","orientation","opts","setApi","plugins","className","children","props","ref","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","carouselApi","scrollPrev","scrollNext","handleKeyDown","event","cn","CAROUSEL_CONTENT_NAME","CarouselContent","CAROUSEL_ITEM_NAME","CarouselItem","CAROUSEL_PREVIOUS_NAME","CarouselPrevious","variant","size","Button","ArrowLeftIcon","CAROUSEL_NEXT_NAME","CarouselNext","ArrowRightIcon"]}
|
package/dist/checkbox-cards.js
CHANGED
|
@@ -1,52 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkMOJNV3XZjs = require('./chunk-MOJNV3XZ.js');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
|
|
10
|
-
|
|
11
|
-
// src/checkbox-cards.tsx
|
|
12
|
-
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
13
|
-
var _reacticons = require('@radix-ui/react-icons');
|
|
14
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
15
|
-
var CheckboxCards = React.forwardRef(({ className, ...props }, ref) => {
|
|
16
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMOJNV3XZjs.Root, { className: _chunkG3NP7M2Njs.cn.call(void 0, "grid gap-2", className), ...props, ref });
|
|
17
|
-
});
|
|
18
|
-
CheckboxCards.displayName = _chunkMOJNV3XZjs.Root.displayName;
|
|
19
|
-
var CheckboxCardsItem = React.forwardRef(
|
|
20
|
-
({ className, children, checkboxClassName, ...props }, ref) => {
|
|
21
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22
|
-
"label",
|
|
23
|
-
{
|
|
24
|
-
className: _chunkG3NP7M2Njs.cn.call(void 0,
|
|
25
|
-
"border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4",
|
|
26
|
-
className
|
|
27
|
-
),
|
|
28
|
-
children: [
|
|
29
|
-
children,
|
|
30
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31
|
-
_chunkMOJNV3XZjs.Item,
|
|
32
|
-
{
|
|
33
|
-
ref,
|
|
34
|
-
className: _chunkG3NP7M2Njs.cn.call(void 0,
|
|
35
|
-
"border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
36
|
-
checkboxClassName
|
|
37
|
-
),
|
|
38
|
-
...props,
|
|
39
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMOJNV3XZjs.CheckboxGroupIndicator, { className: "flex size-full items-center justify-center text-current", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.CheckIcon, { className: "size-3.5" }) })
|
|
40
|
-
}
|
|
41
|
-
)
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
);
|
|
47
|
-
CheckboxCardsItem.displayName = _chunkMOJNV3XZjs.Item.displayName;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
exports.CheckboxCards = CheckboxCards; exports.CheckboxCardsItem = CheckboxCardsItem;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";var _chunkIBJ5USORjs = require('./chunk-IBJ5USOR.js');var _chunkQZCQ42BPjs = require('./chunk-QZCQ42BP.js');var _react = require('react'); var a = _interopRequireWildcard(_react);var _reacticons = require('@radix-ui/react-icons');var _jsxruntime = require('react/jsx-runtime');var C=a.forwardRef(({className:r,...t},i)=>_jsxruntime.jsx.call(void 0, _chunkIBJ5USORjs.e,{className:_chunkQZCQ42BPjs.b.call(void 0, "grid gap-2",r),...t,ref:i}));C.displayName=_chunkIBJ5USORjs.e.displayName;var n=a.forwardRef(({className:r,children:t,checkboxClassName:i,...p},d)=>_jsxruntime.jsxs.call(void 0, "label",{className:_chunkQZCQ42BPjs.b.call(void 0, "border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4",r),children:[t,_jsxruntime.jsx.call(void 0, _chunkIBJ5USORjs.f,{ref:d,className:_chunkQZCQ42BPjs.b.call(void 0, "border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",i),...p,children:_jsxruntime.jsx.call(void 0, _chunkIBJ5USORjs.d,{className:"flex size-full items-center justify-center text-current",children:_jsxruntime.jsx.call(void 0, _reacticons.CheckIcon,{className:"size-3.5"})})})]}));n.displayName=_chunkIBJ5USORjs.f.displayName;exports.CheckboxCards = C; exports.CheckboxCardsItem = n;
|
|
52
2
|
//# sourceMappingURL=checkbox-cards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/checkbox-cards.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/checkbox-cards.tsx"],"names":["React","CheckIcon","jsx","jsxs","CheckboxCards","className","props","ref","Root","cn","CheckboxCardsItem","children","checkboxClassName","Item","CheckboxGroupIndicator"],"mappings":"2GAEA,UAAYA,MAAW,QACvB,OAAS,aAAAC,MAAiB,wBAYjB,cAAAC,EAkBH,QAAAC,MAlBG,oBADT,IAAMC,EAAsB,aAAqD,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAClGL,EAAwBM,EAAvB,CAA4B,UAAWC,EAAG,aAAcJ,CAAS,EAAI,GAAGC,EAAO,IAAKC,EAAK,CAClG,EAEDH,EAAc,YAAqCI,EAAK,YAYxD,IAAME,EAA0B,aAC9B,CAAC,CAAE,UAAAL,EAAW,SAAAM,EAAU,kBAAAC,EAAmB,GAAGN,CAAM,EAAGC,IAEnDJ,EAAC,SACC,UAAWM,EACT,wGACAJ,CACF,EAEC,UAAAM,EACDT,EAAwBW,EAAvB,CACC,IAAKN,EACL,UAAWE,EACT,+TACAG,CACF,EACC,GAAGN,EAEJ,SAAAJ,EAAwBY,EAAvB,CAA8C,UAAU,0DACvD,SAAAZ,EAACD,EAAA,CAAU,UAAU,WAAW,EAClC,EACF,GACF,CAGN,EAEAS,EAAkB,YAAqCG,EAAK","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\nimport * as CheckboxGroupPrimitive from \"./checkbox-group.primitive\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ntype CheckboxCardsProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;\n\nconst CheckboxCards = React.forwardRef<CheckboxCardsElement, CheckboxCardsProps>(({ className, ...props }, ref) => {\n return <CheckboxGroupPrimitive.Root className={cn(\"grid gap-2\", className)} {...props} ref={ref} />;\n});\n\nCheckboxCards.displayName = CheckboxGroupPrimitive.Root.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\n\ninterface CheckboxCardsItemProps extends React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item> {\n checkboxClassName?: string;\n}\n\nconst CheckboxCardsItem = React.forwardRef<CheckboxCardsItemElement, CheckboxCardsItemProps>(\n ({ className, children, checkboxClassName, ...props }, ref) => {\n return (\n <label\n className={cn(\n \"border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4\",\n className,\n )}\n >\n {children}\n <CheckboxGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n checkboxClassName,\n )}\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator className=\"flex size-full items-center justify-center text-current\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n </label>\n );\n },\n);\n\nCheckboxCardsItem.displayName = CheckboxGroupPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem, type CheckboxCardsProps, type CheckboxCardsItemProps };\n"]}
|
package/dist/checkbox-cards.mjs
CHANGED
|
@@ -1,52 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
CheckboxGroupIndicator,
|
|
4
|
-
Item,
|
|
5
|
-
Root
|
|
6
|
-
} from "./chunk-JULVZPCS.mjs";
|
|
7
|
-
import {
|
|
8
|
-
cn
|
|
9
|
-
} from "./chunk-UG3URV2Z.mjs";
|
|
10
|
-
|
|
11
|
-
// src/checkbox-cards.tsx
|
|
12
|
-
import * as React from "react";
|
|
13
|
-
import { CheckIcon } from "@radix-ui/react-icons";
|
|
14
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
-
var CheckboxCards = React.forwardRef(({ className, ...props }, ref) => {
|
|
16
|
-
return /* @__PURE__ */ jsx(Root, { className: cn("grid gap-2", className), ...props, ref });
|
|
17
|
-
});
|
|
18
|
-
CheckboxCards.displayName = Root.displayName;
|
|
19
|
-
var CheckboxCardsItem = React.forwardRef(
|
|
20
|
-
({ className, children, checkboxClassName, ...props }, ref) => {
|
|
21
|
-
return /* @__PURE__ */ jsxs(
|
|
22
|
-
"label",
|
|
23
|
-
{
|
|
24
|
-
className: cn(
|
|
25
|
-
"border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4",
|
|
26
|
-
className
|
|
27
|
-
),
|
|
28
|
-
children: [
|
|
29
|
-
children,
|
|
30
|
-
/* @__PURE__ */ jsx(
|
|
31
|
-
Item,
|
|
32
|
-
{
|
|
33
|
-
ref,
|
|
34
|
-
className: cn(
|
|
35
|
-
"border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
36
|
-
checkboxClassName
|
|
37
|
-
),
|
|
38
|
-
...props,
|
|
39
|
-
children: /* @__PURE__ */ jsx(CheckboxGroupIndicator, { className: "flex size-full items-center justify-center text-current", children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" }) })
|
|
40
|
-
}
|
|
41
|
-
)
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
);
|
|
47
|
-
CheckboxCardsItem.displayName = Item.displayName;
|
|
48
|
-
export {
|
|
49
|
-
CheckboxCards,
|
|
50
|
-
CheckboxCardsItem
|
|
51
|
-
};
|
|
1
|
+
"use client";import{d as m,e as c,f as s}from"./chunk-ATQPXKGH.mjs";import{b as e}from"./chunk-JTI7KCLO.mjs";import*as a from"react";import{CheckIcon as b}from"@radix-ui/react-icons";import{jsx as o,jsxs as h}from"react/jsx-runtime";var C=a.forwardRef(({className:r,...t},i)=>o(c,{className:e("grid gap-2",r),...t,ref:i}));C.displayName=c.displayName;var n=a.forwardRef(({className:r,children:t,checkboxClassName:i,...p},d)=>h("label",{className:e("border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4",r),children:[t,o(s,{ref:d,className:e("border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",i),...p,children:o(m,{className:"flex size-full items-center justify-center text-current",children:o(b,{className:"size-3.5"})})})]}));n.displayName=s.displayName;export{C as CheckboxCards,n as CheckboxCardsItem};
|
|
52
2
|
//# sourceMappingURL=checkbox-cards.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/checkbox-cards.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\nimport * as CheckboxGroupPrimitive from \"./checkbox-group.primitive\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ntype CheckboxCardsProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;\n\nconst CheckboxCards = React.forwardRef<CheckboxCardsElement, CheckboxCardsProps>(({ className, ...props }, ref) => {\n return <CheckboxGroupPrimitive.Root className={cn(\"grid gap-2\", className)} {...props} ref={ref} />;\n});\n\nCheckboxCards.displayName = CheckboxGroupPrimitive.Root.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\n\ninterface CheckboxCardsItemProps extends React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item> {\n checkboxClassName?: string;\n}\n\nconst CheckboxCardsItem = React.forwardRef<CheckboxCardsItemElement, CheckboxCardsItemProps>(\n ({ className, children, checkboxClassName, ...props }, ref) => {\n return (\n <label\n className={cn(\n \"border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4\",\n className,\n )}\n >\n {children}\n <CheckboxGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n checkboxClassName,\n )}\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator className=\"flex size-full items-center justify-center text-current\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n </label>\n );\n },\n);\n\nCheckboxCardsItem.displayName = CheckboxGroupPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem, type CheckboxCardsProps, type CheckboxCardsItemProps };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/checkbox-cards.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\nimport * as CheckboxGroupPrimitive from \"./checkbox-group.primitive\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ntype CheckboxCardsProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;\n\nconst CheckboxCards = React.forwardRef<CheckboxCardsElement, CheckboxCardsProps>(({ className, ...props }, ref) => {\n return <CheckboxGroupPrimitive.Root className={cn(\"grid gap-2\", className)} {...props} ref={ref} />;\n});\n\nCheckboxCards.displayName = CheckboxGroupPrimitive.Root.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\n\ninterface CheckboxCardsItemProps extends React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item> {\n checkboxClassName?: string;\n}\n\nconst CheckboxCardsItem = React.forwardRef<CheckboxCardsItemElement, CheckboxCardsItemProps>(\n ({ className, children, checkboxClassName, ...props }, ref) => {\n return (\n <label\n className={cn(\n \"border-compound/70 hover:border-compound flex items-center justify-center gap-4 rounded-md border p-4\",\n className,\n )}\n >\n {children}\n <CheckboxGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"border-compound/70 aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 cursor-default rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n checkboxClassName,\n )}\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator className=\"flex size-full items-center justify-center text-current\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n </label>\n );\n },\n);\n\nCheckboxCardsItem.displayName = CheckboxGroupPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem, type CheckboxCardsProps, type CheckboxCardsItemProps };\n"],"mappings":"6GAEA,UAAYA,MAAW,QACvB,OAAS,aAAAC,MAAiB,wBAYjB,cAAAC,EAkBH,QAAAC,MAlBG,oBADT,IAAMC,EAAsB,aAAqD,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAClGL,EAAwBM,EAAvB,CAA4B,UAAWC,EAAG,aAAcJ,CAAS,EAAI,GAAGC,EAAO,IAAKC,EAAK,CAClG,EAEDH,EAAc,YAAqCI,EAAK,YAYxD,IAAME,EAA0B,aAC9B,CAAC,CAAE,UAAAL,EAAW,SAAAM,EAAU,kBAAAC,EAAmB,GAAGN,CAAM,EAAGC,IAEnDJ,EAAC,SACC,UAAWM,EACT,wGACAJ,CACF,EAEC,UAAAM,EACDT,EAAwBW,EAAvB,CACC,IAAKN,EACL,UAAWE,EACT,+TACAG,CACF,EACC,GAAGN,EAEJ,SAAAJ,EAAwBY,EAAvB,CAA8C,UAAU,0DACvD,SAAAZ,EAACa,EAAA,CAAU,UAAU,WAAW,EAClC,EACF,GACF,CAGN,EAEAL,EAAkB,YAAqCG,EAAK","names":["React","CheckIcon","jsx","jsxs","CheckboxCards","className","props","ref","Root","cn","CheckboxCardsItem","children","checkboxClassName","Item","CheckboxGroupIndicator","CheckIcon"]}
|
package/dist/checkbox-group.js
CHANGED
|
@@ -1,40 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkMOJNV3XZjs = require('./chunk-MOJNV3XZ.js');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
|
|
10
|
-
|
|
11
|
-
// src/checkbox-group.tsx
|
|
12
|
-
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
13
|
-
var _reacticons = require('@radix-ui/react-icons');
|
|
14
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
15
|
-
var CheckboxGroup = React.forwardRef(({ className, ...props }, ref) => {
|
|
16
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMOJNV3XZjs.Root, { ref, className: _chunkG3NP7M2Njs.cn.call(void 0, "grid gap-2", className), ...props });
|
|
17
|
-
});
|
|
18
|
-
CheckboxGroup.displayName = "CheckboxGroup";
|
|
19
|
-
var CheckboxGroupItem = React.forwardRef(
|
|
20
|
-
({ className, ...props }, ref) => {
|
|
21
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22
|
-
_chunkMOJNV3XZjs.Item,
|
|
23
|
-
{
|
|
24
|
-
ref,
|
|
25
|
-
className: _chunkG3NP7M2Njs.cn.call(void 0,
|
|
26
|
-
"border-compound/70 hover:border-compound aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
27
|
-
className
|
|
28
|
-
),
|
|
29
|
-
...props,
|
|
30
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMOJNV3XZjs.CheckboxGroupIndicator, { className: "flex size-full items-center justify-center text-current", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.CheckIcon, { className: "size-3.5" }) })
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
CheckboxGroupItem.displayName = "CheckboxGroupItem";
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
exports.CheckboxGroup = CheckboxGroup; exports.CheckboxGroupItem = CheckboxGroupItem;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";var _chunkIBJ5USORjs = require('./chunk-IBJ5USOR.js');var _chunkQZCQ42BPjs = require('./chunk-QZCQ42BP.js');var _react = require('react'); var c = _interopRequireWildcard(_react);var _reacticons = require('@radix-ui/react-icons');var _jsxruntime = require('react/jsx-runtime');var a=c.forwardRef(({className:o,...r},t)=>_jsxruntime.jsx.call(void 0, _chunkIBJ5USORjs.e,{ref:t,className:_chunkQZCQ42BPjs.b.call(void 0, "grid gap-2",o),...r}));a.displayName="CheckboxGroup";var b=c.forwardRef(({className:o,...r},t)=>_jsxruntime.jsx.call(void 0, _chunkIBJ5USORjs.f,{ref:t,className:_chunkQZCQ42BPjs.b.call(void 0, "border-compound/70 hover:border-compound aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",o),...r,children:_jsxruntime.jsx.call(void 0, _chunkIBJ5USORjs.d,{className:"flex size-full items-center justify-center text-current",children:_jsxruntime.jsx.call(void 0, _reacticons.CheckIcon,{className:"size-3.5"})})}));b.displayName="CheckboxGroupItem";exports.CheckboxGroup = a; exports.CheckboxGroupItem = b;
|
|
40
2
|
//# sourceMappingURL=checkbox-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/checkbox-group.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/checkbox-group.tsx"],"names":["React","CheckIcon","jsx","CheckboxGroup","className","props","ref","Root","cn","CheckboxGroupItem","Item","CheckboxGroupIndicator"],"mappings":"2GAEA,UAAYA,MAAW,QACvB,OAAS,aAAAC,MAAiB,wBAYjB,cAAAC,MAAA,oBADT,IAAMC,EAAsB,aAAqD,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAClGJ,EAAwBK,EAAvB,CAA4B,IAAKD,EAAK,UAAWE,EAAG,aAAcJ,CAAS,EAAI,GAAGC,EAAO,CAClG,EAEDF,EAAc,YAAc,gBAS5B,IAAMM,EAA0B,aAC9B,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IAEtBJ,EAAwBQ,EAAvB,CACC,IAAKJ,EACL,UAAWE,EACT,sUACAJ,CACF,EACC,GAAGC,EAEJ,SAAAH,EAAwBS,EAAvB,CAA8C,UAAU,0DACvD,SAAAT,EAACD,EAAA,CAAU,UAAU,WAAW,EAClC,EACF,CAGN,EAEAQ,EAAkB,YAAc","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\nimport * as CheckboxGroupPrimitive from \"./checkbox-group.primitive\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxGroup\n * -------------------------------------------------------------------------- */\n\ntype CheckboxGroupElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ntype CheckboxGroupProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;\n\nconst CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>(({ className, ...props }, ref) => {\n return <CheckboxGroupPrimitive.Root ref={ref} className={cn(\"grid gap-2\", className)} {...props} />;\n});\n\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxGroupItem\n * -------------------------------------------------------------------------- */\n\ntype CheckboxGroupItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ntype CheckboxGroupItemProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item>;\n\nconst CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(\n ({ className, ...props }, ref) => {\n return (\n <CheckboxGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"border-compound/70 hover:border-compound aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator className=\"flex size-full items-center justify-center text-current\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n );\n },\n);\n\nCheckboxGroupItem.displayName = \"CheckboxGroupItem\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxGroup, CheckboxGroupItem, type CheckboxGroupProps, type CheckboxGroupItemProps };\n"]}
|
package/dist/checkbox-group.mjs
CHANGED
|
@@ -1,40 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
CheckboxGroupIndicator,
|
|
4
|
-
Item,
|
|
5
|
-
Root
|
|
6
|
-
} from "./chunk-JULVZPCS.mjs";
|
|
7
|
-
import {
|
|
8
|
-
cn
|
|
9
|
-
} from "./chunk-UG3URV2Z.mjs";
|
|
10
|
-
|
|
11
|
-
// src/checkbox-group.tsx
|
|
12
|
-
import * as React from "react";
|
|
13
|
-
import { CheckIcon } from "@radix-ui/react-icons";
|
|
14
|
-
import { jsx } from "react/jsx-runtime";
|
|
15
|
-
var CheckboxGroup = React.forwardRef(({ className, ...props }, ref) => {
|
|
16
|
-
return /* @__PURE__ */ jsx(Root, { ref, className: cn("grid gap-2", className), ...props });
|
|
17
|
-
});
|
|
18
|
-
CheckboxGroup.displayName = "CheckboxGroup";
|
|
19
|
-
var CheckboxGroupItem = React.forwardRef(
|
|
20
|
-
({ className, ...props }, ref) => {
|
|
21
|
-
return /* @__PURE__ */ jsx(
|
|
22
|
-
Item,
|
|
23
|
-
{
|
|
24
|
-
ref,
|
|
25
|
-
className: cn(
|
|
26
|
-
"border-compound/70 hover:border-compound aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
27
|
-
className
|
|
28
|
-
),
|
|
29
|
-
...props,
|
|
30
|
-
children: /* @__PURE__ */ jsx(CheckboxGroupIndicator, { className: "flex size-full items-center justify-center text-current", children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" }) })
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
CheckboxGroupItem.displayName = "CheckboxGroupItem";
|
|
36
|
-
export {
|
|
37
|
-
CheckboxGroup,
|
|
38
|
-
CheckboxGroupItem
|
|
39
|
-
};
|
|
1
|
+
"use client";import{d as p,e as m,f as u}from"./chunk-ATQPXKGH.mjs";import{b as i}from"./chunk-JTI7KCLO.mjs";import*as c from"react";import{CheckIcon as s}from"@radix-ui/react-icons";import{jsx as e}from"react/jsx-runtime";var a=c.forwardRef(({className:o,...r},t)=>e(m,{ref:t,className:i("grid gap-2",o),...r}));a.displayName="CheckboxGroup";var b=c.forwardRef(({className:o,...r},t)=>e(u,{ref:t,className:i("border-compound/70 hover:border-compound aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground focus-visible:ring-ring peer size-4 shrink-0 rounded-sm border shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",o),...r,children:e(p,{className:"flex size-full items-center justify-center text-current",children:e(s,{className:"size-3.5"})})}));b.displayName="CheckboxGroupItem";export{a as CheckboxGroup,b as CheckboxGroupItem};
|
|
40
2
|
//# sourceMappingURL=checkbox-group.mjs.map
|