@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.
Files changed (323) hide show
  1. package/dist/accordion.js +1 -49
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/accordion.mjs +1 -49
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/alert-dialog.js +1 -65
  6. package/dist/alert-dialog.js.map +1 -1
  7. package/dist/alert-dialog.mjs +1 -65
  8. package/dist/alert-dialog.mjs.map +1 -1
  9. package/dist/alert.js +1 -33
  10. package/dist/alert.js.map +1 -1
  11. package/dist/alert.mjs +1 -33
  12. package/dist/alert.mjs.map +1 -1
  13. package/dist/animate.plugin.js +2 -0
  14. package/dist/animate.plugin.js.map +1 -0
  15. package/dist/animate.plugin.mjs +2 -0
  16. package/dist/animate.plugin.mjs.map +1 -0
  17. package/dist/aspect-ratio.js +1 -8
  18. package/dist/aspect-ratio.js.map +1 -1
  19. package/dist/aspect-ratio.mjs +1 -8
  20. package/dist/aspect-ratio.mjs.map +1 -1
  21. package/dist/avatar.js +1 -34
  22. package/dist/avatar.js.map +1 -1
  23. package/dist/avatar.mjs +1 -34
  24. package/dist/avatar.mjs.map +1 -1
  25. package/dist/badge.js +1 -26
  26. package/dist/badge.js.map +1 -1
  27. package/dist/badge.mjs +1 -26
  28. package/dist/badge.mjs.map +1 -1
  29. package/dist/blockquote.js +1 -12
  30. package/dist/blockquote.js.map +1 -1
  31. package/dist/blockquote.mjs +1 -12
  32. package/dist/blockquote.mjs.map +1 -1
  33. package/dist/box.js +1 -12
  34. package/dist/box.js.map +1 -1
  35. package/dist/box.mjs +1 -12
  36. package/dist/box.mjs.map +1 -1
  37. package/dist/breadcrumb.js +1 -71
  38. package/dist/breadcrumb.js.map +1 -1
  39. package/dist/breadcrumb.mjs +1 -71
  40. package/dist/breadcrumb.mjs.map +1 -1
  41. package/dist/button.js +1 -10
  42. package/dist/button.mjs +1 -10
  43. package/dist/calendar.js +1 -70
  44. package/dist/calendar.js.map +1 -1
  45. package/dist/calendar.mjs +1 -70
  46. package/dist/calendar.mjs.map +1 -1
  47. package/dist/card.js +1 -29
  48. package/dist/card.js.map +1 -1
  49. package/dist/card.mjs +1 -29
  50. package/dist/card.mjs.map +1 -1
  51. package/dist/carousel.js +1 -193
  52. package/dist/carousel.js.map +1 -1
  53. package/dist/carousel.mjs +1 -193
  54. package/dist/carousel.mjs.map +1 -1
  55. package/dist/checkbox-cards.js +1 -51
  56. package/dist/checkbox-cards.js.map +1 -1
  57. package/dist/checkbox-cards.mjs +1 -51
  58. package/dist/checkbox-cards.mjs.map +1 -1
  59. package/dist/checkbox-group.js +1 -39
  60. package/dist/checkbox-group.js.map +1 -1
  61. package/dist/checkbox-group.mjs +1 -39
  62. package/dist/checkbox-group.mjs.map +1 -1
  63. package/dist/checkbox-group.primitive.js +1 -18
  64. package/dist/checkbox-group.primitive.mjs +1 -18
  65. package/dist/checkbox.js +1 -26
  66. package/dist/checkbox.js.map +1 -1
  67. package/dist/checkbox.mjs +1 -26
  68. package/dist/checkbox.mjs.map +1 -1
  69. package/dist/chunk-2RQCRE7N.js +2 -0
  70. package/dist/chunk-2RQCRE7N.js.map +1 -0
  71. package/dist/chunk-ATQPXKGH.mjs +2 -0
  72. package/dist/{chunk-JULVZPCS.mjs.map → chunk-ATQPXKGH.mjs.map} +1 -1
  73. package/dist/chunk-CF2GOAXC.mjs +2 -0
  74. package/dist/{chunk-AUQEMOIM.mjs.map → chunk-CF2GOAXC.mjs.map} +1 -1
  75. package/dist/chunk-CHJJRHD2.mjs +2 -0
  76. package/dist/{chunk-TXRIFICH.mjs.map → chunk-CHJJRHD2.mjs.map} +1 -1
  77. package/dist/chunk-CNPQJV2G.js +2 -0
  78. package/dist/chunk-CNPQJV2G.js.map +1 -0
  79. package/dist/chunk-DCN2KICL.js +2 -0
  80. package/dist/chunk-DCN2KICL.js.map +1 -0
  81. package/dist/chunk-HJ4U5JJA.mjs +2 -0
  82. package/dist/chunk-HJ4U5JJA.mjs.map +1 -0
  83. package/dist/chunk-IBJ5USOR.js +2 -0
  84. package/dist/chunk-IBJ5USOR.js.map +1 -0
  85. package/dist/chunk-J5EXNAHZ.js +2 -0
  86. package/dist/chunk-J5EXNAHZ.js.map +1 -0
  87. package/dist/chunk-JTI7KCLO.mjs +2 -0
  88. package/dist/chunk-JTI7KCLO.mjs.map +1 -0
  89. package/dist/chunk-JVGHOCS7.js +2 -0
  90. package/dist/chunk-JVGHOCS7.js.map +1 -0
  91. package/dist/chunk-KICZFOKE.js +2 -0
  92. package/dist/chunk-KICZFOKE.js.map +1 -0
  93. package/dist/chunk-MXVHKLFU.mjs +2 -0
  94. package/dist/{chunk-FGI3JA75.mjs.map → chunk-MXVHKLFU.mjs.map} +1 -1
  95. package/dist/chunk-O7LLHO4I.js +2 -0
  96. package/dist/chunk-O7LLHO4I.js.map +1 -0
  97. package/dist/chunk-QZCQ42BP.js +2 -0
  98. package/dist/chunk-QZCQ42BP.js.map +1 -0
  99. package/dist/chunk-S23IT4G2.js +2 -0
  100. package/dist/chunk-S23IT4G2.js.map +1 -0
  101. package/dist/chunk-TMXZMQRK.mjs +2 -0
  102. package/dist/{chunk-73S45XV3.mjs.map → chunk-TMXZMQRK.mjs.map} +1 -1
  103. package/dist/chunk-VDYNVLXR.mjs +2 -0
  104. package/dist/{chunk-U6VR5RJ5.mjs.map → chunk-VDYNVLXR.mjs.map} +1 -1
  105. package/dist/chunk-XPJZ6WQM.js +2 -0
  106. package/dist/chunk-XPJZ6WQM.js.map +1 -0
  107. package/dist/chunk-YV4UJQ5X.mjs +2 -0
  108. package/dist/{chunk-EWS3N4OZ.mjs.map → chunk-YV4UJQ5X.mjs.map} +1 -1
  109. package/dist/chunk-ZLAYTLRK.mjs +2 -0
  110. package/dist/chunk-ZLAYTLRK.mjs.map +1 -0
  111. package/dist/chunk-ZMVKHU4U.mjs +2 -0
  112. package/dist/{chunk-Q24YJU6W.mjs.map → chunk-ZMVKHU4U.mjs.map} +1 -1
  113. package/dist/code.js +1 -12
  114. package/dist/code.js.map +1 -1
  115. package/dist/code.mjs +1 -12
  116. package/dist/code.mjs.map +1 -1
  117. package/dist/collapsible.js +1 -12
  118. package/dist/collapsible.js.map +1 -1
  119. package/dist/collapsible.mjs +1 -12
  120. package/dist/collapsible.mjs.map +1 -1
  121. package/dist/command.js +1 -93
  122. package/dist/command.js.map +1 -1
  123. package/dist/command.mjs +1 -93
  124. package/dist/command.mjs.map +1 -1
  125. package/dist/container.js +1 -16
  126. package/dist/container.js.map +1 -1
  127. package/dist/container.mjs +1 -16
  128. package/dist/container.mjs.map +1 -1
  129. package/dist/context-menu.js +1 -153
  130. package/dist/context-menu.js.map +1 -1
  131. package/dist/context-menu.mjs +1 -153
  132. package/dist/context-menu.mjs.map +1 -1
  133. package/dist/data-table.js +1 -235
  134. package/dist/data-table.js.map +1 -1
  135. package/dist/data-table.mjs +1 -235
  136. package/dist/data-table.mjs.map +1 -1
  137. package/dist/dialog.js +1 -22
  138. package/dist/dialog.mjs +1 -22
  139. package/dist/drawer.js +1 -64
  140. package/dist/drawer.js.map +1 -1
  141. package/dist/drawer.mjs +1 -64
  142. package/dist/drawer.mjs.map +1 -1
  143. package/dist/dropdown-menu.js +1 -34
  144. package/dist/dropdown-menu.mjs +1 -34
  145. package/dist/em.js +1 -12
  146. package/dist/em.js.map +1 -1
  147. package/dist/em.mjs +1 -12
  148. package/dist/em.mjs.map +1 -1
  149. package/dist/form.js +1 -91
  150. package/dist/form.js.map +1 -1
  151. package/dist/form.mjs +1 -91
  152. package/dist/form.mjs.map +1 -1
  153. package/dist/heading.js +1 -12
  154. package/dist/heading.js.map +1 -1
  155. package/dist/heading.mjs +1 -12
  156. package/dist/heading.mjs.map +1 -1
  157. package/dist/hover-card.js +1 -35
  158. package/dist/hover-card.js.map +1 -1
  159. package/dist/hover-card.mjs +1 -35
  160. package/dist/hover-card.mjs.map +1 -1
  161. package/dist/input-otp.js +1 -62
  162. package/dist/input-otp.js.map +1 -1
  163. package/dist/input-otp.mjs +1 -62
  164. package/dist/input-otp.mjs.map +1 -1
  165. package/dist/input.js +1 -28
  166. package/dist/input.js.map +1 -1
  167. package/dist/input.mjs +1 -28
  168. package/dist/input.mjs.map +1 -1
  169. package/dist/kbd.js +1 -26
  170. package/dist/kbd.js.map +1 -1
  171. package/dist/kbd.mjs +1 -26
  172. package/dist/kbd.mjs.map +1 -1
  173. package/dist/label.js +1 -8
  174. package/dist/label.mjs +1 -8
  175. package/dist/menubar.js +1 -168
  176. package/dist/menubar.js.map +1 -1
  177. package/dist/menubar.mjs +1 -168
  178. package/dist/menubar.mjs.map +1 -1
  179. package/dist/navigation-menu.js +1 -119
  180. package/dist/navigation-menu.js.map +1 -1
  181. package/dist/navigation-menu.mjs +1 -119
  182. package/dist/navigation-menu.mjs.map +1 -1
  183. package/dist/pagination.js +1 -86
  184. package/dist/pagination.js.map +1 -1
  185. package/dist/pagination.mjs +1 -86
  186. package/dist/pagination.mjs.map +1 -1
  187. package/dist/perspective.plugin.js +2 -0
  188. package/dist/perspective.plugin.js.map +1 -0
  189. package/dist/perspective.plugin.mjs +2 -0
  190. package/dist/perspective.plugin.mjs.map +1 -0
  191. package/dist/popover.js +1 -37
  192. package/dist/popover.js.map +1 -1
  193. package/dist/popover.mjs +1 -37
  194. package/dist/popover.mjs.map +1 -1
  195. package/dist/pre.js +1 -12
  196. package/dist/pre.js.map +1 -1
  197. package/dist/pre.mjs +1 -12
  198. package/dist/pre.mjs.map +1 -1
  199. package/dist/progress.js +1 -30
  200. package/dist/progress.js.map +1 -1
  201. package/dist/progress.mjs +1 -30
  202. package/dist/progress.mjs.map +1 -1
  203. package/dist/quote.js +1 -12
  204. package/dist/quote.js.map +1 -1
  205. package/dist/quote.mjs +1 -12
  206. package/dist/quote.mjs.map +1 -1
  207. package/dist/radio-cards.js +1 -31
  208. package/dist/radio-cards.js.map +1 -1
  209. package/dist/radio-cards.mjs +1 -31
  210. package/dist/radio-cards.mjs.map +1 -1
  211. package/dist/radio-group.js +1 -32
  212. package/dist/radio-group.js.map +1 -1
  213. package/dist/radio-group.mjs +1 -32
  214. package/dist/radio-group.mjs.map +1 -1
  215. package/dist/radio.js +1 -28
  216. package/dist/radio.js.map +1 -1
  217. package/dist/radio.mjs +1 -28
  218. package/dist/radio.mjs.map +1 -1
  219. package/dist/resizable.js +1 -44
  220. package/dist/resizable.js.map +1 -1
  221. package/dist/resizable.mjs +1 -44
  222. package/dist/resizable.mjs.map +1 -1
  223. package/dist/scroll-area.js +1 -38
  224. package/dist/scroll-area.js.map +1 -1
  225. package/dist/scroll-area.mjs +1 -38
  226. package/dist/scroll-area.mjs.map +1 -1
  227. package/dist/section.js +1 -12
  228. package/dist/section.js.map +1 -1
  229. package/dist/section.mjs +1 -12
  230. package/dist/section.mjs.map +1 -1
  231. package/dist/select.js +1 -26
  232. package/dist/select.mjs +1 -26
  233. package/dist/separator.js +1 -25
  234. package/dist/separator.js.map +1 -1
  235. package/dist/separator.mjs +1 -25
  236. package/dist/separator.mjs.map +1 -1
  237. package/dist/sheet.js +1 -64
  238. package/dist/sheet.js.map +1 -1
  239. package/dist/sheet.mjs +1 -64
  240. package/dist/sheet.mjs.map +1 -1
  241. package/dist/skeleton.js +1 -12
  242. package/dist/skeleton.js.map +1 -1
  243. package/dist/skeleton.mjs +1 -12
  244. package/dist/skeleton.mjs.map +1 -1
  245. package/dist/slider.js +1 -32
  246. package/dist/slider.js.map +1 -1
  247. package/dist/slider.mjs +1 -32
  248. package/dist/slider.mjs.map +1 -1
  249. package/dist/sonner.js +1 -29
  250. package/dist/sonner.js.map +1 -1
  251. package/dist/sonner.mjs +1 -29
  252. package/dist/sonner.mjs.map +1 -1
  253. package/dist/spinner.js +1 -7
  254. package/dist/spinner.mjs +1 -7
  255. package/dist/strong.js +1 -12
  256. package/dist/strong.js.map +1 -1
  257. package/dist/strong.mjs +1 -12
  258. package/dist/strong.mjs.map +1 -1
  259. package/dist/switch.js +1 -25
  260. package/dist/switch.js.map +1 -1
  261. package/dist/switch.mjs +1 -25
  262. package/dist/switch.mjs.map +1 -1
  263. package/dist/table.js +1 -50
  264. package/dist/table.js.map +1 -1
  265. package/dist/table.mjs +1 -50
  266. package/dist/table.mjs.map +1 -1
  267. package/dist/tabs.js +1 -52
  268. package/dist/tabs.js.map +1 -1
  269. package/dist/tabs.mjs +1 -52
  270. package/dist/tabs.mjs.map +1 -1
  271. package/dist/tailwind.config.js +1 -383
  272. package/dist/tailwind.config.js.map +1 -1
  273. package/dist/tailwind.config.mjs +1 -383
  274. package/dist/tailwind.config.mjs.map +1 -1
  275. package/dist/text.js +1 -12
  276. package/dist/text.js.map +1 -1
  277. package/dist/text.mjs +1 -12
  278. package/dist/text.mjs.map +1 -1
  279. package/dist/textarea.js +1 -24
  280. package/dist/textarea.js.map +1 -1
  281. package/dist/textarea.mjs +1 -24
  282. package/dist/textarea.mjs.map +1 -1
  283. package/dist/toggle-group.js +1 -56
  284. package/dist/toggle-group.js.map +1 -1
  285. package/dist/toggle-group.mjs +1 -56
  286. package/dist/toggle-group.mjs.map +1 -1
  287. package/dist/toggle.js +1 -10
  288. package/dist/toggle.mjs +1 -10
  289. package/dist/tooltip.js +1 -36
  290. package/dist/tooltip.js.map +1 -1
  291. package/dist/tooltip.mjs +1 -36
  292. package/dist/tooltip.mjs.map +1 -1
  293. package/dist/utils.js +1 -10
  294. package/dist/utils.mjs +1 -10
  295. package/package.json +1 -1
  296. package/dist/chunk-3ZZ3SRTJ.js +0 -148
  297. package/dist/chunk-3ZZ3SRTJ.js.map +0 -1
  298. package/dist/chunk-73S45XV3.mjs +0 -51
  299. package/dist/chunk-AOIW2XNK.js +0 -34
  300. package/dist/chunk-AOIW2XNK.js.map +0 -1
  301. package/dist/chunk-AUQEMOIM.mjs +0 -34
  302. package/dist/chunk-BA3XYBWR.js +0 -120
  303. package/dist/chunk-BA3XYBWR.js.map +0 -1
  304. package/dist/chunk-EWS3N4OZ.mjs +0 -148
  305. package/dist/chunk-FGI3JA75.mjs +0 -25
  306. package/dist/chunk-G3NP7M2N.js +0 -19
  307. package/dist/chunk-G3NP7M2N.js.map +0 -1
  308. package/dist/chunk-IVYGBU4G.js +0 -25
  309. package/dist/chunk-IVYGBU4G.js.map +0 -1
  310. package/dist/chunk-JULVZPCS.mjs +0 -120
  311. package/dist/chunk-MOJNV3XZ.js +0 -120
  312. package/dist/chunk-MOJNV3XZ.js.map +0 -1
  313. package/dist/chunk-Q24YJU6W.mjs +0 -120
  314. package/dist/chunk-TFYKPLNV.js +0 -73
  315. package/dist/chunk-TFYKPLNV.js.map +0 -1
  316. package/dist/chunk-TH24V27M.js +0 -67
  317. package/dist/chunk-TH24V27M.js.map +0 -1
  318. package/dist/chunk-TXRIFICH.mjs +0 -67
  319. package/dist/chunk-U6VR5RJ5.mjs +0 -73
  320. package/dist/chunk-UG3URV2Z.mjs +0 -19
  321. package/dist/chunk-UG3URV2Z.mjs.map +0 -1
  322. package/dist/chunk-Y3DZHPJ5.js +0 -51
  323. package/dist/chunk-Y3DZHPJ5.js.map +0 -1
