@arolariu/components 1.0.0 → 1.1.0

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 (218) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/EXAMPLES.md +2510 -0
  3. package/dist/components/ui/alert-dialog.d.ts +4 -16
  4. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  5. package/dist/components/ui/alert-dialog.js +18 -14
  6. package/dist/components/ui/alert-dialog.js.map +1 -1
  7. package/dist/components/ui/avatar.d.ts +3 -12
  8. package/dist/components/ui/avatar.d.ts.map +1 -1
  9. package/dist/components/ui/avatar.js +18 -15
  10. package/dist/components/ui/avatar.js.map +1 -1
  11. package/dist/components/ui/button-group.d.ts +1 -1
  12. package/dist/components/ui/button-group.d.ts.map +1 -1
  13. package/dist/components/ui/calendar.d.ts +1 -4
  14. package/dist/components/ui/calendar.d.ts.map +1 -1
  15. package/dist/components/ui/calendar.js +7 -7
  16. package/dist/components/ui/calendar.js.map +1 -1
  17. package/dist/components/ui/carousel.d.ts.map +1 -1
  18. package/dist/components/ui/carousel.js.map +1 -1
  19. package/dist/components/ui/chart.d.ts.map +1 -1
  20. package/dist/components/ui/chart.js +125 -59
  21. package/dist/components/ui/chart.js.map +1 -1
  22. package/dist/components/ui/checkbox-group.d.ts +2 -6
  23. package/dist/components/ui/checkbox-group.d.ts.map +1 -1
  24. package/dist/components/ui/checkbox-group.js +8 -7
  25. package/dist/components/ui/checkbox-group.js.map +1 -1
  26. package/dist/components/ui/checkbox.d.ts +3 -1
  27. package/dist/components/ui/checkbox.d.ts.map +1 -1
  28. package/dist/components/ui/checkbox.js +4 -1
  29. package/dist/components/ui/checkbox.js.map +1 -1
  30. package/dist/components/ui/collapsible.d.ts.map +1 -1
  31. package/dist/components/ui/collapsible.js.map +1 -1
  32. package/dist/components/ui/combobox.d.ts +335 -0
  33. package/dist/components/ui/combobox.d.ts.map +1 -0
  34. package/dist/components/ui/combobox.js +206 -0
  35. package/dist/components/ui/combobox.js.map +1 -0
  36. package/dist/components/ui/combobox.module.js +23 -0
  37. package/dist/components/ui/combobox.module.js.map +1 -0
  38. package/dist/components/ui/combobox_module.css +142 -0
  39. package/dist/components/ui/combobox_module.css.map +1 -0
  40. package/dist/components/ui/command.d.ts.map +1 -1
  41. package/dist/components/ui/command.js +25 -16
  42. package/dist/components/ui/command.js.map +1 -1
  43. package/dist/components/ui/context-menu.d.ts.map +1 -1
  44. package/dist/components/ui/context-menu.js.map +1 -1
  45. package/dist/components/ui/drawer.d.ts.map +1 -1
  46. package/dist/components/ui/drawer.js.map +1 -1
  47. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  48. package/dist/components/ui/dropdown-menu.js.map +1 -1
  49. package/dist/components/ui/dropdrawer.d.ts +10 -16
  50. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  51. package/dist/components/ui/dropdrawer.js +28 -20
  52. package/dist/components/ui/dropdrawer.js.map +1 -1
  53. package/dist/components/ui/item.d.ts +1 -1
  54. package/dist/components/ui/item.d.ts.map +1 -1
  55. package/dist/components/ui/menubar.d.ts +11 -13
  56. package/dist/components/ui/menubar.d.ts.map +1 -1
  57. package/dist/components/ui/menubar.js.map +1 -1
  58. package/dist/components/ui/meter.d.ts +8 -24
  59. package/dist/components/ui/meter.d.ts.map +1 -1
  60. package/dist/components/ui/meter.js +23 -19
  61. package/dist/components/ui/meter.js.map +1 -1
  62. package/dist/components/ui/navigation-menu.d.ts +3 -12
  63. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  64. package/dist/components/ui/navigation-menu.js +14 -11
  65. package/dist/components/ui/navigation-menu.js.map +1 -1
  66. package/dist/components/ui/number-field.d.ts +6 -12
  67. package/dist/components/ui/number-field.d.ts.map +1 -1
  68. package/dist/components/ui/number-field.js.map +1 -1
  69. package/dist/components/ui/progress.d.ts +1 -4
  70. package/dist/components/ui/progress.d.ts.map +1 -1
  71. package/dist/components/ui/progress.js +10 -9
  72. package/dist/components/ui/progress.js.map +1 -1
  73. package/dist/components/ui/radio-group.d.ts +2 -4
  74. package/dist/components/ui/radio-group.d.ts.map +1 -1
  75. package/dist/components/ui/radio-group.js.map +1 -1
  76. package/dist/components/ui/resizable.d.ts +3 -3
  77. package/dist/components/ui/resizable.d.ts.map +1 -1
  78. package/dist/components/ui/resizable.js.map +1 -1
  79. package/dist/components/ui/scratcher.d.ts +1 -1
  80. package/dist/components/ui/scratcher.d.ts.map +1 -1
  81. package/dist/components/ui/scratcher.js +5 -4
  82. package/dist/components/ui/scratcher.js.map +1 -1
  83. package/dist/components/ui/scroll-area.d.ts +2 -4
  84. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  85. package/dist/components/ui/scroll-area.js.map +1 -1
  86. package/dist/components/ui/separator.d.ts +1 -4
  87. package/dist/components/ui/separator.d.ts.map +1 -1
  88. package/dist/components/ui/separator.js +9 -8
  89. package/dist/components/ui/separator.js.map +1 -1
  90. package/dist/components/ui/sheet.d.ts.map +1 -1
  91. package/dist/components/ui/sheet.js.map +1 -1
  92. package/dist/components/ui/sidebar.d.ts +1 -1
  93. package/dist/components/ui/sidebar.d.ts.map +1 -1
  94. package/dist/components/ui/sidebar.js.map +1 -1
  95. package/dist/components/ui/sonner.d.ts +5 -4
  96. package/dist/components/ui/sonner.d.ts.map +1 -1
  97. package/dist/components/ui/sonner.js +7 -6
  98. package/dist/components/ui/sonner.js.map +1 -1
  99. package/dist/components/ui/toggle-group.d.ts +2 -8
  100. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  101. package/dist/components/ui/toggle-group.js +12 -10
  102. package/dist/components/ui/toggle-group.js.map +1 -1
  103. package/dist/components/ui/toolbar.d.ts +10 -30
  104. package/dist/components/ui/toolbar.d.ts.map +1 -1
  105. package/dist/components/ui/toolbar.js +28 -23
  106. package/dist/components/ui/toolbar.js.map +1 -1
  107. package/dist/hooks/useClipboard.d.ts +77 -0
  108. package/dist/hooks/useClipboard.d.ts.map +1 -0
  109. package/dist/hooks/useClipboard.js +42 -0
  110. package/dist/hooks/useClipboard.js.map +1 -0
  111. package/dist/hooks/useControllableState.d.ts +54 -0
  112. package/dist/hooks/useControllableState.d.ts.map +1 -0
  113. package/dist/hooks/useControllableState.js +29 -0
  114. package/dist/hooks/useControllableState.js.map +1 -0
  115. package/dist/hooks/useDebounce.d.ts +33 -0
  116. package/dist/hooks/useDebounce.d.ts.map +1 -0
  117. package/dist/hooks/useDebounce.js +20 -0
  118. package/dist/hooks/useDebounce.js.map +1 -0
  119. package/dist/hooks/useEventCallback.d.ts +34 -0
  120. package/dist/hooks/useEventCallback.d.ts.map +1 -0
  121. package/dist/hooks/useEventCallback.js +12 -0
  122. package/dist/hooks/useEventCallback.js.map +1 -0
  123. package/dist/hooks/useId.d.ts +30 -0
  124. package/dist/hooks/useId.d.ts.map +1 -0
  125. package/dist/hooks/useId.js +9 -0
  126. package/dist/hooks/useId.js.map +1 -0
  127. package/dist/hooks/useIntersectionObserver.d.ts +51 -0
  128. package/dist/hooks/useIntersectionObserver.d.ts.map +1 -0
  129. package/dist/hooks/useIntersectionObserver.js +25 -0
  130. package/dist/hooks/useIntersectionObserver.js.map +1 -0
  131. package/dist/hooks/useInterval.d.ts +55 -0
  132. package/dist/hooks/useInterval.d.ts.map +1 -0
  133. package/dist/hooks/useInterval.js +24 -0
  134. package/dist/hooks/useInterval.js.map +1 -0
  135. package/dist/hooks/useLocalStorage.d.ts +43 -0
  136. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  137. package/dist/hooks/useLocalStorage.js +53 -0
  138. package/dist/hooks/useLocalStorage.js.map +1 -0
  139. package/dist/hooks/useMergedRefs.d.ts +27 -0
  140. package/dist/hooks/useMergedRefs.d.ts.map +1 -0
  141. package/dist/hooks/useMergedRefs.js +11 -0
  142. package/dist/hooks/useMergedRefs.js.map +1 -0
  143. package/dist/hooks/useOnClickOutside.d.ts +32 -0
  144. package/dist/hooks/useOnClickOutside.d.ts.map +1 -0
  145. package/dist/hooks/useOnClickOutside.js +23 -0
  146. package/dist/hooks/useOnClickOutside.js.map +1 -0
  147. package/dist/hooks/usePrevious.d.ts +33 -0
  148. package/dist/hooks/usePrevious.d.ts.map +1 -0
  149. package/dist/hooks/usePrevious.js +14 -0
  150. package/dist/hooks/usePrevious.js.map +1 -0
  151. package/dist/hooks/useThrottle.d.ts +37 -0
  152. package/dist/hooks/useThrottle.d.ts.map +1 -0
  153. package/dist/hooks/useThrottle.js +34 -0
  154. package/dist/hooks/useThrottle.js.map +1 -0
  155. package/dist/hooks/useTimeout.d.ts +28 -0
  156. package/dist/hooks/useTimeout.d.ts.map +1 -0
  157. package/dist/hooks/useTimeout.js +24 -0
  158. package/dist/hooks/useTimeout.js.map +1 -0
  159. package/dist/index.d.ts +14 -0
  160. package/dist/index.d.ts.map +1 -1
  161. package/dist/index.js +14 -0
  162. package/dist/lib/utilities.d.ts +2 -3
  163. package/dist/lib/utilities.d.ts.map +1 -1
  164. package/dist/lib/utilities.js.map +1 -1
  165. package/dist/motion/tokens.js +5 -5
  166. package/dist/motion/tokens.js.map +1 -1
  167. package/dist/rslib-runtime.js +39 -0
  168. package/dist/rslib-runtime.js.map +1 -0
  169. package/package.json +82 -3
  170. package/src/components/ui/alert-dialog.tsx +15 -8
  171. package/src/components/ui/avatar.tsx +9 -6
  172. package/src/components/ui/calendar.tsx +7 -13
  173. package/src/components/ui/carousel.tsx +2 -0
  174. package/src/components/ui/chart.tsx +63 -60
  175. package/src/components/ui/checkbox-group.tsx +4 -5
  176. package/src/components/ui/checkbox.tsx +10 -2
  177. package/src/components/ui/collapsible.tsx +1 -0
  178. package/src/components/ui/combobox.module.css +158 -0
  179. package/src/components/ui/combobox.tsx +569 -0
  180. package/src/components/ui/command.tsx +31 -15
  181. package/src/components/ui/context-menu.tsx +3 -0
  182. package/src/components/ui/drawer.tsx +2 -0
  183. package/src/components/ui/dropdown-menu.tsx +3 -0
  184. package/src/components/ui/dropdrawer.tsx +80 -62
  185. package/src/components/ui/menubar.tsx +9 -10
  186. package/src/components/ui/meter.tsx +16 -17
  187. package/src/components/ui/navigation-menu.tsx +41 -33
  188. package/src/components/ui/number-field.tsx +6 -13
  189. package/src/components/ui/progress.tsx +3 -2
  190. package/src/components/ui/radio-group.tsx +2 -5
  191. package/src/components/ui/resizable.tsx +2 -2
  192. package/src/components/ui/scratcher.tsx +6 -10
  193. package/src/components/ui/scroll-area.tsx +2 -5
  194. package/src/components/ui/separator.tsx +4 -3
  195. package/src/components/ui/sheet.tsx +3 -0
  196. package/src/components/ui/sidebar.tsx +1 -0
  197. package/src/components/ui/sonner.tsx +20 -12
  198. package/src/components/ui/toggle-group.tsx +6 -4
  199. package/src/components/ui/toolbar.tsx +20 -21
  200. package/src/hooks/useClipboard.tsx +137 -0
  201. package/src/hooks/useControllableState.tsx +81 -0
  202. package/src/hooks/useDebounce.tsx +50 -0
  203. package/src/hooks/useEventCallback.tsx +47 -0
  204. package/src/hooks/useId.tsx +36 -0
  205. package/src/hooks/useIntersectionObserver.tsx +81 -0
  206. package/src/hooks/useInterval.tsx +80 -0
  207. package/src/hooks/useLocalStorage.tsx +111 -0
  208. package/src/hooks/useMergedRefs.tsx +48 -0
  209. package/src/hooks/useOnClickOutside.tsx +55 -0
  210. package/src/hooks/usePrevious.tsx +44 -0
  211. package/src/hooks/useThrottle.tsx +78 -0
  212. package/src/hooks/useTimeout.tsx +51 -0
  213. package/src/index.ts +23 -0
  214. package/src/lib/utilities.ts +4 -4
  215. package/src/motion/tokens.ts +4 -4
  216. package/src/stories/DesignPrinciples.mdx +48 -0
  217. package/src/stories/GettingStarted.mdx +92 -0
  218. package/src/stories/Welcome.mdx +44 -0
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/carousel.js","sources":["../../../src/components/ui/carousel.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport useEmblaCarousel, {type UseEmblaCarouselType} from \"embla-carousel-react\";\r\nimport {ArrowLeft, ArrowRight} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./carousel.module.css\";\r\n\r\ntype CarouselApi = NonNullable<UseEmblaCarouselType[1]>;\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\r\ntype CarouselOptions = UseCarouselParameters[0];\r\ntype CarouselPlugin = UseCarouselParameters[1];\r\n\r\n/**\r\n * Carousel configuration props.\r\n */\r\ntype CarouselProps = {\r\n /**\r\n * Embla carousel options forwarded to the underlying carousel instance.\r\n * @default undefined\r\n */\r\n opts?: CarouselOptions;\r\n /**\r\n * Embla plugins applied to the carousel instance.\r\n * @default undefined\r\n */\r\n plugins?: CarouselPlugin;\r\n /**\r\n * Axis orientation used for layout and keyboard navigation. This prop also\r\n * controls Embla's internal `axis` option (`\"x\"` for horizontal and `\"y\"`\r\n * for vertical).\r\n * @default \"horizontal\"\r\n */\r\n orientation?: \"horizontal\" | \"vertical\";\r\n /**\r\n * Callback invoked with the initialized Embla API instance.\r\n * @default undefined\r\n */\r\n setApi?: (api: CarouselApi) => void;\r\n};\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\r\n api: ReturnType<typeof useEmblaCarousel>[1];\r\n scrollPrev: () => void;\r\n scrollNext: () => void;\r\n canScrollPrev: boolean;\r\n canScrollNext: boolean;\r\n} & CarouselProps;\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\r\n\r\nfunction useCarousel(): CarouselContextProps {\r\n const context = React.useContext(CarouselContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useCarousel must be used within a <Carousel />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\n/**\r\n * Provides a compound carousel container powered by Embla.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element\r\n * - Built on `embla-carousel-react`\r\n * - Exposes context for content, items, and navigation controls\r\n *\r\n * @example\r\n * ```tsx\r\n * <Carousel>\r\n * <CarouselContent>\r\n * <CarouselItem>Slide 1</CarouselItem>\r\n * <CarouselItem>Slide 2</CarouselItem>\r\n * </CarouselContent>\r\n * <CarouselPrevious />\r\n * <CarouselNext />\r\n * </Carousel>\r\n * ```\r\n *\r\n * @param props.opts - Embla options forwarded to the carousel instance. Common\r\n * options include `loop` for infinite scrolling, `align` for slide alignment,\r\n * `slidesToScroll` to control navigation increments, `dragFree` for momentum\r\n * dragging, `duration` for transition timing, and `startIndex` for the initial\r\n * slide.\r\n * @param props.plugins - Embla plugins applied to the carousel instance.\r\n *\r\n * @example With autoplay\r\n * ```tsx\r\n * import Autoplay from \"embla-carousel-autoplay\";\r\n *\r\n * <Carousel plugins={[Autoplay({delay: 3000})]}>\r\n * <CarouselContent>...</CarouselContent>\r\n * </Carousel>\r\n * ```\r\n *\r\n * @param props.setApi - Optional callback for advanced Embla API access after\r\n * initialization, useful for custom controls, analytics, or external state\r\n * synchronization.\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselProps>(\r\n ({orientation, opts, setApi, plugins, className, children, ...props}, ref) => {\r\n // Derive axis from orientation, or orientation from opts.axis, defaulting to horizontal.\r\n const resolvedOrientation = orientation ?? (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\");\r\n const resolvedAxis = resolvedOrientation === \"vertical\" ? \"y\" : \"x\";\r\n\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: resolvedAxis,\r\n },\r\n plugins,\r\n );\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\r\n const [canScrollNext, setCanScrollNext] = React.useState(false);\r\n\r\n const onSelect = React.useCallback((emblaApi: CarouselApi) => {\r\n if (!emblaApi) {\r\n return;\r\n }\r\n\r\n setCanScrollPrev(emblaApi.canScrollPrev());\r\n setCanScrollNext(emblaApi.canScrollNext());\r\n }, []);\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev();\r\n }, [api]);\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext();\r\n }, [api]);\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (orientation === \"horizontal\") {\r\n if (event.key === \"ArrowLeft\") {\r\n event.preventDefault();\r\n scrollPrev();\r\n } else if (event.key === \"ArrowRight\") {\r\n event.preventDefault();\r\n scrollNext();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n scrollPrev();\r\n } else if (event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n scrollNext();\r\n }\r\n },\r\n [orientation, scrollNext, scrollPrev],\r\n );\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) {\r\n return;\r\n }\r\n\r\n setApi(api);\r\n }, [api, setApi]);\r\n\r\n React.useEffect(() => {\r\n if (!api) {\r\n return;\r\n }\r\n\r\n onSelect(api);\r\n api.on(\"reInit\", onSelect);\r\n api.on(\"select\", onSelect);\r\n\r\n return () => {\r\n api.off(\"reInit\", onSelect);\r\n api.off(\"select\", onSelect);\r\n };\r\n }, [api, onSelect]);\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n api,\r\n canScrollNext,\r\n canScrollPrev,\r\n carouselRef,\r\n opts,\r\n orientation: resolvedOrientation,\r\n plugins,\r\n scrollNext,\r\n scrollPrev,\r\n setApi,\r\n }}>\r\n <div\r\n ref={ref}\r\n data-orientation={resolvedOrientation}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn(styles.carousel, className)}\r\n role='region'\r\n aria-roledescription='carousel'\r\n {...props}>\r\n {children}\r\n </div>\r\n </CarouselContext.Provider>\r\n );\r\n },\r\n);\r\nCarousel.displayName = \"Carousel\";\r\n\r\n/**\r\n * Renders the scrollable track that contains carousel slides.\r\n *\r\n * @remarks\r\n * - Renders nested `<div>` elements\r\n * - Built on Embla's viewport and track structure\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselContent>\r\n * <CarouselItem>Slide</CarouselItem>\r\n * </CarouselContent>\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({className, ...props}, ref) => {\r\n const {carouselRef, orientation} = useCarousel();\r\n\r\n return (\r\n <div\r\n ref={carouselRef}\r\n className={styles.viewport}>\r\n <div\r\n ref={ref}\r\n data-orientation={orientation}\r\n className={cn(styles.content, orientation === \"vertical\" && styles.contentVertical, className)}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n});\r\nCarouselContent.displayName = \"CarouselContent\";\r\n\r\n/**\r\n * Renders an individual carousel slide.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element\r\n * - Built on the shared carousel context for orientation-aware styling\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselItem>Slide content</CarouselItem>\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({className, ...props}, ref) => {\r\n const {orientation} = useCarousel();\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role='group'\r\n aria-roledescription='slide'\r\n data-orientation={orientation}\r\n className={cn(styles.item, orientation === \"vertical\" && styles.itemVertical, className)}\r\n {...props}\r\n />\r\n );\r\n});\r\nCarouselItem.displayName = \"CarouselItem\";\r\n\r\n/**\r\n * Renders the previous-slide navigation button.\r\n *\r\n * @remarks\r\n * - Renders the shared `<Button>` component\r\n * - Built on carousel context state and Embla navigation APIs\r\n * - Pass `children` to override the default `ArrowLeft` navigation icon\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselPrevious />\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselPrevious = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\r\n ({children, className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\r\n const {orientation, scrollPrev, canScrollPrev} = useCarousel();\r\n const mergedProps = mergeProps<\"button\">({onClick: scrollPrev, disabled: !canScrollPrev}, props);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n data-orientation={orientation}\r\n className={cn(styles.navigationButton, styles.previousButton, className)}\r\n {...mergedProps}>\r\n {children ?? <ArrowLeft className={styles.navigationIcon} />}\r\n <span className={styles.srOnly}>Previous slide</span>\r\n </Button>\r\n );\r\n },\r\n);\r\nCarouselPrevious.displayName = \"CarouselPrevious\";\r\n\r\n/**\r\n * Renders the next-slide navigation button.\r\n *\r\n * @remarks\r\n * - Renders the shared `<Button>` component\r\n * - Built on carousel context state and Embla navigation APIs\r\n * - Pass `children` to override the default `ArrowRight` navigation icon\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselNext />\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\r\n ({children, className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\r\n const {orientation, scrollNext, canScrollNext} = useCarousel();\r\n const mergedProps = mergeProps<\"button\">({onClick: scrollNext, disabled: !canScrollNext}, props);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n data-orientation={orientation}\r\n className={cn(styles.navigationButton, styles.nextButton, className)}\r\n {...mergedProps}>\r\n {children ?? <ArrowRight className={styles.navigationIcon} />}\r\n <span className={styles.srOnly}>Next slide</span>\r\n </Button>\r\n );\r\n },\r\n);\r\nCarouselNext.displayName = \"CarouselNext\";\r\n\r\nexport {Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi};\r\nexport type {CarouselOptions, CarouselPlugin, CarouselProps};\r\n"],"names":["CarouselContext","React","useCarousel","context","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","ref","resolvedOrientation","resolvedAxis","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","emblaApi","scrollPrev","scrollNext","handleKeyDown","event","cn","styles","CarouselContent","CarouselItem","CarouselPrevious","variant","size","mergedProps","mergeProps","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"components/ui/carousel.js","sources":["../../../src/components/ui/carousel.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport useEmblaCarousel, {type UseEmblaCarouselType} from \"embla-carousel-react\";\r\nimport {ArrowLeft, ArrowRight} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./carousel.module.css\";\r\n\r\ntype CarouselApi = NonNullable<UseEmblaCarouselType[1]>;\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\r\ntype CarouselOptions = UseCarouselParameters[0];\r\ntype CarouselPlugin = UseCarouselParameters[1];\r\n\r\n/**\r\n * Carousel configuration props.\r\n */\r\ntype CarouselProps = {\r\n /**\r\n * Embla carousel options forwarded to the underlying carousel instance.\r\n * @default undefined\r\n */\r\n opts?: CarouselOptions;\r\n /**\r\n * Embla plugins applied to the carousel instance.\r\n * @default undefined\r\n */\r\n plugins?: CarouselPlugin;\r\n /**\r\n * Axis orientation used for layout and keyboard navigation. This prop also\r\n * controls Embla's internal `axis` option (`\"x\"` for horizontal and `\"y\"`\r\n * for vertical).\r\n * @default \"horizontal\"\r\n */\r\n orientation?: \"horizontal\" | \"vertical\";\r\n /**\r\n * Callback invoked with the initialized Embla API instance.\r\n * @default undefined\r\n */\r\n setApi?: (api: CarouselApi) => void;\r\n};\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\r\n api: ReturnType<typeof useEmblaCarousel>[1];\r\n scrollPrev: () => void;\r\n scrollNext: () => void;\r\n canScrollPrev: boolean;\r\n canScrollNext: boolean;\r\n} & CarouselProps;\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\r\n\r\nfunction useCarousel(): CarouselContextProps {\r\n const context = React.useContext(CarouselContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useCarousel must be used within a <Carousel />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\n/**\r\n * Provides a compound carousel container powered by Embla.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element\r\n * - Built on `embla-carousel-react`\r\n * - Exposes context for content, items, and navigation controls\r\n *\r\n * @example\r\n * ```tsx\r\n * <Carousel>\r\n * <CarouselContent>\r\n * <CarouselItem>Slide 1</CarouselItem>\r\n * <CarouselItem>Slide 2</CarouselItem>\r\n * </CarouselContent>\r\n * <CarouselPrevious />\r\n * <CarouselNext />\r\n * </Carousel>\r\n * ```\r\n *\r\n * @param props.opts - Embla options forwarded to the carousel instance. Common\r\n * options include `loop` for infinite scrolling, `align` for slide alignment,\r\n * `slidesToScroll` to control navigation increments, `dragFree` for momentum\r\n * dragging, `duration` for transition timing, and `startIndex` for the initial\r\n * slide.\r\n * @param props.plugins - Embla plugins applied to the carousel instance.\r\n *\r\n * @example With autoplay\r\n * ```tsx\r\n * import Autoplay from \"embla-carousel-autoplay\";\r\n *\r\n * <Carousel plugins={[Autoplay({delay: 3000})]}>\r\n * <CarouselContent>...</CarouselContent>\r\n * </Carousel>\r\n * ```\r\n *\r\n * @param props.setApi - Optional callback for advanced Embla API access after\r\n * initialization, useful for custom controls, analytics, or external state\r\n * synchronization.\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselProps>(\r\n ({orientation, opts, setApi, plugins, className, children, ...props}, ref) => {\r\n // Derive axis from orientation, or orientation from opts.axis, defaulting to horizontal.\r\n const resolvedOrientation = orientation ?? (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\");\r\n const resolvedAxis = resolvedOrientation === \"vertical\" ? \"y\" : \"x\";\r\n\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: resolvedAxis,\r\n },\r\n plugins,\r\n );\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\r\n const [canScrollNext, setCanScrollNext] = React.useState(false);\r\n\r\n const onSelect = React.useCallback((emblaApi: CarouselApi) => {\r\n if (!emblaApi) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect\r\n setCanScrollPrev(emblaApi.canScrollPrev());\r\n // eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect\r\n setCanScrollNext(emblaApi.canScrollNext());\r\n }, []);\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev();\r\n }, [api]);\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext();\r\n }, [api]);\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (orientation === \"horizontal\") {\r\n if (event.key === \"ArrowLeft\") {\r\n event.preventDefault();\r\n scrollPrev();\r\n } else if (event.key === \"ArrowRight\") {\r\n event.preventDefault();\r\n scrollNext();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n scrollPrev();\r\n } else if (event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n scrollNext();\r\n }\r\n },\r\n [orientation, scrollNext, scrollPrev],\r\n );\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) {\r\n return;\r\n }\r\n\r\n setApi(api);\r\n }, [api, setApi]);\r\n\r\n React.useEffect(() => {\r\n if (!api) {\r\n return;\r\n }\r\n\r\n onSelect(api);\r\n api.on(\"reInit\", onSelect);\r\n api.on(\"select\", onSelect);\r\n\r\n return () => {\r\n api.off(\"reInit\", onSelect);\r\n api.off(\"select\", onSelect);\r\n };\r\n }, [api, onSelect]);\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n api,\r\n canScrollNext,\r\n canScrollPrev,\r\n carouselRef,\r\n opts,\r\n orientation: resolvedOrientation,\r\n plugins,\r\n scrollNext,\r\n scrollPrev,\r\n setApi,\r\n }}>\r\n <div\r\n ref={ref}\r\n data-orientation={resolvedOrientation}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn(styles.carousel, className)}\r\n role='region'\r\n aria-roledescription='carousel'\r\n {...props}>\r\n {children}\r\n </div>\r\n </CarouselContext.Provider>\r\n );\r\n },\r\n);\r\nCarousel.displayName = \"Carousel\";\r\n\r\n/**\r\n * Renders the scrollable track that contains carousel slides.\r\n *\r\n * @remarks\r\n * - Renders nested `<div>` elements\r\n * - Built on Embla's viewport and track structure\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselContent>\r\n * <CarouselItem>Slide</CarouselItem>\r\n * </CarouselContent>\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({className, ...props}, ref) => {\r\n const {carouselRef, orientation} = useCarousel();\r\n\r\n return (\r\n <div\r\n ref={carouselRef}\r\n className={styles.viewport}>\r\n <div\r\n ref={ref}\r\n data-orientation={orientation}\r\n className={cn(styles.content, orientation === \"vertical\" && styles.contentVertical, className)}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n});\r\nCarouselContent.displayName = \"CarouselContent\";\r\n\r\n/**\r\n * Renders an individual carousel slide.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element\r\n * - Built on the shared carousel context for orientation-aware styling\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselItem>Slide content</CarouselItem>\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({className, ...props}, ref) => {\r\n const {orientation} = useCarousel();\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role='group'\r\n aria-roledescription='slide'\r\n data-orientation={orientation}\r\n className={cn(styles.item, orientation === \"vertical\" && styles.itemVertical, className)}\r\n {...props}\r\n />\r\n );\r\n});\r\nCarouselItem.displayName = \"CarouselItem\";\r\n\r\n/**\r\n * Renders the previous-slide navigation button.\r\n *\r\n * @remarks\r\n * - Renders the shared `<Button>` component\r\n * - Built on carousel context state and Embla navigation APIs\r\n * - Pass `children` to override the default `ArrowLeft` navigation icon\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselPrevious />\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselPrevious = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\r\n ({children, className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\r\n const {orientation, scrollPrev, canScrollPrev} = useCarousel();\r\n const mergedProps = mergeProps<\"button\">({onClick: scrollPrev, disabled: !canScrollPrev}, props);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n data-orientation={orientation}\r\n className={cn(styles.navigationButton, styles.previousButton, className)}\r\n {...mergedProps}>\r\n {children ?? <ArrowLeft className={styles.navigationIcon} />}\r\n <span className={styles.srOnly}>Previous slide</span>\r\n </Button>\r\n );\r\n },\r\n);\r\nCarouselPrevious.displayName = \"CarouselPrevious\";\r\n\r\n/**\r\n * Renders the next-slide navigation button.\r\n *\r\n * @remarks\r\n * - Renders the shared `<Button>` component\r\n * - Built on carousel context state and Embla navigation APIs\r\n * - Pass `children` to override the default `ArrowRight` navigation icon\r\n *\r\n * @example\r\n * ```tsx\r\n * <CarouselNext />\r\n * ```\r\n *\r\n * @see {@link https://www.embla-carousel.com/get-started/react/ | Embla React Docs}\r\n */\r\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\r\n ({children, className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\r\n const {orientation, scrollNext, canScrollNext} = useCarousel();\r\n const mergedProps = mergeProps<\"button\">({onClick: scrollNext, disabled: !canScrollNext}, props);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n data-orientation={orientation}\r\n className={cn(styles.navigationButton, styles.nextButton, className)}\r\n {...mergedProps}>\r\n {children ?? <ArrowRight className={styles.navigationIcon} />}\r\n <span className={styles.srOnly}>Next slide</span>\r\n </Button>\r\n );\r\n },\r\n);\r\nCarouselNext.displayName = \"CarouselNext\";\r\n\r\nexport {Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi};\r\nexport type {CarouselOptions, CarouselPlugin, CarouselProps};\r\n"],"names":["CarouselContext","React","useCarousel","context","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","ref","resolvedOrientation","resolvedAxis","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","emblaApi","scrollPrev","scrollNext","handleKeyDown","event","cn","styles","CarouselContent","CarouselItem","CarouselPrevious","variant","size","mergedProps","mergeProps","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chart.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,75 @@
1
1
  "use client";
2
+ import { __webpack_require__ } from "../../rslib-runtime.js";
2
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
4
  import { createContext, forwardRef, useContext, useId, useMemo } from "react";
4
5
  import { Area, AreaChart, Bar, BarChart, BarStack, Brush, CartesianGrid, Cell, ComposedChart, Cross, Curve, Customized, DefaultZIndexes, Dot, ErrorBar, Funnel, FunnelChart, Label, LabelList, Legend, Line, LineChart, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Polygon, Radar, RadarChart, RadialBar, RadialBarChart, Rectangle, ReferenceArea, ReferenceDot, ReferenceLine, ResponsiveContainer, Sankey, Scatter, ScatterChart, Sector, SunburstChart, Symbols, Tooltip, Trapezoid, Treemap, XAxis, YAxis, ZAxis, ZIndexLayer, useActiveTooltipCoordinate, useActiveTooltipDataPoints, useActiveTooltipLabel, useChartHeight, useChartWidth, useIsTooltipActive, useMargin, useOffset, usePlotArea, useXAxisDomain, useYAxisDomain } from "recharts";
5
6
  import { cn } from "../../lib/utilities.js";
6
7
  import chart_module from "./chart.module.js";
8
+ var external_recharts_namespaceObject = {};
9
+ __webpack_require__.r(external_recharts_namespaceObject);
10
+ __webpack_require__.d(external_recharts_namespaceObject, {
11
+ Area: ()=>Area,
12
+ AreaChart: ()=>AreaChart,
13
+ Bar: ()=>Bar,
14
+ BarChart: ()=>BarChart,
15
+ BarStack: ()=>BarStack,
16
+ Brush: ()=>Brush,
17
+ CartesianGrid: ()=>CartesianGrid,
18
+ Cell: ()=>Cell,
19
+ ComposedChart: ()=>ComposedChart,
20
+ Cross: ()=>Cross,
21
+ Curve: ()=>Curve,
22
+ Customized: ()=>Customized,
23
+ DefaultZIndexes: ()=>DefaultZIndexes,
24
+ Dot: ()=>Dot,
25
+ ErrorBar: ()=>ErrorBar,
26
+ Funnel: ()=>Funnel,
27
+ FunnelChart: ()=>FunnelChart,
28
+ Label: ()=>Label,
29
+ LabelList: ()=>LabelList,
30
+ Legend: ()=>Legend,
31
+ Line: ()=>Line,
32
+ LineChart: ()=>LineChart,
33
+ Pie: ()=>Pie,
34
+ PieChart: ()=>PieChart,
35
+ PolarAngleAxis: ()=>PolarAngleAxis,
36
+ PolarGrid: ()=>PolarGrid,
37
+ PolarRadiusAxis: ()=>PolarRadiusAxis,
38
+ Polygon: ()=>Polygon,
39
+ Radar: ()=>Radar,
40
+ RadarChart: ()=>RadarChart,
41
+ RadialBar: ()=>RadialBar,
42
+ RadialBarChart: ()=>RadialBarChart,
43
+ Rectangle: ()=>Rectangle,
44
+ ReferenceArea: ()=>ReferenceArea,
45
+ ReferenceDot: ()=>ReferenceDot,
46
+ ReferenceLine: ()=>ReferenceLine,
47
+ ResponsiveContainer: ()=>ResponsiveContainer,
48
+ Sankey: ()=>Sankey,
49
+ Scatter: ()=>Scatter,
50
+ ScatterChart: ()=>ScatterChart,
51
+ Sector: ()=>Sector,
52
+ SunburstChart: ()=>SunburstChart,
53
+ Symbols: ()=>Symbols,
54
+ Tooltip: ()=>Tooltip,
55
+ Trapezoid: ()=>Trapezoid,
56
+ Treemap: ()=>Treemap,
57
+ XAxis: ()=>XAxis,
58
+ YAxis: ()=>YAxis,
59
+ ZAxis: ()=>ZAxis,
60
+ ZIndexLayer: ()=>ZIndexLayer,
61
+ useActiveTooltipCoordinate: ()=>useActiveTooltipCoordinate,
62
+ useActiveTooltipDataPoints: ()=>useActiveTooltipDataPoints,
63
+ useActiveTooltipLabel: ()=>useActiveTooltipLabel,
64
+ useChartHeight: ()=>useChartHeight,
65
+ useChartWidth: ()=>useChartWidth,
66
+ useIsTooltipActive: ()=>useIsTooltipActive,
67
+ useMargin: ()=>useMargin,
68
+ useOffset: ()=>useOffset,
69
+ usePlotArea: ()=>usePlotArea,
70
+ useXAxisDomain: ()=>useXAxisDomain,
71
+ useYAxisDomain: ()=>useYAxisDomain
72
+ });
7
73
  const THEMES = {
8
74
  light: "",
9
75
  dark: ".dark"
@@ -217,65 +283,65 @@ Object.assign(ChartLegend, {
217
283
  displayName: "ChartLegend"
218
284
  });
219
285
  ChartLegendContent.displayName = "ChartLegendContent";
220
- const chart_AreaChart = AreaChart;
221
- const chart_BarChart = BarChart;
222
- const chart_ComposedChart = ComposedChart;
223
- const chart_FunnelChart = FunnelChart;
224
- const chart_LineChart = LineChart;
225
- const chart_PieChart = PieChart;
226
- const chart_RadarChart = RadarChart;
227
- const chart_RadialBarChart = RadialBarChart;
228
- const chart_ScatterChart = ScatterChart;
229
- const chart_Sankey = Sankey;
230
- const chart_SunburstChart = SunburstChart;
231
- const chart_Treemap = Treemap;
232
- const chart_Area = Area;
233
- const chart_Bar = Bar;
234
- const chart_BarStack = BarStack;
235
- const chart_Funnel = Funnel;
236
- const chart_Line = Line;
237
- const chart_Pie = Pie;
238
- const chart_Radar = Radar;
239
- const chart_RadialBar = RadialBar;
240
- const chart_Scatter = Scatter;
241
- const chart_CartesianGrid = CartesianGrid;
242
- const chart_PolarAngleAxis = PolarAngleAxis;
243
- const chart_PolarGrid = PolarGrid;
244
- const chart_PolarRadiusAxis = PolarRadiusAxis;
245
- const chart_XAxis = XAxis;
246
- const chart_YAxis = YAxis;
247
- const chart_ZAxis = ZAxis;
248
- const chart_Brush = Brush;
249
- const chart_ErrorBar = ErrorBar;
250
- const RechartsLabel = Label;
251
- const chart_LabelList = LabelList;
252
- const chart_ReferenceArea = ReferenceArea;
253
- const chart_ReferenceDot = ReferenceDot;
254
- const chart_ReferenceLine = ReferenceLine;
255
- const chart_ResponsiveContainer = ResponsiveContainer;
256
- const chart_Customized = Customized;
257
- const chart_Cell = Cell;
258
- const chart_Cross = Cross;
259
- const chart_Curve = Curve;
260
- const chart_Dot = Dot;
261
- const chart_Polygon = Polygon;
262
- const chart_Rectangle = Rectangle;
263
- const chart_Sector = Sector;
264
- const chart_Symbols = Symbols;
265
- const chart_Trapezoid = Trapezoid;
266
- const chart_ZIndexLayer = ZIndexLayer;
267
- const chart_DefaultZIndexes = DefaultZIndexes;
268
- const chart_useChartWidth = useChartWidth;
269
- const chart_useChartHeight = useChartHeight;
270
- const chart_useOffset = useOffset;
271
- const chart_usePlotArea = usePlotArea;
272
- const chart_useMargin = useMargin;
273
- const chart_useIsTooltipActive = useIsTooltipActive;
274
- const chart_useActiveTooltipCoordinate = useActiveTooltipCoordinate;
275
- const chart_useActiveTooltipDataPoints = useActiveTooltipDataPoints;
276
- const chart_useActiveTooltipLabel = useActiveTooltipLabel;
277
- const chart_useXAxisDomain = useXAxisDomain;
278
- const chart_useYAxisDomain = useYAxisDomain;
286
+ const { AreaChart: chart_AreaChart } = external_recharts_namespaceObject;
287
+ const { BarChart: chart_BarChart } = external_recharts_namespaceObject;
288
+ const { ComposedChart: chart_ComposedChart } = external_recharts_namespaceObject;
289
+ const { FunnelChart: chart_FunnelChart } = external_recharts_namespaceObject;
290
+ const { LineChart: chart_LineChart } = external_recharts_namespaceObject;
291
+ const { PieChart: chart_PieChart } = external_recharts_namespaceObject;
292
+ const { RadarChart: chart_RadarChart } = external_recharts_namespaceObject;
293
+ const { RadialBarChart: chart_RadialBarChart } = external_recharts_namespaceObject;
294
+ const { ScatterChart: chart_ScatterChart } = external_recharts_namespaceObject;
295
+ const { Sankey: chart_Sankey } = external_recharts_namespaceObject;
296
+ const { SunburstChart: chart_SunburstChart } = external_recharts_namespaceObject;
297
+ const { Treemap: chart_Treemap } = external_recharts_namespaceObject;
298
+ const { Area: chart_Area } = external_recharts_namespaceObject;
299
+ const { Bar: chart_Bar } = external_recharts_namespaceObject;
300
+ const { BarStack: chart_BarStack } = external_recharts_namespaceObject;
301
+ const { Funnel: chart_Funnel } = external_recharts_namespaceObject;
302
+ const { Line: chart_Line } = external_recharts_namespaceObject;
303
+ const { Pie: chart_Pie } = external_recharts_namespaceObject;
304
+ const { Radar: chart_Radar } = external_recharts_namespaceObject;
305
+ const { RadialBar: chart_RadialBar } = external_recharts_namespaceObject;
306
+ const { Scatter: chart_Scatter } = external_recharts_namespaceObject;
307
+ const { CartesianGrid: chart_CartesianGrid } = external_recharts_namespaceObject;
308
+ const { PolarAngleAxis: chart_PolarAngleAxis } = external_recharts_namespaceObject;
309
+ const { PolarGrid: chart_PolarGrid } = external_recharts_namespaceObject;
310
+ const { PolarRadiusAxis: chart_PolarRadiusAxis } = external_recharts_namespaceObject;
311
+ const { XAxis: chart_XAxis } = external_recharts_namespaceObject;
312
+ const { YAxis: chart_YAxis } = external_recharts_namespaceObject;
313
+ const { ZAxis: chart_ZAxis } = external_recharts_namespaceObject;
314
+ const { Brush: chart_Brush } = external_recharts_namespaceObject;
315
+ const { ErrorBar: chart_ErrorBar } = external_recharts_namespaceObject;
316
+ const { Label: RechartsLabel } = external_recharts_namespaceObject;
317
+ const { LabelList: chart_LabelList } = external_recharts_namespaceObject;
318
+ const { ReferenceArea: chart_ReferenceArea } = external_recharts_namespaceObject;
319
+ const { ReferenceDot: chart_ReferenceDot } = external_recharts_namespaceObject;
320
+ const { ReferenceLine: chart_ReferenceLine } = external_recharts_namespaceObject;
321
+ const { ResponsiveContainer: chart_ResponsiveContainer } = external_recharts_namespaceObject;
322
+ const { Customized: chart_Customized } = external_recharts_namespaceObject;
323
+ const { Cell: chart_Cell } = external_recharts_namespaceObject;
324
+ const { Cross: chart_Cross } = external_recharts_namespaceObject;
325
+ const { Curve: chart_Curve } = external_recharts_namespaceObject;
326
+ const { Dot: chart_Dot } = external_recharts_namespaceObject;
327
+ const { Polygon: chart_Polygon } = external_recharts_namespaceObject;
328
+ const { Rectangle: chart_Rectangle } = external_recharts_namespaceObject;
329
+ const { Sector: chart_Sector } = external_recharts_namespaceObject;
330
+ const { Symbols: chart_Symbols } = external_recharts_namespaceObject;
331
+ const { Trapezoid: chart_Trapezoid } = external_recharts_namespaceObject;
332
+ const { ZIndexLayer: chart_ZIndexLayer } = external_recharts_namespaceObject;
333
+ const { DefaultZIndexes: chart_DefaultZIndexes } = external_recharts_namespaceObject;
334
+ const { useChartWidth: chart_useChartWidth } = external_recharts_namespaceObject;
335
+ const { useChartHeight: chart_useChartHeight } = external_recharts_namespaceObject;
336
+ const { useOffset: chart_useOffset } = external_recharts_namespaceObject;
337
+ const { usePlotArea: chart_usePlotArea } = external_recharts_namespaceObject;
338
+ const { useMargin: chart_useMargin } = external_recharts_namespaceObject;
339
+ const { useIsTooltipActive: chart_useIsTooltipActive } = external_recharts_namespaceObject;
340
+ const { useActiveTooltipCoordinate: chart_useActiveTooltipCoordinate } = external_recharts_namespaceObject;
341
+ const { useActiveTooltipDataPoints: chart_useActiveTooltipDataPoints } = external_recharts_namespaceObject;
342
+ const { useActiveTooltipLabel: chart_useActiveTooltipLabel } = external_recharts_namespaceObject;
343
+ const { useXAxisDomain: chart_useXAxisDomain } = external_recharts_namespaceObject;
344
+ const { useYAxisDomain: chart_useYAxisDomain } = external_recharts_namespaceObject;
279
345
  export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, RechartsLabel, chart_Area as Area, chart_AreaChart as AreaChart, chart_Bar as Bar, chart_BarChart as BarChart, chart_BarStack as BarStack, chart_Brush as Brush, chart_CartesianGrid as CartesianGrid, chart_Cell as Cell, chart_ComposedChart as ComposedChart, chart_Cross as Cross, chart_Curve as Curve, chart_Customized as Customized, chart_DefaultZIndexes as DefaultZIndexes, chart_Dot as Dot, chart_ErrorBar as ErrorBar, chart_Funnel as Funnel, chart_FunnelChart as FunnelChart, chart_LabelList as LabelList, chart_Line as Line, chart_LineChart as LineChart, chart_Pie as Pie, chart_PieChart as PieChart, chart_PolarAngleAxis as PolarAngleAxis, chart_PolarGrid as PolarGrid, chart_PolarRadiusAxis as PolarRadiusAxis, chart_Polygon as Polygon, chart_Radar as Radar, chart_RadarChart as RadarChart, chart_RadialBar as RadialBar, chart_RadialBarChart as RadialBarChart, chart_Rectangle as Rectangle, chart_ReferenceArea as ReferenceArea, chart_ReferenceDot as ReferenceDot, chart_ReferenceLine as ReferenceLine, chart_ResponsiveContainer as ResponsiveContainer, chart_Sankey as Sankey, chart_Scatter as Scatter, chart_ScatterChart as ScatterChart, chart_Sector as Sector, chart_SunburstChart as SunburstChart, chart_Symbols as Symbols, chart_Trapezoid as Trapezoid, chart_Treemap as Treemap, chart_XAxis as XAxis, chart_YAxis as YAxis, chart_ZAxis as ZAxis, chart_ZIndexLayer as ZIndexLayer, chart_useActiveTooltipCoordinate as useActiveTooltipCoordinate, chart_useActiveTooltipDataPoints as useActiveTooltipDataPoints, chart_useActiveTooltipLabel as useActiveTooltipLabel, chart_useChartHeight as useChartHeight, chart_useChartWidth as useChartWidth, chart_useIsTooltipActive as useIsTooltipActive, chart_useMargin as useMargin, chart_useOffset as useOffset, chart_usePlotArea as usePlotArea, chart_useXAxisDomain as useXAxisDomain, chart_useYAxisDomain as useYAxisDomain };
280
346
 
281
347
  //# sourceMappingURL=chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/chart.js","sources":["../../../src/components/ui/chart.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/* eslint-disable complexity, react/no-object-type-as-default-prop, react/no-danger, react-dom/no-dangerously-set-innerhtml, unicorn/no-negated-condition */\r\n\r\nimport * as React from \"react\";\r\nimport type {DefaultTooltipContentProps, LegendPayload, ResponsiveContainerProps, TooltipValueType} from \"recharts\";\r\nimport * as RechartsPrimitive from \"recharts\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./chart.module.css\";\r\n\r\nconst THEMES = {light: \"\", dark: \".dark\"} as const;\r\n\r\n/**\r\n * Describes per-series chart metadata used by legend and tooltip renderers.\r\n */\r\ntype ChartConfigItem = {\r\n /**\r\n * Label rendered by shared legends and tooltips for the series.\r\n * @default undefined\r\n */\r\n label?: React.ReactNode;\r\n /**\r\n * Optional icon rendered in legends and tooltips instead of the color swatch.\r\n * @default undefined\r\n */\r\n icon?: React.ComponentType;\r\n /**\r\n * Unit suffix appended to rendered values when the payload does not provide one.\r\n * @default undefined\r\n */\r\n unit?: string;\r\n /**\r\n * Shared numeric formatter used by helper content renderers when no Recharts tooltip formatter is supplied.\r\n * @default undefined\r\n */\r\n formatter?: (value: number) => string;\r\n /**\r\n * Recharts stack identifier that consuming chart primitives can read from config.\r\n * @default undefined\r\n */\r\n stackId?: string;\r\n};\r\n\r\nexport type ChartConfig = Record<\r\n string,\r\n ChartConfigItem & ({color?: string; theme?: never} | {color?: never; theme: Record<keyof typeof THEMES, string>})\r\n>;\r\n\r\ninterface ChartContextProps {\r\n config: ChartConfig;\r\n}\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\r\n\r\nfunction useChart(): ChartContextProps {\r\n const context = React.useContext(ChartContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\ninterface ChartContainerProps\r\n extends\r\n Omit<React.ComponentProps<\"div\">, \"children\" | \"className\" | \"id\">,\r\n Pick<\r\n ResponsiveContainerProps,\r\n | \"initialDimension\"\r\n | \"aspect\"\r\n | \"debounce\"\r\n | \"minHeight\"\r\n | \"minWidth\"\r\n | \"maxHeight\"\r\n | \"height\"\r\n | \"width\"\r\n | \"onResize\"\r\n | \"children\"\r\n | \"className\"\r\n | \"id\"\r\n > {\r\n /**\r\n * Series configuration used to resolve labels, icons, and colors.\r\n * @default undefined\r\n */\r\n config: ChartConfig;\r\n /**\r\n * Inline styles applied to the inner `ResponsiveContainer`.\r\n * @default undefined\r\n */\r\n innerResponsiveContainerStyle?: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>[\"style\"];\r\n}\r\n\r\n/**\r\n * Provides responsive chart layout and series config context for Recharts content.\r\n *\r\n * @remarks\r\n * - Renders a wrapping `<div>` element\r\n * - Built on `recharts` `ResponsiveContainer`\r\n * - Injects CSS variables so legends and tooltips can share theme-aware colors\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartContainer config={{sales: {label: \"Sales\", color: \"#2563eb\"}}}>\r\n * <RechartsPrimitive.BarChart data={data}>...</RechartsPrimitive.BarChart>\r\n * </ChartContainer>\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/ResponsiveContainer | Recharts ResponsiveContainer Docs}\r\n */\r\nconst ChartContainer = React.forwardRef<HTMLDivElement, ChartContainerProps>(\r\n (\r\n {\r\n id,\r\n config,\r\n initialDimension = {width: 320, height: 200},\r\n className,\r\n children,\r\n innerResponsiveContainerStyle,\r\n aspect,\r\n debounce,\r\n height,\r\n maxHeight,\r\n minHeight,\r\n minWidth,\r\n onResize,\r\n width,\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const uniqueId = React.useId();\r\n const chartId = `chart-${id ?? uniqueId.replaceAll(\":\", \"\")}`;\r\n\r\n return (\r\n <ChartContext.Provider value={{config}}>\r\n <div\r\n data-slot='chart'\r\n data-chart={chartId}\r\n className={cn(styles.container, className)}\r\n {...props}>\r\n <ChartStyle\r\n id={chartId}\r\n config={config}\r\n />\r\n <RechartsPrimitive.ResponsiveContainer\r\n ref={ref}\r\n id={id}\r\n className={className}\r\n initialDimension={initialDimension}\r\n aspect={aspect}\r\n debounce={debounce}\r\n height={height}\r\n maxHeight={maxHeight}\r\n minHeight={minHeight}\r\n minWidth={minWidth}\r\n onResize={onResize}\r\n style={innerResponsiveContainerStyle}\r\n width={width}>\r\n {children}\r\n </RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Emits theme-aware CSS variables for configured chart series colors.\r\n *\r\n * @remarks\r\n * - Renders a `<style>` element\r\n * - Built on the shared chart configuration contract\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartStyle id='chart-sales' config={config} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org | Recharts Docs}\r\n */\r\nconst ChartStyle = ({id, config}: Readonly<{id: string; config: ChartConfig}>): React.JSX.Element | null => {\r\n const colorConfig = Object.entries(config).filter(([, itemConfig]) => itemConfig.theme ?? itemConfig.color);\r\n\r\n if (!colorConfig.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <style\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n${prefix} [data-chart=${id}] {\r\n${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ?? itemConfig.color;\r\n return color ? ` --color-${key}: ${color};` : null;\r\n })\r\n .join(\"\\n\")}\r\n}\r\n`,\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n );\r\n};\r\n\r\n/**\r\n * Re-exports the Recharts tooltip primitive for use with shared chart helpers.\r\n *\r\n * @remarks\r\n * - Renders the Recharts tooltip container\r\n * - Built on `recharts`\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartTooltip content={<ChartTooltipContent />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Tooltip | Recharts Tooltip Docs}\r\n */\r\nconst ChartTooltip = RechartsPrimitive.Tooltip;\r\n\r\n/**\r\n * Renders shared tooltip content for charts configured with {@link ChartContainer}.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element when active\r\n * - Built on `recharts` tooltip payloads and shared chart config context\r\n * - Honors `active`, `payload`, `label`, `labelFormatter`, `formatter`, `separator`,\r\n * `className`, `labelClassName`, `color`, `nameKey`, and `labelKey`\r\n * - Ignores `wrapperClassName`, `contentStyle`, `itemStyle`, `labelStyle`, and\r\n * `accessibilityLayer` because this helper renders its own DOM structure\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartTooltip content={<ChartTooltipContent indicator='line' />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Tooltip | Recharts Tooltip Docs}\r\n */\r\nfunction ChartTooltipContent({\r\n active,\r\n payload,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n label,\r\n labelFormatter,\r\n labelClassName,\r\n formatter,\r\n color,\r\n nameKey,\r\n labelKey,\r\n separator,\r\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip>\r\n & React.ComponentProps<\"div\"> & {\r\n hideLabel?: boolean;\r\n hideIndicator?: boolean;\r\n indicator?: \"line\" | \"dot\" | \"dashed\";\r\n nameKey?: string;\r\n labelKey?: string;\r\n } & Omit<DefaultTooltipContentProps, \"accessibilityLayer\">): React.JSX.Element | null {\r\n const {config} = useChart();\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const [item] = payload;\r\n const key = `${labelKey ?? item?.dataKey ?? item?.name ?? \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const value = !labelKey && typeof label === \"string\" ? (config[label]?.label ?? label) : itemConfig?.label;\r\n\r\n if (labelFormatter) {\r\n return <div className={cn(styles.tooltipLabel, labelClassName)}>{labelFormatter(value, payload)}</div>;\r\n }\r\n\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n return <div className={cn(styles.tooltipLabel, labelClassName)}>{value}</div>;\r\n }, [config, hideLabel, label, labelClassName, labelFormatter, labelKey, payload]);\r\n\r\n if (!active || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\r\n\r\n return (\r\n <div className={cn(styles.tooltip, className)}>\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className={styles.tooltipBody}>\r\n {payload\r\n .filter((item) => item.type !== \"none\")\r\n .map((item, index) => {\r\n const key = `${nameKey ?? item.dataKey ?? item.name ?? \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const indicatorColor = color ?? item.payload?.fill ?? item.color ?? \"transparent\";\r\n const indicatorStyle = {\r\n \"--ac-chart-indicator-background\": indicatorColor,\r\n \"--ac-chart-indicator-border\": indicatorColor,\r\n } as React.CSSProperties & Record<\"--ac-chart-indicator-background\" | \"--ac-chart-indicator-border\", string>;\r\n\r\n const itemFormatter = formatter ?? item.formatter;\r\n const hasFormatter = typeof itemFormatter === \"function\" && item.value !== undefined && item.name !== undefined;\r\n const formatterResult = hasFormatter ? itemFormatter(item.value, item.name, item, index, payload) : undefined;\r\n const formattedEntry = Array.isArray(formatterResult) && formatterResult.length === 2 ? formatterResult : undefined;\r\n const resolvedName = formattedEntry?.[1] ?? itemConfig?.label ?? item.name;\r\n const resolvedUnit = item.unit ?? itemConfig?.unit;\r\n const resolvedValue =\r\n formattedEntry?.[0] ?? (item.value !== null && item.value !== undefined ? formatChartValue(item.value, itemConfig) : null);\r\n\r\n return (\r\n <div\r\n key={`${key}-${index}`}\r\n className={cn(styles.tooltipItem, indicator === \"dot\" && styles.tooltipItemCenter)}>\r\n {formatterResult !== null && formatterResult !== undefined && !formattedEntry ? (\r\n formatterResult\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\r\n styles.tooltipIndicator,\r\n indicator === \"dot\" && styles.tooltipIndicatorDot,\r\n indicator === \"line\" && styles.tooltipIndicatorLine,\r\n indicator === \"dashed\" && styles.tooltipIndicatorDashed,\r\n nestLabel && indicator === \"dashed\" && styles.tooltipIndicatorDashedNested,\r\n )}\r\n style={indicatorStyle}\r\n />\r\n )\r\n )}\r\n <div className={cn(styles.tooltipValueRow, nestLabel && styles.tooltipValueRowNested)}>\r\n <div className={styles.tooltipNameWrapper}>\r\n {nestLabel ? tooltipLabel : null}\r\n {resolvedName !== null && resolvedName !== undefined && <span className={styles.tooltipName}>{resolvedName}</span>}\r\n </div>\r\n {resolvedValue !== null && resolvedValue !== undefined && (\r\n <span className={styles.tooltipValue}>\r\n {resolvedName !== null && resolvedName !== undefined && separator ? (\r\n <span aria-hidden='true'>{separator}</span>\r\n ) : null}\r\n {resolvedValue}\r\n {resolvedUnit !== null && resolvedUnit !== undefined ? <span> {resolvedUnit}</span> : null}\r\n </span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Re-exports the Recharts legend primitive for use with shared chart helpers.\r\n *\r\n * @remarks\r\n * - Renders the Recharts legend container\r\n * - Built on `recharts`\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartLegend content={<ChartLegendContent />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Legend | Recharts Legend Docs}\r\n */\r\nconst ChartLegend = RechartsPrimitive.Legend;\r\n\r\n/**\r\n * Renders shared legend content for charts configured with {@link ChartContainer}.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element when legend payload exists\r\n * - Built on `recharts` legend payloads and shared chart config context\r\n * - Honors `payload`, `verticalAlign`, `className`, and the custom `hideIcon`\r\n * and `nameKey` props\r\n * - Ignores Recharts presentational props such as `align`, `layout`, `iconSize`,\r\n * `iconType`, `formatter`, and item mouse handlers because it renders custom markup\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartLegend content={<ChartLegendContent />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Legend | Recharts Legend Docs}\r\n */\r\nfunction ChartLegendContent({\r\n className,\r\n hideIcon = false,\r\n nameKey,\r\n payload,\r\n verticalAlign,\r\n}: React.ComponentProps<\"div\"> & {\r\n hideIcon?: boolean;\r\n nameKey?: string;\r\n} & RechartsPrimitive.DefaultLegendContentProps): React.JSX.Element | null {\r\n const {config} = useChart();\r\n\r\n if (!payload?.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div className={cn(styles.legend, verticalAlign === \"top\" ? styles.legendTop : styles.legendBottom, className)}>\r\n {payload\r\n .filter((item) => item.type !== \"none\")\r\n .map((item) => {\r\n const key = `${nameKey ?? item.dataKey ?? \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n\r\n return (\r\n <div\r\n key={String(item.value)}\r\n className={styles.legendItem}>\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className={styles.legendColor}\r\n style={{backgroundColor: item.color}}\r\n />\r\n )}\r\n {itemConfig?.label ?? item.value ?? formatLegendDataKey(item.dataKey)}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\nfunction formatChartValue(value: TooltipValueType, itemConfig: ChartConfig[string] | undefined): React.ReactNode {\r\n if (typeof value === \"number\") {\r\n return itemConfig?.formatter ? itemConfig.formatter(value) : value.toLocaleString();\r\n }\r\n\r\n return String(value);\r\n}\r\n\r\nfunction formatLegendDataKey(dataKey: LegendPayload[\"dataKey\"]): string | null {\r\n return typeof dataKey === \"number\" || typeof dataKey === \"string\" ? String(dataKey) : null;\r\n}\r\n\r\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string): ChartConfig[string] | undefined {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined;\r\n }\r\n\r\n const payloadObject = payload as Record<string, unknown>;\r\n const nestedPayload =\r\n typeof payloadObject[\"payload\"] === \"object\" && payloadObject[\"payload\"] !== null\r\n ? (payloadObject[\"payload\"] as Record<string, unknown>)\r\n : undefined;\r\n\r\n let configLabelKey = key;\r\n\r\n if (typeof payloadObject[key] === \"string\") {\r\n configLabelKey = payloadObject[key] as string;\r\n } else if (nestedPayload && typeof nestedPayload[key] === \"string\") {\r\n configLabelKey = nestedPayload[key] as string;\r\n }\r\n\r\n return config[configLabelKey] ?? config[key];\r\n}\r\n\r\nChartContainer.displayName = \"ChartContainer\";\r\nChartStyle.displayName = \"ChartStyle\";\r\nObject.assign(ChartTooltip, {displayName: \"ChartTooltip\"});\r\nChartTooltipContent.displayName = \"ChartTooltipContent\";\r\nObject.assign(ChartLegend, {displayName: \"ChartLegend\"});\r\nChartLegendContent.displayName = \"ChartLegendContent\";\r\n\r\nexport {ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent};\r\n\r\n// ---------------------------------------------------------------------------\r\n// Recharts v3.8+ primitive re-exports\r\n// Consumers should import chart primitives from \"@arolariu/components/chart\"\r\n// instead of importing directly from \"recharts\".\r\n// ---------------------------------------------------------------------------\r\n\r\n// -- Chart containers -------------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/AreaChart | AreaChart API} */\r\nexport const AreaChart = RechartsPrimitive.AreaChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/BarChart | BarChart API} */\r\nexport const BarChart = RechartsPrimitive.BarChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/ComposedChart | ComposedChart API} */\r\nexport const ComposedChart = RechartsPrimitive.ComposedChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/FunnelChart | FunnelChart API} */\r\nexport const FunnelChart = RechartsPrimitive.FunnelChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/LineChart | LineChart API} */\r\nexport const LineChart = RechartsPrimitive.LineChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/PieChart | PieChart API} */\r\nexport const PieChart = RechartsPrimitive.PieChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/RadarChart | RadarChart API} */\r\nexport const RadarChart = RechartsPrimitive.RadarChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/RadialBarChart | RadialBarChart API} */\r\nexport const RadialBarChart = RechartsPrimitive.RadialBarChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/ScatterChart | ScatterChart API} */\r\nexport const ScatterChart = RechartsPrimitive.ScatterChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/Sankey | Sankey API} */\r\nexport const Sankey = RechartsPrimitive.Sankey;\r\n/** @see {@link https://recharts.github.io/en-US/api/SunburstChart | SunburstChart API} */\r\nexport const SunburstChart = RechartsPrimitive.SunburstChart;\r\n/** @see {@link https://recharts.github.io/en-US/api/Treemap | Treemap API} */\r\nexport const Treemap = RechartsPrimitive.Treemap;\r\n\r\n// -- Series elements --------------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/Area | Area API} */\r\nexport const Area = RechartsPrimitive.Area;\r\n/** @see {@link https://recharts.github.io/en-US/api/Bar | Bar API} */\r\nexport const Bar = RechartsPrimitive.Bar;\r\n/**\r\n * Groups stacked bars and configures shared stack properties such as radius.\r\n * @since recharts 3.6\r\n * @see {@link https://recharts.github.io/en-US/guide/roundedBars | BarStack Guide}\r\n */\r\nexport const BarStack = RechartsPrimitive.BarStack;\r\n/** @see {@link https://recharts.github.io/en-US/api/Funnel | Funnel API} */\r\nexport const Funnel = RechartsPrimitive.Funnel;\r\n/** @see {@link https://recharts.github.io/en-US/api/Line | Line API} */\r\nexport const Line = RechartsPrimitive.Line;\r\n/** @see {@link https://recharts.github.io/en-US/api/Pie | Pie API} */\r\nexport const Pie = RechartsPrimitive.Pie;\r\n/** @see {@link https://recharts.github.io/en-US/api/Radar | Radar API} */\r\nexport const Radar = RechartsPrimitive.Radar;\r\n/** @see {@link https://recharts.github.io/en-US/api/RadialBar | RadialBar API} */\r\nexport const RadialBar = RechartsPrimitive.RadialBar;\r\n/** @see {@link https://recharts.github.io/en-US/api/Scatter | Scatter API} */\r\nexport const Scatter = RechartsPrimitive.Scatter;\r\n\r\n// -- Axis & grid ------------------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/CartesianGrid | CartesianGrid API} */\r\nexport const CartesianGrid = RechartsPrimitive.CartesianGrid;\r\n/** @see {@link https://recharts.github.io/en-US/api/PolarAngleAxis | PolarAngleAxis API} */\r\nexport const PolarAngleAxis = RechartsPrimitive.PolarAngleAxis;\r\n/** @see {@link https://recharts.github.io/en-US/api/PolarGrid | PolarGrid API} */\r\nexport const PolarGrid = RechartsPrimitive.PolarGrid;\r\n/** @see {@link https://recharts.github.io/en-US/api/PolarRadiusAxis | PolarRadiusAxis API} */\r\nexport const PolarRadiusAxis = RechartsPrimitive.PolarRadiusAxis;\r\n/** @see {@link https://recharts.github.io/en-US/api/XAxis | XAxis API} – supports `type: \"auto\"` since v3.7. */\r\nexport const XAxis = RechartsPrimitive.XAxis;\r\n/** @see {@link https://recharts.github.io/en-US/api/YAxis | YAxis API} – supports `type: \"auto\"` since v3.7. */\r\nexport const YAxis = RechartsPrimitive.YAxis;\r\n/** @see {@link https://recharts.github.io/en-US/api/ZAxis | ZAxis API} */\r\nexport const ZAxis = RechartsPrimitive.ZAxis;\r\n\r\n// -- Annotations & overlays ------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/Brush | Brush API} */\r\nexport const Brush = RechartsPrimitive.Brush;\r\n/** @see {@link https://recharts.github.io/en-US/api/ErrorBar | ErrorBar API} */\r\nexport const ErrorBar = RechartsPrimitive.ErrorBar;\r\n/** @see {@link https://recharts.github.io/en-US/api/Label | Label API} */\r\nexport const RechartsLabel = RechartsPrimitive.Label;\r\n/** @see {@link https://recharts.github.io/en-US/api/LabelList | LabelList API} */\r\nexport const LabelList = RechartsPrimitive.LabelList;\r\n/** @see {@link https://recharts.github.io/en-US/api/ReferenceArea | ReferenceArea API} */\r\nexport const ReferenceArea = RechartsPrimitive.ReferenceArea;\r\n/** @see {@link https://recharts.github.io/en-US/api/ReferenceDot | ReferenceDot API} */\r\nexport const ReferenceDot = RechartsPrimitive.ReferenceDot;\r\n/** @see {@link https://recharts.github.io/en-US/api/ReferenceLine | ReferenceLine API} */\r\nexport const ReferenceLine = RechartsPrimitive.ReferenceLine;\r\n\r\n// -- Layout -----------------------------------------------------------------\r\n/**\r\n * Wraps a chart in a responsive container. Since recharts 3.3+, you can\r\n * alternatively use the `responsive` prop directly on chart containers.\r\n * @see {@link https://recharts.github.io/en-US/api/ResponsiveContainer | ResponsiveContainer API}\r\n */\r\nexport const ResponsiveContainer = RechartsPrimitive.ResponsiveContainer;\r\n/** @see {@link https://recharts.github.io/en-US/api/Customized | Customized API} */\r\nexport const Customized = RechartsPrimitive.Customized;\r\n\r\n// -- Shapes -----------------------------------------------------------------\r\n/**\r\n * @deprecated Since recharts 3.7. Use the `shape` prop on chart series elements instead.\r\n * @see {@link https://recharts.github.io/en-US/api/Cell | Cell API}\r\n */\r\nexport const Cell = RechartsPrimitive.Cell;\r\nexport const Cross = RechartsPrimitive.Cross;\r\nexport const Curve = RechartsPrimitive.Curve;\r\nexport const Dot = RechartsPrimitive.Dot;\r\nexport const Polygon = RechartsPrimitive.Polygon;\r\nexport const Rectangle = RechartsPrimitive.Rectangle;\r\nexport const Sector = RechartsPrimitive.Sector;\r\nexport const Symbols = RechartsPrimitive.Symbols;\r\nexport const Trapezoid = RechartsPrimitive.Trapezoid;\r\n\r\n// -- Z-index (v3.4+) -------------------------------------------------------\r\n/** @since recharts 3.4 @see {@link https://recharts.github.io/en-US/guide/zIndex | Z-Index Guide} */\r\nexport const ZIndexLayer = RechartsPrimitive.ZIndexLayer;\r\n/** Default z-index ordering constants. @since recharts 3.4 */\r\nexport const DefaultZIndexes = RechartsPrimitive.DefaultZIndexes;\r\n\r\n// -- Hooks (v3+) ------------------------------------------------------------\r\n/** Returns the current chart width in pixels. */\r\nexport const useChartWidth = RechartsPrimitive.useChartWidth;\r\n/** Returns the current chart height in pixels. */\r\nexport const useChartHeight = RechartsPrimitive.useChartHeight;\r\n/** Returns the chart offset (margins, axes). */\r\nexport const useOffset = RechartsPrimitive.useOffset;\r\n/** Returns the plot area dimensions. */\r\nexport const usePlotArea = RechartsPrimitive.usePlotArea;\r\n/** Returns the chart margin. */\r\nexport const useMargin = RechartsPrimitive.useMargin;\r\n/** Returns whether the tooltip is currently active. @since recharts 3.7 */\r\nexport const useIsTooltipActive = RechartsPrimitive.useIsTooltipActive;\r\n/** Returns the active tooltip coordinate. @since recharts 3.7 */\r\nexport const useActiveTooltipCoordinate = RechartsPrimitive.useActiveTooltipCoordinate;\r\n/** Returns the active tooltip data points. */\r\nexport const useActiveTooltipDataPoints = RechartsPrimitive.useActiveTooltipDataPoints;\r\n/** Returns the active tooltip label. */\r\nexport const useActiveTooltipLabel = RechartsPrimitive.useActiveTooltipLabel;\r\n/** Returns the current X-axis domain. */\r\nexport const useXAxisDomain = RechartsPrimitive.useXAxisDomain;\r\n/** Returns the current Y-axis domain. */\r\nexport const useYAxisDomain = RechartsPrimitive.useYAxisDomain;\r\n\r\n// -- Type re-exports --------------------------------------------------------\r\nexport type {DefaultLegendContentProps, DefaultTooltipContentProps, TooltipValueType} from \"recharts\";\r\n"],"names":["THEMES","ChartContext","React","useChart","context","Error","ChartContainer","id","config","initialDimension","className","children","innerResponsiveContainerStyle","aspect","debounce","height","maxHeight","minHeight","minWidth","onResize","width","props","ref","uniqueId","chartId","cn","styles","ChartStyle","RechartsPrimitive","colorConfig","Object","itemConfig","theme","prefix","key","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","separator","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","indicatorStyle","itemFormatter","hasFormatter","undefined","formatterResult","formattedEntry","Array","resolvedName","resolvedUnit","resolvedValue","formatChartValue","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","formatLegendDataKey","String","dataKey","payloadObject","nestedPayload","configLabelKey","AreaChart","BarChart","ComposedChart","FunnelChart","LineChart","PieChart","RadarChart","RadialBarChart","ScatterChart","Sankey","SunburstChart","Treemap","Area","Bar","BarStack","Funnel","Line","Pie","Radar","RadialBar","Scatter","CartesianGrid","PolarAngleAxis","PolarGrid","PolarRadiusAxis","XAxis","YAxis","ZAxis","Brush","ErrorBar","RechartsLabel","LabelList","ReferenceArea","ReferenceDot","ReferenceLine","ResponsiveContainer","Customized","Cell","Cross","Curve","Dot","Polygon","Rectangle","Sector","Symbols","Trapezoid","ZIndexLayer","DefaultZIndexes","useChartWidth","useChartHeight","useOffset","usePlotArea","useMargin","useIsTooltipActive","useActiveTooltipCoordinate","useActiveTooltipDataPoints","useActiveTooltipLabel","useXAxisDomain","useYAxisDomain"],"mappings":";;;;;;AAYA,MAAMA,SAAS;IAAC,OAAO;IAAI,MAAM;AAAO;AA0CxC,MAAMC,eAAe,WAAHA,GAAGC,cAA8C;AAEnE,SAASC;IACP,MAAMC,UAAUF,WAAiBD;IAEjC,IAAI,CAACG,SACH,MAAM,IAAIC,MAAM;IAGlB,OAAOD;AACT;AAiDA,MAAME,iBAAiB,WAAHA,GAAGJ,WACrB,CACE,EACEK,EAAE,EACFC,MAAM,EACNC,mBAAmB;IAAC,OAAO;IAAK,QAAQ;AAAG,CAAC,EAC5CC,SAAS,EACTC,QAAQ,EACRC,6BAA6B,EAC7BC,MAAM,EACNC,QAAQ,EACRC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACL,GAAGC,OACJ,EACDC;IAEA,MAAMC,WAAWrB;IACjB,MAAMsB,UAAU,CAAC,MAAM,EAAEjB,MAAMgB,SAAS,UAAU,CAAC,KAAK,KAAK;IAE7D,OAAO,WAAP,GACE,IAACtB,aAAa,QAAQ;QAAC,OAAO;YAACO;QAAM;kBACnC,mBAAC;YACC,aAAU;YACV,cAAYgB;YACZ,WAAWC,GAAGC,aAAAA,SAAgB,EAAEhB;YAC/B,GAAGW,KAAK;;8BACT,IAACM,YAAUA;oBACT,IAAIH;oBACJ,QAAQhB;;8BAEV,IAACoB,qBAAqC;oBACpC,KAAKN;oBACL,IAAIf;oBACJ,WAAWG;oBACX,kBAAkBD;oBAClB,QAAQI;oBACR,UAAUC;oBACV,QAAQC;oBACR,WAAWC;oBACX,WAAWC;oBACX,UAAUC;oBACV,UAAUC;oBACV,OAAOP;oBACP,OAAOQ;8BACNT;;;;;AAKX;AAiBF,MAAMgB,aAAa,CAAC,EAACpB,EAAE,EAAEC,MAAM,EAA8C;IAC3E,MAAMqB,cAAcC,OAAO,OAAO,CAACtB,QAAQ,MAAM,CAAC,CAAC,GAAGuB,WAAW,GAAKA,WAAW,KAAK,IAAIA,WAAW,KAAK;IAE1G,IAAI,CAACF,YAAY,MAAM,EACrB,OAAO;IAGT,OAAO,WAAP,GACE,IAAC;QACC,yBAAyB;YACvB,QAAQC,OAAO,OAAO,CAAC9B,QACpB,GAAG,CACF,CAAC,CAACgC,OAAOC,OAAO,GAAK,CAAC;AAClC,EAAEA,OAAO,aAAa,EAAE1B,GAAG;AAC3B,EAAEsB,YACC,GAAG,CAAC,CAAC,CAACK,KAAKH,WAAW;oBACrB,MAAMI,QAAQJ,WAAW,KAAK,EAAE,CAACC,MAAuC,IAAID,WAAW,KAAK;oBAC5F,OAAOI,QAAQ,CAAC,UAAU,EAAED,IAAI,EAAE,EAAEC,MAAM,CAAC,CAAC,GAAG;gBACjD,GACC,IAAI,CAAC,MAAM;;AAEd,CAAC,EAEU,IAAI,CAAC;QACV;;AAGN;AAgBA,MAAMC,eAAeR;AAoBrB,SAASS,oBAAoB,EAC3BC,MAAM,EACNC,OAAO,EACP7B,SAAS,EACT8B,YAAY,KAAK,EACjBC,YAAY,KAAK,EACjBC,gBAAgB,KAAK,EACrBC,KAAK,EACLC,cAAc,EACdC,cAAc,EACdC,SAAS,EACTX,KAAK,EACLY,OAAO,EACPC,QAAQ,EACRC,SAAS,EAQiD;IAC1D,MAAM,EAACzC,MAAM,EAAC,GAAGL;IAEjB,MAAM+C,eAAehD,QAAc;QACjC,IAAIuC,aAAa,CAACF,SAAS,QACzB,OAAO;QAGT,MAAM,CAACY,KAAK,GAAGZ;QACf,MAAML,MAAM,GAAGc,YAAYG,MAAM,WAAWA,MAAM,QAAQ,SAAS;QACnE,MAAMpB,aAAaqB,4BAA4B5C,QAAQ2C,MAAMjB;QAC7D,MAAMmB,QAAQ,AAACL,YAAY,AAAiB,YAAjB,OAAOL,QAAuDZ,YAAY,QAA7CvB,MAAM,CAACmC,MAAM,EAAE,SAASA;QAEhF,IAAIC,gBACF,OAAO,WAAP,GAAO,IAAC;YAAI,WAAWnB,GAAGC,aAAAA,YAAmB,EAAEmB;sBAAkBD,eAAeS,OAAOd;;QAGzF,IAAIc,QAAAA,OACF,OAAO;QAGT,OAAO,WAAP,GAAO,IAAC;YAAI,WAAW5B,GAAGC,aAAAA,YAAmB,EAAEmB;sBAAkBQ;;IACnE,GAAG;QAAC7C;QAAQiC;QAAWE;QAAOE;QAAgBD;QAAgBI;QAAUT;KAAQ;IAEhF,IAAI,CAACD,UAAU,CAACC,SAAS,QACvB,OAAO;IAGT,MAAMe,YAAYf,AAAmB,MAAnBA,QAAQ,MAAM,IAAUC,AAAc,UAAdA;IAE1C,OAAO,WAAP,GACE,KAAC;QAAI,WAAWf,GAAGC,aAAAA,OAAc,EAAEhB;;YAC/B4C,YAA2B,OAAfJ;0BACd,IAAC;gBAAI,WAAWxB,aAAAA,WAAkB;0BAC/Ba,QACE,MAAM,CAAC,CAACY,OAASA,AAAc,WAAdA,KAAK,IAAI,EAC1B,GAAG,CAAC,CAACA,MAAMI;oBACV,MAAMrB,MAAM,GAAGa,WAAWI,KAAK,OAAO,IAAIA,KAAK,IAAI,IAAI,SAAS;oBAChE,MAAMpB,aAAaqB,4BAA4B5C,QAAQ2C,MAAMjB;oBAC7D,MAAMsB,iBAAiBrB,SAASgB,KAAK,OAAO,EAAE,QAAQA,KAAK,KAAK,IAAI;oBACpE,MAAMM,iBAAiB;wBACrB,mCAAmCD;wBACnC,+BAA+BA;oBACjC;oBAEA,MAAME,gBAAgBZ,aAAaK,KAAK,SAAS;oBACjD,MAAMQ,eAAe,AAAyB,cAAzB,OAAOD,iBAAgCP,AAAeS,WAAfT,KAAK,KAAK,IAAkBA,AAAcS,WAAdT,KAAK,IAAI;oBACjG,MAAMU,kBAAkBF,eAAeD,cAAcP,KAAK,KAAK,EAAEA,KAAK,IAAI,EAAEA,MAAMI,OAAOhB,WAAWqB;oBACpG,MAAME,iBAAiBC,MAAM,OAAO,CAACF,oBAAoBA,AAA2B,MAA3BA,gBAAgB,MAAM,GAASA,kBAAkBD;oBAC1G,MAAMI,eAAeF,gBAAgB,CAAC,EAAE,IAAI/B,YAAY,SAASoB,KAAK,IAAI;oBAC1E,MAAMc,eAAed,KAAK,IAAI,IAAIpB,YAAY;oBAC9C,MAAMmC,gBACJJ,gBAAgB,CAAC,EAAE,IAAKX,CAAAA,AAAe,SAAfA,KAAK,KAAK,IAAaA,AAAeS,WAAfT,KAAK,KAAK,GAAiBgB,iBAAiBhB,KAAK,KAAK,EAAEpB,cAAc,IAAG;oBAE1H,OAAO,WAAP,GACE,IAAC;wBAEC,WAAWN,GAAGC,aAAAA,WAAkB,EAAEc,AAAc,UAAdA,aAAuBd,aAAAA,iBAAwB;kCAChFmC,QAAAA,mBAA8DC,iBAC7DD,WAAAA,GAEA;;gCACG9B,YAAY,OAAO,WAAP,GACX,IAACA,WAAW,IAAI,QAEhB,CAACW,iBAAiB,WAAjBA,GACC,IAAC;oCACC,WAAWjB,GACTC,aAAAA,gBAAuB,EACvBc,AAAc,UAAdA,aAAuBd,aAAAA,mBAA0B,EACjDc,AAAc,WAAdA,aAAwBd,aAAAA,oBAA2B,EACnDc,AAAc,aAAdA,aAA0Bd,aAAAA,sBAA6B,EACvD4B,aAAad,AAAc,aAAdA,aAA0Bd,aAAAA,4BAAmC;oCAE5E,OAAO+B;;8CAIb,KAAC;oCAAI,WAAWhC,GAAGC,aAAAA,eAAsB,EAAE4B,aAAa5B,aAAAA,qBAA4B;;sDAClF,KAAC;4CAAI,WAAWA,aAAAA,kBAAyB;;gDACtC4B,YAAYJ,eAAe;gDAC3Bc,QAAAA,gBAAuD,WAAbJ,GAAa,IAAC;oDAAK,WAAWlC,aAAAA,WAAkB;8DAAGsC;;;;wCAE/FE,QAAAA,iBAAyD,WAAbN,GAC3C,KAAC;4CAAK,WAAWlC,aAAAA,YAAmB;;gDACjCsC,QAAAA,gBAAuDf,YAAY,WAAZA,GACtD,IAAC;oDAAK,eAAY;8DAAQA;qDACxB;gDACHiB;gDACAD,QAAAA,eAAsD,WAAZL,GAAY,KAAC;;wDAAK;wDAAEK;;qDAAuB;;;;;;6BA9B9FJ;uBAHG,GAAG3B,IAAI,CAAC,EAAEqB,OAAO;gBAyC5B;;;;AAIV;AAgBA,MAAMa,cAAcxC;AAoBpB,SAASyC,mBAAmB,EAC1B3D,SAAS,EACT4D,WAAW,KAAK,EAChBvB,OAAO,EACPR,OAAO,EACPgC,aAAa,EAIgC;IAC7C,MAAM,EAAC/D,MAAM,EAAC,GAAGL;IAEjB,IAAI,CAACoC,SAAS,QACZ,OAAO;IAGT,OAAO,WAAP,GACE,IAAC;QAAI,WAAWd,GAAGC,aAAAA,MAAa,EAAE6C,AAAkB,UAAlBA,gBAA0B7C,aAAAA,SAAgB,GAAGA,aAAAA,YAAmB,EAAEhB;kBACjG6B,QACE,MAAM,CAAC,CAACY,OAASA,AAAc,WAAdA,KAAK,IAAI,EAC1B,GAAG,CAAC,CAACA;YACJ,MAAMjB,MAAM,GAAGa,WAAWI,KAAK,OAAO,IAAI,SAAS;YACnD,MAAMpB,aAAaqB,4BAA4B5C,QAAQ2C,MAAMjB;YAE7D,OAAO,WAAP,GACE,KAAC;gBAEC,WAAWR,aAAAA,UAAiB;;oBAC3BK,YAAY,QAAQ,CAACuC,WAAW,WAAXA,GACpB,IAACvC,WAAW,IAAI,sBAEhB,IAAC;wBACC,WAAWL,aAAAA,WAAkB;wBAC7B,OAAO;4BAAC,iBAAiByB,KAAK,KAAK;wBAAA;;oBAGtCpB,YAAY,SAASoB,KAAK,KAAK,IAAIqB,oBAAoBrB,KAAK,OAAO;;eAV/DsB,OAAOtB,KAAK,KAAK;QAa5B;;AAGR;AAEA,SAASgB,iBAAiBd,KAAuB,EAAEtB,UAA2C;IAC5F,IAAI,AAAiB,YAAjB,OAAOsB,OACT,OAAOtB,YAAY,YAAYA,WAAW,SAAS,CAACsB,SAASA,MAAM,cAAc;IAGnF,OAAOoB,OAAOpB;AAChB;AAEA,SAASmB,oBAAoBE,OAAiC;IAC5D,OAAO,AAAmB,YAAnB,OAAOA,WAAwB,AAAmB,YAAnB,OAAOA,UAAuBD,OAAOC,WAAW;AACxF;AAEA,SAAStB,4BAA4B5C,MAAmB,EAAE+B,OAAgB,EAAEL,GAAW;IACrF,IAAI,AAAmB,YAAnB,OAAOK,WAAwBA,AAAY,SAAZA,SACjC;IAGF,MAAMoC,gBAAgBpC;IACtB,MAAMqC,gBACJ,AAAoC,YAApC,OAAOD,aAAa,CAAC,UAAU,IAAiBA,AAA6B,SAA7BA,aAAa,CAAC,UAAU,GACnEA,aAAa,CAAC,UAAU,GACzBf;IAEN,IAAIiB,iBAAiB3C;IAErB,IAAI,AAA8B,YAA9B,OAAOyC,aAAa,CAACzC,IAAI,EAC3B2C,iBAAiBF,aAAa,CAACzC,IAAI;SAC9B,IAAI0C,iBAAiB,AAA8B,YAA9B,OAAOA,aAAa,CAAC1C,IAAI,EACnD2C,iBAAiBD,aAAa,CAAC1C,IAAI;IAGrC,OAAO1B,MAAM,CAACqE,eAAe,IAAIrE,MAAM,CAAC0B,IAAI;AAC9C;AAEA5B,eAAe,WAAW,GAAG;AAC7BqB,WAAW,WAAW,GAAG;AACzBG,OAAO,MAAM,CAACM,cAAc;IAAC,aAAa;AAAc;AACxDC,oBAAoB,WAAW,GAAG;AAClCP,OAAO,MAAM,CAACsC,aAAa;IAAC,aAAa;AAAa;AACtDC,mBAAmB,WAAW,GAAG;AAY1B,MAAMS,kBAAYlD;AAElB,MAAMmD,iBAAWnD;AAEjB,MAAMoD,sBAAgBpD;AAEtB,MAAMqD,oBAAcrD;AAEpB,MAAMsD,kBAAYtD;AAElB,MAAMuD,iBAAWvD;AAEjB,MAAMwD,mBAAaxD;AAEnB,MAAMyD,uBAAiBzD;AAEvB,MAAM0D,qBAAe1D;AAErB,MAAM2D,eAAS3D;AAEf,MAAM4D,sBAAgB5D;AAEtB,MAAM6D,gBAAU7D;AAIhB,MAAM8D,aAAO9D;AAEb,MAAM+D,YAAM/D;AAMZ,MAAMgE,iBAAWhE;AAEjB,MAAMiE,eAASjE;AAEf,MAAMkE,aAAOlE;AAEb,MAAMmE,YAAMnE;AAEZ,MAAMoE,cAAQpE;AAEd,MAAMqE,kBAAYrE;AAElB,MAAMsE,gBAAUtE;AAIhB,MAAMuE,sBAAgBvE;AAEtB,MAAMwE,uBAAiBxE;AAEvB,MAAMyE,kBAAYzE;AAElB,MAAM0E,wBAAkB1E;AAExB,MAAM2E,cAAQ3E;AAEd,MAAM4E,cAAQ5E;AAEd,MAAM6E,cAAQ7E;AAId,MAAM8E,cAAQ9E;AAEd,MAAM+E,iBAAW/E;AAEjB,MAAMgF,gBAAgBhF;AAEtB,MAAMiF,kBAAYjF;AAElB,MAAMkF,sBAAgBlF;AAEtB,MAAMmF,qBAAenF;AAErB,MAAMoF,sBAAgBpF;AAQtB,MAAMqF,4BAAsBrF;AAE5B,MAAMsF,mBAAatF;AAOnB,MAAMuF,aAAOvF;AACb,MAAMwF,cAAQxF;AACd,MAAMyF,cAAQzF;AACd,MAAM0F,YAAM1F;AACZ,MAAM2F,gBAAU3F;AAChB,MAAM4F,kBAAY5F;AAClB,MAAM6F,eAAS7F;AACf,MAAM8F,gBAAU9F;AAChB,MAAM+F,kBAAY/F;AAIlB,MAAMgG,oBAAchG;AAEpB,MAAMiG,wBAAkBjG;AAIxB,MAAMkG,sBAAgBlG;AAEtB,MAAMmG,uBAAiBnG;AAEvB,MAAMoG,kBAAYpG;AAElB,MAAMqG,oBAAcrG;AAEpB,MAAMsG,kBAAYtG;AAElB,MAAMuG,2BAAqBvG;AAE3B,MAAMwG,mCAA6BxG;AAEnC,MAAMyG,mCAA6BzG;AAEnC,MAAM0G,8BAAwB1G;AAE9B,MAAM2G,uBAAiB3G;AAEvB,MAAM4G,uBAAiB5G"}
1
+ {"version":3,"file":"components/ui/chart.js","sources":["../../../src/components/ui/chart.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/* eslint-disable complexity, sonarjs/cognitive-complexity, react/no-object-type-as-default-prop, react/no-danger, react-dom/no-dangerously-set-innerhtml, unicorn/no-negated-condition */\r\n\r\nimport * as React from \"react\";\r\nimport type {DefaultTooltipContentProps, LegendPayload, ResponsiveContainerProps, TooltipValueType} from \"recharts\";\r\nimport * as RechartsPrimitive from \"recharts\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./chart.module.css\";\r\n\r\nconst THEMES = {light: \"\", dark: \".dark\"} as const;\r\n\r\n/**\r\n * Describes per-series chart metadata used by legend and tooltip renderers.\r\n */\r\ntype ChartConfigItem = {\r\n /**\r\n * Label rendered by shared legends and tooltips for the series.\r\n * @default undefined\r\n */\r\n label?: React.ReactNode;\r\n /**\r\n * Optional icon rendered in legends and tooltips instead of the color swatch.\r\n * @default undefined\r\n */\r\n icon?: React.ComponentType;\r\n /**\r\n * Unit suffix appended to rendered values when the payload does not provide one.\r\n * @default undefined\r\n */\r\n unit?: string;\r\n /**\r\n * Shared numeric formatter used by helper content renderers when no Recharts tooltip formatter is supplied.\r\n * @default undefined\r\n */\r\n formatter?: (value: number) => string;\r\n /**\r\n * Recharts stack identifier that consuming chart primitives can read from config.\r\n * @default undefined\r\n */\r\n stackId?: string;\r\n};\r\n\r\nexport type ChartConfig = Record<\r\n string,\r\n ChartConfigItem & ({color?: string; theme?: never} | {color?: never; theme: Record<keyof typeof THEMES, string>})\r\n>;\r\n\r\ninterface ChartContextProps {\r\n config: ChartConfig;\r\n}\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\r\n\r\nfunction useChart(): ChartContextProps {\r\n const context = React.useContext(ChartContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\ninterface ChartContainerProps\r\n extends\r\n Omit<React.ComponentProps<\"div\">, \"children\" | \"className\" | \"id\">,\r\n Pick<\r\n ResponsiveContainerProps,\r\n | \"initialDimension\"\r\n | \"aspect\"\r\n | \"debounce\"\r\n | \"minHeight\"\r\n | \"minWidth\"\r\n | \"maxHeight\"\r\n | \"height\"\r\n | \"width\"\r\n | \"onResize\"\r\n | \"children\"\r\n | \"className\"\r\n | \"id\"\r\n > {\r\n /**\r\n * Series configuration used to resolve labels, icons, and colors.\r\n * @default undefined\r\n */\r\n config: ChartConfig;\r\n /**\r\n * Inline styles applied to the inner `ResponsiveContainer`.\r\n * @default undefined\r\n */\r\n innerResponsiveContainerStyle?: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>[\"style\"];\r\n}\r\n\r\n/**\r\n * Provides responsive chart layout and series config context for Recharts content.\r\n *\r\n * @remarks\r\n * - Renders a wrapping `<div>` element\r\n * - Built on `recharts` `ResponsiveContainer`\r\n * - Injects CSS variables so legends and tooltips can share theme-aware colors\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartContainer config={{sales: {label: \"Sales\", color: \"#2563eb\"}}}>\r\n * <RechartsPrimitive.BarChart data={data}>...</RechartsPrimitive.BarChart>\r\n * </ChartContainer>\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/ResponsiveContainer | Recharts ResponsiveContainer Docs}\r\n */\r\nconst ChartContainer = React.forwardRef<HTMLDivElement, ChartContainerProps>(\r\n (\r\n {\r\n id,\r\n config,\r\n initialDimension = {width: 320, height: 200},\r\n className,\r\n children,\r\n innerResponsiveContainerStyle,\r\n aspect,\r\n debounce,\r\n height,\r\n maxHeight,\r\n minHeight,\r\n minWidth,\r\n onResize,\r\n width,\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const uniqueId = React.useId();\r\n const chartId = `chart-${id ?? uniqueId.replaceAll(\":\", \"\")}`;\r\n\r\n return (\r\n <ChartContext.Provider value={{config}}>\r\n <div\r\n data-slot='chart'\r\n data-chart={chartId}\r\n className={cn(styles.container, className)}\r\n {...props}>\r\n <ChartStyle\r\n id={chartId}\r\n config={config}\r\n />\r\n <RechartsPrimitive.ResponsiveContainer\r\n ref={ref}\r\n id={id}\r\n className={className}\r\n initialDimension={initialDimension}\r\n aspect={aspect}\r\n debounce={debounce}\r\n height={height}\r\n maxHeight={maxHeight}\r\n minHeight={minHeight}\r\n minWidth={minWidth}\r\n onResize={onResize}\r\n style={innerResponsiveContainerStyle}\r\n width={width}>\r\n {children}\r\n </RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Emits theme-aware CSS variables for configured chart series colors.\r\n *\r\n * @remarks\r\n * - Renders a `<style>` element\r\n * - Built on the shared chart configuration contract\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartStyle id='chart-sales' config={config} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org | Recharts Docs}\r\n */\r\nconst ChartStyle = ({id, config}: Readonly<{id: string; config: ChartConfig}>): React.JSX.Element | null => {\r\n const colorConfig = Object.entries(config).filter(([, itemConfig]) => itemConfig.theme ?? itemConfig.color);\r\n\r\n if (!colorConfig.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <style\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n${prefix} [data-chart=${id}] {\r\n${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ?? itemConfig.color;\r\n return color ? ` --color-${key}: ${color};` : null;\r\n })\r\n .join(\"\\n\")}\r\n}\r\n`,\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n );\r\n};\r\n\r\n/**\r\n * Re-exports the Recharts tooltip primitive for use with shared chart helpers.\r\n *\r\n * @remarks\r\n * - Renders the Recharts tooltip container\r\n * - Built on `recharts`\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartTooltip content={<ChartTooltipContent />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Tooltip | Recharts Tooltip Docs}\r\n */\r\nconst ChartTooltip = RechartsPrimitive.Tooltip;\r\n\r\n/**\r\n * Renders shared tooltip content for charts configured with {@link ChartContainer}.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element when active\r\n * - Built on `recharts` tooltip payloads and shared chart config context\r\n * - Honors `active`, `payload`, `label`, `labelFormatter`, `formatter`, `separator`,\r\n * `className`, `labelClassName`, `color`, `nameKey`, and `labelKey`\r\n * - Ignores `wrapperClassName`, `contentStyle`, `itemStyle`, `labelStyle`, and\r\n * `accessibilityLayer` because this helper renders its own DOM structure\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartTooltip content={<ChartTooltipContent indicator='line' />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Tooltip | Recharts Tooltip Docs}\r\n */\r\nfunction ChartTooltipContent({\r\n active,\r\n payload,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n label,\r\n labelFormatter,\r\n labelClassName,\r\n formatter,\r\n color,\r\n nameKey,\r\n labelKey,\r\n separator,\r\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip>\r\n & React.ComponentProps<\"div\"> & {\r\n hideLabel?: boolean;\r\n hideIndicator?: boolean;\r\n indicator?: \"line\" | \"dot\" | \"dashed\";\r\n nameKey?: string;\r\n labelKey?: string;\r\n } & Omit<DefaultTooltipContentProps, \"accessibilityLayer\">): React.JSX.Element | null {\r\n const {config} = useChart();\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const [item] = payload;\r\n const key = `${labelKey ?? item?.dataKey ?? item?.name ?? \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const value = !labelKey && typeof label === \"string\" ? (config[label]?.label ?? label) : itemConfig?.label;\r\n\r\n if (labelFormatter) {\r\n return <div className={cn(styles.tooltipLabel, labelClassName)}>{labelFormatter(value, payload)}</div>;\r\n }\r\n\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n return <div className={cn(styles.tooltipLabel, labelClassName)}>{value}</div>;\r\n }, [config, hideLabel, label, labelClassName, labelFormatter, labelKey, payload]);\r\n\r\n if (!active || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\r\n\r\n return (\r\n <div className={cn(styles.tooltip, className)}>\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className={styles.tooltipBody}>\r\n {payload\r\n .filter((item) => item.type !== \"none\")\r\n .map((item, index) => {\r\n const key = `${nameKey ?? item.dataKey ?? item.name ?? \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const indicatorColor = color ?? item.payload?.fill ?? item.color ?? \"transparent\";\r\n const indicatorStyle = {\r\n \"--ac-chart-indicator-background\": indicatorColor,\r\n \"--ac-chart-indicator-border\": indicatorColor,\r\n } as React.CSSProperties & Record<\"--ac-chart-indicator-background\" | \"--ac-chart-indicator-border\", string>;\r\n\r\n const itemFormatter = formatter ?? item.formatter;\r\n const hasFormatter = typeof itemFormatter === \"function\" && item.value !== undefined && item.name !== undefined;\r\n const formatterResult = hasFormatter ? itemFormatter(item.value, item.name, item, index, payload) : undefined;\r\n const formattedEntry = Array.isArray(formatterResult) && formatterResult.length === 2 ? formatterResult : undefined;\r\n const resolvedName = formattedEntry?.[1] ?? itemConfig?.label ?? item.name;\r\n const resolvedUnit = item.unit ?? itemConfig?.unit;\r\n const resolvedValue =\r\n formattedEntry?.[0] ?? (item.value !== null && item.value !== undefined ? formatChartValue(item.value, itemConfig) : null);\r\n\r\n return (\r\n <div\r\n key={`${key}-${index}`}\r\n className={cn(styles.tooltipItem, indicator === \"dot\" && styles.tooltipItemCenter)}>\r\n {formatterResult !== null && formatterResult !== undefined && !formattedEntry ? (\r\n formatterResult\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\r\n styles.tooltipIndicator,\r\n indicator === \"dot\" && styles.tooltipIndicatorDot,\r\n indicator === \"line\" && styles.tooltipIndicatorLine,\r\n indicator === \"dashed\" && styles.tooltipIndicatorDashed,\r\n nestLabel && indicator === \"dashed\" && styles.tooltipIndicatorDashedNested,\r\n )}\r\n style={indicatorStyle}\r\n />\r\n )\r\n )}\r\n <div className={cn(styles.tooltipValueRow, nestLabel && styles.tooltipValueRowNested)}>\r\n <div className={styles.tooltipNameWrapper}>\r\n {nestLabel ? tooltipLabel : null}\r\n {resolvedName !== null && resolvedName !== undefined && <span className={styles.tooltipName}>{resolvedName}</span>}\r\n </div>\r\n {resolvedValue !== null && resolvedValue !== undefined && (\r\n <span className={styles.tooltipValue}>\r\n {resolvedName !== null && resolvedName !== undefined && separator ? (\r\n <span aria-hidden='true'>{separator}</span>\r\n ) : null}\r\n {resolvedValue}\r\n {resolvedUnit !== null && resolvedUnit !== undefined ? <span> {resolvedUnit}</span> : null}\r\n </span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Re-exports the Recharts legend primitive for use with shared chart helpers.\r\n *\r\n * @remarks\r\n * - Renders the Recharts legend container\r\n * - Built on `recharts`\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartLegend content={<ChartLegendContent />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Legend | Recharts Legend Docs}\r\n */\r\nconst ChartLegend = RechartsPrimitive.Legend;\r\n\r\n/**\r\n * Renders shared legend content for charts configured with {@link ChartContainer}.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element when legend payload exists\r\n * - Built on `recharts` legend payloads and shared chart config context\r\n * - Honors `payload`, `verticalAlign`, `className`, and the custom `hideIcon`\r\n * and `nameKey` props\r\n * - Ignores Recharts presentational props such as `align`, `layout`, `iconSize`,\r\n * `iconType`, `formatter`, and item mouse handlers because it renders custom markup\r\n *\r\n * @example\r\n * ```tsx\r\n * <ChartLegend content={<ChartLegendContent />} />\r\n * ```\r\n *\r\n * @see {@link https://recharts.org/en-US/api/Legend | Recharts Legend Docs}\r\n */\r\nfunction ChartLegendContent({\r\n className,\r\n hideIcon = false,\r\n nameKey,\r\n payload,\r\n verticalAlign,\r\n}: React.ComponentProps<\"div\"> & {\r\n hideIcon?: boolean;\r\n nameKey?: string;\r\n} & RechartsPrimitive.DefaultLegendContentProps): React.JSX.Element | null {\r\n const {config} = useChart();\r\n\r\n if (!payload?.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div className={cn(styles.legend, verticalAlign === \"top\" ? styles.legendTop : styles.legendBottom, className)}>\r\n {payload\r\n .filter((item) => item.type !== \"none\")\r\n .map((item) => {\r\n const key = `${nameKey ?? item.dataKey ?? \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n\r\n return (\r\n <div\r\n key={String(item.value)}\r\n className={styles.legendItem}>\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className={styles.legendColor}\r\n style={{backgroundColor: item.color}}\r\n />\r\n )}\r\n {itemConfig?.label ?? item.value ?? formatLegendDataKey(item.dataKey)}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\n// eslint-disable-next-line sonarjs/function-return-type\r\nfunction formatChartValue(value: TooltipValueType, itemConfig: ChartConfig[string] | undefined): React.ReactNode {\r\n if (typeof value === \"number\") {\r\n return itemConfig?.formatter ? itemConfig.formatter(value) : value.toLocaleString();\r\n }\r\n\r\n return String(value);\r\n}\r\n\r\n// eslint-disable-next-line sonarjs/function-return-type\r\nfunction formatLegendDataKey(dataKey: LegendPayload[\"dataKey\"]): string | null {\r\n return typeof dataKey === \"number\" || typeof dataKey === \"string\" ? String(dataKey) : null;\r\n}\r\n\r\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string): ChartConfig[string] | undefined {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined;\r\n }\r\n\r\n const payloadObject = payload as Record<string, unknown>;\r\n const nestedPayload =\r\n typeof payloadObject[\"payload\"] === \"object\" && payloadObject[\"payload\"] !== null\r\n ? (payloadObject[\"payload\"] as Record<string, unknown>)\r\n : undefined;\r\n\r\n let configLabelKey = key;\r\n\r\n if (typeof payloadObject[key] === \"string\") {\r\n configLabelKey = payloadObject[key] as string;\r\n } else if (nestedPayload && typeof nestedPayload[key] === \"string\") {\r\n configLabelKey = nestedPayload[key] as string;\r\n }\r\n\r\n return config[configLabelKey] ?? config[key];\r\n}\r\n\r\nChartContainer.displayName = \"ChartContainer\";\r\nChartStyle.displayName = \"ChartStyle\";\r\nObject.assign(ChartTooltip, {displayName: \"ChartTooltip\"});\r\nChartTooltipContent.displayName = \"ChartTooltipContent\";\r\nObject.assign(ChartLegend, {displayName: \"ChartLegend\"});\r\nChartLegendContent.displayName = \"ChartLegendContent\";\r\n\r\nexport {ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent};\r\n\r\n// ---------------------------------------------------------------------------\r\n// Recharts v3.8+ primitive re-exports\r\n// Consumers should import chart primitives from \"@arolariu/components/chart\"\r\n// instead of importing directly from \"recharts\".\r\n// ---------------------------------------------------------------------------\r\n\r\n// -- Chart containers -------------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/AreaChart | AreaChart API} */\r\nexport const {AreaChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/BarChart | BarChart API} */\r\nexport const {BarChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ComposedChart | ComposedChart API} */\r\nexport const {ComposedChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/FunnelChart | FunnelChart API} */\r\nexport const {FunnelChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/LineChart | LineChart API} */\r\nexport const {LineChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/PieChart | PieChart API} */\r\nexport const {PieChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/RadarChart | RadarChart API} */\r\nexport const {RadarChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/RadialBarChart | RadialBarChart API} */\r\nexport const {RadialBarChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ScatterChart | ScatterChart API} */\r\nexport const {ScatterChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Sankey | Sankey API} */\r\nexport const {Sankey} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/SunburstChart | SunburstChart API} */\r\nexport const {SunburstChart} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Treemap | Treemap API} */\r\nexport const {Treemap} = RechartsPrimitive;\r\n\r\n// -- Series elements --------------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/Area | Area API} */\r\nexport const {Area} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Bar | Bar API} */\r\nexport const {Bar} = RechartsPrimitive;\r\n/**\r\n * Groups stacked bars and configures shared stack properties such as radius.\r\n * @since recharts 3.6\r\n * @see {@link https://recharts.github.io/en-US/guide/roundedBars | BarStack Guide}\r\n */\r\nexport const {BarStack} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Funnel | Funnel API} */\r\nexport const {Funnel} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Line | Line API} */\r\nexport const {Line} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Pie | Pie API} */\r\nexport const {Pie} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Radar | Radar API} */\r\nexport const {Radar} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/RadialBar | RadialBar API} */\r\nexport const {RadialBar} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Scatter | Scatter API} */\r\nexport const {Scatter} = RechartsPrimitive;\r\n\r\n// -- Axis & grid ------------------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/CartesianGrid | CartesianGrid API} */\r\nexport const {CartesianGrid} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/PolarAngleAxis | PolarAngleAxis API} */\r\nexport const {PolarAngleAxis} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/PolarGrid | PolarGrid API} */\r\nexport const {PolarGrid} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/PolarRadiusAxis | PolarRadiusAxis API} */\r\nexport const {PolarRadiusAxis} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/XAxis | XAxis API} – supports `type: \"auto\"` since v3.7. */\r\nexport const {XAxis} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/YAxis | YAxis API} – supports `type: \"auto\"` since v3.7. */\r\nexport const {YAxis} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ZAxis | ZAxis API} */\r\nexport const {ZAxis} = RechartsPrimitive;\r\n\r\n// -- Annotations & overlays ------------------------------------------------\r\n/** @see {@link https://recharts.github.io/en-US/api/Brush | Brush API} */\r\nexport const {Brush} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ErrorBar | ErrorBar API} */\r\nexport const {ErrorBar} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Label | Label API} */\r\nexport const {Label: RechartsLabel} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/LabelList | LabelList API} */\r\nexport const {LabelList} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ReferenceArea | ReferenceArea API} */\r\nexport const {ReferenceArea} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ReferenceDot | ReferenceDot API} */\r\nexport const {ReferenceDot} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/ReferenceLine | ReferenceLine API} */\r\nexport const {ReferenceLine} = RechartsPrimitive;\r\n\r\n// -- Layout -----------------------------------------------------------------\r\n/**\r\n * Wraps a chart in a responsive container. Since recharts 3.3+, you can\r\n * alternatively use the `responsive` prop directly on chart containers.\r\n * @see {@link https://recharts.github.io/en-US/api/ResponsiveContainer | ResponsiveContainer API}\r\n */\r\nexport const {ResponsiveContainer} = RechartsPrimitive;\r\n/** @see {@link https://recharts.github.io/en-US/api/Customized | Customized API} */\r\nexport const {Customized} = RechartsPrimitive;\r\n\r\n// -- Shapes -----------------------------------------------------------------\r\n/**\r\n * @deprecated Since recharts 3.7. Use the `shape` prop on chart series elements instead.\r\n * @see {@link https://recharts.github.io/en-US/api/Cell | Cell API}\r\n */\r\n// eslint-disable-next-line sonarjs/deprecation\r\nexport const {Cell} = RechartsPrimitive;\r\nexport const {Cross} = RechartsPrimitive;\r\nexport const {Curve} = RechartsPrimitive;\r\nexport const {Dot} = RechartsPrimitive;\r\nexport const {Polygon} = RechartsPrimitive;\r\nexport const {Rectangle} = RechartsPrimitive;\r\nexport const {Sector} = RechartsPrimitive;\r\nexport const {Symbols} = RechartsPrimitive;\r\nexport const {Trapezoid} = RechartsPrimitive;\r\n\r\n// -- Z-index (v3.4+) -------------------------------------------------------\r\n/** @since recharts 3.4 @see {@link https://recharts.github.io/en-US/guide/zIndex | Z-Index Guide} */\r\nexport const {ZIndexLayer} = RechartsPrimitive;\r\n/** Default z-index ordering constants. @since recharts 3.4 */\r\nexport const {DefaultZIndexes} = RechartsPrimitive;\r\n\r\n// -- Hooks (v3+) ------------------------------------------------------------\r\n/** Returns the current chart width in pixels. */\r\nexport const {useChartWidth} = RechartsPrimitive;\r\n/** Returns the current chart height in pixels. */\r\nexport const {useChartHeight} = RechartsPrimitive;\r\n/** Returns the chart offset (margins, axes). */\r\nexport const {useOffset} = RechartsPrimitive;\r\n/** Returns the plot area dimensions. */\r\nexport const {usePlotArea} = RechartsPrimitive;\r\n/** Returns the chart margin. */\r\nexport const {useMargin} = RechartsPrimitive;\r\n/** Returns whether the tooltip is currently active. @since recharts 3.7 */\r\nexport const {useIsTooltipActive} = RechartsPrimitive;\r\n/** Returns the active tooltip coordinate. @since recharts 3.7 */\r\nexport const {useActiveTooltipCoordinate} = RechartsPrimitive;\r\n/** Returns the active tooltip data points. */\r\nexport const {useActiveTooltipDataPoints} = RechartsPrimitive;\r\n/** Returns the active tooltip label. */\r\nexport const {useActiveTooltipLabel} = RechartsPrimitive;\r\n/** Returns the current X-axis domain. */\r\nexport const {useXAxisDomain} = RechartsPrimitive;\r\n/** Returns the current Y-axis domain. */\r\nexport const {useYAxisDomain} = RechartsPrimitive;\r\n\r\n// -- Type re-exports --------------------------------------------------------\r\nexport type {DefaultLegendContentProps, DefaultTooltipContentProps, TooltipValueType} from \"recharts\";\r\n"],"names":["THEMES","ChartContext","React","useChart","context","Error","ChartContainer","id","config","initialDimension","className","children","innerResponsiveContainerStyle","aspect","debounce","height","maxHeight","minHeight","minWidth","onResize","width","props","ref","uniqueId","chartId","cn","styles","ChartStyle","RechartsPrimitive","colorConfig","Object","itemConfig","theme","prefix","key","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","separator","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","indicatorStyle","itemFormatter","hasFormatter","undefined","formatterResult","formattedEntry","Array","resolvedName","resolvedUnit","resolvedValue","formatChartValue","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","formatLegendDataKey","String","dataKey","payloadObject","nestedPayload","configLabelKey","AreaChart","BarChart","ComposedChart","FunnelChart","LineChart","PieChart","RadarChart","RadialBarChart","ScatterChart","Sankey","SunburstChart","Treemap","Area","Bar","BarStack","Funnel","Line","Pie","Radar","RadialBar","Scatter","CartesianGrid","PolarAngleAxis","PolarGrid","PolarRadiusAxis","XAxis","YAxis","ZAxis","Brush","ErrorBar","RechartsLabel","LabelList","ReferenceArea","ReferenceDot","ReferenceLine","ResponsiveContainer","Customized","Cell","Cross","Curve","Dot","Polygon","Rectangle","Sector","Symbols","Trapezoid","ZIndexLayer","DefaultZIndexes","useChartWidth","useChartHeight","useOffset","usePlotArea","useMargin","useIsTooltipActive","useActiveTooltipCoordinate","useActiveTooltipDataPoints","useActiveTooltipLabel","useXAxisDomain","useYAxisDomain"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { CheckboxGroup as BaseCheckboxGroup } from "@base-ui/react/checkbox-group";
2
2
  import * as React from "react";
3
- type CheckboxGroupProps = React.ComponentPropsWithRef<typeof BaseCheckboxGroup>;
4
3
  /**
5
4
  * Groups related checkboxes into a single accessible fieldset-like control.
6
5
  *
@@ -19,12 +18,9 @@ type CheckboxGroupProps = React.ComponentPropsWithRef<typeof BaseCheckboxGroup>;
19
18
  *
20
19
  * @see {@link https://base-ui.com/react/components/checkbox-group | Base UI Checkbox Group Docs}
21
20
  */
22
- declare function CheckboxGroup(props: Readonly<CheckboxGroup.Props>): React.ReactElement;
21
+ declare const CheckboxGroup: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").CheckboxGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
22
  declare namespace CheckboxGroup {
24
- var displayName: string;
25
- }
26
- declare namespace CheckboxGroup {
27
- type Props = CheckboxGroupProps;
23
+ type Props = React.ComponentPropsWithRef<typeof BaseCheckboxGroup>;
28
24
  type State = BaseCheckboxGroup.State;
29
25
  }
30
26
  export { CheckboxGroup };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox-group.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,IAAI,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAGjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,kBAAkB,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAa/E;kBAbQ,aAAa;;;AAgBtB,kBAAU,aAAa,CAAC;IACtB,KAAY,KAAK,GAAG,kBAAkB,CAAC;IACvC,KAAY,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;CAC7C;AAID,OAAO,EAAC,aAAa,EAAC,CAAC"}
1
+ {"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox-group.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,IAAI,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAGjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,aAAa,oLAcjB,CAAC;AAGH,kBAAU,aAAa,CAAC;IACtB,KAAY,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC1E,KAAY,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;CAC7C;AAID,OAAO,EAAC,aAAa,EAAC,CAAC"}
@@ -1,15 +1,16 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { CheckboxGroup } from "@base-ui/react/checkbox-group";
3
+ import { CheckboxGroup as checkbox_group_CheckboxGroup } from "@base-ui/react/checkbox-group";
4
4
  import { mergeProps } from "@base-ui/react/merge-props";
5
5
  import { useRender } from "@base-ui/react/use-render";
6
- import "react";
6
+ import { forwardRef } from "react";
7
7
  import { cn } from "../../lib/utilities.js";
8
8
  import checkbox_group_module from "./checkbox-group.module.js";
9
- function checkbox_group_CheckboxGroup(props) {
9
+ const ui_checkbox_group_CheckboxGroup = /*#__PURE__*/ forwardRef(function(props, forwardedRef) {
10
10
  const { className, render, ...otherProps } = props;
11
- return /*#__PURE__*/ jsx(CheckboxGroup, {
11
+ return /*#__PURE__*/ jsx(checkbox_group_CheckboxGroup, {
12
12
  ...otherProps,
13
+ ref: forwardedRef,
13
14
  render: useRender({
14
15
  defaultTagName: "div",
15
16
  render: render,
@@ -18,8 +19,8 @@ function checkbox_group_CheckboxGroup(props) {
18
19
  }, {})
19
20
  })
20
21
  });
21
- }
22
- checkbox_group_CheckboxGroup.displayName = "CheckboxGroup";
23
- export { checkbox_group_CheckboxGroup as CheckboxGroup };
22
+ });
23
+ ui_checkbox_group_CheckboxGroup.displayName = "CheckboxGroup";
24
+ export { ui_checkbox_group_CheckboxGroup as CheckboxGroup };
24
25
 
25
26
  //# sourceMappingURL=checkbox-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/checkbox-group.js","sources":["../../../src/components/ui/checkbox-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {CheckboxGroup as BaseCheckboxGroup} from \"@base-ui/react/checkbox-group\";\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./checkbox-group.module.css\";\r\n\r\ntype CheckboxGroupProps = React.ComponentPropsWithRef<typeof BaseCheckboxGroup>;\r\n\r\n/**\r\n * Groups related checkboxes into a single accessible fieldset-like control.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on Base UI Checkbox Group primitives\r\n * - Applies compact stacked spacing between child checkboxes\r\n *\r\n * @example\r\n * ```tsx\r\n * <CheckboxGroup defaultValue={[\"news\"]}>\r\n * <Checkbox value='news'>Newsletter</Checkbox>\r\n * <Checkbox value='events'>Events</Checkbox>\r\n * </CheckboxGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/checkbox-group | Base UI Checkbox Group Docs}\r\n */\r\nfunction CheckboxGroup(props: Readonly<CheckboxGroup.Props>): React.ReactElement {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseCheckboxGroup\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.group, className)}, {}),\r\n })}\r\n />\r\n );\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace CheckboxGroup {\r\n export type Props = CheckboxGroupProps;\r\n export type State = BaseCheckboxGroup.State;\r\n}\r\n\r\nCheckboxGroup.displayName = \"CheckboxGroup\";\r\n\r\nexport {CheckboxGroup};\r\n"],"names":["CheckboxGroup","props","className","render","otherProps","BaseCheckboxGroup","useRender","mergeProps","cn","styles"],"mappings":";;;;;;;;AA8BA,SAASA,6BAAcC,KAAoC;IACzD,MAAM,EAACC,SAAS,EAAEC,MAAM,EAAE,GAAGC,YAAW,GAAGH;IAE3C,OAAO,WAAP,GACE,IAACI,eAAiBA;QACf,GAAGD,UAAU;QACd,QAAQE,UAAU;YAChB,gBAAgB;YAChB,QAAQH;YACR,OAAOI,WAAW;gBAAC,WAAWC,GAAGC,sBAAAA,KAAY,EAAEP;YAAU,GAAG,CAAC;QAC/D;;AAGN;AAQAF,6BAAc,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/checkbox-group.js","sources":["../../../src/components/ui/checkbox-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {CheckboxGroup as BaseCheckboxGroup} from \"@base-ui/react/checkbox-group\";\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./checkbox-group.module.css\";\r\n\r\n/**\r\n * Groups related checkboxes into a single accessible fieldset-like control.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on Base UI Checkbox Group primitives\r\n * - Applies compact stacked spacing between child checkboxes\r\n *\r\n * @example\r\n * ```tsx\r\n * <CheckboxGroup defaultValue={[\"news\"]}>\r\n * <Checkbox value='news'>Newsletter</Checkbox>\r\n * <Checkbox value='events'>Events</Checkbox>\r\n * </CheckboxGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/checkbox-group | Base UI Checkbox Group Docs}\r\n */\r\nconst CheckboxGroup = React.forwardRef<HTMLDivElement, CheckboxGroup.Props>(function CheckboxGroup(props, forwardedRef) {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseCheckboxGroup\r\n {...otherProps}\r\n ref={forwardedRef}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.group, className)}, {}),\r\n })}\r\n />\r\n );\r\n});\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace CheckboxGroup {\r\n export type Props = React.ComponentPropsWithRef<typeof BaseCheckboxGroup>;\r\n export type State = BaseCheckboxGroup.State;\r\n}\r\n\r\nCheckboxGroup.displayName = \"CheckboxGroup\";\r\n\r\nexport {CheckboxGroup};\r\n"],"names":["CheckboxGroup","React","props","forwardedRef","className","render","otherProps","BaseCheckboxGroup","useRender","mergeProps","cn","styles"],"mappings":";;;;;;;;AA4BA,MAAMA,kCAAgB,WAAHA,GAAGC,WAAsD,SAAuBC,KAAK,EAAEC,YAAY;IACpH,MAAM,EAACC,SAAS,EAAEC,MAAM,EAAE,GAAGC,YAAW,GAAGJ;IAE3C,OAAO,WAAP,GACE,IAACK,8BAAiBA;QACf,GAAGD,UAAU;QACd,KAAKH;QACL,QAAQK,UAAU;YAChB,gBAAgB;YAChB,QAAQH;YACR,OAAOI,WAAW;gBAAC,WAAWC,GAAGC,sBAAAA,KAAY,EAAEP;YAAU,GAAG,CAAC;QAC/D;;AAGN;AAQAJ,gCAAc,WAAW,GAAG"}