@yamada-ui/react 2.2.1-dev-20260412133159 → 2.2.1-dev-20260412134837

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 (216) hide show
  1. package/dist/cjs/components/chart/cartesian-chart.cjs +5 -20
  2. package/dist/cjs/components/chart/cartesian-chart.cjs.map +1 -1
  3. package/dist/cjs/components/chart/chart.cjs +2 -4
  4. package/dist/cjs/components/chart/chart.cjs.map +1 -1
  5. package/dist/cjs/components/chart/polar-chart.cjs +10 -38
  6. package/dist/cjs/components/chart/polar-chart.cjs.map +1 -1
  7. package/dist/cjs/components/number-input/number-input.cjs +2 -2
  8. package/dist/cjs/components/number-input/number-input.cjs.map +1 -1
  9. package/dist/esm/components/chart/cartesian-chart.js +6 -21
  10. package/dist/esm/components/chart/cartesian-chart.js.map +1 -1
  11. package/dist/esm/components/chart/chart.js +2 -4
  12. package/dist/esm/components/chart/chart.js.map +1 -1
  13. package/dist/esm/components/chart/polar-chart.js +11 -39
  14. package/dist/esm/components/chart/polar-chart.js.map +1 -1
  15. package/dist/esm/components/number-input/number-input.js +2 -2
  16. package/dist/esm/components/number-input/number-input.js.map +1 -1
  17. package/dist/types/components/accordion/accordion.d.ts +2 -2
  18. package/dist/types/components/accordion/accordion.style.d.ts +1 -1
  19. package/dist/types/components/accordion/use-accordion.d.ts +11 -11
  20. package/dist/types/components/action-bar/action-bar.d.ts +2 -2
  21. package/dist/types/components/airy/airy.d.ts +2 -2
  22. package/dist/types/components/alert/alert.d.ts +2 -2
  23. package/dist/types/components/alert/alert.style.d.ts +1 -1
  24. package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
  25. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  26. package/dist/types/components/autocomplete/autocomplete.d.ts +2 -2
  27. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  28. package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -5
  29. package/dist/types/components/avatar/avatar.d.ts +5 -5
  30. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  31. package/dist/types/components/badge/badge.d.ts +2 -2
  32. package/dist/types/components/bleed/bleed.d.ts +2 -2
  33. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  34. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  35. package/dist/types/components/breadcrumb/breadcrumb.style.d.ts +1 -1
  36. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  37. package/dist/types/components/button/button.d.ts +2 -2
  38. package/dist/types/components/button/icon-button.d.ts +2 -2
  39. package/dist/types/components/calendar/calendar.d.ts +2 -2
  40. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  41. package/dist/types/components/calendar/use-calendar.d.ts +8 -8
  42. package/dist/types/components/card/card.d.ts +2 -2
  43. package/dist/types/components/carousel/carousel.d.ts +2 -2
  44. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  45. package/dist/types/components/carousel/use-carousel.d.ts +3 -3
  46. package/dist/types/components/center/center.d.ts +2 -2
  47. package/dist/types/components/chart/chart.d.ts +5 -5
  48. package/dist/types/components/chart/use-chart.d.ts +2 -2
  49. package/dist/types/components/checkbox/checkbox.d.ts +4 -4
  50. package/dist/types/components/checkbox/checkbox.style.d.ts +1 -1
  51. package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
  52. package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -5
  53. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  54. package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
  55. package/dist/types/components/close-button/close-button.d.ts +2 -2
  56. package/dist/types/components/code/code.d.ts +2 -2
  57. package/dist/types/components/collapse/collapse.d.ts +2 -2
  58. package/dist/types/components/color-picker/color-picker.d.ts +2 -2
  59. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  60. package/dist/types/components/color-picker/use-color-picker.d.ts +2 -2
  61. package/dist/types/components/color-selector/color-selector.d.ts +2 -2
  62. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  63. package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
  64. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  65. package/dist/types/components/container/container.d.ts +2 -2
  66. package/dist/types/components/data-list/data-list.d.ts +2 -2
  67. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  68. package/dist/types/components/date-picker/date-picker.d.ts +2 -2
  69. package/dist/types/components/date-picker/use-date-picker.d.ts +4 -4
  70. package/dist/types/components/drawer/drawer.d.ts +2 -2
  71. package/dist/types/components/dropzone/dropzone.d.ts +5 -5
  72. package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
  73. package/dist/types/components/editable/editable.d.ts +4 -4
  74. package/dist/types/components/editable/use-editable.d.ts +2 -2
  75. package/dist/types/components/em/em.d.ts +2 -2
  76. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  77. package/dist/types/components/empty-state/empty-state.style.d.ts +2 -2
  78. package/dist/types/components/fade/fade.d.ts +2 -2
  79. package/dist/types/components/field/field.d.ts +3 -3
  80. package/dist/types/components/field/use-field-props.d.ts +3 -3
  81. package/dist/types/components/fieldset/fieldset.d.ts +3 -3
  82. package/dist/types/components/file-button/file-button.d.ts +2 -2
  83. package/dist/types/components/file-button/use-file-button.d.ts +18 -18
  84. package/dist/types/components/file-input/file-input.d.ts +2 -2
  85. package/dist/types/components/file-input/use-file-input.d.ts +15 -15
  86. package/dist/types/components/flex/flex.d.ts +2 -2
  87. package/dist/types/components/flip/flip.d.ts +4 -4
  88. package/dist/types/components/flip/flip.style.d.ts +1 -1
  89. package/dist/types/components/float/float.d.ts +2 -2
  90. package/dist/types/components/form/form.d.ts +3 -3
  91. package/dist/types/components/form/form.style.d.ts +1 -1
  92. package/dist/types/components/format/format-byte.d.ts +4 -4
  93. package/dist/types/components/format/format-date-time.d.ts +4 -4
  94. package/dist/types/components/format/format-number.d.ts +2 -2
  95. package/dist/types/components/grid/grid-item.d.ts +2 -2
  96. package/dist/types/components/grid/grid.d.ts +2 -2
  97. package/dist/types/components/group/group.d.ts +2 -2
  98. package/dist/types/components/group/use-group.d.ts +2 -2
  99. package/dist/types/components/heading/heading.d.ts +2 -2
  100. package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
  101. package/dist/types/components/icon/icon.d.ts +4 -4
  102. package/dist/types/components/image/image.d.ts +2 -2
  103. package/dist/types/components/indicator/indicator.d.ts +2 -2
  104. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  105. package/dist/types/components/input/input-addon.d.ts +2 -2
  106. package/dist/types/components/input/input-element.d.ts +2 -2
  107. package/dist/types/components/input/input.d.ts +2 -2
  108. package/dist/types/components/kbd/kbd.d.ts +2 -2
  109. package/dist/types/components/link/link.d.ts +2 -2
  110. package/dist/types/components/link-box/link-box.d.ts +2 -2
  111. package/dist/types/components/list/list.d.ts +2 -2
  112. package/dist/types/components/list/list.style.d.ts +2 -2
  113. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  114. package/dist/types/components/loading/loading.d.ts +3 -3
  115. package/dist/types/components/mark/mark.d.ts +2 -2
  116. package/dist/types/components/menu/menu.d.ts +2 -2
  117. package/dist/types/components/menu/menu.style.d.ts +2 -2
  118. package/dist/types/components/menu/use-menu.d.ts +11 -11
  119. package/dist/types/components/modal/modal.d.ts +2 -2
  120. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  121. package/dist/types/components/native-accordion/native-accordion.style.d.ts +2 -2
  122. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  123. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  124. package/dist/types/components/native-select/native-select.d.ts +2 -2
  125. package/dist/types/components/native-table/native-table.d.ts +4 -4
  126. package/dist/types/components/notice/notice.style.d.ts +1 -1
  127. package/dist/types/components/number-input/number-input.d.ts +2 -2
  128. package/dist/types/components/pagination/pagination.d.ts +2 -2
  129. package/dist/types/components/pagination/pagination.style.d.ts +1 -1
  130. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  131. package/dist/types/components/password-input/password-input.d.ts +2 -2
  132. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  133. package/dist/types/components/password-input/strength-meter.style.d.ts +1 -1
  134. package/dist/types/components/password-input/use-password-input.d.ts +2 -2
  135. package/dist/types/components/pin-input/pin-input.d.ts +2 -2
  136. package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
  137. package/dist/types/components/popover/popover.d.ts +2 -2
  138. package/dist/types/components/progress/progress.d.ts +4 -4
  139. package/dist/types/components/progress/use-progress.d.ts +706 -706
  140. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  141. package/dist/types/components/radio/radio.d.ts +4 -4
  142. package/dist/types/components/radio/radio.style.d.ts +1 -1
  143. package/dist/types/components/radio/use-radio-group.d.ts +2 -2
  144. package/dist/types/components/radio-card/radio-card.d.ts +5 -5
  145. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  146. package/dist/types/components/rating/rating.style.d.ts +2 -2
  147. package/dist/types/components/rating/use-rating.d.ts +7 -7
  148. package/dist/types/components/reorder/reorder.d.ts +2 -2
  149. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  150. package/dist/types/components/reorder/use-reorder.d.ts +3 -3
  151. package/dist/types/components/resizable/resizable.d.ts +2 -2
  152. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  153. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  154. package/dist/types/components/ripple/ripple.d.ts +2 -2
  155. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  156. package/dist/types/components/rotate/rotate.d.ts +2 -2
  157. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  158. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
  159. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  160. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
  161. package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
  162. package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
  163. package/dist/types/components/select/select.d.ts +2 -2
  164. package/dist/types/components/select/select.style.d.ts +1 -1
  165. package/dist/types/components/select/use-select.d.ts +4 -4
  166. package/dist/types/components/separator/separator.d.ts +2 -2
  167. package/dist/types/components/sidebar/sidebar.d.ts +2 -2
  168. package/dist/types/components/sidebar/use-sidebar.d.ts +9 -9
  169. package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
  170. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  171. package/dist/types/components/slide/slide.d.ts +2 -2
  172. package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
  173. package/dist/types/components/slider/slider.d.ts +2 -2
  174. package/dist/types/components/slider/use-slider.d.ts +2 -2
  175. package/dist/types/components/stack/h-stack.d.ts +2 -2
  176. package/dist/types/components/stack/stack.d.ts +2 -2
  177. package/dist/types/components/stack/v-stack.d.ts +2 -2
  178. package/dist/types/components/stack/z-stack.d.ts +2 -2
  179. package/dist/types/components/stat/stat.d.ts +2 -2
  180. package/dist/types/components/status/status.d.ts +2 -2
  181. package/dist/types/components/status/status.style.d.ts +2 -2
  182. package/dist/types/components/steps/steps.d.ts +2 -2
  183. package/dist/types/components/steps/steps.style.d.ts +1 -1
  184. package/dist/types/components/steps/use-steps.d.ts +10 -10
  185. package/dist/types/components/switch/switch.d.ts +2 -2
  186. package/dist/types/components/table/table.d.ts +2 -2
  187. package/dist/types/components/tabs/tabs.d.ts +2 -2
  188. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  189. package/dist/types/components/tag/tag.d.ts +2 -2
  190. package/dist/types/components/tag/tag.style.d.ts +1 -1
  191. package/dist/types/components/text/text.d.ts +2 -2
  192. package/dist/types/components/textarea/textarea.d.ts +2 -2
  193. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  194. package/dist/types/components/timeline/timeline.d.ts +5 -5
  195. package/dist/types/components/timeline/timeline.style.d.ts +1 -1
  196. package/dist/types/components/toggle/toggle.d.ts +5 -5
  197. package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
  198. package/dist/types/components/toggle/use-toggle.d.ts +2 -2
  199. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  200. package/dist/types/components/tree/tree.d.ts +2 -2
  201. package/dist/types/components/tree/tree.style.d.ts +1 -1
  202. package/dist/types/components/tree/use-tree.d.ts +182 -182
  203. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  204. package/dist/types/components/wrap/wrap.d.ts +2 -2
  205. package/dist/types/core/components/create-component.d.ts +7 -7
  206. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  207. package/dist/types/core/system/storage-script.d.ts +3 -3
  208. package/dist/types/core/system/styled.d.ts +2 -2
  209. package/dist/types/core/system/system-provider.d.ts +2 -2
  210. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  211. package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
  212. package/dist/types/hooks/use-combobox/index.d.ts +12 -12
  213. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +3 -3
  214. package/dist/types/providers/ui-provider/ui-provider.d.ts +2 -2
  215. package/dist/types/utils/children.d.ts +2 -2
  216. package/package.json +1 -1
@@ -109,10 +109,7 @@ const CartesianChart = withProvider(({ components: componentsProp, render, withG
109
109
  }));