@@ -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
@@ -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"]}
@@ -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":";;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,iBAAiB;AAYjB,cAkBH,YAlBG;AADT,IAAM,gBAAsB,iBAAqD,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AACjH,SAAO,oBAAwB,MAAvB,EAA4B,WAAW,GAAG,cAAc,SAAS,GAAI,GAAG,OAAO,KAAU;AACnG,CAAC;AAED,cAAc,cAAqC,KAAK;AAYxD,IAAM,oBAA0B;AAAA,EAC9B,CAAC,EAAE,WAAW,UAAU,mBAAmB,GAAG,MAAM,GAAG,QAAQ;AAC7D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QAEC;AAAA;AAAA,UACD;AAAA,YAAwB;AAAA,YAAvB;AAAA,cACC;AAAA,cACA,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA,cACC,GAAG;AAAA,cAEJ,8BAAwB,wBAAvB,EAA8C,WAAU,2DACvD,8BAAC,aAAU,WAAU,YAAW,GAClC;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAqC,KAAK","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"]}
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"]}
@@ -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":";;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,iBAAiB;AAYjB,cAkBH,YAlBG;AADT,IAAM,gBAAsB,iBAAqD,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AACjH,SAAO,oBAAwB,MAAvB,EAA4B,WAAW,GAAG,cAAc,SAAS,GAAI,GAAG,OAAO,KAAU;AACnG,CAAC;AAED,cAAc,cAAqC,KAAK;AAYxD,IAAM,oBAA0B;AAAA,EAC9B,CAAC,EAAE,WAAW,UAAU,mBAAmB,GAAG,MAAM,GAAG,QAAQ;AAC7D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QAEC;AAAA;AAAA,UACD;AAAA,YAAwB;AAAA,YAAvB;AAAA,cACC;AAAA,cACA,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA,cACC,GAAG;AAAA,cAEJ,8BAAwB,wBAAvB,EAA8C,WAAU,2DACvD,8BAAC,aAAU,WAAU,YAAW,GAClC;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAqC,KAAK;","names":[]}
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"]}
@@ -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":";;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,iBAAiB;AAYjB;AADT,IAAM,gBAAsB,iBAAqD,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AACjH,SAAO,oBAAwB,MAAvB,EAA4B,KAAU,WAAW,GAAG,cAAc,SAAS,GAAI,GAAG,OAAO;AACnG,CAAC;AAED,cAAc,cAAc;AAS5B,IAAM,oBAA0B;AAAA,EAC9B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AAChC,WACE;AAAA,MAAwB;AAAA,MAAvB;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEJ,8BAAwB,wBAAvB,EAA8C,WAAU,2DACvD,8BAAC,aAAU,WAAU,YAAW,GAClC;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAc","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"]}
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"]}
@@ -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