110
110
  const ChartXAxis = withContext((props) => {
111
111
  const { xAxisProps } = useComponentContext();
112
- const { children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = {
113
- ...xAxisProps,
114
- ...props
115
- };
112
+ const { children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = require_props.mergeProps(xAxisProps, props)();
116
113
  const system = require_system_provider.useSystem();
117
114
  const { theme } = require_theme_provider.useTheme();
118
115
  const tickProps = useSlotComponentProps({}, "xAxisTick");
@@ -196,10 +193,7 @@ const ChartXAxis = withContext((props) => {
196
193
  }, "xAxis")();
197
194
  const ChartYAxis = withContext((props) => {
198
195
  const { yAxisProps } = useComponentContext();
199
- const { children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = {
200
- ...yAxisProps,
201
- ...props
202
- };
196
+ const { children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = require_props.mergeProps(yAxisProps, props)();
203
197
  const system = require_system_provider.useSystem();
204
198
  const { theme } = require_theme_provider.useTheme();
205
199
  const tickProps = useSlotComponentProps({}, "yAxisTick");
@@ -295,10 +289,7 @@ const ChartGrid = withContext((props) => {
295
289
  }, "grid")();
296
290
  const ChartLine = withContext((props) => {
297
291
  const { lineProps } = useComponentContext();
298
- const { activeDot: activeDotProp = true, children, dataKey, dot: dotProp = false, label: labelProp = false, stroke: strokeProp, ...rest } = {
299
- ...lineProps,
300
- ...props
301
- };
292
+ const { activeDot: activeDotProp = true, children, dataKey, dot: dotProp = false, label: labelProp = false, stroke: strokeProp, ...rest } = require_props.mergeProps(lineProps, props)();
302
293
  const system = require_system_provider.useSystem();
303
294
  const { theme } = require_theme_provider.useTheme();
304
295
  const color = strokeProp ?? rest.color;
@@ -395,10 +386,7 @@ const ChartLine = withContext((props) => {
395
386
  }, "line")();
396
387
  const ChartArea = withContext((props) => {
397
388
  const { areaProps } = useComponentContext();
398
- const { activeDot: activeDotProp = true, children, dataKey, dot: dotProp = false, gradient, label: labelProp = false, stroke: strokeProp, withGradient, ...rest } = {
399
- ...areaProps,
400
- ...props
401
- };
389
+ const { activeDot: activeDotProp = true, children, dataKey, dot: dotProp = false, gradient, label: labelProp = false, stroke: strokeProp, withGradient, ...rest } = require_props.mergeProps(areaProps, props)();
402
390
  const id = (0, react.useId)();
403
391
  const system = require_system_provider.useSystem();
404
392
  const { theme } = require_theme_provider.useTheme();
@@ -526,10 +514,7 @@ const ChartArea = withContext((props) => {
526
514
  }, "area")();
527
515
  const ChartBar = withContext((props) => {
528
516
  const { barProps } = useComponentContext();
529
- const { children, dataKey, fill: fillProp, label: labelProp = false, ...rest } = {
530
- ...barProps,
531
- ...props
532
- };
517
+ const { children, dataKey, fill: fillProp, label: labelProp = false, ...rest } = require_props.mergeProps(barProps, props)();
533
518
  const system = require_system_provider.useSystem();
534
519
  const { theme } = require_theme_provider.useTheme();
535
520
  const color = fillProp ?? rest.color;
@@ -1 +1 @@
1
- {"version":3,"file":"cartesian-chart.cjs","names":["createShouldForwardProp","createSlotComponent","cartesianChartStyle","useCartesianChart","Chart","varAttr","useSystem","useTheme","getCSS","props","useChartXAxis","styled","XAxis","useChartYAxis","YAxis","useChartGrid","CartesianGrid","useChartLine","Line","useChartArea","Area","useChartBar","Bar","useChartReferenceLine","ReferenceLine"],"sources":["../../../../src/components/chart/cartesian-chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n ActiveDotProps,\n DotProps,\n LabelListProps,\n LabelProps,\n} from \"recharts\"\nimport type {\n CartesianChartProps as OriginalCartesianChartProps,\n XAxisTickContentProps,\n YAxisTickContentProps,\n} from \"recharts/types/util/types\"\nimport type {\n CSSObject,\n CSSProps,\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { CartesianChartStyle } from \"./cartesian-chart.style\"\nimport type {\n ChartActiveDot,\n ChartDot,\n ChartLabel,\n ChartLabelList,\n ChartProps,\n ChartTickLine,\n} from \"./chart\"\nimport type {\n UseCartesianChartProps,\n UseChartAreaProps,\n UseChartBarProps,\n UseChartGridProps,\n UseChartLineProps,\n UseChartReferenceLineProps,\n UseChartXAxisProps,\n UseChartYAxisProps,\n} from \"./use-cartesian-chart\"\nimport { cloneElement, isValidElement, useId, useMemo } from \"react\"\nimport {\n Area,\n Bar,\n CartesianGrid,\n Line,\n ReferenceLine,\n XAxis,\n YAxis,\n} from \"recharts\"\nimport {\n createShouldForwardProp,\n createSlotComponent,\n getCSS,\n styled,\n useSystem,\n useTheme,\n varAttr,\n} from \"../../core\"\nimport { cx, isFunction, isObject, splitObject } from \"../../utils\"\nimport { cartesianChartStyle } from \"./cartesian-chart.style\"\nimport { Chart } from \"./chart\"\nimport {\n useCartesianChart,\n useChartArea,\n useChartBar,\n useChartGrid,\n useChartLine,\n useChartReferenceLine,\n useChartXAxis,\n useChartYAxis,\n} from \"./use-cartesian-chart\"\n\nconst shouldForwardProp = createShouldForwardProp()\n\ninterface ComponentContext extends Pick<\n CartesianChartProps,\n | \"areaProps\"\n | \"barProps\"\n | \"gridProps\"\n | \"lineProps\"\n | \"referenceLineProps\"\n | \"xAxisProps\"\n | \"yAxisProps\"\n> {}\n\nexport interface CartesianChartProps<Y extends Dict = Dict>\n extends\n ChartProps,\n UseCartesianChartProps<Y>,\n ThemeProps<CartesianChartStyle> {\n /**\n * The fill color of the active dots.\n */\n activeDotFill?: CSSProps[\"fill\"]\n /**\n * The radius of the active dots.\n */\n activeDotRadius?: CSSProps[\"r\"]\n /**\n * The stroke color of the active dots.\n */\n activeDotStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the active dots.\n */\n activeDotStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The fill opacity of the area end.\n */\n areaEndFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The fill opacity of the area.\n */\n areaFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The fill opacity of the area start.\n */\n areaStartFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The color of the bars.\n */\n barColor?: CSSProps[\"color\"]\n /**\n * The fill color of the bars.\n */\n barFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the bars.\n */\n barFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke color of the bars.\n */\n barStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the bars.\n */\n barStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The fill color of the dots.\n */\n dotFill?: CSSProps[\"fill\"]\n /**\n * The radius of the dots.\n */\n dotRadius?: CSSProps[\"r\"]\n /**\n * The stroke color of the dots.\n */\n dotStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the dots.\n */\n dotStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The stroke color of the grid.\n */\n gridStroke?: CSSProps[\"stroke\"]\n /**\n * The opacity of the inactive bars.\n */\n inactiveBarOpacity?: CSSProps[\"opacity\"]\n /**\n * The opacity of the inactive lines.\n */\n inactiveLineOpacity?: CSSProps[\"opacity\"]\n /**\n * The color of the lines.\n */\n lineColor?: CSSProps[\"color\"]\n /**\n * The stroke color of the lines.\n */\n lineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the lines.\n */\n lineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The color of the reference lines.\n */\n referenceLineColor?: CSSProps[\"color\"]\n /**\n * The stroke color of the reference lines.\n */\n referenceLineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the reference lines.\n */\n referenceLineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The text color of the reference lines.\n */\n referenceLineTextColor?: CSSProps[\"color\"]\n /**\n * The text fill color of the reference lines.\n */\n referenceLineTextFill?: CSSProps[\"fill\"]\n /**\n * If `true`, grid is visible.\n *\n * @default true\n */\n withGrid?: boolean\n /**\n * If `true`, X axis is visible.\n *\n * @default true\n */\n withXAxis?: boolean\n /**\n * If `true`, Y axis is visible.\n *\n * @default false\n */\n withYAxis?: boolean\n /**\n * The stroke color of the x-axis lines.\n */\n xAxisLineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the x-axis lines.\n */\n xAxisLineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The text color of the x-axis.\n */\n xAxisTextColor?: CSSProps[\"color\"]\n /**\n * The text fill color of the x-axis.\n */\n xAxisTextFill?: CSSProps[\"fill\"]\n /**\n * The stroke color of the y-axis lines.\n */\n yAxisLineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the y-axis lines.\n */\n yAxisLineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The text color of the y-axis.\n */\n yAxisTextColor?: CSSProps[\"color\"]\n /**\n * The text fill color of the y-axis.\n */\n yAxisTextFill?: CSSProps[\"fill\"]\n /**\n * Props for the area component.\n */\n areaProps?: Omit<ChartAreaProps, \"data\" | \"dataKey\">\n /**\n * Props for the bar component.\n */\n barProps?: Omit<ChartBarProps, \"dataKey\">\n /**\n * Props for the line chart component.\n */\n chartProps?: Omit<OriginalCartesianChartProps, \"data\">\n /**\n * Props for the grid component.\n */\n gridProps?: ChartGridProps\n /**\n * Props for the line component.\n */\n lineProps?: Omit<ChartLineProps, \"data\" | \"dataKey\">\n /**\n * Props for the reference line component.\n */\n referenceLineProps?: ChartReferenceLineProps\n /**\n * Props for the x axis component.\n */\n xAxisProps?: ChartXAxisProps\n /**\n * Props for the y axis component.\n */\n yAxisProps?: ChartYAxisProps\n}\n\nconst {\n ComponentContext,\n PropsContext: CartesianChartPropsContext,\n useComponentContext,\n usePropsContext: useCartesianChartPropsContext,\n withContext,\n withProvider,\n useSlotComponentProps,\n} = createSlotComponent<\n CartesianChartProps,\n CartesianChartStyle,\n ComponentContext\n>(\"cartesian-chart\", cartesianChartStyle)\n\nexport { CartesianChartPropsContext, useCartesianChartPropsContext }\n\nexport const CartesianChart = withProvider(\n <Y extends Dict = Dict>({\n components: componentsProp,\n render,\n withGrid = true,\n withXAxis = true,\n withYAxis = false,\n areaProps,\n barProps,\n chartProps,\n gridProps,\n lineProps,\n referenceLineProps,\n xAxisProps,\n yAxisProps,\n ...rest\n }: CartesianChartProps<Y>) => {\n const { getChartProps, getRootProps } = useCartesianChart(rest)\n const components = useMemo(\n () => [\n {\n component: ChartGrid,\n fallback: withGrid ? <ChartGrid /> : null,\n },\n {\n component: ChartXAxis,\n fallback: <ChartXAxis hide={!withXAxis} />,\n },\n {\n component: ChartYAxis,\n fallback: <ChartYAxis hide={!withYAxis} />,\n },\n ...componentsProp,\n ],\n [componentsProp, withGrid, withXAxis, withYAxis],\n )\n const componentContext = useMemo(\n () => ({\n areaProps,\n barProps,\n gridProps,\n lineProps,\n referenceLineProps,\n xAxisProps,\n yAxisProps,\n }),\n [\n areaProps,\n barProps,\n gridProps,\n lineProps,\n referenceLineProps,\n xAxisProps,\n yAxisProps,\n ],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Chart\n components={components}\n render={(props) => render(getChartProps({ ...props, ...chartProps }))}\n {...getRootProps()}\n />\n </ComponentContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n activeDotFill,\n activeDotRadius,\n activeDotStroke,\n activeDotStrokeWidth,\n areaEndFillOpacity,\n areaFillOpacity,\n areaStartFillOpacity,\n barColor,\n barFill,\n barFillOpacity,\n barStroke,\n barStrokeWidth,\n dotFill,\n dotRadius,\n dotStroke,\n dotStrokeWidth,\n gridStroke,\n inactiveBarOpacity,\n inactiveLineOpacity,\n lineColor,\n lineStroke,\n lineStrokeWidth,\n referenceLineColor,\n referenceLineStroke,\n referenceLineStrokeWidth,\n referenceLineTextColor,\n referenceLineTextFill,\n xAxisLineStroke,\n xAxisLineStrokeWidth,\n xAxisTextColor,\n xAxisTextFill,\n yAxisLineStroke,\n yAxisLineStrokeWidth,\n yAxisTextColor,\n yAxisTextFill,\n ...rest\n }) => ({\n \"--active-dot-fill\": varAttr(activeDotFill, \"colors\"),\n \"--active-dot-r\": activeDotRadius,\n \"--active-dot-stroke\": varAttr(activeDotStroke, \"colors\"),\n \"--active-dot-stroke-width\": activeDotStrokeWidth,\n \"--area-end-fill-opacity\": areaEndFillOpacity,\n \"--area-fill-opacity\": areaFillOpacity,\n \"--area-start-fill-opacity\": areaStartFillOpacity,\n \"--bar-color\": varAttr(barColor, \"colors\"),\n \"--bar-fill\": varAttr(barFill, \"colors\"),\n \"--bar-fill-opacity\": barFillOpacity,\n \"--bar-stroke\": varAttr(barStroke, \"colors\"),\n \"--bar-stroke-width\": barStrokeWidth,\n \"--dot-fill\": varAttr(dotFill, \"colors\"),\n \"--dot-r\": dotRadius,\n \"--dot-stroke\": varAttr(dotStroke, \"colors\"),\n \"--dot-stroke-width\": dotStrokeWidth,\n \"--grid-stroke\": varAttr(gridStroke, \"colors\"),\n \"--inactive-bar-opacity\": inactiveBarOpacity,\n \"--inactive-line-opacity\": inactiveLineOpacity,\n \"--line-color\": varAttr(lineColor, \"colors\"),\n \"--line-stroke\": varAttr(lineStroke, \"colors\"),\n \"--line-stroke-width\": lineStrokeWidth,\n \"--reference-line-color\": varAttr(referenceLineColor, \"colors\"),\n \"--reference-line-stroke\": varAttr(referenceLineStroke, \"colors\"),\n \"--reference-line-stroke-width\": referenceLineStrokeWidth,\n \"--reference-line-text-color\": varAttr(referenceLineTextColor, \"colors\"),\n \"--reference-line-text-fill\": varAttr(referenceLineTextFill, \"colors\"),\n \"--x-axis-line-stroke\": varAttr(xAxisLineStroke, \"colors\"),\n \"--x-axis-line-stroke-width\": xAxisLineStrokeWidth,\n \"--x-axis-text-color\": varAttr(xAxisTextColor, \"colors\"),\n \"--x-axis-text-fill\": varAttr(xAxisTextFill, \"colors\"),\n \"--y-axis-line-stroke\": varAttr(yAxisLineStroke, \"colors\"),\n \"--y-axis-line-stroke-width\": yAxisLineStrokeWidth,\n \"--y-axis-text-color\": varAttr(yAxisTextColor, \"colors\"),\n \"--y-axis-text-fill\": varAttr(yAxisTextFill, \"colors\"),\n ...rest,\n }),\n) as GenericsComponent<{\n <Y extends Dict = Dict>(props: CartesianChartProps<Y>): ReactElement\n}>\n\nexport type ChartXAxisTick =\n | ((props: XAxisTickContentProps) => ReactNode)\n | boolean\n | HTMLStyledProps<\"text\">\n | ReactElement\n\nexport interface ChartXAxisProps extends Merge<\n HTMLStyledProps<\"svg\">,\n Omit<UseChartXAxisProps, \"label\" | \"tick\" | \"tickLine\">\n> {\n /**\n * The label to use for the axis.\n *\n * @default false\n */\n label?: ChartLabel\n /**\n * The tick to use for the axis.\n *\n * @default true\n */\n tick?: ChartXAxisTick\n /**\n * The tick line to use for the axis.\n *\n * @default false\n */\n tickLine?: ChartTickLine\n}\n\nexport const ChartXAxis = withContext<\"svg\", ChartXAxisProps>((props) => {\n const { xAxisProps } = useComponentContext()\n const {\n children,\n label: labelProp = false,\n tick: tickProp = true,\n tickLine: tickLineProp = false,\n ...rest\n } = { ...xAxisProps, ...props }\n const system = useSystem()\n const { theme } = useTheme()\n const tickProps = useSlotComponentProps({}, \"xAxisTick\")\n const labelProps = useSlotComponentProps({}, \"xAxisLabel\")\n const tickLineProps = useSlotComponentProps({}, \"xAxisTickLine\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const tick = useMemo<UseChartXAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n\n const className = cx(tickProps.className, css(tickProps.css))\n\n if (isFunction(tickProp)) {\n return (props) =>\n tickProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(tickProp)) {\n return cloneElement<any>(tickProp, { className })\n } else if (isObject(tickProp)) {\n const [omittedProps, styleProps] = splitObject<\n XAxisTickContentProps,\n CSSObject\n >(tickProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickProp, tickProps.className, tickProps.css, css])\n const tickLine = useMemo<UseChartXAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n const className = cx(tickLineProps.className, css(tickLineProps.css))\n\n if (isObject(tickLineProp)) {\n const [omittedProps, styleProps] = splitObject<\n HTMLProps<\"line\">,\n CSSObject\n >(tickLineProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickLineProp, tickLineProps.className, tickLineProps.css, css])\n const label = useMemo<UseChartXAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className, children: labelProp }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getRootProps, getXAxisProps } = useChartXAxis({\n label,\n tick,\n tickLine,\n ...rest,\n })\n\n return (\n <styled.svg asChild {...getRootProps()}>\n <XAxis {...getXAxisProps()}>{children}</XAxis>\n </styled.svg>\n )\n}, \"xAxis\")()\n\nexport type ChartYAxisTick =\n | ((props: YAxisTickContentProps) => ReactNode)\n | boolean\n | HTMLStyledProps<\"text\">\n | ReactElement\n\nexport interface ChartYAxisProps extends Merge<\n HTMLStyledProps<\"svg\">,\n Omit<UseChartYAxisProps, \"label\" | \"tick\" | \"tickLine\">\n> {\n /**\n * The label to use for the axis.\n *\n * @default false\n */\n label?: ChartLabel\n /**\n * The tick to use for the axis.\n *\n * @default true\n */\n tick?: ChartYAxisTick\n /**\n * The tick line to use for the axis.\n *\n * @default false\n */\n tickLine?: ChartTickLine\n}\n\nexport const ChartYAxis = withContext<\"svg\", ChartYAxisProps>((props) => {\n const { yAxisProps } = useComponentContext()\n const {\n children,\n label: labelProp = false,\n tick: tickProp = true,\n tickLine: tickLineProp = false,\n ...rest\n } = { ...yAxisProps, ...props }\n const system = useSystem()\n const { theme } = useTheme()\n const tickProps = useSlotComponentProps({}, \"yAxisTick\")\n const labelProps = useSlotComponentProps({}, \"yAxisLabel\")\n const tickLineProps = useSlotComponentProps({}, \"yAxisTickLine\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const tick = useMemo<UseChartYAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n\n const className = cx(tickProps.className, css(tickProps.css))\n\n if (isFunction(tickProp)) {\n return (props) =>\n tickProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(tickProp)) {\n return cloneElement<any>(tickProp, { className })\n } else if (isObject(tickProp)) {\n const [omittedProps, styleProps] = splitObject<\n YAxisTickContentProps,\n CSSObject\n >(tickProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickProp, tickProps.className, tickProps.css, css])\n const tickLine = useMemo<UseChartXAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n const className = cx(tickLineProps.className, css(tickLineProps.css))\n\n if (isObject(tickLineProp)) {\n const [omittedProps, styleProps] = splitObject<\n HTMLProps<\"line\">,\n CSSObject\n >(tickLineProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickLineProp, tickLineProps.className, tickLineProps.css, css])\n const label = useMemo<UseChartYAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className, children: labelProp }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getRootProps, getYAxisProps } = useChartYAxis({\n label,\n tick,\n tickLine,\n ...rest,\n })\n\n return (\n <styled.svg asChild {...getRootProps()}>\n <YAxis {...getYAxisProps()}>{children}</YAxis>\n </styled.svg>\n )\n}, \"yAxis\")()\n\nexport interface ChartGridProps extends Merge<\n HTMLStyledProps<\"line\">,\n UseChartGridProps\n> {}\n\nexport const ChartGrid = withContext<\"line\", ChartGridProps>((props) => {\n const { gridProps } = useComponentContext()\n const { getGridProps, getRootProps } = useChartGrid({\n ...gridProps,\n ...props,\n })\n\n return (\n <styled.line asChild {...getRootProps()}>\n <CartesianGrid {...getGridProps()} />\n </styled.line>\n )\n}, \"grid\")()\n\nexport interface ChartLineProps<Y extends Dict = Dict> extends Merge<\n HTMLStyledProps<\"line\">,\n Omit<\n UseChartLineProps,\n \"activeDot\" | \"data\" | \"dataKey\" | \"dot\" | \"label\" | \"stroke\"\n >\n> {\n /**\n * The key of a group of data which should be unique in an chart.\n */\n dataKey: keyof Y\n /**\n * The active dot to use for the line.\n *\n * @default true\n */\n activeDot?: ChartActiveDot\n /**\n * The data to use for the line.\n */\n data?: Y[]\n /**\n * The dot to use for the line.\n *\n * @default false\n */\n dot?: ChartDot\n /**\n * The label list to use for the line.\n *\n * @default false\n */\n label?: ChartLabelList\n}\n\nexport const ChartLine = withContext<\"line\", ChartLineProps>((props) => {\n const { lineProps } = useComponentContext()\n const {\n activeDot: activeDotProp = true,\n children,\n dataKey,\n dot: dotProp = false,\n label: labelProp = false,\n stroke: strokeProp,\n ...rest\n } = { ...lineProps, ...props }\n const system = useSystem()\n const { theme } = useTheme()\n const color = strokeProp ?? rest.color\n const stroke = JSON.stringify(color)\n const dotProps = useSlotComponentProps({}, \"dot\")\n const activeDotProps = useSlotComponentProps({}, \"activeDot\")\n const labelProps = useSlotComponentProps({}, \"labelList\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const dot = useMemo<UseChartLineProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n\n const className = cx(\n dotProps.className,\n css(dotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(dotProp)) {\n return (props) =>\n dotProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(dotProp)) {\n return cloneElement<any>(dotProp, { className })\n } else if (isObject(dotProp)) {\n const [omittedProps, styleProps] = splitObject<DotProps, CSSObject>(\n dotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [dotProp, dotProps.className, dotProps.css, css, color])\n const activeDot = useMemo<UseChartLineProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n\n const className = cx(\n activeDotProps.className,\n css(activeDotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(activeDotProp)) {\n return (props) =>\n activeDotProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(activeDotProp)) {\n return cloneElement<any>(activeDotProp, { className })\n } else if (isObject(activeDotProp)) {\n const [omittedProps, styleProps] = splitObject<ActiveDotProps, CSSObject>(\n activeDotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [activeDotProp, activeDotProps.className, activeDotProps.css, css, color])\n const label = useMemo<UseChartLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelListProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getLineProps, getRootProps } = useChartLine({\n activeDot,\n dataKey,\n dot,\n label,\n stroke,\n ...rest,\n })\n\n return (\n <styled.line asChild {...getRootProps()}>\n <Line {...getLineProps()}>{children}</Line>\n </styled.line>\n )\n}, \"line\")() as GenericsComponent<{\n <Y extends Dict>(props: ChartLineProps<Y>): ReactElement\n}>\n\nexport interface ChartAreaGradient {\n end?: CSSProps[\"stopColor\"]\n start?: CSSProps[\"stopColor\"]\n}\n\nexport interface ChartAreaProps<Y extends Dict = Dict> extends Merge<\n HTMLStyledProps<\"line\">,\n Omit<\n UseChartAreaProps,\n \"activeDot\" | \"data\" | \"dataKey\" | \"dot\" | \"label\" | \"stroke\"\n >\n> {\n /**\n * The key of a group of data which should be unique in an chart.\n */\n dataKey: keyof Y\n /**\n * The active dot to use for the line.\n *\n * @default true\n */\n activeDot?: ChartActiveDot\n /**\n * The data to use for the area.\n */\n data?: Y[]\n /**\n * The dot to use for the line.\n *\n * @default false\n */\n dot?: ChartDot\n /**\n * The gradient to use for the area.\n */\n gradient?: ChartAreaGradient\n /**\n * The label list to use for the line.\n *\n * @default false\n */\n label?: ChartLabelList\n /**\n * Determines whether the chart area should be represented with a gradient instead of the solid color.\n */\n withGradient?: boolean\n}\n\nexport const ChartArea = withContext<\"line\", ChartAreaProps>((props) => {\n const { areaProps } = useComponentContext()\n const {\n activeDot: activeDotProp = true,\n children,\n dataKey,\n dot: dotProp = false,\n gradient,\n label: labelProp = false,\n stroke: strokeProp,\n withGradient,\n ...rest\n } = { ...areaProps, ...props }\n const id = useId()\n const system = useSystem()\n const { theme } = useTheme()\n const color = strokeProp ?? rest.fill ?? rest.color\n const stroke = JSON.stringify(color)\n const dotProps = useSlotComponentProps({}, \"dot\")\n const activeDotProps = useSlotComponentProps({}, \"activeDot\")\n const labelProps = useSlotComponentProps({}, \"labelList\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const dot = useMemo<UseChartLineProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n\n const className = cx(\n dotProps.className,\n css(dotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(dotProp)) {\n return (props) =>\n dotProp({\n ...props,\n className: cx(className, props.className),\n })\n } else if (isValidElement(dotProp)) {\n return cloneElement<any>(dotProp, {\n className,\n })\n } else if (isObject(dotProp)) {\n const [omittedProps, styleProps] = splitObject<DotProps, CSSObject>(\n dotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [dotProp, dotProps.className, dotProps.css, css, color])\n const activeDot = useMemo<UseChartLineProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n\n const className = cx(\n activeDotProps.className,\n css(activeDotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(activeDotProp)) {\n return (props) =>\n activeDotProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(activeDotProp)) {\n return cloneElement<any>(activeDotProp, { className })\n } else if (isObject(activeDotProp)) {\n const [omittedProps, styleProps] = splitObject<ActiveDotProps, CSSObject>(\n activeDotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [activeDotProp, activeDotProps.className, activeDotProps.css, css, color])\n const label = useMemo<UseChartLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelListProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getAreaProps, getRootProps } = useChartArea({\n activeDot,\n dataKey,\n dot,\n fill: color ? `url(#${id})` : \"\",\n label,\n stroke,\n ...rest,\n })\n\n return (\n <>\n <styled.line asChild {...getRootProps()}>\n <Area {...getAreaProps()}>{children}</Area>\n </styled.line>\n\n <defs>\n {withGradient ? (\n <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <styled.stop\n asChild\n stopColor={color}\n stopOpacity={gradient?.start ?? \"{area-start-fill-opacity}\"}\n >\n <stop offset=\"5%\" />\n </styled.stop>\n <styled.stop\n asChild\n stopColor={color}\n stopOpacity={gradient?.end ?? \"{area-end-fill-opacity}\"}\n >\n <stop offset=\"95%\" />\n </styled.stop>\n </linearGradient>\n ) : (\n <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <styled.stop\n stopColor={color}\n stopOpacity={rest.fillOpacity ?? \"{area-fill-opacity}\"}\n />\n </linearGradient>\n )}\n </defs>\n </>\n )\n}, \"area\")() as GenericsComponent<{\n <Y extends Dict>(props: ChartAreaProps<Y>): ReactElement\n}>\n\nexport interface ChartBarProps<Y extends Dict = Dict> extends Merge<\n HTMLStyledProps<\"path\">,\n Omit<UseChartBarProps, \"dataKey\" | \"fill\" | \"label\">\n> {\n /**\n * The key of a group of data which should be unique in an chart.\n */\n dataKey: keyof Y\n /**\n * The label list to use for the bar.\n *\n * @default false\n */\n label?: ChartLabelList\n}\n\nexport const ChartBar = withContext<\"path\", ChartBarProps>((props) => {\n const { barProps } = useComponentContext()\n const {\n children,\n dataKey,\n fill: fillProp,\n label: labelProp = false,\n ...rest\n } = { ...barProps, ...props }\n const system = useSystem()\n const { theme } = useTheme()\n const color = fillProp ?? rest.color\n const fill = JSON.stringify(color)\n const labelProps = useSlotComponentProps({}, \"labelList\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const label = useMemo<UseChartBarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelListProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getBarProps, getRootProps } = useChartBar({\n dataKey,\n fill,\n label,\n ...rest,\n })\n\n return (\n <styled.path asChild {...getRootProps()}>\n <Bar {...getBarProps()}>{children}</Bar>\n </styled.path>\n )\n}, \"bar\")() as GenericsComponent<{\n <Y extends Dict>(props: ChartBarProps<Y>): ReactElement\n}>\n\nexport interface ChartReferenceLineProps extends Omit<\n Merge<HTMLStyledProps<\"line\">, UseChartReferenceLineProps>,\n \"label\"\n> {\n /**\n * The label to use for the reference line.\n *\n * @default false\n */\n label?: ChartLabel\n}\n\nexport const ChartReferenceLine = withContext<\"line\", ChartReferenceLineProps>(\n (props) => {\n const { referenceLineProps } = useComponentContext()\n const { label: labelProp = false, ...rest } = {\n ...referenceLineProps,\n ...props,\n }\n const system = useSystem()\n const { theme } = useTheme()\n const labelProps = useSlotComponentProps({}, \"referenceLineLabel\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const label = useMemo<UseChartReferenceLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className, children: labelProp }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getReferenceLineProps, getRootProps } = useChartReferenceLine({\n label,\n ...rest,\n })\n\n return (\n <styled.line asChild {...getRootProps()}>\n <ReferenceLine {...getReferenceLineProps()} />\n </styled.line>\n )\n },\n \"referenceLine\",\n)()\n"],"mappings":"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"}
1
+ {"version":3,"file":"cartesian-chart.cjs","names":["createShouldForwardProp","createSlotComponent","cartesianChartStyle","useCartesianChart","Chart","varAttr","mergeProps","useSystem","useTheme","getCSS","props","useChartXAxis","styled","XAxis","useChartYAxis","YAxis","useChartGrid","CartesianGrid","useChartLine","Line","useChartArea","Area","useChartBar","Bar","useChartReferenceLine","ReferenceLine"],"sources":["../../../../src/components/chart/cartesian-chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n ActiveDotProps,\n DotProps,\n LabelListProps,\n LabelProps,\n} from \"recharts\"\nimport type {\n CartesianChartProps as OriginalCartesianChartProps,\n XAxisTickContentProps,\n YAxisTickContentProps,\n} from \"recharts/types/util/types\"\nimport type {\n CSSObject,\n CSSProps,\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { CartesianChartStyle } from \"./cartesian-chart.style\"\nimport type {\n ChartActiveDot,\n ChartDot,\n ChartLabel,\n ChartLabelList,\n ChartProps,\n ChartTickLine,\n} from \"./chart\"\nimport type {\n UseCartesianChartProps,\n UseChartAreaProps,\n UseChartBarProps,\n UseChartGridProps,\n UseChartLineProps,\n UseChartReferenceLineProps,\n UseChartXAxisProps,\n UseChartYAxisProps,\n} from \"./use-cartesian-chart\"\nimport { cloneElement, isValidElement, useId, useMemo } from \"react\"\nimport {\n Area,\n Bar,\n CartesianGrid,\n Line,\n ReferenceLine,\n XAxis,\n YAxis,\n} from \"recharts\"\nimport {\n createShouldForwardProp,\n createSlotComponent,\n getCSS,\n mergeProps,\n styled,\n useSystem,\n useTheme,\n varAttr,\n} from \"../../core\"\nimport { cx, isFunction, isObject, splitObject } from \"../../utils\"\nimport { cartesianChartStyle } from \"./cartesian-chart.style\"\nimport { Chart } from \"./chart\"\nimport {\n useCartesianChart,\n useChartArea,\n useChartBar,\n useChartGrid,\n useChartLine,\n useChartReferenceLine,\n useChartXAxis,\n useChartYAxis,\n} from \"./use-cartesian-chart\"\n\nconst shouldForwardProp = createShouldForwardProp()\n\ninterface ComponentContext extends Pick<\n CartesianChartProps,\n | \"areaProps\"\n | \"barProps\"\n | \"gridProps\"\n | \"lineProps\"\n | \"referenceLineProps\"\n | \"xAxisProps\"\n | \"yAxisProps\"\n> {}\n\nexport interface CartesianChartProps<Y extends Dict = Dict>\n extends\n ChartProps,\n UseCartesianChartProps<Y>,\n ThemeProps<CartesianChartStyle> {\n /**\n * The fill color of the active dots.\n */\n activeDotFill?: CSSProps[\"fill\"]\n /**\n * The radius of the active dots.\n */\n activeDotRadius?: CSSProps[\"r\"]\n /**\n * The stroke color of the active dots.\n */\n activeDotStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the active dots.\n */\n activeDotStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The fill opacity of the area end.\n */\n areaEndFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The fill opacity of the area.\n */\n areaFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The fill opacity of the area start.\n */\n areaStartFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The color of the bars.\n */\n barColor?: CSSProps[\"color\"]\n /**\n * The fill color of the bars.\n */\n barFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the bars.\n */\n barFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke color of the bars.\n */\n barStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the bars.\n */\n barStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The fill color of the dots.\n */\n dotFill?: CSSProps[\"fill\"]\n /**\n * The radius of the dots.\n */\n dotRadius?: CSSProps[\"r\"]\n /**\n * The stroke color of the dots.\n */\n dotStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the dots.\n */\n dotStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The stroke color of the grid.\n */\n gridStroke?: CSSProps[\"stroke\"]\n /**\n * The opacity of the inactive bars.\n */\n inactiveBarOpacity?: CSSProps[\"opacity\"]\n /**\n * The opacity of the inactive lines.\n */\n inactiveLineOpacity?: CSSProps[\"opacity\"]\n /**\n * The color of the lines.\n */\n lineColor?: CSSProps[\"color\"]\n /**\n * The stroke color of the lines.\n */\n lineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the lines.\n */\n lineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The color of the reference lines.\n */\n referenceLineColor?: CSSProps[\"color\"]\n /**\n * The stroke color of the reference lines.\n */\n referenceLineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the reference lines.\n */\n referenceLineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The text color of the reference lines.\n */\n referenceLineTextColor?: CSSProps[\"color\"]\n /**\n * The text fill color of the reference lines.\n */\n referenceLineTextFill?: CSSProps[\"fill\"]\n /**\n * If `true`, grid is visible.\n *\n * @default true\n */\n withGrid?: boolean\n /**\n * If `true`, X axis is visible.\n *\n * @default true\n */\n withXAxis?: boolean\n /**\n * If `true`, Y axis is visible.\n *\n * @default false\n */\n withYAxis?: boolean\n /**\n * The stroke color of the x-axis lines.\n */\n xAxisLineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the x-axis lines.\n */\n xAxisLineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The text color of the x-axis.\n */\n xAxisTextColor?: CSSProps[\"color\"]\n /**\n * The text fill color of the x-axis.\n */\n xAxisTextFill?: CSSProps[\"fill\"]\n /**\n * The stroke color of the y-axis lines.\n */\n yAxisLineStroke?: CSSProps[\"stroke\"]\n /**\n * The stroke width of the y-axis lines.\n */\n yAxisLineStrokeWidth?: CSSProps[\"strokeWidth\"]\n /**\n * The text color of the y-axis.\n */\n yAxisTextColor?: CSSProps[\"color\"]\n /**\n * The text fill color of the y-axis.\n */\n yAxisTextFill?: CSSProps[\"fill\"]\n /**\n * Props for the area component.\n */\n areaProps?: Omit<ChartAreaProps, \"data\" | \"dataKey\">\n /**\n * Props for the bar component.\n */\n barProps?: Omit<ChartBarProps, \"dataKey\">\n /**\n * Props for the line chart component.\n */\n chartProps?: Omit<OriginalCartesianChartProps, \"data\">\n /**\n * Props for the grid component.\n */\n gridProps?: ChartGridProps\n /**\n * Props for the line component.\n */\n lineProps?: Omit<ChartLineProps, \"data\" | \"dataKey\">\n /**\n * Props for the reference line component.\n */\n referenceLineProps?: ChartReferenceLineProps\n /**\n * Props for the x axis component.\n */\n xAxisProps?: ChartXAxisProps\n /**\n * Props for the y axis component.\n */\n yAxisProps?: ChartYAxisProps\n}\n\nconst {\n ComponentContext,\n PropsContext: CartesianChartPropsContext,\n useComponentContext,\n usePropsContext: useCartesianChartPropsContext,\n withContext,\n withProvider,\n useSlotComponentProps,\n} = createSlotComponent<\n CartesianChartProps,\n CartesianChartStyle,\n ComponentContext\n>(\"cartesian-chart\", cartesianChartStyle)\n\nexport { CartesianChartPropsContext, useCartesianChartPropsContext }\n\nexport const CartesianChart = withProvider(\n <Y extends Dict = Dict>({\n components: componentsProp,\n render,\n withGrid = true,\n withXAxis = true,\n withYAxis = false,\n areaProps,\n barProps,\n chartProps,\n gridProps,\n lineProps,\n referenceLineProps,\n xAxisProps,\n yAxisProps,\n ...rest\n }: CartesianChartProps<Y>) => {\n const { getChartProps, getRootProps } = useCartesianChart(rest)\n const components = useMemo(\n () => [\n {\n component: ChartGrid,\n fallback: withGrid ? <ChartGrid /> : null,\n },\n {\n component: ChartXAxis,\n fallback: <ChartXAxis hide={!withXAxis} />,\n },\n {\n component: ChartYAxis,\n fallback: <ChartYAxis hide={!withYAxis} />,\n },\n ...componentsProp,\n ],\n [componentsProp, withGrid, withXAxis, withYAxis],\n )\n const componentContext = useMemo(\n () => ({\n areaProps,\n barProps,\n gridProps,\n lineProps,\n referenceLineProps,\n xAxisProps,\n yAxisProps,\n }),\n [\n areaProps,\n barProps,\n gridProps,\n lineProps,\n referenceLineProps,\n xAxisProps,\n yAxisProps,\n ],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Chart\n components={components}\n render={(props) => render(getChartProps({ ...props, ...chartProps }))}\n {...getRootProps()}\n />\n </ComponentContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n activeDotFill,\n activeDotRadius,\n activeDotStroke,\n activeDotStrokeWidth,\n areaEndFillOpacity,\n areaFillOpacity,\n areaStartFillOpacity,\n barColor,\n barFill,\n barFillOpacity,\n barStroke,\n barStrokeWidth,\n dotFill,\n dotRadius,\n dotStroke,\n dotStrokeWidth,\n gridStroke,\n inactiveBarOpacity,\n inactiveLineOpacity,\n lineColor,\n lineStroke,\n lineStrokeWidth,\n referenceLineColor,\n referenceLineStroke,\n referenceLineStrokeWidth,\n referenceLineTextColor,\n referenceLineTextFill,\n xAxisLineStroke,\n xAxisLineStrokeWidth,\n xAxisTextColor,\n xAxisTextFill,\n yAxisLineStroke,\n yAxisLineStrokeWidth,\n yAxisTextColor,\n yAxisTextFill,\n ...rest\n }) => ({\n \"--active-dot-fill\": varAttr(activeDotFill, \"colors\"),\n \"--active-dot-r\": activeDotRadius,\n \"--active-dot-stroke\": varAttr(activeDotStroke, \"colors\"),\n \"--active-dot-stroke-width\": activeDotStrokeWidth,\n \"--area-end-fill-opacity\": areaEndFillOpacity,\n \"--area-fill-opacity\": areaFillOpacity,\n \"--area-start-fill-opacity\": areaStartFillOpacity,\n \"--bar-color\": varAttr(barColor, \"colors\"),\n \"--bar-fill\": varAttr(barFill, \"colors\"),\n \"--bar-fill-opacity\": barFillOpacity,\n \"--bar-stroke\": varAttr(barStroke, \"colors\"),\n \"--bar-stroke-width\": barStrokeWidth,\n \"--dot-fill\": varAttr(dotFill, \"colors\"),\n \"--dot-r\": dotRadius,\n \"--dot-stroke\": varAttr(dotStroke, \"colors\"),\n \"--dot-stroke-width\": dotStrokeWidth,\n \"--grid-stroke\": varAttr(gridStroke, \"colors\"),\n \"--inactive-bar-opacity\": inactiveBarOpacity,\n \"--inactive-line-opacity\": inactiveLineOpacity,\n \"--line-color\": varAttr(lineColor, \"colors\"),\n \"--line-stroke\": varAttr(lineStroke, \"colors\"),\n \"--line-stroke-width\": lineStrokeWidth,\n \"--reference-line-color\": varAttr(referenceLineColor, \"colors\"),\n \"--reference-line-stroke\": varAttr(referenceLineStroke, \"colors\"),\n \"--reference-line-stroke-width\": referenceLineStrokeWidth,\n \"--reference-line-text-color\": varAttr(referenceLineTextColor, \"colors\"),\n \"--reference-line-text-fill\": varAttr(referenceLineTextFill, \"colors\"),\n \"--x-axis-line-stroke\": varAttr(xAxisLineStroke, \"colors\"),\n \"--x-axis-line-stroke-width\": xAxisLineStrokeWidth,\n \"--x-axis-text-color\": varAttr(xAxisTextColor, \"colors\"),\n \"--x-axis-text-fill\": varAttr(xAxisTextFill, \"colors\"),\n \"--y-axis-line-stroke\": varAttr(yAxisLineStroke, \"colors\"),\n \"--y-axis-line-stroke-width\": yAxisLineStrokeWidth,\n \"--y-axis-text-color\": varAttr(yAxisTextColor, \"colors\"),\n \"--y-axis-text-fill\": varAttr(yAxisTextFill, \"colors\"),\n ...rest,\n }),\n) as GenericsComponent<{\n <Y extends Dict = Dict>(props: CartesianChartProps<Y>): ReactElement\n}>\n\nexport type ChartXAxisTick =\n | ((props: XAxisTickContentProps) => ReactNode)\n | boolean\n | HTMLStyledProps<\"text\">\n | ReactElement\n\nexport interface ChartXAxisProps extends Merge<\n HTMLStyledProps<\"svg\">,\n Omit<UseChartXAxisProps, \"label\" | \"tick\" | \"tickLine\">\n> {\n /**\n * The label to use for the axis.\n *\n * @default false\n */\n label?: ChartLabel\n /**\n * The tick to use for the axis.\n *\n * @default true\n */\n tick?: ChartXAxisTick\n /**\n * The tick line to use for the axis.\n *\n * @default false\n */\n tickLine?: ChartTickLine\n}\n\nexport const ChartXAxis = withContext<\"svg\", ChartXAxisProps>((props) => {\n const { xAxisProps } = useComponentContext()\n const {\n children,\n label: labelProp = false,\n tick: tickProp = true,\n tickLine: tickLineProp = false,\n ...rest\n } = mergeProps(xAxisProps, props)()\n const system = useSystem()\n const { theme } = useTheme()\n const tickProps = useSlotComponentProps({}, \"xAxisTick\")\n const labelProps = useSlotComponentProps({}, \"xAxisLabel\")\n const tickLineProps = useSlotComponentProps({}, \"xAxisTickLine\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const tick = useMemo<UseChartXAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n\n const className = cx(tickProps.className, css(tickProps.css))\n\n if (isFunction(tickProp)) {\n return (props) =>\n tickProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(tickProp)) {\n return cloneElement<any>(tickProp, { className })\n } else if (isObject(tickProp)) {\n const [omittedProps, styleProps] = splitObject<\n XAxisTickContentProps,\n CSSObject\n >(tickProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickProp, tickProps.className, tickProps.css, css])\n const tickLine = useMemo<UseChartXAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n const className = cx(tickLineProps.className, css(tickLineProps.css))\n\n if (isObject(tickLineProp)) {\n const [omittedProps, styleProps] = splitObject<\n HTMLProps<\"line\">,\n CSSObject\n >(tickLineProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickLineProp, tickLineProps.className, tickLineProps.css, css])\n const label = useMemo<UseChartXAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className, children: labelProp }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getRootProps, getXAxisProps } = useChartXAxis({\n label,\n tick,\n tickLine,\n ...rest,\n })\n\n return (\n <styled.svg asChild {...getRootProps()}>\n <XAxis {...getXAxisProps()}>{children}</XAxis>\n </styled.svg>\n )\n}, \"xAxis\")()\n\nexport type ChartYAxisTick =\n | ((props: YAxisTickContentProps) => ReactNode)\n | boolean\n | HTMLStyledProps<\"text\">\n | ReactElement\n\nexport interface ChartYAxisProps extends Merge<\n HTMLStyledProps<\"svg\">,\n Omit<UseChartYAxisProps, \"label\" | \"tick\" | \"tickLine\">\n> {\n /**\n * The label to use for the axis.\n *\n * @default false\n */\n label?: ChartLabel\n /**\n * The tick to use for the axis.\n *\n * @default true\n */\n tick?: ChartYAxisTick\n /**\n * The tick line to use for the axis.\n *\n * @default false\n */\n tickLine?: ChartTickLine\n}\n\nexport const ChartYAxis = withContext<\"svg\", ChartYAxisProps>((props) => {\n const { yAxisProps } = useComponentContext()\n const {\n children,\n label: labelProp = false,\n tick: tickProp = true,\n tickLine: tickLineProp = false,\n ...rest\n } = mergeProps(yAxisProps, props)()\n const system = useSystem()\n const { theme } = useTheme()\n const tickProps = useSlotComponentProps({}, \"yAxisTick\")\n const labelProps = useSlotComponentProps({}, \"yAxisLabel\")\n const tickLineProps = useSlotComponentProps({}, \"yAxisTickLine\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const tick = useMemo<UseChartYAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n\n const className = cx(tickProps.className, css(tickProps.css))\n\n if (isFunction(tickProp)) {\n return (props) =>\n tickProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(tickProp)) {\n return cloneElement<any>(tickProp, { className })\n } else if (isObject(tickProp)) {\n const [omittedProps, styleProps] = splitObject<\n YAxisTickContentProps,\n CSSObject\n >(tickProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickProp, tickProps.className, tickProps.css, css])\n const tickLine = useMemo<UseChartXAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n const className = cx(tickLineProps.className, css(tickLineProps.css))\n\n if (isObject(tickLineProp)) {\n const [omittedProps, styleProps] = splitObject<\n HTMLProps<\"line\">,\n CSSObject\n >(tickLineProp, shouldForwardProp)\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [tickLineProp, tickLineProps.className, tickLineProps.css, css])\n const label = useMemo<UseChartYAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className, children: labelProp }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getRootProps, getYAxisProps } = useChartYAxis({\n label,\n tick,\n tickLine,\n ...rest,\n })\n\n return (\n <styled.svg asChild {...getRootProps()}>\n <YAxis {...getYAxisProps()}>{children}</YAxis>\n </styled.svg>\n )\n}, \"yAxis\")()\n\nexport interface ChartGridProps extends Merge<\n HTMLStyledProps<\"line\">,\n UseChartGridProps\n> {}\n\nexport const ChartGrid = withContext<\"line\", ChartGridProps>((props) => {\n const { gridProps } = useComponentContext()\n const { getGridProps, getRootProps } = useChartGrid({\n ...gridProps,\n ...props,\n })\n\n return (\n <styled.line asChild {...getRootProps()}>\n <CartesianGrid {...getGridProps()} />\n </styled.line>\n )\n}, \"grid\")()\n\nexport interface ChartLineProps<Y extends Dict = Dict> extends Merge<\n HTMLStyledProps<\"line\">,\n Omit<\n UseChartLineProps,\n \"activeDot\" | \"data\" | \"dataKey\" | \"dot\" | \"label\" | \"stroke\"\n >\n> {\n /**\n * The key of a group of data which should be unique in an chart.\n */\n dataKey: keyof Y\n /**\n * The active dot to use for the line.\n *\n * @default true\n */\n activeDot?: ChartActiveDot\n /**\n * The data to use for the line.\n */\n data?: Y[]\n /**\n * The dot to use for the line.\n *\n * @default false\n */\n dot?: ChartDot\n /**\n * The label list to use for the line.\n *\n * @default false\n */\n label?: ChartLabelList\n}\n\nexport const ChartLine = withContext<\"line\", ChartLineProps>((props) => {\n const { lineProps } = useComponentContext()\n const {\n activeDot: activeDotProp = true,\n children,\n dataKey,\n dot: dotProp = false,\n label: labelProp = false,\n stroke: strokeProp,\n ...rest\n } = mergeProps(lineProps, props)()\n const system = useSystem()\n const { theme } = useTheme()\n const color = strokeProp ?? rest.color\n const stroke = JSON.stringify(color)\n const dotProps = useSlotComponentProps({}, \"dot\")\n const activeDotProps = useSlotComponentProps({}, \"activeDot\")\n const labelProps = useSlotComponentProps({}, \"labelList\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const dot = useMemo<UseChartLineProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n\n const className = cx(\n dotProps.className,\n css(dotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(dotProp)) {\n return (props) =>\n dotProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(dotProp)) {\n return cloneElement<any>(dotProp, { className })\n } else if (isObject(dotProp)) {\n const [omittedProps, styleProps] = splitObject<DotProps, CSSObject>(\n dotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [dotProp, dotProps.className, dotProps.css, css, color])\n const activeDot = useMemo<UseChartLineProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n\n const className = cx(\n activeDotProps.className,\n css(activeDotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(activeDotProp)) {\n return (props) =>\n activeDotProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(activeDotProp)) {\n return cloneElement<any>(activeDotProp, { className })\n } else if (isObject(activeDotProp)) {\n const [omittedProps, styleProps] = splitObject<ActiveDotProps, CSSObject>(\n activeDotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [activeDotProp, activeDotProps.className, activeDotProps.css, css, color])\n const label = useMemo<UseChartLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelListProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getLineProps, getRootProps } = useChartLine({\n activeDot,\n dataKey,\n dot,\n label,\n stroke,\n ...rest,\n })\n\n return (\n <styled.line asChild {...getRootProps()}>\n <Line {...getLineProps()}>{children}</Line>\n </styled.line>\n )\n}, \"line\")() as GenericsComponent<{\n <Y extends Dict>(props: ChartLineProps<Y>): ReactElement\n}>\n\nexport interface ChartAreaGradient {\n end?: CSSProps[\"stopColor\"]\n start?: CSSProps[\"stopColor\"]\n}\n\nexport interface ChartAreaProps<Y extends Dict = Dict> extends Merge<\n HTMLStyledProps<\"line\">,\n Omit<\n UseChartAreaProps,\n \"activeDot\" | \"data\" | \"dataKey\" | \"dot\" | \"label\" | \"stroke\"\n >\n> {\n /**\n * The key of a group of data which should be unique in an chart.\n */\n dataKey: keyof Y\n /**\n * The active dot to use for the line.\n *\n * @default true\n */\n activeDot?: ChartActiveDot\n /**\n * The data to use for the area.\n */\n data?: Y[]\n /**\n * The dot to use for the line.\n *\n * @default false\n */\n dot?: ChartDot\n /**\n * The gradient to use for the area.\n */\n gradient?: ChartAreaGradient\n /**\n * The label list to use for the line.\n *\n * @default false\n */\n label?: ChartLabelList\n /**\n * Determines whether the chart area should be represented with a gradient instead of the solid color.\n */\n withGradient?: boolean\n}\n\nexport const ChartArea = withContext<\"line\", ChartAreaProps>((props) => {\n const { areaProps } = useComponentContext()\n const {\n activeDot: activeDotProp = true,\n children,\n dataKey,\n dot: dotProp = false,\n gradient,\n label: labelProp = false,\n stroke: strokeProp,\n withGradient,\n ...rest\n } = mergeProps(areaProps, props)()\n const id = useId()\n const system = useSystem()\n const { theme } = useTheme()\n const color = strokeProp ?? rest.fill ?? rest.color\n const stroke = JSON.stringify(color)\n const dotProps = useSlotComponentProps({}, \"dot\")\n const activeDotProps = useSlotComponentProps({}, \"activeDot\")\n const labelProps = useSlotComponentProps({}, \"labelList\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const dot = useMemo<UseChartLineProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n\n const className = cx(\n dotProps.className,\n css(dotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(dotProp)) {\n return (props) =>\n dotProp({\n ...props,\n className: cx(className, props.className),\n })\n } else if (isValidElement(dotProp)) {\n return cloneElement<any>(dotProp, {\n className,\n })\n } else if (isObject(dotProp)) {\n const [omittedProps, styleProps] = splitObject<DotProps, CSSObject>(\n dotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [dotProp, dotProps.className, dotProps.css, css, color])\n const activeDot = useMemo<UseChartLineProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n\n const className = cx(\n activeDotProps.className,\n css(activeDotProps.css),\n css({ fill: color, stroke: color }),\n )\n\n if (isFunction(activeDotProp)) {\n return (props) =>\n activeDotProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(activeDotProp)) {\n return cloneElement<any>(activeDotProp, { className })\n } else if (isObject(activeDotProp)) {\n const [omittedProps, styleProps] = splitObject<ActiveDotProps, CSSObject>(\n activeDotProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [activeDotProp, activeDotProps.className, activeDotProps.css, css, color])\n const label = useMemo<UseChartLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelListProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getAreaProps, getRootProps } = useChartArea({\n activeDot,\n dataKey,\n dot,\n fill: color ? `url(#${id})` : \"\",\n label,\n stroke,\n ...rest,\n })\n\n return (\n <>\n <styled.line asChild {...getRootProps()}>\n <Area {...getAreaProps()}>{children}</Area>\n </styled.line>\n\n <defs>\n {withGradient ? (\n <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <styled.stop\n asChild\n stopColor={color}\n stopOpacity={gradient?.start ?? \"{area-start-fill-opacity}\"}\n >\n <stop offset=\"5%\" />\n </styled.stop>\n <styled.stop\n asChild\n stopColor={color}\n stopOpacity={gradient?.end ?? \"{area-end-fill-opacity}\"}\n >\n <stop offset=\"95%\" />\n </styled.stop>\n </linearGradient>\n ) : (\n <linearGradient id={id} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <styled.stop\n stopColor={color}\n stopOpacity={rest.fillOpacity ?? \"{area-fill-opacity}\"}\n />\n </linearGradient>\n )}\n </defs>\n </>\n )\n}, \"area\")() as GenericsComponent<{\n <Y extends Dict>(props: ChartAreaProps<Y>): ReactElement\n}>\n\nexport interface ChartBarProps<Y extends Dict = Dict> extends Merge<\n HTMLStyledProps<\"path\">,\n Omit<UseChartBarProps, \"dataKey\" | \"fill\" | \"label\">\n> {\n /**\n * The key of a group of data which should be unique in an chart.\n */\n dataKey: keyof Y\n /**\n * The label list to use for the bar.\n *\n * @default false\n */\n label?: ChartLabelList\n}\n\nexport const ChartBar = withContext<\"path\", ChartBarProps>((props) => {\n const { barProps } = useComponentContext()\n const {\n children,\n dataKey,\n fill: fillProp,\n label: labelProp = false,\n ...rest\n } = mergeProps(barProps, props)()\n const system = useSystem()\n const { theme } = useTheme()\n const color = fillProp ?? rest.color\n const fill = JSON.stringify(color)\n const labelProps = useSlotComponentProps({}, \"labelList\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const label = useMemo<UseChartBarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelListProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getBarProps, getRootProps } = useChartBar({\n dataKey,\n fill,\n label,\n ...rest,\n })\n\n return (\n <styled.path asChild {...getRootProps()}>\n <Bar {...getBarProps()}>{children}</Bar>\n </styled.path>\n )\n}, \"bar\")() as GenericsComponent<{\n <Y extends Dict>(props: ChartBarProps<Y>): ReactElement\n}>\n\nexport interface ChartReferenceLineProps extends Omit<\n Merge<HTMLStyledProps<\"line\">, UseChartReferenceLineProps>,\n \"label\"\n> {\n /**\n * The label to use for the reference line.\n *\n * @default false\n */\n label?: ChartLabel\n}\n\nexport const ChartReferenceLine = withContext<\"line\", ChartReferenceLineProps>(\n (props) => {\n const { referenceLineProps } = useComponentContext()\n const { label: labelProp = false, ...rest } = {\n ...referenceLineProps,\n ...props,\n }\n const system = useSystem()\n const { theme } = useTheme()\n const labelProps = useSlotComponentProps({}, \"referenceLineLabel\")\n const css = useMemo(() => getCSS(system, theme), [system, theme])\n const label = useMemo<UseChartReferenceLineProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n\n const className = cx(labelProps.className, css(labelProps.css))\n\n if (isFunction(labelProp)) {\n return (props) =>\n labelProp({ ...props, className: cx(className, props.className) })\n } else if (isValidElement(labelProp)) {\n return cloneElement<any>(labelProp, { className })\n } else if (isObject(labelProp)) {\n const [omittedProps, styleProps] = splitObject<LabelProps, CSSObject>(\n labelProp,\n shouldForwardProp,\n )\n\n return {\n ...omittedProps,\n className: cx(className, omittedProps.className, css(styleProps)),\n }\n } else {\n return { className, children: labelProp }\n }\n }, [labelProp, labelProps.className, labelProps.css, css])\n const { getReferenceLineProps, getRootProps } = useChartReferenceLine({\n label,\n ...rest,\n })\n\n return (\n <styled.line asChild {...getRootProps()}>\n <ReferenceLine {...getReferenceLineProps()} />\n </styled.line>\n )\n },\n \"referenceLine\",\n)()\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ const require_context = require('../../utils/context.cjs');
6
6
  const require_utils_index = require('../../utils/index.cjs');
7
7
  const require_var = require('../../core/system/var.cjs');
8
8
  const require_factory = require('../../core/system/factory.cjs');
9
+ const require_props = require('../../core/components/props.cjs');
9
10
  const require_create_component = require('../../core/components/create-component.cjs');
10
11
  require('../../core/index.cjs');
11
12
  const require_chart_style = require('./chart.style.cjs');
@@ -94,10 +95,7 @@ const Chart = withProvider(({ children, components: componentsProp, render, with
94
95
  const [ChartLegendContext, useChartLegendContext] = require_context.createContext({ name: "ChartLegendContext" });
95
96
  const ChartLegend = withContext((props) => {
96
97
  const { legendProps } = useChartComponentContext();
97
- const { contentProps, ...rest } = {
98
- ...legendProps,
99
- ...props
100
- };
98
+ const { contentProps, ...rest } = require_props.mergeProps(legendProps, props)();
101
99
  const { getLegendContentProps, getLegendItemProps, getLegendProps, getRootProps } = require_use_chart.useChartLegend({
102
100
  content: ({ formatter, payload }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartLegendContent, {
103
101
  formatter,
@@ -1 +1 @@
1
- {"version":3,"file":"chart.cjs","names":["createSlotComponent","chartStyle","useChart","useSplitChildren","ChartContext","styled","ResponsiveContainer","Fragment","varAttr","createContext","useChartLegend","Legend","useChartTooltip","Tooltip","useChartLabelList","LabelList","useChartLabel","Label"],"sources":["../../../../src/components/chart/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n JSXElementConstructor,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n RefObject,\n} from \"react\"\nimport type {\n ActiveDotProps,\n DataKey,\n DefaultLegendContentProps,\n DotItemDotProps,\n DotProps,\n LabelProps,\n RenderableText,\n ResponsiveContainerProps,\n TooltipContentProps,\n TooltipProps,\n} from \"recharts\"\nimport type { CSSProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { ChartStyle } from \"./chart.style\"\nimport type {\n UseChartLabelListProps,\n UseChartLabelProps,\n UseChartLegendProps,\n UseChartLegendReturn,\n UseChartTooltipProps,\n} from \"./use-chart\"\nimport { Fragment, isValidElement, useMemo, useRef } from \"react\"\nimport {\n Label,\n LabelList,\n Legend,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport {\n cast,\n createContext,\n isArray,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n useSplitChildren,\n} from \"../../utils\"\nimport { chartStyle } from \"./chart.style\"\nimport {\n ChartContext,\n useChart,\n useChartLabel,\n useChartLabelList,\n useChartLegend,\n useChartTooltip,\n} from \"./use-chart\"\n\nexport type ChartDot =\n | ((props: DotItemDotProps) => ReactNode)\n | boolean\n | Merge<Partial<DotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartActiveDot =\n | ((props: ActiveDotProps) => ReactNode)\n | boolean\n | Merge<Partial<ActiveDotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartLabel =\n | ((props: any) => ReactElement | RenderableText)\n | boolean\n | (Merge<\n HTMLStyledProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"content\"\n | \"formatter\"\n | \"index\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"textBreakAll\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n > & { dataKey?: DataKey<any> })\n | number\n | ReactElement\n | string\n\nexport type ChartLabelList =\n | ((props: LabelProps) => ReactElement | RenderableText)\n | boolean\n | ChartLabelListProps\n | ReactElement\n\nexport type ChartTickLine = boolean | HTMLStyledProps<\"line\">\n\nexport type GradientStrategy = \"invert\" | \"shade\" | \"tint\"\n\nexport function mergeSeries<Y>(\n series: Y[],\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { color: CSSProps[\"color\"] })[] {\n const colors = gradients(series.length, color, strategy)\n\n return series.map((item, index) => ({ ...item, color: colors[index] }))\n}\n\nexport function mergeData<Y>(\n data: Y[],\n color: CSSProps[\"fill\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { fill: CSSProps[\"fill\"] })[] {\n const colors = gradients(data.length, color, strategy)\n\n return data.map((item, index) => ({ ...item, fill: colors[index] }))\n}\n\nexport function gradients(\n length: number,\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): CSSProps[\"color\"][] {\n return Array.from({ length }, (_, index) => {\n const value = Math.floor(100 - (100 / length) * index)\n const percent = `${value}%`\n\n if (strategy === \"invert\") {\n return [\n `tint(colors.${color}, ${percent})`,\n `shade(colors.${color}, ${percent})`,\n ]\n } else {\n return `${strategy}(colors.${color}, ${percent})`\n }\n })\n}\n\nfunction parseJSON(value: any) {\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n}\n\ninterface ComponentContext extends Pick<\n ChartProps,\n \"legendProps\" | \"tooltipProps\"\n> {\n nameKeyRef: RefObject<string | undefined>\n}\n\nexport interface ChartProps extends HTMLStyledProps, ThemeProps<ChartStyle> {\n /**\n * The components to render the chart components.\n */\n components: {\n component: JSXElementConstructor<any>\n fallback: ReactNode\n }[]\n /**\n * The function to render the chart.\n */\n render: (props: PropsWithChildren) => ReactNode\n /**\n * The color of the label list.\n */\n labelListColor?: CSSProps[\"color\"]\n /**\n * The fill of the label list.\n */\n labelListFill?: CSSProps[\"fill\"]\n /**\n * The fill of the tooltip cursor.\n */\n tooltipCursorFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the tooltip cursor.\n */\n tooltipCursorFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke of the tooltip cursor.\n */\n tooltipCursorStroke?: CSSProps[\"stroke\"]\n /**\n * If `true`, legend is visible.\n *\n * @default false\n */\n withLegend?: boolean\n /**\n * If `true`, tooltip is visible.\n *\n * @default true\n */\n withTooltip?: boolean\n /**\n * Props for the legend component.\n */\n legendProps?: ChartLegendProps\n /**\n * Props for the responsive container component.\n */\n responsiveContainerProps?: ResponsiveContainerProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: ChartTooltipProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ChartPropsContext,\n useComponentContext: useChartComponentContext,\n usePropsContext: useChartPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ChartProps, ChartStyle, ComponentContext>(\n \"chart\",\n chartStyle,\n)\n\nexport { ChartPropsContext, useChartComponentContext, useChartPropsContext }\n\nexport const Chart = withProvider(\n ({\n children,\n components: componentsProp,\n render,\n withLegend = false,\n withTooltip = true,\n legendProps,\n responsiveContainerProps,\n tooltipProps,\n ...rest\n }: ChartProps) => {\n const { highlightedDataKey, onHighlight } = useChart()\n const nameKeyRef = useRef<string | undefined>(undefined)\n const components = useMemo(\n () => [\n ...componentsProp,\n {\n component: ChartLegend,\n fallback: withLegend ? <ChartLegend /> : null,\n },\n {\n component: ChartTooltip,\n fallback: withTooltip ? <ChartTooltip /> : null,\n },\n ],\n [componentsProp, withLegend, withTooltip],\n )\n const [omittedChildren, ...customComponents] = useSplitChildren(\n children,\n ...components.map(({ component }) => component),\n )\n const context = useMemo(\n () => ({\n highlightedDataKey,\n onHighlight,\n }),\n [highlightedDataKey, onHighlight],\n )\n const componentContext = useMemo(\n () => ({\n nameKeyRef,\n legendProps,\n tooltipProps,\n }),\n [legendProps, tooltipProps],\n )\n\n return (\n <ChartContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div {...rest}>\n <ResponsiveContainer {...responsiveContainerProps}>\n {render({\n children: (\n <>\n {components.map(({ fallback }, index) => (\n <Fragment key={index}>\n {customComponents[index] ?? fallback}\n </Fragment>\n ))}\n\n {omittedChildren}\n </>\n ),\n })}\n </ResponsiveContainer>\n </styled.div>\n </ComponentContext>\n </ChartContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n labelListColor,\n labelListFill,\n tooltipCursorFill,\n tooltipCursorFillOpacity,\n tooltipCursorStroke,\n ...rest\n }) => ({\n \"--label-list-color\": varAttr(labelListColor, \"colors\"),\n \"--label-list-fill\": varAttr(labelListFill, \"colors\"),\n \"--tooltip-cursor-fill\": varAttr(tooltipCursorFill, \"colors\"),\n \"--tooltip-cursor-fill-opacity\": tooltipCursorFillOpacity,\n \"--tooltip-cursor-stroke\": varAttr(tooltipCursorStroke, \"colors\"),\n ...rest,\n }),\n)\n\ninterface ChartLegendContext extends Pick<\n UseChartLegendReturn,\n \"getLegendItemProps\"\n> {}\n\nconst [ChartLegendContext, useChartLegendContext] =\n createContext<ChartLegendContext>({\n name: \"ChartLegendContext\",\n })\n\nexport interface ChartLegendProps extends Merge<\n HTMLStyledProps,\n UseChartLegendProps\n> {\n /**\n * Props for the content component.\n */\n contentProps?: Omit<ChartLegendContentProps, \"formatter\" | \"payload\">\n}\n\nexport const ChartLegend = withContext<\"div\", ChartLegendProps>((props) => {\n const { legendProps } = useChartComponentContext()\n const { contentProps, ...rest } = { ...legendProps, ...props }\n const {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n } = useChartLegend({\n content: ({ formatter, payload }) => (\n <ChartLegendContent\n formatter={formatter}\n payload={payload}\n {...getLegendContentProps(contentProps)}\n />\n ),\n ...rest,\n })\n const context = useMemo(() => ({ getLegendItemProps }), [getLegendItemProps])\n\n return (\n <ChartLegendContext value={context}>\n <styled.div asChild {...getRootProps()}>\n <Legend {...getLegendProps()} />\n </styled.div>\n </ChartLegendContext>\n )\n}, \"legend\")()\n\ninterface ChartLegendContentProps\n extends\n HTMLStyledProps,\n Pick<DefaultLegendContentProps, \"formatter\" | \"payload\"> {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartLegendContent = withContext<\"div\", ChartLegendContentProps>(\n ({ formatter, payload, withSwatch = true, ...rest }) => {\n const { nameKeyRef } = useChartComponentContext()\n const { getLegendItemProps } = useChartLegendContext()\n\n return (\n <styled.div {...rest}>\n {payload?.map((data, index) => {\n let value = data.value\n\n if (nameKeyRef.current)\n value = (data.payload as any)?.[nameKeyRef.current]\n\n const dataKey =\n isString(data.dataKey) || isNumber(data.dataKey)\n ? data.dataKey\n : value\n const color = parseJSON(data.color)\n const formattedValue = formatter?.(value, data, index) ?? value\n\n return (\n <ChartLegendItem key={index} {...getLegendItemProps({ dataKey })}>\n {withSwatch ? <ChartLegendSwatch bg={color} /> : null}\n <ChartLegendValue>{formattedValue}</ChartLegendValue>\n </ChartLegendItem>\n )\n })}\n </styled.div>\n )\n },\n \"legendContent\",\n)()\n\ninterface ChartLegendItemProps extends HTMLStyledProps {}\n\nconst ChartLegendItem = withContext<\"div\", ChartLegendItemProps>(\n \"div\",\n \"legendItem\",\n)()\n\ninterface ChartLegendSwatchProps extends HTMLStyledProps {}\n\nconst ChartLegendSwatch = withContext<\"div\", ChartLegendSwatchProps>(\n \"div\",\n \"legendSwatch\",\n)()\n\ninterface ChartLegendValueProps extends HTMLStyledProps<\"span\"> {}\n\nconst ChartLegendValue = withContext<\"span\", ChartLegendValueProps>(\n \"span\",\n \"legendValue\",\n)()\n\nexport interface ChartTooltipProps<\n Y extends (number | string)[] | number | string = number,\n M extends number | string = string,\n> extends Omit<Merge<HTMLStyledProps, UseChartTooltipProps<Y, M>>, \"cursor\"> {\n /**\n * Props for the cursor component.\n */\n cursor?: boolean | ChartTooltipCursorProps | ReactElement\n /**\n * Props for the content component.\n */\n contentProps?: Omit<\n ChartTooltipContentProps,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n >\n}\n\nexport const ChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>(\n props: ChartTooltipProps<Y, M>,\n) => {\n const { tooltipProps } = useChartComponentContext()\n const {\n cursor = false,\n contentProps,\n ...rest\n } = {\n ...tooltipProps,\n ...props,\n } as ChartTooltipProps<Y, M>\n const { getContentProps, getRootProps } = useChartTooltip<Y, M>({\n content: ({ formatter, label, labelFormatter, payload }) => (\n <ChartTooltipContent\n formatter={formatter}\n label={label}\n labelFormatter={labelFormatter}\n payload={payload}\n {...getContentProps(contentProps)}\n />\n ),\n cursor:\n isValidElement(cursor) || !cursor ? (\n cursor\n ) : (\n <ChartTooltipCursor {...(isObject(cursor) ? cursor : {})} />\n ),\n ...rest,\n })\n\n return <Tooltip {...cast<TooltipProps>(getRootProps())} />\n}\n\ninterface ChartTooltipCursorProps extends Omit<\n HTMLStyledProps<\"path\">,\n \"height\" | \"points\" | \"width\"\n> {\n brushBottom?: number\n height?: number\n payload?: Dict[]\n payloadIndex?: number\n points?: { x: number; y: number }[]\n width?: number\n}\n\nconst ChartTooltipCursor = withContext<\"path\", ChartTooltipCursorProps>(\n \"path\",\n \"tooltipCursor\",\n)(\n undefined,\n ({\n bottom: _bottom,\n brushBottom: _brushBottom,\n fill,\n height,\n left: _left,\n payload: _payload,\n payloadIndex: _payloadIndex,\n points,\n right: _right,\n stroke,\n top: _top,\n width,\n x,\n y,\n ...rest\n }) => {\n const d = points\n ? `M${points[0]?.x},${points[0]?.y}L${points[1]?.x},${points[1]?.y}`\n : `M ${x},${y} h ${width} v ${height} h -${width} Z`\n return {\n asChild: true,\n children: <path d={d} height={height} width={width} />,\n fill: fill === \"#ccc\" ? undefined : fill,\n stroke: stroke === \"#ccc\" ? undefined : stroke,\n ...rest,\n }\n },\n)\n\ninterface ChartTooltipContentProps\n extends\n HTMLStyledProps,\n Pick<\n TooltipContentProps<any, any>,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n > {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartTooltipContent = withContext<\"div\", ChartTooltipContentProps>(\n ({\n formatter,\n label: labelProp,\n labelFormatter,\n payload,\n withSwatch = true,\n ...rest\n }) => {\n const { nameKeyRef } = useChartComponentContext()\n const label = labelFormatter\n ? labelFormatter(labelProp, payload)\n : labelProp\n\n return (\n <styled.div {...rest}>\n {!isUndefined(label) && !isNull(label) ? (\n <ChartTooltipLabel>{label}</ChartTooltipLabel>\n ) : null}\n\n <ChartTooltipList>\n {payload.map((data, index) => {\n if (nameKeyRef.current) data.name = data.payload[nameKeyRef.current]\n\n const color = parseJSON(data.color) || data.payload.fill\n const result =\n formatter?.(data.value, data.name, data, index, payload) ??\n (isArray(data.value) ? data.value.join(\", \") : data.value)\n const [value, name] = isArray(result) ? result : [result, data.name]\n\n return (\n <ChartTooltipItem key={index}>\n {withSwatch ? <ChartTooltipSwatch bg={color} /> : null}\n <ChartTooltipName>{name}</ChartTooltipName>\n <ChartTooltipValue>{value}</ChartTooltipValue>\n </ChartTooltipItem>\n )\n })}\n </ChartTooltipList>\n </styled.div>\n )\n },\n \"tooltipContent\",\n)()\n\ninterface ChartTooltipLabel extends HTMLStyledProps<\"p\"> {}\n\nconst ChartTooltipLabel = withContext<\"p\", ChartTooltipLabel>(\n \"p\",\n \"tooltipLabel\",\n)()\n\ninterface ChartTooltipList extends HTMLStyledProps {}\n\nconst ChartTooltipList = withContext<\"div\", ChartTooltipList>(\n \"div\",\n \"tooltipList\",\n)()\n\ninterface ChartTooltipItem extends HTMLStyledProps {}\n\nconst ChartTooltipItem = withContext<\"div\", ChartTooltipItem>(\n \"div\",\n \"tooltipItem\",\n)()\n\ninterface ChartTooltipSwatch extends HTMLStyledProps {}\n\nconst ChartTooltipSwatch = withContext<\"div\", ChartTooltipSwatch>(\n \"div\",\n \"tooltipSwatch\",\n)()\n\ninterface ChartTooltipName extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipName = withContext<\"span\", ChartTooltipName>(\n \"span\",\n \"tooltipName\",\n)()\n\ninterface ChartTooltipValue extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipValue = withContext<\"span\", ChartTooltipValue>(\n \"span\",\n \"tooltipValue\",\n)()\n\nexport interface ChartLabelListProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelListProps\n> {}\n\nexport const ChartLabelList = withContext<\"text\", ChartLabelListProps>(\n (props) => {\n const { getLabelListProps, getRootProps } = useChartLabelList(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <LabelList {...getLabelListProps()} />\n </styled.text>\n )\n },\n \"labelList\",\n)()\n\nexport interface ChartLabelProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelProps\n> {}\n\nexport const ChartLabel = withContext<\"text\", ChartLabelProps>((props) => {\n const { getLabelProps, getRootProps } = useChartLabel(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <Label {...getLabelProps()} />\n </styled.text>\n )\n}, \"label\")()\n"],"mappings":"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"}
1
+ {"version":3,"file":"chart.cjs","names":["createSlotComponent","chartStyle","useChart","useSplitChildren","ChartContext","styled","ResponsiveContainer","Fragment","varAttr","createContext","mergeProps","useChartLegend","Legend","useChartTooltip","Tooltip","useChartLabelList","LabelList","useChartLabel","Label"],"sources":["../../../../src/components/chart/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n JSXElementConstructor,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n RefObject,\n} from \"react\"\nimport type {\n ActiveDotProps,\n DataKey,\n DefaultLegendContentProps,\n DotItemDotProps,\n DotProps,\n LabelProps,\n RenderableText,\n ResponsiveContainerProps,\n TooltipContentProps,\n TooltipProps,\n} from \"recharts\"\nimport type { CSSProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { ChartStyle } from \"./chart.style\"\nimport type {\n UseChartLabelListProps,\n UseChartLabelProps,\n UseChartLegendProps,\n UseChartLegendReturn,\n UseChartTooltipProps,\n} from \"./use-chart\"\nimport { Fragment, isValidElement, useMemo, useRef } from \"react\"\nimport {\n Label,\n LabelList,\n Legend,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport {\n cast,\n createContext,\n isArray,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n useSplitChildren,\n} from \"../../utils\"\nimport { chartStyle } from \"./chart.style\"\nimport {\n ChartContext,\n useChart,\n useChartLabel,\n useChartLabelList,\n useChartLegend,\n useChartTooltip,\n} from \"./use-chart\"\n\nexport type ChartDot =\n | ((props: DotItemDotProps) => ReactNode)\n | boolean\n | Merge<Partial<DotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartActiveDot =\n | ((props: ActiveDotProps) => ReactNode)\n | boolean\n | Merge<Partial<ActiveDotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartLabel =\n | ((props: any) => ReactElement | RenderableText)\n | boolean\n | (Merge<\n HTMLStyledProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"content\"\n | \"formatter\"\n | \"index\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"textBreakAll\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n > & { dataKey?: DataKey<any> })\n | number\n | ReactElement\n | string\n\nexport type ChartLabelList =\n | ((props: LabelProps) => ReactElement | RenderableText)\n | boolean\n | ChartLabelListProps\n | ReactElement\n\nexport type ChartTickLine = boolean | HTMLStyledProps<\"line\">\n\nexport type GradientStrategy = \"invert\" | \"shade\" | \"tint\"\n\nexport function mergeSeries<Y>(\n series: Y[],\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { color: CSSProps[\"color\"] })[] {\n const colors = gradients(series.length, color, strategy)\n\n return series.map((item, index) => ({ ...item, color: colors[index] }))\n}\n\nexport function mergeData<Y>(\n data: Y[],\n color: CSSProps[\"fill\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { fill: CSSProps[\"fill\"] })[] {\n const colors = gradients(data.length, color, strategy)\n\n return data.map((item, index) => ({ ...item, fill: colors[index] }))\n}\n\nexport function gradients(\n length: number,\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): CSSProps[\"color\"][] {\n return Array.from({ length }, (_, index) => {\n const value = Math.floor(100 - (100 / length) * index)\n const percent = `${value}%`\n\n if (strategy === \"invert\") {\n return [\n `tint(colors.${color}, ${percent})`,\n `shade(colors.${color}, ${percent})`,\n ]\n } else {\n return `${strategy}(colors.${color}, ${percent})`\n }\n })\n}\n\nfunction parseJSON(value: any) {\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n}\n\ninterface ComponentContext extends Pick<\n ChartProps,\n \"legendProps\" | \"tooltipProps\"\n> {\n nameKeyRef: RefObject<string | undefined>\n}\n\nexport interface ChartProps extends HTMLStyledProps, ThemeProps<ChartStyle> {\n /**\n * The components to render the chart components.\n */\n components: {\n component: JSXElementConstructor<any>\n fallback: ReactNode\n }[]\n /**\n * The function to render the chart.\n */\n render: (props: PropsWithChildren) => ReactNode\n /**\n * The color of the label list.\n */\n labelListColor?: CSSProps[\"color\"]\n /**\n * The fill of the label list.\n */\n labelListFill?: CSSProps[\"fill\"]\n /**\n * The fill of the tooltip cursor.\n */\n tooltipCursorFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the tooltip cursor.\n */\n tooltipCursorFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke of the tooltip cursor.\n */\n tooltipCursorStroke?: CSSProps[\"stroke\"]\n /**\n * If `true`, legend is visible.\n *\n * @default false\n */\n withLegend?: boolean\n /**\n * If `true`, tooltip is visible.\n *\n * @default true\n */\n withTooltip?: boolean\n /**\n * Props for the legend component.\n */\n legendProps?: ChartLegendProps\n /**\n * Props for the responsive container component.\n */\n responsiveContainerProps?: ResponsiveContainerProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: ChartTooltipProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ChartPropsContext,\n useComponentContext: useChartComponentContext,\n usePropsContext: useChartPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ChartProps, ChartStyle, ComponentContext>(\n \"chart\",\n chartStyle,\n)\n\nexport { ChartPropsContext, useChartComponentContext, useChartPropsContext }\n\nexport const Chart = withProvider(\n ({\n children,\n components: componentsProp,\n render,\n withLegend = false,\n withTooltip = true,\n legendProps,\n responsiveContainerProps,\n tooltipProps,\n ...rest\n }: ChartProps) => {\n const { highlightedDataKey, onHighlight } = useChart()\n const nameKeyRef = useRef<string | undefined>(undefined)\n const components = useMemo(\n () => [\n ...componentsProp,\n {\n component: ChartLegend,\n fallback: withLegend ? <ChartLegend /> : null,\n },\n {\n component: ChartTooltip,\n fallback: withTooltip ? <ChartTooltip /> : null,\n },\n ],\n [componentsProp, withLegend, withTooltip],\n )\n const [omittedChildren, ...customComponents] = useSplitChildren(\n children,\n ...components.map(({ component }) => component),\n )\n const context = useMemo(\n () => ({\n highlightedDataKey,\n onHighlight,\n }),\n [highlightedDataKey, onHighlight],\n )\n const componentContext = useMemo(\n () => ({\n nameKeyRef,\n legendProps,\n tooltipProps,\n }),\n [legendProps, tooltipProps],\n )\n\n return (\n <ChartContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div {...rest}>\n <ResponsiveContainer {...responsiveContainerProps}>\n {render({\n children: (\n <>\n {components.map(({ fallback }, index) => (\n <Fragment key={index}>\n {customComponents[index] ?? fallback}\n </Fragment>\n ))}\n\n {omittedChildren}\n </>\n ),\n })}\n </ResponsiveContainer>\n </styled.div>\n </ComponentContext>\n </ChartContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n labelListColor,\n labelListFill,\n tooltipCursorFill,\n tooltipCursorFillOpacity,\n tooltipCursorStroke,\n ...rest\n }) => ({\n \"--label-list-color\": varAttr(labelListColor, \"colors\"),\n \"--label-list-fill\": varAttr(labelListFill, \"colors\"),\n \"--tooltip-cursor-fill\": varAttr(tooltipCursorFill, \"colors\"),\n \"--tooltip-cursor-fill-opacity\": tooltipCursorFillOpacity,\n \"--tooltip-cursor-stroke\": varAttr(tooltipCursorStroke, \"colors\"),\n ...rest,\n }),\n)\n\ninterface ChartLegendContext extends Pick<\n UseChartLegendReturn,\n \"getLegendItemProps\"\n> {}\n\nconst [ChartLegendContext, useChartLegendContext] =\n createContext<ChartLegendContext>({\n name: \"ChartLegendContext\",\n })\n\nexport interface ChartLegendProps extends Merge<\n HTMLStyledProps,\n UseChartLegendProps\n> {\n /**\n * Props for the content component.\n */\n contentProps?: Omit<ChartLegendContentProps, \"formatter\" | \"payload\">\n}\n\nexport const ChartLegend = withContext<\"div\", ChartLegendProps>((props) => {\n const { legendProps } = useChartComponentContext()\n const { contentProps, ...rest } = mergeProps(legendProps, props)()\n const {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n } = useChartLegend({\n content: ({ formatter, payload }) => (\n <ChartLegendContent\n formatter={formatter}\n payload={payload}\n {...getLegendContentProps(contentProps)}\n />\n ),\n ...rest,\n })\n const context = useMemo(() => ({ getLegendItemProps }), [getLegendItemProps])\n\n return (\n <ChartLegendContext value={context}>\n <styled.div asChild {...getRootProps()}>\n <Legend {...getLegendProps()} />\n </styled.div>\n </ChartLegendContext>\n )\n}, \"legend\")()\n\ninterface ChartLegendContentProps\n extends\n HTMLStyledProps,\n Pick<DefaultLegendContentProps, \"formatter\" | \"payload\"> {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartLegendContent = withContext<\"div\", ChartLegendContentProps>(\n ({ formatter, payload, withSwatch = true, ...rest }) => {\n const { nameKeyRef } = useChartComponentContext()\n const { getLegendItemProps } = useChartLegendContext()\n\n return (\n <styled.div {...rest}>\n {payload?.map((data, index) => {\n let value = data.value\n\n if (nameKeyRef.current)\n value = (data.payload as any)?.[nameKeyRef.current]\n\n const dataKey =\n isString(data.dataKey) || isNumber(data.dataKey)\n ? data.dataKey\n : value\n const color = parseJSON(data.color)\n const formattedValue = formatter?.(value, data, index) ?? value\n\n return (\n <ChartLegendItem key={index} {...getLegendItemProps({ dataKey })}>\n {withSwatch ? <ChartLegendSwatch bg={color} /> : null}\n <ChartLegendValue>{formattedValue}</ChartLegendValue>\n </ChartLegendItem>\n )\n })}\n </styled.div>\n )\n },\n \"legendContent\",\n)()\n\ninterface ChartLegendItemProps extends HTMLStyledProps {}\n\nconst ChartLegendItem = withContext<\"div\", ChartLegendItemProps>(\n \"div\",\n \"legendItem\",\n)()\n\ninterface ChartLegendSwatchProps extends HTMLStyledProps {}\n\nconst ChartLegendSwatch = withContext<\"div\", ChartLegendSwatchProps>(\n \"div\",\n \"legendSwatch\",\n)()\n\ninterface ChartLegendValueProps extends HTMLStyledProps<\"span\"> {}\n\nconst ChartLegendValue = withContext<\"span\", ChartLegendValueProps>(\n \"span\",\n \"legendValue\",\n)()\n\nexport interface ChartTooltipProps<\n Y extends (number | string)[] | number | string = number,\n M extends number | string = string,\n> extends Omit<Merge<HTMLStyledProps, UseChartTooltipProps<Y, M>>, \"cursor\"> {\n /**\n * Props for the cursor component.\n */\n cursor?: boolean | ChartTooltipCursorProps | ReactElement\n /**\n * Props for the content component.\n */\n contentProps?: Omit<\n ChartTooltipContentProps,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n >\n}\n\nexport const ChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>(\n props: ChartTooltipProps<Y, M>,\n) => {\n const { tooltipProps } = useChartComponentContext()\n const {\n cursor = false,\n contentProps,\n ...rest\n } = {\n ...tooltipProps,\n ...props,\n } as ChartTooltipProps<Y, M>\n const { getContentProps, getRootProps } = useChartTooltip<Y, M>({\n content: ({ formatter, label, labelFormatter, payload }) => (\n <ChartTooltipContent\n formatter={formatter}\n label={label}\n labelFormatter={labelFormatter}\n payload={payload}\n {...getContentProps(contentProps)}\n />\n ),\n cursor:\n isValidElement(cursor) || !cursor ? (\n cursor\n ) : (\n <ChartTooltipCursor {...(isObject(cursor) ? cursor : {})} />\n ),\n ...rest,\n })\n\n return <Tooltip {...cast<TooltipProps>(getRootProps())} />\n}\n\ninterface ChartTooltipCursorProps extends Omit<\n HTMLStyledProps<\"path\">,\n \"height\" | \"points\" | \"width\"\n> {\n brushBottom?: number\n height?: number\n payload?: Dict[]\n payloadIndex?: number\n points?: { x: number; y: number }[]\n width?: number\n}\n\nconst ChartTooltipCursor = withContext<\"path\", ChartTooltipCursorProps>(\n \"path\",\n \"tooltipCursor\",\n)(\n undefined,\n ({\n bottom: _bottom,\n brushBottom: _brushBottom,\n fill,\n height,\n left: _left,\n payload: _payload,\n payloadIndex: _payloadIndex,\n points,\n right: _right,\n stroke,\n top: _top,\n width,\n x,\n y,\n ...rest\n }) => {\n const d = points\n ? `M${points[0]?.x},${points[0]?.y}L${points[1]?.x},${points[1]?.y}`\n : `M ${x},${y} h ${width} v ${height} h -${width} Z`\n return {\n asChild: true,\n children: <path d={d} height={height} width={width} />,\n fill: fill === \"#ccc\" ? undefined : fill,\n stroke: stroke === \"#ccc\" ? undefined : stroke,\n ...rest,\n }\n },\n)\n\ninterface ChartTooltipContentProps\n extends\n HTMLStyledProps,\n Pick<\n TooltipContentProps<any, any>,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n > {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartTooltipContent = withContext<\"div\", ChartTooltipContentProps>(\n ({\n formatter,\n label: labelProp,\n labelFormatter,\n payload,\n withSwatch = true,\n ...rest\n }) => {\n const { nameKeyRef } = useChartComponentContext()\n const label = labelFormatter\n ? labelFormatter(labelProp, payload)\n : labelProp\n\n return (\n <styled.div {...rest}>\n {!isUndefined(label) && !isNull(label) ? (\n <ChartTooltipLabel>{label}</ChartTooltipLabel>\n ) : null}\n\n <ChartTooltipList>\n {payload.map((data, index) => {\n if (nameKeyRef.current) data.name = data.payload[nameKeyRef.current]\n\n const color = parseJSON(data.color) || data.payload.fill\n const result =\n formatter?.(data.value, data.name, data, index, payload) ??\n (isArray(data.value) ? data.value.join(\", \") : data.value)\n const [value, name] = isArray(result) ? result : [result, data.name]\n\n return (\n <ChartTooltipItem key={index}>\n {withSwatch ? <ChartTooltipSwatch bg={color} /> : null}\n <ChartTooltipName>{name}</ChartTooltipName>\n <ChartTooltipValue>{value}</ChartTooltipValue>\n </ChartTooltipItem>\n )\n })}\n </ChartTooltipList>\n </styled.div>\n )\n },\n \"tooltipContent\",\n)()\n\ninterface ChartTooltipLabel extends HTMLStyledProps<\"p\"> {}\n\nconst ChartTooltipLabel = withContext<\"p\", ChartTooltipLabel>(\n \"p\",\n \"tooltipLabel\",\n)()\n\ninterface ChartTooltipList extends HTMLStyledProps {}\n\nconst ChartTooltipList = withContext<\"div\", ChartTooltipList>(\n \"div\",\n \"tooltipList\",\n)()\n\ninterface ChartTooltipItem extends HTMLStyledProps {}\n\nconst ChartTooltipItem = withContext<\"div\", ChartTooltipItem>(\n \"div\",\n \"tooltipItem\",\n)()\n\ninterface ChartTooltipSwatch extends HTMLStyledProps {}\n\nconst ChartTooltipSwatch = withContext<\"div\", ChartTooltipSwatch>(\n \"div\",\n \"tooltipSwatch\",\n)()\n\ninterface ChartTooltipName extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipName = withContext<\"span\", ChartTooltipName>(\n \"span\",\n \"tooltipName\",\n)()\n\ninterface ChartTooltipValue extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipValue = withContext<\"span\", ChartTooltipValue>(\n \"span\",\n \"tooltipValue\",\n)()\n\nexport interface ChartLabelListProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelListProps\n> {}\n\nexport const ChartLabelList = withContext<\"text\", ChartLabelListProps>(\n (props) => {\n const { getLabelListProps, getRootProps } = useChartLabelList(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <LabelList {...getLabelListProps()} />\n </styled.text>\n )\n },\n \"labelList\",\n)()\n\nexport interface ChartLabelProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelProps\n> {}\n\nexport const ChartLabel = withContext<\"text\", ChartLabelProps>((props) => {\n const { getLabelProps, getRootProps } = useChartLabel(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <Label {...getLabelProps()} />\n </styled.text>\n )\n}, \"label\")()\n"],"mappings":"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"}
@@ -114,32 +114,20 @@ const PolarChart = withProvider(({ components: componentsProp, nameKey, render,
114
114
  }));
115
115
  const ChartPie = withContext((props) => {
116
116
  const { pieProps } = useComponentContext();
117
- const { activeIndex, children, label: labelProp, labelLine: labelLineProp = false, labelList = false, nameKey, sectorProps, ...rest } = {
118
- ...pieProps,
119
- ...props
120
- };
117
+ const { activeIndex, children, label: labelProp, labelLine: labelLineProp = false, labelList = false, nameKey, sectorProps, ...rest } = require_props.mergeProps(pieProps, props)();
121
118
  const shape = (0, react.useCallback)((props$1, index) => {
122
119
  if ((0, require_utils_index.utils_exports.isNumber)(activeIndex)) props$1.isActive = index === activeIndex;
123
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartSector, {
124
- ...props$1,
125
- ...(0, require_utils_index.utils_exports.runIfFn)(sectorProps, props$1, index)
126
- });
120
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartSector, { ...require_props.mergeProps(props$1, (0, require_utils_index.utils_exports.runIfFn)(sectorProps, props$1, index))() });
127
121
  }, [activeIndex, sectorProps]);
128
122
  const { getPieProps, getRootProps } = require_use_polar_chart.useChartPie({
129
123
  label: (0, react.useMemo)(() => {
130
124
  if (!labelProp) return labelProp;
131
- const Component = (props$1) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartPieLabel, {
132
- ...props$1,
133
- ...labelProp !== true ? (0, require_utils_index.utils_exports.runIfFn)(labelProp, props$1) : {}
134
- });
125
+ const Component = (props$1) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartPieLabel, { ...require_props.mergeProps(props$1, labelProp !== true ? (0, require_utils_index.utils_exports.runIfFn)(labelProp, props$1) : {})() });
135
126
  return Component;
136
127
  }, [labelProp]),
137
128
  labelLine: (0, react.useMemo)(() => {
138
129
  if (!labelLineProp) return labelLineProp;
139
- const Component = ({ key: _, ...rest$1 }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartPieLabelLine, {
140
- ...rest$1,
141
- ...labelLineProp !== true ? (0, require_utils_index.utils_exports.runIfFn)(labelLineProp, rest$1) : {}
142
- });
130
+ const Component = ({ key: _, ...rest$1 }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartPieLabelLine, { ...require_props.mergeProps(rest$1, labelLineProp !== true ? (0, require_utils_index.utils_exports.runIfFn)(labelLineProp, rest$1) : {})() });
143
131
  return Component;
144
132
  }, [labelLineProp]),
145
133
  nameKey,
@@ -188,20 +176,14 @@ const ChartPieLabelLine = withContext((props) => {
188
176
  }, "labelLine")();
189
177
  const ChartDonut = component(ChartPie, "donut")(void 0, (props) => {
190
178
  const { pieProps } = useComponentContext();
191
- return {
192
- ...pieProps,
193
- ...props
194
- };
179
+ return require_props.mergeProps(pieProps, props)();
195
180
  }, ({ label, ...rest }) => ({
196
181
  innerRadius: !label ? "70%" : "50%",
197
182
  ...rest
198
183
  }));
199
184
  const ChartRadar = withContext((props) => {
200
185
  const { radarProps } = useComponentContext();
201
- const { activeDot: activeDotProp = true, children, dataKey, dot: dotProp = false, label: labelProp = false, stroke: strokeProp, ...rest } = {
202
- ...radarProps,
203
- ...props
204
- };
186
+ const { activeDot: activeDotProp = true, children, dataKey, dot: dotProp = false, label: labelProp = false, stroke: strokeProp, ...rest } = require_props.mergeProps(radarProps, props)();
205
187
  const id = (0, react.useId)();
206
188
  const system = require_system_provider.useSystem();
207
189
  const { theme } = require_theme_provider.useTheme();
@@ -312,10 +294,7 @@ const ChartRadar = withContext((props) => {
312
294
  }, "radar")();
313
295
  const ChartAngleAxis = withContext((props) => {
314
296
  const { nameKey, angleAxisProps } = useComponentContext();
315
- const { axisLine: axisLineProp = false, children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = {
316
- ...angleAxisProps,
317
- ...props
318
- };
297
+ const { axisLine: axisLineProp = false, children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = require_props.mergeProps(angleAxisProps, props)();
319
298
  const system = require_system_provider.useSystem();
320
299
  const { theme } = require_theme_provider.useTheme();
321
300
  const tickProps = useSlotComponentProps({}, "angleAxisTick");
@@ -417,10 +396,7 @@ const ChartAngleAxis = withContext((props) => {
417
396
  }, "angleAxis")();
418
397
  const ChartRadiusAxis = withContext((props) => {
419
398
  const { radiusAxisProps } = useComponentContext();
420
- const { axisLine: axisLineProp = false, children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = {
421
- ...radiusAxisProps,
422
- ...props
423
- };
399
+ const { axisLine: axisLineProp = false, children, label: labelProp = false, tick: tickProp = true, tickLine: tickLineProp = false, ...rest } = require_props.mergeProps(radiusAxisProps, props)();
424
400
  const system = require_system_provider.useSystem();
425
401
  const { theme } = require_theme_provider.useTheme();
426
402
  const tickProps = useSlotComponentProps({}, "radiusAxisTick");
@@ -533,10 +509,7 @@ const ChartPolarGrid = withContext((props) => {
533
509
  }, "grid")();
534
510
  const ChartRadial = withContext((props) => {
535
511
  const { radialProps } = useComponentContext();
536
- const { background: backgroundProp = true, children, dataKey, label: labelProp = false, labelList = false, nameKey, sectorProps, ...rest } = {
537
- ...radialProps,
538
- ...props
539
- };
512
+ const { background: backgroundProp = true, children, dataKey, label: labelProp = false, labelList = false, nameKey, sectorProps, ...rest } = require_props.mergeProps(radialProps, props)();
540
513
  const system = require_system_provider.useSystem();
541
514
  const { theme } = require_theme_provider.useTheme();
542
515
  const { nameKeyRef } = require_chart.useChartComponentContext();
@@ -546,8 +519,7 @@ const ChartRadial = withContext((props) => {
546
519
  const shape = (0, react.useCallback)((props$1) => {
547
520
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChartSector, {
548
521
  color: rest.fill ?? rest.color,
549
- ...props$1,
550
- ...(0, require_utils_index.utils_exports.runIfFn)(sectorProps, props$1)
522
+ ...require_props.mergeProps(props$1, (0, require_utils_index.utils_exports.runIfFn)(sectorProps, props$1))()
551
523
  });
552
524
  }, [
553
525
  rest.fill,