@alfalab/core-components-chart 5.0.2 → 5.0.3

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 (161) hide show
  1. package/Component.js.map +1 -1
  2. package/components/Dot/index.css +7 -7
  3. package/components/Dot/index.js.map +1 -1
  4. package/components/Dot/index.module.css.js +1 -1
  5. package/components/Legends/index.css +7 -7
  6. package/components/Legends/index.module.css.js +1 -1
  7. package/components/Legends/index.module.css.js.map +1 -1
  8. package/components/Tick/index.css +2 -2
  9. package/components/Tick/index.module.css.js +1 -1
  10. package/components/Tick/index.module.css.js.map +1 -1
  11. package/components/TooltipContent/index.css +6 -6
  12. package/components/TooltipContent/index.js.map +1 -1
  13. package/components/TooltipContent/index.module.css.js +1 -1
  14. package/components/TooltipContent/index.module.css.js.map +1 -1
  15. package/cssm/Component.js.map +1 -1
  16. package/cssm/components/Dot/index.js.map +1 -1
  17. package/cssm/components/RectBar.d.ts +0 -1
  18. package/cssm/components/TooltipContent/index.js.map +1 -1
  19. package/cssm/hooks/usePathBar/index.d.ts +1 -1
  20. package/cssm/hooks/usePathBar/index.js.map +1 -1
  21. package/cssm/hooks/useSettings/index.d.ts +1 -1
  22. package/cssm/hooks/useSettings/utils/setComposedChartsMargin.d.ts +1 -1
  23. package/cssm/hooks/useSettings/utils/setDatas.d.ts +1 -1
  24. package/cssm/hooks/useSettings/utils/setDatas.js.map +1 -1
  25. package/cssm/hooks/useSettings/utils/setGradientCharts.js.map +1 -1
  26. package/cssm/hooks/useSettings/utils/setLegendMargin.js.map +1 -1
  27. package/cssm/hooks/useSettings/utils/sortByIndex.js.map +1 -1
  28. package/cssm/icons/Circle.d.ts +1 -1
  29. package/cssm/icons/CircleLine.d.ts +1 -1
  30. package/cssm/icons/FilledCircle.d.ts +1 -1
  31. package/cssm/icons/Point.d.ts +1 -1
  32. package/cssm/icons/StrokeCircle.d.ts +1 -1
  33. package/cssm/types/chart.types.d.ts +2 -2
  34. package/cssm/types/payload.types.d.ts +0 -1
  35. package/cssm/types/seria.types.d.ts +1 -1
  36. package/cssm/types/tooltip.types.d.ts +1 -1
  37. package/cssm/types/utils/tick.types.d.ts +0 -1
  38. package/esm/Component.js.map +1 -1
  39. package/esm/components/Dot/index.css +7 -7
  40. package/esm/components/Dot/index.js.map +1 -1
  41. package/esm/components/Dot/index.module.css.js +1 -1
  42. package/esm/components/Legends/index.css +7 -7
  43. package/esm/components/Legends/index.module.css.js +1 -1
  44. package/esm/components/Legends/index.module.css.js.map +1 -1
  45. package/esm/components/RectBar.d.ts +0 -1
  46. package/esm/components/Tick/index.css +2 -2
  47. package/esm/components/Tick/index.module.css.js +1 -1
  48. package/esm/components/Tick/index.module.css.js.map +1 -1
  49. package/esm/components/TooltipContent/index.css +6 -6
  50. package/esm/components/TooltipContent/index.js.map +1 -1
  51. package/esm/components/TooltipContent/index.module.css.js +1 -1
  52. package/esm/components/TooltipContent/index.module.css.js.map +1 -1
  53. package/esm/hooks/usePathBar/index.d.ts +1 -1
  54. package/esm/hooks/usePathBar/index.js.map +1 -1
  55. package/esm/hooks/useSettings/index.d.ts +1 -1
  56. package/esm/hooks/useSettings/utils/setComposedChartsMargin.d.ts +1 -1
  57. package/esm/hooks/useSettings/utils/setDatas.d.ts +1 -1
  58. package/esm/hooks/useSettings/utils/setDatas.js.map +1 -1
  59. package/esm/hooks/useSettings/utils/setGradientCharts.js.map +1 -1
  60. package/esm/hooks/useSettings/utils/setLegendMargin.js.map +1 -1
  61. package/esm/hooks/useSettings/utils/sortByIndex.js.map +1 -1
  62. package/esm/icons/Circle.d.ts +1 -1
  63. package/esm/icons/CircleLine.d.ts +1 -1
  64. package/esm/icons/FilledCircle.d.ts +1 -1
  65. package/esm/icons/Point.d.ts +1 -1
  66. package/esm/icons/StrokeCircle.d.ts +1 -1
  67. package/esm/index.css +4 -4
  68. package/esm/index.module.css.js +1 -1
  69. package/esm/index.module.css.js.map +1 -1
  70. package/esm/types/chart.types.d.ts +2 -2
  71. package/esm/types/payload.types.d.ts +0 -1
  72. package/esm/types/seria.types.d.ts +1 -1
  73. package/esm/types/tooltip.types.d.ts +1 -1
  74. package/esm/types/utils/tick.types.d.ts +0 -1
  75. package/hooks/usePathBar/index.d.ts +1 -1
  76. package/hooks/usePathBar/index.js.map +1 -1
  77. package/hooks/useSettings/index.d.ts +1 -1
  78. package/hooks/useSettings/utils/setComposedChartsMargin.d.ts +1 -1
  79. package/hooks/useSettings/utils/setDatas.d.ts +1 -1
  80. package/hooks/useSettings/utils/setDatas.js.map +1 -1
  81. package/hooks/useSettings/utils/setGradientCharts.js.map +1 -1
  82. package/hooks/useSettings/utils/setLegendMargin.js.map +1 -1
  83. package/hooks/useSettings/utils/sortByIndex.js.map +1 -1
  84. package/icons/Circle.d.ts +1 -1
  85. package/icons/CircleLine.d.ts +1 -1
  86. package/icons/FilledCircle.d.ts +1 -1
  87. package/icons/Point.d.ts +1 -1
  88. package/icons/StrokeCircle.d.ts +1 -1
  89. package/index.css +4 -4
  90. package/index.module.css.js +1 -1
  91. package/index.module.css.js.map +1 -1
  92. package/modern/Component.js.map +1 -1
  93. package/modern/components/Dot/index.css +7 -7
  94. package/modern/components/Dot/index.js.map +1 -1
  95. package/modern/components/Dot/index.module.css.js +1 -1
  96. package/modern/components/Legends/index.css +7 -7
  97. package/modern/components/Legends/index.module.css.js +1 -1
  98. package/modern/components/Legends/index.module.css.js.map +1 -1
  99. package/modern/components/RectBar.d.ts +0 -1
  100. package/modern/components/Tick/index.css +2 -2
  101. package/modern/components/Tick/index.module.css.js +1 -1
  102. package/modern/components/Tick/index.module.css.js.map +1 -1
  103. package/modern/components/TooltipContent/index.css +6 -6
  104. package/modern/components/TooltipContent/index.js.map +1 -1
  105. package/modern/components/TooltipContent/index.module.css.js +1 -1
  106. package/modern/components/TooltipContent/index.module.css.js.map +1 -1
  107. package/modern/hooks/usePathBar/index.d.ts +1 -1
  108. package/modern/hooks/usePathBar/index.js.map +1 -1
  109. package/modern/hooks/useSettings/index.d.ts +1 -1
  110. package/modern/hooks/useSettings/utils/setComposedChartsMargin.d.ts +1 -1
  111. package/modern/hooks/useSettings/utils/setDatas.d.ts +1 -1
  112. package/modern/hooks/useSettings/utils/setDatas.js.map +1 -1
  113. package/modern/hooks/useSettings/utils/setGradientCharts.js.map +1 -1
  114. package/modern/hooks/useSettings/utils/setLegendMargin.js.map +1 -1
  115. package/modern/hooks/useSettings/utils/sortByIndex.js.map +1 -1
  116. package/modern/icons/Circle.d.ts +1 -1
  117. package/modern/icons/CircleLine.d.ts +1 -1
  118. package/modern/icons/FilledCircle.d.ts +1 -1
  119. package/modern/icons/Point.d.ts +1 -1
  120. package/modern/icons/StrokeCircle.d.ts +1 -1
  121. package/modern/index.css +4 -4
  122. package/modern/index.module.css.js +1 -1
  123. package/modern/index.module.css.js.map +1 -1
  124. package/modern/types/chart.types.d.ts +2 -2
  125. package/modern/types/payload.types.d.ts +0 -1
  126. package/modern/types/seria.types.d.ts +1 -1
  127. package/modern/types/tooltip.types.d.ts +1 -1
  128. package/modern/types/utils/tick.types.d.ts +0 -1
  129. package/moderncssm/Component.js.map +1 -1
  130. package/moderncssm/components/Dot/index.js.map +1 -1
  131. package/moderncssm/components/RectBar.d.ts +0 -1
  132. package/moderncssm/components/TooltipContent/index.js.map +1 -1
  133. package/moderncssm/hooks/usePathBar/index.d.ts +1 -1
  134. package/moderncssm/hooks/usePathBar/index.js.map +1 -1
  135. package/moderncssm/hooks/useSettings/index.d.ts +1 -1
  136. package/moderncssm/hooks/useSettings/utils/setComposedChartsMargin.d.ts +1 -1
  137. package/moderncssm/hooks/useSettings/utils/setDatas.d.ts +1 -1
  138. package/moderncssm/hooks/useSettings/utils/setDatas.js.map +1 -1
  139. package/moderncssm/hooks/useSettings/utils/setGradientCharts.js.map +1 -1
  140. package/moderncssm/hooks/useSettings/utils/setLegendMargin.js.map +1 -1
  141. package/moderncssm/hooks/useSettings/utils/sortByIndex.js.map +1 -1
  142. package/moderncssm/icons/Circle.d.ts +1 -1
  143. package/moderncssm/icons/CircleLine.d.ts +1 -1
  144. package/moderncssm/icons/FilledCircle.d.ts +1 -1
  145. package/moderncssm/icons/Point.d.ts +1 -1
  146. package/moderncssm/icons/StrokeCircle.d.ts +1 -1
  147. package/moderncssm/types/chart.types.d.ts +2 -2
  148. package/moderncssm/types/payload.types.d.ts +0 -1
  149. package/moderncssm/types/seria.types.d.ts +1 -1
  150. package/moderncssm/types/tooltip.types.d.ts +1 -1
  151. package/moderncssm/types/utils/tick.types.d.ts +0 -1
  152. package/package.json +4 -4
  153. package/src/components/Legends/index.module.css +1 -1
  154. package/src/components/Tick/index.module.css +1 -1
  155. package/src/components/TooltipContent/index.module.css +1 -1
  156. package/src/index.module.css +1 -1
  157. package/types/chart.types.d.ts +2 -2
  158. package/types/payload.types.d.ts +0 -1
  159. package/types/seria.types.d.ts +1 -1
  160. package/types/tooltip.types.d.ts +1 -1
  161. package/types/utils/tick.types.d.ts +0 -1
package/Component.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["src/Component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,prefer-template */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport {\n Area,\n Bar,\n Brush,\n CartesianGrid,\n Cell,\n ComposedChart,\n LabelList,\n Legend,\n Line,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from 'recharts';\n\nimport { CustomizedLabel } from './components/CustomizedLabel';\nimport { Dot } from './components/Dot';\nimport { Legends } from './components/Legends';\nimport { LinearGradient } from './components/LinearGradient';\nimport { RectBar } from './components/RectBar';\nimport { Tick } from './components/Tick';\nimport { TooltipContent } from './components/TooltipContent';\nimport { CustomizedHOC } from './hoc/Customized';\nimport { useSettings } from './hooks/useSettings';\nimport {\n type ActiveDotProps,\n type CoordinatesProps,\n type DataDynamicBooleanProps,\n type DataDynamicProps,\n type OptionsProps,\n type SeriaProps,\n type ToggleChartProps,\n} from './types';\n\nimport styles from './index.module.css';\n\nexport const Chart = (props: OptionsProps) => {\n const [{ state, data, charts, filterCount }, { setCharts, setFilterCount }] =\n useSettings(props);\n const [activeDotsState, setActiveDotsState] = useState<ActiveDotProps>({\n prev: null,\n active: null,\n });\n\n const [yBrush, setYBrush] = useState<number | null>(null);\n const [tooltipArrowSide, setTooltipArrowSide] = useState<boolean | null>(null);\n const [heightLegend, setHeightLegend] = useState<number>(0);\n\n const svgRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<any>(null);\n\n const renderGradient = useMemo(() => {\n if (!state) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, gradient } = item;\n\n if (chart !== 'gradient' || !gradient) return null;\n const { gid, points } = gradient;\n\n return (\n <LinearGradient\n key={`${state.id}-${gid}`}\n id={state.id}\n gid={gid}\n points={points}\n />\n );\n });\n }, [state]);\n\n const toggleChart = useCallback(\n (item: ToggleChartProps): void => {\n const {\n chart,\n properties: { dataKey },\n } = item;\n\n const withGrad = chart === 'area';\n let changed = false;\n\n if (charts[dataKey + ''] && filterCount > 1) {\n changed = true;\n setFilterCount((prev) => prev - 1);\n }\n\n if (!charts[dataKey + '']) {\n changed = true;\n setFilterCount((prev) => prev + 1);\n }\n\n if (!changed) return;\n setCharts((prev: DataDynamicBooleanProps) => {\n const newState = { ...prev };\n\n newState[dataKey + ''] = !newState[dataKey + ''];\n if (withGrad) newState[dataKey + '-gradient'] = !newState[dataKey + '-gradient'];\n\n return newState;\n });\n },\n [charts, filterCount, setCharts, setFilterCount],\n );\n\n const legendRef = useCallback((node: HTMLUListElement): void => {\n if (node !== null) {\n setTimeout(() => {\n const { height } = node.getBoundingClientRect();\n\n setHeightLegend(height);\n }, 0);\n }\n }, []);\n\n const renderLegend = useMemo((): React.ReactElement | null => {\n if (!state?.legend) return null;\n\n const translate =\n state?.xAxis?.tickMargin && state?.legend?.verticalAlign !== 'top'\n ? state.xAxis.tickMargin + (state?.brush?.brushMargin || 0)\n : 0;\n\n return (\n <Legend\n {...(state.legend || null)}\n content={\n <Legends\n legend={state.legend}\n series={state.series}\n id={state.id}\n toggleChart={toggleChart}\n ref={legendRef}\n charts={charts}\n />\n }\n wrapperStyle={{\n transform: `translateY(${translate}px)`,\n }}\n />\n );\n }, [state, charts, toggleChart, legendRef]);\n\n const renderCartesianGrid = useMemo((): React.ReactElement | null => {\n if (!state?.cartesianGrid) return null;\n\n return <CartesianGrid {...state.cartesianGrid} />;\n }, [state]);\n\n const renderXAxis = useMemo((): React.ReactElement | null => {\n if (!state?.xAxis) return null;\n\n let tick;\n\n if (state?.xAxis?.tickType === 'point') {\n tick = CustomizedHOC(Tick, { xAxis: state.xAxis });\n } else if (typeof state.xAxis.tick === 'boolean') {\n tick = state.xAxis.tick;\n } else {\n tick = true;\n }\n\n return <XAxis {...state.xAxis} tick={tick} />;\n }, [state]);\n\n const renderYAxis = useMemo((): React.ReactElement | null => {\n if (!state?.yAxis) return null;\n\n let tick;\n\n if (state?.yAxis?.tick) {\n tick = CustomizedHOC(state.yAxis.tick, { state });\n } else if (typeof state.yAxis.tick === 'boolean') {\n tick = state.yAxis.tick;\n } else {\n tick = true;\n }\n\n return <YAxis {...state.yAxis} tick={tick} />;\n }, [state]);\n\n const renderBrush = useMemo((): React.ReactElement | null => {\n if (!state?.brush) return null;\n\n return <Brush y={typeof yBrush === 'number' ? yBrush : 0} {...state.brush} />;\n }, [state, yBrush]);\n\n const renderTooltip = useMemo((): React.ReactElement | null => {\n if (!state?.tooltip) return null;\n\n return (\n <Tooltip\n {...state.tooltip}\n content={CustomizedHOC(TooltipContent, {\n series: state.series,\n tooltipArrowSide,\n ref: tooltipRef,\n })}\n />\n );\n }, [state, tooltipArrowSide]);\n\n const renderChartsItems = useMemo(() => {\n if (!state || !charts) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, properties, radius, labelList } = item;\n const show = charts[`${properties.dataKey}`];\n\n switch (chart) {\n case 'bar':\n return show && !item?.hide ? (\n <Bar\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n shape={<RectBar radius={radius} />}\n >\n {labelList && (\n <LabelList\n dataKey={properties.dataKey.toString()}\n {...labelList}\n content={<CustomizedLabel radius={radius} />}\n />\n )}\n {data.map((_: DataDynamicProps, index: number) => {\n const key = `${state.id}-${properties.dataKey}-${index}`;\n\n return (\n <Cell\n key={key}\n className={cn(\n styles.bar,\n typeof activeDotsState.active === 'number' &&\n activeDotsState.active !== index\n ? styles.unfocused\n : '',\n )}\n />\n );\n })}\n </Bar>\n ) : null;\n\n case 'area':\n case 'line':\n return show && !item?.hide ? (\n <Line\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n dot={\n properties.dot && properties.dotSettings\n ? CustomizedHOC(Dot, {\n activeDot: activeDotsState.active,\n dotSettings: properties.dotSettings,\n inherit: properties?.inheritStroke\n ? properties.inheritStroke\n : false,\n })\n : false\n }\n activeDot={false}\n />\n ) : null;\n\n case 'gradient':\n return show && !item?.hide ? (\n <Area\n {...item.properties}\n key={`${state.id}-${item.properties.dataKey}`}\n dataKey={`${item.properties.dataKey}`}\n stroke='transparent'\n fill={\n item.gradient.gid\n ? `url(#${state.id}-${item.gradient.gid})`\n : item.properties.fill\n }\n dot={false}\n activeDot={false}\n />\n ) : null;\n\n default:\n return null;\n }\n });\n }, [charts, state, activeDotsState, data]);\n\n // Позиционирование brush\n useEffect(() => {\n if (!state?.brush) return;\n if (!heightLegend || heightLegend === 0) return;\n\n const align = state?.legend?.verticalAlign;\n const legendHeight = align === 'top' ? 0 : heightLegend;\n const marginTick = state?.xAxis?.tickMargin ? state?.xAxis?.tickMargin : 0;\n const brushY =\n (svgRef.current?.clientHeight ? svgRef.current.clientHeight : 0) -\n legendHeight -\n state.brush.height -\n (state?.composeChart?.margin?.bottom ? state.composeChart.margin.bottom : 0) +\n marginTick +\n (state.brush?.brushMargin ? state.brush.brushMargin : 0);\n\n setYBrush(brushY);\n }, [heightLegend, state]);\n\n const leaveEvent = (isTooltipActive: boolean): void => {\n if (isTooltipActive) return;\n\n if (typeof activeDotsState.prev !== 'number' || typeof activeDotsState.active !== 'number')\n return;\n\n setActiveDotsState({\n prev: null,\n active: null,\n });\n };\n\n const arrowTooltipEvent = (activeCoordinate: CoordinatesProps): void => {\n if (!state?.tooltip?.arrow) return;\n\n if (state?.tooltip?.arrow && activeCoordinate?.x) {\n const side =\n (svgRef?.current?.clientWidth || 0) -\n (state?.composeChart?.margin?.right || 0) -\n activeCoordinate.x -\n (tooltipRef.current?.clientWidth || 0) >\n 20;\n\n setTooltipArrowSide(side);\n }\n };\n\n const hoverEvent = (isTooltipActive: boolean, activeTooltipIndex: number | undefined): void => {\n if (!isTooltipActive) return;\n\n if (\n typeof activeDotsState.active === 'number' &&\n activeTooltipIndex === activeDotsState.active\n )\n return;\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.active !== 'number') {\n setActiveDotsState({\n prev: activeTooltipIndex,\n active: activeTooltipIndex,\n });\n }\n\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.prev === 'number') {\n setActiveDotsState((prev: ActiveDotProps) => ({\n prev: prev.active,\n active: activeTooltipIndex,\n }));\n }\n };\n\n const mouseMove = (e: any): void => {\n if (!state?.tooltip) return;\n\n arrowTooltipEvent(e.activeCoordinate);\n hoverEvent(e.isTooltipActive, e.activeTooltipIndex);\n leaveEvent(e.isTooltipActive);\n };\n\n const mouseLeave = (e: any): void => {\n if (!state?.tooltip) return;\n\n leaveEvent(e.isTooltipActive);\n };\n\n if (!data || !charts || !state) return null;\n\n return (\n <div\n className={styles.coreChart}\n ref={svgRef}\n id={state?.id || ''}\n style={{ width: '100%', height: '100%' }}\n >\n <ResponsiveContainer\n debounce={\n state?.responsiveContainer?.debounce ? state.responsiveContainer.debounce : 0\n }\n width='100%'\n >\n <ComposedChart\n {...state?.composeChart}\n onMouseMove={mouseMove}\n onMouseLeave={mouseLeave}\n data={data}\n >\n <defs>{renderGradient}</defs>\n {state.cartesianGrid && renderCartesianGrid}\n {state.xAxis && renderXAxis}\n {state.yAxis && renderYAxis}\n {renderChartsItems}\n {state.tooltip && renderTooltip}\n {state.brush && renderBrush}\n {state.legend && renderLegend}\n </ComposedChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nChart.displayName = 'Chart';\nResponsiveContainer.displayName = 'ResponsiveContainer';\n"],"names":["useSettings","useState","useRef","useMemo","React","LinearGradient","useCallback","__assign","Legend","Legends","CartesianGrid","CustomizedHOC","Tick","XAxis","YAxis","Brush","Tooltip","TooltipContent","Bar","RectBar","LabelList","CustomizedLabel","Cell","cn","styles","Line","Dot","Area","useEffect","ResponsiveContainer","ComposedChart"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["src/Component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,prefer-template */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport {\n Area,\n Bar,\n Brush,\n CartesianGrid,\n Cell,\n ComposedChart,\n LabelList,\n Legend,\n Line,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from 'recharts';\n\nimport { CustomizedLabel } from './components/CustomizedLabel';\nimport { Dot } from './components/Dot';\nimport { Legends } from './components/Legends';\nimport { LinearGradient } from './components/LinearGradient';\nimport { RectBar } from './components/RectBar';\nimport { Tick } from './components/Tick';\nimport { TooltipContent } from './components/TooltipContent';\nimport { CustomizedHOC } from './hoc/Customized';\nimport { useSettings } from './hooks/useSettings';\nimport {\n type ActiveDotProps,\n type CoordinatesProps,\n type DataDynamicBooleanProps,\n type DataDynamicProps,\n type OptionsProps,\n type SeriaProps,\n type ToggleChartProps,\n} from './types';\n\nimport styles from './index.module.css';\n\nexport const Chart = (props: OptionsProps) => {\n const [{ state, data, charts, filterCount }, { setCharts, setFilterCount }] =\n useSettings(props);\n const [activeDotsState, setActiveDotsState] = useState<ActiveDotProps>({\n prev: null,\n active: null,\n });\n\n const [yBrush, setYBrush] = useState<number | null>(null);\n const [tooltipArrowSide, setTooltipArrowSide] = useState<boolean | null>(null);\n const [heightLegend, setHeightLegend] = useState<number>(0);\n\n const svgRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<any>(null);\n\n const renderGradient = useMemo(() => {\n if (!state) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, gradient } = item;\n\n if (chart !== 'gradient' || !gradient) return null;\n const { gid, points } = gradient;\n\n return (\n <LinearGradient\n key={`${state.id}-${gid}`}\n id={state.id}\n gid={gid}\n points={points}\n />\n );\n });\n }, [state]);\n\n const toggleChart = useCallback(\n (item: ToggleChartProps): void => {\n const {\n chart,\n properties: { dataKey },\n } = item;\n\n const withGrad = chart === 'area';\n let changed = false;\n\n if (charts[dataKey + ''] && filterCount > 1) {\n changed = true;\n setFilterCount((prev) => prev - 1);\n }\n\n if (!charts[dataKey + '']) {\n changed = true;\n setFilterCount((prev) => prev + 1);\n }\n\n if (!changed) return;\n setCharts((prev: DataDynamicBooleanProps) => {\n const newState = { ...prev };\n\n newState[dataKey + ''] = !newState[dataKey + ''];\n if (withGrad) newState[dataKey + '-gradient'] = !newState[dataKey + '-gradient'];\n\n return newState;\n });\n },\n [charts, filterCount, setCharts, setFilterCount],\n );\n\n const legendRef = useCallback((node: HTMLUListElement): void => {\n if (node !== null) {\n setTimeout(() => {\n const { height } = node.getBoundingClientRect();\n\n setHeightLegend(height);\n }, 0);\n }\n }, []);\n\n const renderLegend = useMemo((): React.ReactElement | null => {\n if (!state?.legend) return null;\n\n const translate =\n state?.xAxis?.tickMargin && state?.legend?.verticalAlign !== 'top'\n ? state.xAxis.tickMargin + (state?.brush?.brushMargin || 0)\n : 0;\n\n return (\n <Legend\n {...(state.legend || null)}\n content={\n <Legends\n legend={state.legend}\n series={state.series}\n id={state.id}\n toggleChart={toggleChart}\n ref={legendRef}\n charts={charts}\n />\n }\n wrapperStyle={{\n transform: `translateY(${translate}px)`,\n }}\n />\n );\n }, [state, charts, toggleChart, legendRef]);\n\n const renderCartesianGrid = useMemo((): React.ReactElement | null => {\n if (!state?.cartesianGrid) return null;\n\n return <CartesianGrid {...state.cartesianGrid} />;\n }, [state]);\n\n const renderXAxis = useMemo((): React.ReactElement | null => {\n if (!state?.xAxis) return null;\n\n let tick;\n\n if (state?.xAxis?.tickType === 'point') {\n tick = CustomizedHOC(Tick, { xAxis: state.xAxis });\n } else if (typeof state.xAxis.tick === 'boolean') {\n tick = state.xAxis.tick;\n } else {\n tick = true;\n }\n\n return <XAxis {...state.xAxis} tick={tick} />;\n }, [state]);\n\n const renderYAxis = useMemo((): React.ReactElement | null => {\n if (!state?.yAxis) return null;\n\n let tick;\n\n if (state?.yAxis?.tick) {\n tick = CustomizedHOC(state.yAxis.tick, { state });\n } else if (typeof state.yAxis.tick === 'boolean') {\n tick = state.yAxis.tick;\n } else {\n tick = true;\n }\n\n return <YAxis {...state.yAxis} tick={tick} />;\n }, [state]);\n\n const renderBrush = useMemo((): React.ReactElement | null => {\n if (!state?.brush) return null;\n\n return <Brush y={typeof yBrush === 'number' ? yBrush : 0} {...state.brush} />;\n }, [state, yBrush]);\n\n const renderTooltip = useMemo((): React.ReactElement | null => {\n if (!state?.tooltip) return null;\n\n return (\n <Tooltip\n {...state.tooltip}\n content={CustomizedHOC(TooltipContent, {\n series: state.series,\n tooltipArrowSide,\n ref: tooltipRef,\n })}\n />\n );\n }, [state, tooltipArrowSide]);\n\n const renderChartsItems = useMemo(() => {\n if (!state || !charts) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, properties, radius, labelList } = item;\n const show = charts[`${properties.dataKey}`];\n\n switch (chart) {\n case 'bar':\n return show && !item?.hide ? (\n <Bar\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n shape={<RectBar radius={radius} />}\n >\n {labelList && (\n <LabelList\n dataKey={properties.dataKey.toString()}\n {...labelList}\n content={<CustomizedLabel radius={radius} />}\n />\n )}\n {data.map((_: DataDynamicProps, index: number) => {\n const key = `${state.id}-${properties.dataKey}-${index}`;\n\n return (\n <Cell\n key={key}\n className={cn(\n styles.bar,\n typeof activeDotsState.active === 'number' &&\n activeDotsState.active !== index\n ? styles.unfocused\n : '',\n )}\n />\n );\n })}\n </Bar>\n ) : null;\n\n case 'area':\n case 'line':\n return show && !item?.hide ? (\n <Line\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n dot={\n properties.dot && properties.dotSettings\n ? CustomizedHOC(Dot, {\n activeDot: activeDotsState.active,\n dotSettings: properties.dotSettings,\n inherit: properties?.inheritStroke\n ? properties.inheritStroke\n : false,\n })\n : false\n }\n activeDot={false}\n />\n ) : null;\n\n case 'gradient':\n return show && !item?.hide ? (\n <Area\n {...item.properties}\n key={`${state.id}-${item.properties.dataKey}`}\n dataKey={`${item.properties.dataKey}`}\n stroke='transparent'\n fill={\n item.gradient.gid\n ? `url(#${state.id}-${item.gradient.gid})`\n : item.properties.fill\n }\n dot={false}\n activeDot={false}\n />\n ) : null;\n\n default:\n return null;\n }\n });\n }, [charts, state, activeDotsState, data]);\n\n // Позиционирование brush\n useEffect(() => {\n if (!state?.brush) return;\n if (!heightLegend || heightLegend === 0) return;\n\n const align = state?.legend?.verticalAlign;\n const legendHeight = align === 'top' ? 0 : heightLegend;\n const marginTick = state?.xAxis?.tickMargin ? state?.xAxis?.tickMargin : 0;\n const brushY =\n (svgRef.current?.clientHeight ? svgRef.current.clientHeight : 0) -\n legendHeight -\n state.brush.height -\n (state?.composeChart?.margin?.bottom ? state.composeChart.margin.bottom : 0) +\n marginTick +\n (state.brush?.brushMargin ? state.brush.brushMargin : 0);\n\n setYBrush(brushY);\n }, [heightLegend, state]);\n\n const leaveEvent = (isTooltipActive: boolean): void => {\n if (isTooltipActive) return;\n\n if (typeof activeDotsState.prev !== 'number' || typeof activeDotsState.active !== 'number')\n return;\n\n setActiveDotsState({\n prev: null,\n active: null,\n });\n };\n\n const arrowTooltipEvent = (activeCoordinate: CoordinatesProps): void => {\n if (!state?.tooltip?.arrow) return;\n\n if (state?.tooltip?.arrow && activeCoordinate?.x) {\n const side =\n (svgRef?.current?.clientWidth || 0) -\n (state?.composeChart?.margin?.right || 0) -\n activeCoordinate.x -\n (tooltipRef.current?.clientWidth || 0) >\n 20;\n\n setTooltipArrowSide(side);\n }\n };\n\n const hoverEvent = (isTooltipActive: boolean, activeTooltipIndex: number | undefined): void => {\n if (!isTooltipActive) return;\n\n if (\n typeof activeDotsState.active === 'number' &&\n activeTooltipIndex === activeDotsState.active\n )\n return;\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.active !== 'number') {\n setActiveDotsState({\n prev: activeTooltipIndex,\n active: activeTooltipIndex,\n });\n }\n\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.prev === 'number') {\n setActiveDotsState((prev: ActiveDotProps) => ({\n prev: prev.active,\n active: activeTooltipIndex,\n }));\n }\n };\n\n const mouseMove = (e: any): void => {\n if (!state?.tooltip) return;\n\n arrowTooltipEvent(e.activeCoordinate);\n hoverEvent(e.isTooltipActive, e.activeTooltipIndex);\n leaveEvent(e.isTooltipActive);\n };\n\n const mouseLeave = (e: any): void => {\n if (!state?.tooltip) return;\n\n leaveEvent(e.isTooltipActive);\n };\n\n if (!data || !charts || !state) return null;\n\n return (\n <div\n className={styles.coreChart}\n ref={svgRef}\n id={state?.id || ''}\n style={{ width: '100%', height: '100%' }}\n >\n <ResponsiveContainer\n debounce={\n state?.responsiveContainer?.debounce ? state.responsiveContainer.debounce : 0\n }\n width='100%'\n >\n <ComposedChart\n {...state?.composeChart}\n onMouseMove={mouseMove}\n onMouseLeave={mouseLeave}\n data={data}\n >\n <defs>{renderGradient}</defs>\n {state.cartesianGrid && renderCartesianGrid}\n {state.xAxis && renderXAxis}\n {state.yAxis && renderYAxis}\n {renderChartsItems}\n {state.tooltip && renderTooltip}\n {state.brush && renderBrush}\n {state.legend && renderLegend}\n </ComposedChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nChart.displayName = 'Chart';\nResponsiveContainer.displayName = 'ResponsiveContainer';\n"],"names":["useSettings","useState","useRef","useMemo","React","LinearGradient","useCallback","__assign","Legend","Legends","CartesianGrid","CustomizedHOC","Tick","XAxis","YAxis","Brush","Tooltip","TooltipContent","Bar","RectBar","LabelList","CustomizedLabel","Cell","cn","styles","Line","Dot","Area","useEffect","ResponsiveContainer","ComposedChart"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- .chart__dotUnfocused_y9lol {
1
+ .chart__dotUnfocused_1ngnw {
2
2
  opacity: 0.3;
3
3
  }
4
4
 
5
- .chart__dot_y9lol,
6
- .chart__dotItem_y9lol,
7
- .chart__dotWrap_y9lol {
5
+ .chart__dot_1ngnw,
6
+ .chart__dotItem_1ngnw,
7
+ .chart__dotWrap_1ngnw {
8
8
  transition: all 0.2s ease;
9
9
  }
10
10
 
11
- .chart__dot_y9lol {
12
- animation: chart__showDot_y9lol 0.5s ease;
11
+ .chart__dot_1ngnw {
12
+ animation: chart__showDot_1ngnw 0.5s ease;
13
13
  }
14
14
 
15
- @keyframes chart__showDot_y9lol {
15
+ @keyframes chart__showDot_1ngnw {
16
16
  from {
17
17
  opacity: 0;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/Dot/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport cn from 'classnames';\n\nimport { PointIcon } from '../../icons/Point';\nimport { type DotProps, type DotSettingProps } from '../../types/utils/dot.types';\n\nimport styles from './index.module.css';\n\nexport const Dot = React.forwardRef<SVGSVGElement, DotProps>(\n (\n { cx, cy, index, activeDot, dataKey, dotSettings, value, stroke },\n ref,\n ): React.ReactElement | null => {\n const [windowWidth, setWindowWidth] = useState<number>(0);\n\n const [height, setHeight] = useState<number>(0);\n const [width, setWidth] = useState<number>(0);\n const [option, setOption] = useState<DotSettingProps | null>(null);\n\n useEffect(() => {\n let dotSetting: DotSettingProps =\n Array.isArray(dotSettings) && dotSettings.length > 0\n ? dotSettings.find((item) => item.media && windowWidth < item.media)\n : dotSettings;\n\n if (Array.isArray(dotSettings) && dotSettings.length > 0 && !dotSetting) {\n dotSetting = dotSettings[dotSettings.length - 1];\n }\n\n setWindowWidth(window.innerWidth);\n setOption(dotSetting);\n }, [dotSettings, windowWidth]);\n\n useEffect(() => {\n if (!option) return;\n\n if (typeof activeDot === 'number' && activeDot === index) {\n setHeight(option.height * option.scale);\n setWidth(option.width * option.scale);\n } else {\n setHeight(option.height * option.initScale);\n setWidth(option.width * option.initScale);\n }\n }, [activeDot, index, option]);\n\n if (!value) return null;\n\n return (\n <g\n ref={ref}\n className={cn(styles.dot)}\n transform={`translate(${cx - width / 2}, ${cy - height / 2})`}\n >\n <g\n className={cn(styles.dotWrap)}\n transform={`scale(${\n activeDot === index ? option?.scale || 0 : option?.initScale || 0\n })`}\n >\n <svg\n className={cn(\n styles.dotItem,\n activeDot === index ? styles.dotActive : '',\n typeof activeDot === 'number' && activeDot !== index\n ? styles.dotUnfocused\n : '',\n )}\n data-id={index}\n data-name={dataKey}\n width={option?.width || 0}\n height={option?.height || 0}\n >\n <PointIcon fill={stroke} />\n </svg>\n </g>\n </g>\n );\n },\n);\n"],"names":["React","useState","useEffect","cn","styles","PointIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/Dot/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport cn from 'classnames';\n\nimport { PointIcon } from '../../icons/Point';\nimport { type DotProps, type DotSettingProps } from '../../types/utils/dot.types';\n\nimport styles from './index.module.css';\n\nexport const Dot = React.forwardRef<SVGSVGElement, DotProps>(\n (\n { cx, cy, index, activeDot, dataKey, dotSettings, value, stroke },\n ref,\n ): React.ReactElement | null => {\n const [windowWidth, setWindowWidth] = useState<number>(0);\n\n const [height, setHeight] = useState<number>(0);\n const [width, setWidth] = useState<number>(0);\n const [option, setOption] = useState<DotSettingProps | null>(null);\n\n useEffect(() => {\n let dotSetting: DotSettingProps =\n Array.isArray(dotSettings) && dotSettings.length > 0\n ? dotSettings.find((item) => item.media && windowWidth < item.media)\n : dotSettings;\n\n if (Array.isArray(dotSettings) && dotSettings.length > 0 && !dotSetting) {\n dotSetting = dotSettings[dotSettings.length - 1];\n }\n\n setWindowWidth(window.innerWidth);\n setOption(dotSetting);\n }, [dotSettings, windowWidth]);\n\n useEffect(() => {\n if (!option) return;\n\n if (typeof activeDot === 'number' && activeDot === index) {\n setHeight(option.height * option.scale);\n setWidth(option.width * option.scale);\n } else {\n setHeight(option.height * option.initScale);\n setWidth(option.width * option.initScale);\n }\n }, [activeDot, index, option]);\n\n if (!value) return null;\n\n return (\n <g\n ref={ref}\n className={cn(styles.dot)}\n transform={`translate(${cx - width / 2}, ${cy - height / 2})`}\n >\n <g\n className={cn(styles.dotWrap)}\n transform={`scale(${\n activeDot === index ? option?.scale || 0 : option?.initScale || 0\n })`}\n >\n <svg\n className={cn(\n styles.dotItem,\n activeDot === index ? styles.dotActive : '',\n typeof activeDot === 'number' && activeDot !== index\n ? styles.dotUnfocused\n : '',\n )}\n data-id={index}\n data-name={dataKey}\n width={option?.width || 0}\n height={option?.height || 0}\n >\n <PointIcon fill={stroke} />\n </svg>\n </g>\n </g>\n );\n },\n);\n"],"names":["React","useState","useEffect","cn","styles","PointIcon"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"dotUnfocused":"chart__dotUnfocused_y9lol","dot":"chart__dot_y9lol","dotItem":"chart__dotItem_y9lol","dotWrap":"chart__dotWrap_y9lol"};
5
+ var styles = {"dotUnfocused":"chart__dotUnfocused_1ngnw","dot":"chart__dot_1ngnw","dotItem":"chart__dotItem_1ngnw","dotWrap":"chart__dotWrap_1ngnw"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -3,31 +3,31 @@
3
3
  --gap-0: 0px;
4
4
  --gap-32: var(--gap-2xl);
5
5
  }
6
- .chart__legendContent_5fpw7 {
6
+ .chart__legendContent_1vdsn {
7
7
  display: flex;
8
8
  align-items: center;
9
9
  flex-wrap: wrap;
10
10
  }
11
- .chart__legendWrap_5fpw7 {
11
+ .chart__legendWrap_1vdsn {
12
12
  width: 100%;
13
13
  margin: var(--gap-0);
14
14
  padding: var(--gap-0);
15
15
  }
16
- .chart__legendItem_5fpw7 {
16
+ .chart__legendItem_1vdsn {
17
17
  margin-right: var(--gap-32);
18
18
  cursor: pointer;
19
19
  display: inline-block;
20
20
  }
21
- .chart__legendItem_5fpw7:last-child {
21
+ .chart__legendItem_1vdsn:last-child {
22
22
  margin-right: var(--gap-0);
23
23
  }
24
- .chart__legendUnactive_5fpw7 {
24
+ .chart__legendUnactive_1vdsn {
25
25
  opacity: 0.3;
26
26
  }
27
- .chart__legendIcon_5fpw7 {
27
+ .chart__legendIcon_1vdsn {
28
28
  margin-right: 13px;
29
29
  display: flex;
30
30
  }
31
- .chart__legendValue_5fpw7 {
31
+ .chart__legendValue_1vdsn {
32
32
  text-transform: capitalize;
33
33
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"legendContent":"chart__legendContent_5fpw7","legendWrap":"chart__legendWrap_5fpw7","legendItem":"chart__legendItem_5fpw7","legendUnactive":"chart__legendUnactive_5fpw7","legendIcon":"chart__legendIcon_5fpw7","legendValue":"chart__legendValue_5fpw7"};
5
+ var styles = {"legendContent":"chart__legendContent_1vdsn","legendWrap":"chart__legendWrap_1vdsn","legendItem":"chart__legendItem_1vdsn","legendUnactive":"chart__legendUnactive_1vdsn","legendIcon":"chart__legendIcon_1vdsn","legendValue":"chart__legendValue_1vdsn"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/Legends/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.legendContent {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.legendWrap {\n width: 100%;\n margin: var(--gap-0);\n padding: var(--gap-0);\n}\n\n.legendItem {\n margin-right: var(--gap-32);\n cursor: pointer;\n display: inline-block;\n}\n\n.legendItem:last-child {\n margin-right: var(--gap-0);\n}\n\n.legendUnactive {\n opacity: 0.3;\n}\n\n.legendIcon {\n margin-right: 13px;\n display: flex;\n}\n\n.legendValue {\n text-transform: capitalize;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,eAAe,CAAC,4BAA4B,CAAC,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,YAAY,CAAC,yBAAyB,CAAC,aAAa,CAAC,0BAA0B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/Legends/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.legendContent {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.legendWrap {\n width: 100%;\n margin: var(--gap-0);\n padding: var(--gap-0);\n}\n\n.legendItem {\n margin-right: var(--gap-32);\n cursor: pointer;\n display: inline-block;\n}\n\n.legendItem:last-child {\n margin-right: var(--gap-0);\n}\n\n.legendUnactive {\n opacity: 0.3;\n}\n\n.legendIcon {\n margin-right: 13px;\n display: flex;\n}\n\n.legendValue {\n text-transform: capitalize;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,eAAe,CAAC,4BAA4B,CAAC,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,YAAY,CAAC,yBAAyB,CAAC,aAAa,CAAC,0BAA0B,CAAC;;;;"}
@@ -6,14 +6,14 @@
6
6
  --font-family-system:
7
7
  system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
8
8
  }
9
- .chart__tickText_w5meh {
9
+ .chart__tickText_1ulb1 {
10
10
  fill: var(--color-light-text-primary);
11
11
  font-size: 16px;
12
12
  line-height: 24px;
13
13
  font-weight: 400;
14
14
  font-family: var(--font-family-system);
15
15
  }
16
- .chart__circle_w5meh {
16
+ .chart__circle_1ulb1 {
17
17
  opacity: 0.3;
18
18
  fill: var(--color-dark-base-bg-primary);
19
19
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"tickText":"chart__tickText_w5meh","circle":"chart__circle_w5meh"};
5
+ var styles = {"tickText":"chart__tickText_1ulb1","circle":"chart__circle_1ulb1"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/Tick/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.tickText {\n fill: var(--color-light-text-primary);\n @mixin paragraph_primary_medium;\n}\n\n.circle {\n opacity: 0.3;\n fill: var(--color-dark-base-bg-primary);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,UAAU,CAAC,uBAAuB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/Tick/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.tickText {\n fill: var(--color-light-text-primary);\n @mixin paragraph_primary_medium;\n}\n\n.circle {\n opacity: 0.3;\n fill: var(--color-dark-base-bg-primary);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,UAAU,CAAC,uBAAuB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;;;;"}
@@ -21,7 +21,7 @@
21
21
  --gap-16: var(--gap-m);
22
22
  --gap-2-neg: var(--gap-3xs-neg);
23
23
  }
24
- .chart__tooltip_bt0p1 {
24
+ .chart__tooltip_1ceg4 {
25
25
  background-color: var(--color-light-base-bg-primary);
26
26
  border: 1px solid var(--color-light-neutral-400);
27
27
  box-shadow: var(--shadow-l);
@@ -30,17 +30,17 @@
30
30
  pointer-events: none;
31
31
  position: relative;
32
32
  }
33
- .chart__tooltipList_bt0p1 {
33
+ .chart__tooltipList_1ceg4 {
34
34
  position: relative;
35
35
  z-index: 5;
36
36
  list-style-type: none;
37
37
  padding: var(--gap-0);
38
38
  margin: var(--gap-0);
39
39
  }
40
- .chart__tooltipItem_bt0p1 {
40
+ .chart__tooltipItem_1ceg4 {
41
41
  margin-bottom: var(--gap-10);
42
42
  }
43
- .chart__tooltipArrow_bt0p1 {
43
+ .chart__tooltipArrow_1ceg4 {
44
44
  position: absolute;
45
45
  left: var(--gap-0);
46
46
  top: 50%;
@@ -50,7 +50,7 @@
50
50
  border: 1px solid var(--color-light-neutral-400);
51
51
  background-color: var(--color-light-base-bg-primary);
52
52
  }
53
- .chart__tooltipArrow_bt0p1:before {
53
+ .chart__tooltipArrow_1ceg4:before {
54
54
  content: '';
55
55
  position: absolute;
56
56
  left: var(--gap-2-neg);
@@ -61,7 +61,7 @@
61
61
  border-width: 0 14px 14px 0;
62
62
  border-color: transparent var(--color-light-base-bg-primary) transparent transparent;
63
63
  }
64
- .chart__tooltipArrowRight_bt0p1 {
64
+ .chart__tooltipArrowRight_1ceg4 {
65
65
  left: 100%;
66
66
  transform: translate(-50%, -50%) scale(-1, 1) rotate(45deg);
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/TooltipContent/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport { TypographyText } from '@alfalab/core-components-typography';\n\nimport { type PayloadProps } from '../../types/payload.types';\nimport { type SeriaProps } from '../../types/seria.types';\nimport { type TooltipProps } from '../../types/tooltip.types';\n\nimport styles from './index.module.css';\n\nexport interface TooltipContentProps extends TooltipProps {\n payload: PayloadProps[];\n series: SeriaProps[];\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n (\n {\n payload,\n separator,\n label,\n tooltipArrowSide,\n arrow,\n series,\n labelFormatter,\n labelStyle,\n contentFormatter,\n },\n ref,\n ) => {\n if (!label || payload.length === 0) return null;\n\n if (typeof contentFormatter === 'function') {\n return (\n <div className={cn(styles.tooltip)} ref={ref}>\n {arrow && (\n <span\n className={cn(styles.tooltipArrow, {\n [styles.tooltipArrowRight]: !tooltipArrowSide,\n })}\n />\n )}\n {contentFormatter?.({ label, payload })}\n </div>\n );\n }\n\n return (\n <div className={cn(styles.tooltip)} ref={ref}>\n {arrow && (\n <span\n className={cn(styles.tooltipArrow, {\n [styles.tooltipArrowRight]: !tooltipArrowSide,\n })}\n />\n )}\n <ul className={cn(styles.tooltipList)}>\n <li className={cn(styles.tooltipItem)} style={labelStyle}>\n <TypographyText\n view='primary-medium'\n tag='span'\n weight='medium'\n className={cn(styles.tooltipLabel)}\n >\n {labelFormatter ? labelFormatter(label) : label}\n </TypographyText>\n </li>\n {payload.map((entry: PayloadProps) => {\n const data: SeriaProps | undefined = series.find(\n (d: SeriaProps) => d.properties.dataKey === entry.dataKey,\n );\n\n if (data?.hideTooltip || data?.hide) return null;\n\n return (\n <li\n className={cn(styles.tooltipItem)}\n key={entry.dataKey}\n style={{ color: entry.color }}\n >\n <TypographyText\n view='primary-medium'\n tag='span'\n weight='medium'\n className={cn(styles.tooltipValue)}\n >\n {entry?.formatter ? entry.formatter(entry.value) : entry.value}\n {separator || ' '}\n </TypographyText>\n <TypographyText\n view='secondary-large'\n tag='span'\n className={cn(styles.tooltipName)}\n >{`${entry.name}`}</TypographyText>\n </li>\n );\n })}\n </ul>\n </div>\n );\n },\n);\n"],"names":["forwardRef","React","cn","styles","TypographyText"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/TooltipContent/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport { TypographyText } from '@alfalab/core-components-typography';\n\nimport { type PayloadProps } from '../../types/payload.types';\nimport { type SeriaProps } from '../../types/seria.types';\nimport { type TooltipProps } from '../../types/tooltip.types';\n\nimport styles from './index.module.css';\n\nexport interface TooltipContentProps extends TooltipProps {\n payload: PayloadProps[];\n series: SeriaProps[];\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n (\n {\n payload,\n separator,\n label,\n tooltipArrowSide,\n arrow,\n series,\n labelFormatter,\n labelStyle,\n contentFormatter,\n },\n ref,\n ) => {\n if (!label || payload.length === 0) return null;\n\n if (typeof contentFormatter === 'function') {\n return (\n <div className={cn(styles.tooltip)} ref={ref}>\n {arrow && (\n <span\n className={cn(styles.tooltipArrow, {\n [styles.tooltipArrowRight]: !tooltipArrowSide,\n })}\n />\n )}\n {contentFormatter?.({ label, payload })}\n </div>\n );\n }\n\n return (\n <div className={cn(styles.tooltip)} ref={ref}>\n {arrow && (\n <span\n className={cn(styles.tooltipArrow, {\n [styles.tooltipArrowRight]: !tooltipArrowSide,\n })}\n />\n )}\n <ul className={cn(styles.tooltipList)}>\n <li className={cn(styles.tooltipItem)} style={labelStyle}>\n <TypographyText\n view='primary-medium'\n tag='span'\n weight='medium'\n className={cn(styles.tooltipLabel)}\n >\n {labelFormatter ? labelFormatter(label) : label}\n </TypographyText>\n </li>\n {payload.map((entry: PayloadProps) => {\n const data: SeriaProps | undefined = series.find(\n (d: SeriaProps) => d.properties.dataKey === entry.dataKey,\n );\n\n if (data?.hideTooltip || data?.hide) return null;\n\n return (\n <li\n className={cn(styles.tooltipItem)}\n key={entry.dataKey}\n style={{ color: entry.color }}\n >\n <TypographyText\n view='primary-medium'\n tag='span'\n weight='medium'\n className={cn(styles.tooltipValue)}\n >\n {entry?.formatter ? entry.formatter(entry.value) : entry.value}\n {separator || ' '}\n </TypographyText>\n <TypographyText\n view='secondary-large'\n tag='span'\n className={cn(styles.tooltipName)}\n >{`${entry.name}`}</TypographyText>\n </li>\n );\n })}\n </ul>\n </div>\n );\n },\n);\n"],"names":["forwardRef","React","cn","styles","TypographyText"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"tooltip":"chart__tooltip_bt0p1","tooltipList":"chart__tooltipList_bt0p1","tooltipItem":"chart__tooltipItem_bt0p1","tooltipArrow":"chart__tooltipArrow_bt0p1","tooltipArrowRight":"chart__tooltipArrowRight_bt0p1"};
5
+ var styles = {"tooltip":"chart__tooltip_1ceg4","tooltipList":"chart__tooltipList_1ceg4","tooltipItem":"chart__tooltipItem_1ceg4","tooltipArrow":"chart__tooltipArrow_1ceg4","tooltipArrowRight":"chart__tooltipArrowRight_1ceg4"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/TooltipContent/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.tooltip {\n background-color: var(--color-light-base-bg-primary);\n border: 1px solid var(--color-light-neutral-400);\n box-shadow: var(--shadow-l);\n border-radius: var(--border-radius-8);\n padding: var(--gap-12) var(--gap-16);\n pointer-events: none;\n position: relative;\n}\n\n.tooltipList {\n position: relative;\n z-index: 5;\n list-style-type: none;\n padding: var(--gap-0);\n margin: var(--gap-0);\n}\n\n.tooltipItem {\n margin-bottom: var(--gap-10);\n}\n\n.tooltipArrow {\n position: absolute;\n left: var(--gap-0);\n top: 50%;\n transform: translate(-50%, -50%) scale(1, 1) rotate(45deg);\n width: 10px;\n height: 10px;\n border: 1px solid var(--color-light-neutral-400);\n background-color: var(--color-light-base-bg-primary);\n}\n\n.tooltipArrow:before {\n content: '';\n position: absolute;\n left: var(--gap-2-neg);\n top: var(--gap-2-neg);\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 14px 14px 0;\n border-color: transparent var(--color-light-base-bg-primary) transparent transparent;\n}\n\n.tooltipArrowRight {\n left: 100%;\n transform: translate(-50%, -50%) scale(-1, 1) rotate(45deg);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,0BAA0B,CAAC,aAAa,CAAC,0BAA0B,CAAC,cAAc,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,gCAAgC,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/TooltipContent/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.tooltip {\n background-color: var(--color-light-base-bg-primary);\n border: 1px solid var(--color-light-neutral-400);\n box-shadow: var(--shadow-l);\n border-radius: var(--border-radius-8);\n padding: var(--gap-12) var(--gap-16);\n pointer-events: none;\n position: relative;\n}\n\n.tooltipList {\n position: relative;\n z-index: 5;\n list-style-type: none;\n padding: var(--gap-0);\n margin: var(--gap-0);\n}\n\n.tooltipItem {\n margin-bottom: var(--gap-10);\n}\n\n.tooltipArrow {\n position: absolute;\n left: var(--gap-0);\n top: 50%;\n transform: translate(-50%, -50%) scale(1, 1) rotate(45deg);\n width: 10px;\n height: 10px;\n border: 1px solid var(--color-light-neutral-400);\n background-color: var(--color-light-base-bg-primary);\n}\n\n.tooltipArrow:before {\n content: '';\n position: absolute;\n left: var(--gap-2-neg);\n top: var(--gap-2-neg);\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 14px 14px 0;\n border-color: transparent var(--color-light-base-bg-primary) transparent transparent;\n}\n\n.tooltipArrowRight {\n left: 100%;\n transform: translate(-50%, -50%) scale(-1, 1) rotate(45deg);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,0BAA0B,CAAC,aAAa,CAAC,0BAA0B,CAAC,cAAc,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,gCAAgC,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,prefer-template */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport {\n Area,\n Bar,\n Brush,\n CartesianGrid,\n Cell,\n ComposedChart,\n LabelList,\n Legend,\n Line,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from 'recharts';\n\nimport { CustomizedLabel } from './components/CustomizedLabel';\nimport { Dot } from './components/Dot';\nimport { Legends } from './components/Legends';\nimport { LinearGradient } from './components/LinearGradient';\nimport { RectBar } from './components/RectBar';\nimport { Tick } from './components/Tick';\nimport { TooltipContent } from './components/TooltipContent';\nimport { CustomizedHOC } from './hoc/Customized';\nimport { useSettings } from './hooks/useSettings';\nimport {\n type ActiveDotProps,\n type CoordinatesProps,\n type DataDynamicBooleanProps,\n type DataDynamicProps,\n type OptionsProps,\n type SeriaProps,\n type ToggleChartProps,\n} from './types';\n\nimport styles from './index.module.css';\n\nexport const Chart = (props: OptionsProps) => {\n const [{ state, data, charts, filterCount }, { setCharts, setFilterCount }] =\n useSettings(props);\n const [activeDotsState, setActiveDotsState] = useState<ActiveDotProps>({\n prev: null,\n active: null,\n });\n\n const [yBrush, setYBrush] = useState<number | null>(null);\n const [tooltipArrowSide, setTooltipArrowSide] = useState<boolean | null>(null);\n const [heightLegend, setHeightLegend] = useState<number>(0);\n\n const svgRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<any>(null);\n\n const renderGradient = useMemo(() => {\n if (!state) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, gradient } = item;\n\n if (chart !== 'gradient' || !gradient) return null;\n const { gid, points } = gradient;\n\n return (\n <LinearGradient\n key={`${state.id}-${gid}`}\n id={state.id}\n gid={gid}\n points={points}\n />\n );\n });\n }, [state]);\n\n const toggleChart = useCallback(\n (item: ToggleChartProps): void => {\n const {\n chart,\n properties: { dataKey },\n } = item;\n\n const withGrad = chart === 'area';\n let changed = false;\n\n if (charts[dataKey + ''] && filterCount > 1) {\n changed = true;\n setFilterCount((prev) => prev - 1);\n }\n\n if (!charts[dataKey + '']) {\n changed = true;\n setFilterCount((prev) => prev + 1);\n }\n\n if (!changed) return;\n setCharts((prev: DataDynamicBooleanProps) => {\n const newState = { ...prev };\n\n newState[dataKey + ''] = !newState[dataKey + ''];\n if (withGrad) newState[dataKey + '-gradient'] = !newState[dataKey + '-gradient'];\n\n return newState;\n });\n },\n [charts, filterCount, setCharts, setFilterCount],\n );\n\n const legendRef = useCallback((node: HTMLUListElement): void => {\n if (node !== null) {\n setTimeout(() => {\n const { height } = node.getBoundingClientRect();\n\n setHeightLegend(height);\n }, 0);\n }\n }, []);\n\n const renderLegend = useMemo((): React.ReactElement | null => {\n if (!state?.legend) return null;\n\n const translate =\n state?.xAxis?.tickMargin && state?.legend?.verticalAlign !== 'top'\n ? state.xAxis.tickMargin + (state?.brush?.brushMargin || 0)\n : 0;\n\n return (\n <Legend\n {...(state.legend || null)}\n content={\n <Legends\n legend={state.legend}\n series={state.series}\n id={state.id}\n toggleChart={toggleChart}\n ref={legendRef}\n charts={charts}\n />\n }\n wrapperStyle={{\n transform: `translateY(${translate}px)`,\n }}\n />\n );\n }, [state, charts, toggleChart, legendRef]);\n\n const renderCartesianGrid = useMemo((): React.ReactElement | null => {\n if (!state?.cartesianGrid) return null;\n\n return <CartesianGrid {...state.cartesianGrid} />;\n }, [state]);\n\n const renderXAxis = useMemo((): React.ReactElement | null => {\n if (!state?.xAxis) return null;\n\n let tick;\n\n if (state?.xAxis?.tickType === 'point') {\n tick = CustomizedHOC(Tick, { xAxis: state.xAxis });\n } else if (typeof state.xAxis.tick === 'boolean') {\n tick = state.xAxis.tick;\n } else {\n tick = true;\n }\n\n return <XAxis {...state.xAxis} tick={tick} />;\n }, [state]);\n\n const renderYAxis = useMemo((): React.ReactElement | null => {\n if (!state?.yAxis) return null;\n\n let tick;\n\n if (state?.yAxis?.tick) {\n tick = CustomizedHOC(state.yAxis.tick, { state });\n } else if (typeof state.yAxis.tick === 'boolean') {\n tick = state.yAxis.tick;\n } else {\n tick = true;\n }\n\n return <YAxis {...state.yAxis} tick={tick} />;\n }, [state]);\n\n const renderBrush = useMemo((): React.ReactElement | null => {\n if (!state?.brush) return null;\n\n return <Brush y={typeof yBrush === 'number' ? yBrush : 0} {...state.brush} />;\n }, [state, yBrush]);\n\n const renderTooltip = useMemo((): React.ReactElement | null => {\n if (!state?.tooltip) return null;\n\n return (\n <Tooltip\n {...state.tooltip}\n content={CustomizedHOC(TooltipContent, {\n series: state.series,\n tooltipArrowSide,\n ref: tooltipRef,\n })}\n />\n );\n }, [state, tooltipArrowSide]);\n\n const renderChartsItems = useMemo(() => {\n if (!state || !charts) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, properties, radius, labelList } = item;\n const show = charts[`${properties.dataKey}`];\n\n switch (chart) {\n case 'bar':\n return show && !item?.hide ? (\n <Bar\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n shape={<RectBar radius={radius} />}\n >\n {labelList && (\n <LabelList\n dataKey={properties.dataKey.toString()}\n {...labelList}\n content={<CustomizedLabel radius={radius} />}\n />\n )}\n {data.map((_: DataDynamicProps, index: number) => {\n const key = `${state.id}-${properties.dataKey}-${index}`;\n\n return (\n <Cell\n key={key}\n className={cn(\n styles.bar,\n typeof activeDotsState.active === 'number' &&\n activeDotsState.active !== index\n ? styles.unfocused\n : '',\n )}\n />\n );\n })}\n </Bar>\n ) : null;\n\n case 'area':\n case 'line':\n return show && !item?.hide ? (\n <Line\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n dot={\n properties.dot && properties.dotSettings\n ? CustomizedHOC(Dot, {\n activeDot: activeDotsState.active,\n dotSettings: properties.dotSettings,\n inherit: properties?.inheritStroke\n ? properties.inheritStroke\n : false,\n })\n : false\n }\n activeDot={false}\n />\n ) : null;\n\n case 'gradient':\n return show && !item?.hide ? (\n <Area\n {...item.properties}\n key={`${state.id}-${item.properties.dataKey}`}\n dataKey={`${item.properties.dataKey}`}\n stroke='transparent'\n fill={\n item.gradient.gid\n ? `url(#${state.id}-${item.gradient.gid})`\n : item.properties.fill\n }\n dot={false}\n activeDot={false}\n />\n ) : null;\n\n default:\n return null;\n }\n });\n }, [charts, state, activeDotsState, data]);\n\n // Позиционирование brush\n useEffect(() => {\n if (!state?.brush) return;\n if (!heightLegend || heightLegend === 0) return;\n\n const align = state?.legend?.verticalAlign;\n const legendHeight = align === 'top' ? 0 : heightLegend;\n const marginTick = state?.xAxis?.tickMargin ? state?.xAxis?.tickMargin : 0;\n const brushY =\n (svgRef.current?.clientHeight ? svgRef.current.clientHeight : 0) -\n legendHeight -\n state.brush.height -\n (state?.composeChart?.margin?.bottom ? state.composeChart.margin.bottom : 0) +\n marginTick +\n (state.brush?.brushMargin ? state.brush.brushMargin : 0);\n\n setYBrush(brushY);\n }, [heightLegend, state]);\n\n const leaveEvent = (isTooltipActive: boolean): void => {\n if (isTooltipActive) return;\n\n if (typeof activeDotsState.prev !== 'number' || typeof activeDotsState.active !== 'number')\n return;\n\n setActiveDotsState({\n prev: null,\n active: null,\n });\n };\n\n const arrowTooltipEvent = (activeCoordinate: CoordinatesProps): void => {\n if (!state?.tooltip?.arrow) return;\n\n if (state?.tooltip?.arrow && activeCoordinate?.x) {\n const side =\n (svgRef?.current?.clientWidth || 0) -\n (state?.composeChart?.margin?.right || 0) -\n activeCoordinate.x -\n (tooltipRef.current?.clientWidth || 0) >\n 20;\n\n setTooltipArrowSide(side);\n }\n };\n\n const hoverEvent = (isTooltipActive: boolean, activeTooltipIndex: number | undefined): void => {\n if (!isTooltipActive) return;\n\n if (\n typeof activeDotsState.active === 'number' &&\n activeTooltipIndex === activeDotsState.active\n )\n return;\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.active !== 'number') {\n setActiveDotsState({\n prev: activeTooltipIndex,\n active: activeTooltipIndex,\n });\n }\n\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.prev === 'number') {\n setActiveDotsState((prev: ActiveDotProps) => ({\n prev: prev.active,\n active: activeTooltipIndex,\n }));\n }\n };\n\n const mouseMove = (e: any): void => {\n if (!state?.tooltip) return;\n\n arrowTooltipEvent(e.activeCoordinate);\n hoverEvent(e.isTooltipActive, e.activeTooltipIndex);\n leaveEvent(e.isTooltipActive);\n };\n\n const mouseLeave = (e: any): void => {\n if (!state?.tooltip) return;\n\n leaveEvent(e.isTooltipActive);\n };\n\n if (!data || !charts || !state) return null;\n\n return (\n <div\n className={styles.coreChart}\n ref={svgRef}\n id={state?.id || ''}\n style={{ width: '100%', height: '100%' }}\n >\n <ResponsiveContainer\n debounce={\n state?.responsiveContainer?.debounce ? state.responsiveContainer.debounce : 0\n }\n width='100%'\n >\n <ComposedChart\n {...state?.composeChart}\n onMouseMove={mouseMove}\n onMouseLeave={mouseLeave}\n data={data}\n >\n <defs>{renderGradient}</defs>\n {state.cartesianGrid && renderCartesianGrid}\n {state.xAxis && renderXAxis}\n {state.yAxis && renderYAxis}\n {renderChartsItems}\n {state.tooltip && renderTooltip}\n {state.brush && renderBrush}\n {state.legend && renderLegend}\n </ComposedChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nChart.displayName = 'Chart';\nResponsiveContainer.displayName = 'ResponsiveContainer';\n"],"names":["useSettings","useState","useRef","useMemo","React","LinearGradient","useCallback","__assign","Legend","Legends","CartesianGrid","CustomizedHOC","Tick","XAxis","YAxis","Brush","Tooltip","TooltipContent","Bar","RectBar","LabelList","CustomizedLabel","Cell","cn","styles","Line","Dot","Area","useEffect","ResponsiveContainer","ComposedChart"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,prefer-template */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport cn from 'classnames';\nimport {\n Area,\n Bar,\n Brush,\n CartesianGrid,\n Cell,\n ComposedChart,\n LabelList,\n Legend,\n Line,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from 'recharts';\n\nimport { CustomizedLabel } from './components/CustomizedLabel';\nimport { Dot } from './components/Dot';\nimport { Legends } from './components/Legends';\nimport { LinearGradient } from './components/LinearGradient';\nimport { RectBar } from './components/RectBar';\nimport { Tick } from './components/Tick';\nimport { TooltipContent } from './components/TooltipContent';\nimport { CustomizedHOC } from './hoc/Customized';\nimport { useSettings } from './hooks/useSettings';\nimport {\n type ActiveDotProps,\n type CoordinatesProps,\n type DataDynamicBooleanProps,\n type DataDynamicProps,\n type OptionsProps,\n type SeriaProps,\n type ToggleChartProps,\n} from './types';\n\nimport styles from './index.module.css';\n\nexport const Chart = (props: OptionsProps) => {\n const [{ state, data, charts, filterCount }, { setCharts, setFilterCount }] =\n useSettings(props);\n const [activeDotsState, setActiveDotsState] = useState<ActiveDotProps>({\n prev: null,\n active: null,\n });\n\n const [yBrush, setYBrush] = useState<number | null>(null);\n const [tooltipArrowSide, setTooltipArrowSide] = useState<boolean | null>(null);\n const [heightLegend, setHeightLegend] = useState<number>(0);\n\n const svgRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<any>(null);\n\n const renderGradient = useMemo(() => {\n if (!state) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, gradient } = item;\n\n if (chart !== 'gradient' || !gradient) return null;\n const { gid, points } = gradient;\n\n return (\n <LinearGradient\n key={`${state.id}-${gid}`}\n id={state.id}\n gid={gid}\n points={points}\n />\n );\n });\n }, [state]);\n\n const toggleChart = useCallback(\n (item: ToggleChartProps): void => {\n const {\n chart,\n properties: { dataKey },\n } = item;\n\n const withGrad = chart === 'area';\n let changed = false;\n\n if (charts[dataKey + ''] && filterCount > 1) {\n changed = true;\n setFilterCount((prev) => prev - 1);\n }\n\n if (!charts[dataKey + '']) {\n changed = true;\n setFilterCount((prev) => prev + 1);\n }\n\n if (!changed) return;\n setCharts((prev: DataDynamicBooleanProps) => {\n const newState = { ...prev };\n\n newState[dataKey + ''] = !newState[dataKey + ''];\n if (withGrad) newState[dataKey + '-gradient'] = !newState[dataKey + '-gradient'];\n\n return newState;\n });\n },\n [charts, filterCount, setCharts, setFilterCount],\n );\n\n const legendRef = useCallback((node: HTMLUListElement): void => {\n if (node !== null) {\n setTimeout(() => {\n const { height } = node.getBoundingClientRect();\n\n setHeightLegend(height);\n }, 0);\n }\n }, []);\n\n const renderLegend = useMemo((): React.ReactElement | null => {\n if (!state?.legend) return null;\n\n const translate =\n state?.xAxis?.tickMargin && state?.legend?.verticalAlign !== 'top'\n ? state.xAxis.tickMargin + (state?.brush?.brushMargin || 0)\n : 0;\n\n return (\n <Legend\n {...(state.legend || null)}\n content={\n <Legends\n legend={state.legend}\n series={state.series}\n id={state.id}\n toggleChart={toggleChart}\n ref={legendRef}\n charts={charts}\n />\n }\n wrapperStyle={{\n transform: `translateY(${translate}px)`,\n }}\n />\n );\n }, [state, charts, toggleChart, legendRef]);\n\n const renderCartesianGrid = useMemo((): React.ReactElement | null => {\n if (!state?.cartesianGrid) return null;\n\n return <CartesianGrid {...state.cartesianGrid} />;\n }, [state]);\n\n const renderXAxis = useMemo((): React.ReactElement | null => {\n if (!state?.xAxis) return null;\n\n let tick;\n\n if (state?.xAxis?.tickType === 'point') {\n tick = CustomizedHOC(Tick, { xAxis: state.xAxis });\n } else if (typeof state.xAxis.tick === 'boolean') {\n tick = state.xAxis.tick;\n } else {\n tick = true;\n }\n\n return <XAxis {...state.xAxis} tick={tick} />;\n }, [state]);\n\n const renderYAxis = useMemo((): React.ReactElement | null => {\n if (!state?.yAxis) return null;\n\n let tick;\n\n if (state?.yAxis?.tick) {\n tick = CustomizedHOC(state.yAxis.tick, { state });\n } else if (typeof state.yAxis.tick === 'boolean') {\n tick = state.yAxis.tick;\n } else {\n tick = true;\n }\n\n return <YAxis {...state.yAxis} tick={tick} />;\n }, [state]);\n\n const renderBrush = useMemo((): React.ReactElement | null => {\n if (!state?.brush) return null;\n\n return <Brush y={typeof yBrush === 'number' ? yBrush : 0} {...state.brush} />;\n }, [state, yBrush]);\n\n const renderTooltip = useMemo((): React.ReactElement | null => {\n if (!state?.tooltip) return null;\n\n return (\n <Tooltip\n {...state.tooltip}\n content={CustomizedHOC(TooltipContent, {\n series: state.series,\n tooltipArrowSide,\n ref: tooltipRef,\n })}\n />\n );\n }, [state, tooltipArrowSide]);\n\n const renderChartsItems = useMemo(() => {\n if (!state || !charts) return null;\n\n return state.series.map((item: SeriaProps) => {\n const { chart, properties, radius, labelList } = item;\n const show = charts[`${properties.dataKey}`];\n\n switch (chart) {\n case 'bar':\n return show && !item?.hide ? (\n <Bar\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n shape={<RectBar radius={radius} />}\n >\n {labelList && (\n <LabelList\n dataKey={properties.dataKey.toString()}\n {...labelList}\n content={<CustomizedLabel radius={radius} />}\n />\n )}\n {data.map((_: DataDynamicProps, index: number) => {\n const key = `${state.id}-${properties.dataKey}-${index}`;\n\n return (\n <Cell\n key={key}\n className={cn(\n styles.bar,\n typeof activeDotsState.active === 'number' &&\n activeDotsState.active !== index\n ? styles.unfocused\n : '',\n )}\n />\n );\n })}\n </Bar>\n ) : null;\n\n case 'area':\n case 'line':\n return show && !item?.hide ? (\n <Line\n key={`${state.id}-${properties.dataKey}`}\n {...properties}\n dot={\n properties.dot && properties.dotSettings\n ? CustomizedHOC(Dot, {\n activeDot: activeDotsState.active,\n dotSettings: properties.dotSettings,\n inherit: properties?.inheritStroke\n ? properties.inheritStroke\n : false,\n })\n : false\n }\n activeDot={false}\n />\n ) : null;\n\n case 'gradient':\n return show && !item?.hide ? (\n <Area\n {...item.properties}\n key={`${state.id}-${item.properties.dataKey}`}\n dataKey={`${item.properties.dataKey}`}\n stroke='transparent'\n fill={\n item.gradient.gid\n ? `url(#${state.id}-${item.gradient.gid})`\n : item.properties.fill\n }\n dot={false}\n activeDot={false}\n />\n ) : null;\n\n default:\n return null;\n }\n });\n }, [charts, state, activeDotsState, data]);\n\n // Позиционирование brush\n useEffect(() => {\n if (!state?.brush) return;\n if (!heightLegend || heightLegend === 0) return;\n\n const align = state?.legend?.verticalAlign;\n const legendHeight = align === 'top' ? 0 : heightLegend;\n const marginTick = state?.xAxis?.tickMargin ? state?.xAxis?.tickMargin : 0;\n const brushY =\n (svgRef.current?.clientHeight ? svgRef.current.clientHeight : 0) -\n legendHeight -\n state.brush.height -\n (state?.composeChart?.margin?.bottom ? state.composeChart.margin.bottom : 0) +\n marginTick +\n (state.brush?.brushMargin ? state.brush.brushMargin : 0);\n\n setYBrush(brushY);\n }, [heightLegend, state]);\n\n const leaveEvent = (isTooltipActive: boolean): void => {\n if (isTooltipActive) return;\n\n if (typeof activeDotsState.prev !== 'number' || typeof activeDotsState.active !== 'number')\n return;\n\n setActiveDotsState({\n prev: null,\n active: null,\n });\n };\n\n const arrowTooltipEvent = (activeCoordinate: CoordinatesProps): void => {\n if (!state?.tooltip?.arrow) return;\n\n if (state?.tooltip?.arrow && activeCoordinate?.x) {\n const side =\n (svgRef?.current?.clientWidth || 0) -\n (state?.composeChart?.margin?.right || 0) -\n activeCoordinate.x -\n (tooltipRef.current?.clientWidth || 0) >\n 20;\n\n setTooltipArrowSide(side);\n }\n };\n\n const hoverEvent = (isTooltipActive: boolean, activeTooltipIndex: number | undefined): void => {\n if (!isTooltipActive) return;\n\n if (\n typeof activeDotsState.active === 'number' &&\n activeTooltipIndex === activeDotsState.active\n )\n return;\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.active !== 'number') {\n setActiveDotsState({\n prev: activeTooltipIndex,\n active: activeTooltipIndex,\n });\n }\n\n if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.prev === 'number') {\n setActiveDotsState((prev: ActiveDotProps) => ({\n prev: prev.active,\n active: activeTooltipIndex,\n }));\n }\n };\n\n const mouseMove = (e: any): void => {\n if (!state?.tooltip) return;\n\n arrowTooltipEvent(e.activeCoordinate);\n hoverEvent(e.isTooltipActive, e.activeTooltipIndex);\n leaveEvent(e.isTooltipActive);\n };\n\n const mouseLeave = (e: any): void => {\n if (!state?.tooltip) return;\n\n leaveEvent(e.isTooltipActive);\n };\n\n if (!data || !charts || !state) return null;\n\n return (\n <div\n className={styles.coreChart}\n ref={svgRef}\n id={state?.id || ''}\n style={{ width: '100%', height: '100%' }}\n >\n <ResponsiveContainer\n debounce={\n state?.responsiveContainer?.debounce ? state.responsiveContainer.debounce : 0\n }\n width='100%'\n >\n <ComposedChart\n {...state?.composeChart}\n onMouseMove={mouseMove}\n onMouseLeave={mouseLeave}\n data={data}\n >\n <defs>{renderGradient}</defs>\n {state.cartesianGrid && renderCartesianGrid}\n {state.xAxis && renderXAxis}\n {state.yAxis && renderYAxis}\n {renderChartsItems}\n {state.tooltip && renderTooltip}\n {state.brush && renderBrush}\n {state.legend && renderLegend}\n </ComposedChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nChart.displayName = 'Chart';\nResponsiveContainer.displayName = 'ResponsiveContainer';\n"],"names":["useSettings","useState","useRef","useMemo","React","LinearGradient","useCallback","__assign","Legend","Legends","CartesianGrid","CustomizedHOC","Tick","XAxis","YAxis","Brush","Tooltip","TooltipContent","Bar","RectBar","LabelList","CustomizedLabel","Cell","cn","styles","Line","Dot","Area","useEffect","ResponsiveContainer","ComposedChart"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Dot/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport cn from 'classnames';\n\nimport { PointIcon } from '../../icons/Point';\nimport { type DotProps, type DotSettingProps } from '../../types/utils/dot.types';\n\nimport styles from './index.module.css';\n\nexport const Dot = React.forwardRef<SVGSVGElement, DotProps>(\n (\n { cx, cy, index, activeDot, dataKey, dotSettings, value, stroke },\n ref,\n ): React.ReactElement | null => {\n const [windowWidth, setWindowWidth] = useState<number>(0);\n\n const [height, setHeight] = useState<number>(0);\n const [width, setWidth] = useState<number>(0);\n const [option, setOption] = useState<DotSettingProps | null>(null);\n\n useEffect(() => {\n let dotSetting: DotSettingProps =\n Array.isArray(dotSettings) && dotSettings.length > 0\n ? dotSettings.find((item) => item.media && windowWidth < item.media)\n : dotSettings;\n\n if (Array.isArray(dotSettings) && dotSettings.length > 0 && !dotSetting) {\n dotSetting = dotSettings[dotSettings.length - 1];\n }\n\n setWindowWidth(window.innerWidth);\n setOption(dotSetting);\n }, [dotSettings, windowWidth]);\n\n useEffect(() => {\n if (!option) return;\n\n if (typeof activeDot === 'number' && activeDot === index) {\n setHeight(option.height * option.scale);\n setWidth(option.width * option.scale);\n } else {\n setHeight(option.height * option.initScale);\n setWidth(option.width * option.initScale);\n }\n }, [activeDot, index, option]);\n\n if (!value) return null;\n\n return (\n <g\n ref={ref}\n className={cn(styles.dot)}\n transform={`translate(${cx - width / 2}, ${cy - height / 2})`}\n >\n <g\n className={cn(styles.dotWrap)}\n transform={`scale(${\n activeDot === index ? option?.scale || 0 : option?.initScale || 0\n })`}\n >\n <svg\n className={cn(\n styles.dotItem,\n activeDot === index ? styles.dotActive : '',\n typeof activeDot === 'number' && activeDot !== index\n ? styles.dotUnfocused\n : '',\n )}\n data-id={index}\n data-name={dataKey}\n width={option?.width || 0}\n height={option?.height || 0}\n >\n <PointIcon fill={stroke} />\n </svg>\n </g>\n </g>\n );\n },\n);\n"],"names":["React","useState","useEffect","cn","styles","PointIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Dot/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport cn from 'classnames';\n\nimport { PointIcon } from '../../icons/Point';\nimport { type DotProps, type DotSettingProps } from '../../types/utils/dot.types';\n\nimport styles from './index.module.css';\n\nexport const Dot = React.forwardRef<SVGSVGElement, DotProps>(\n (\n { cx, cy, index, activeDot, dataKey, dotSettings, value, stroke },\n ref,\n ): React.ReactElement | null => {\n const [windowWidth, setWindowWidth] = useState<number>(0);\n\n const [height, setHeight] = useState<number>(0);\n const [width, setWidth] = useState<number>(0);\n const [option, setOption] = useState<DotSettingProps | null>(null);\n\n useEffect(() => {\n let dotSetting: DotSettingProps =\n Array.isArray(dotSettings) && dotSettings.length > 0\n ? dotSettings.find((item) => item.media && windowWidth < item.media)\n : dotSettings;\n\n if (Array.isArray(dotSettings) && dotSettings.length > 0 && !dotSetting) {\n dotSetting = dotSettings[dotSettings.length - 1];\n }\n\n setWindowWidth(window.innerWidth);\n setOption(dotSetting);\n }, [dotSettings, windowWidth]);\n\n useEffect(() => {\n if (!option) return;\n\n if (typeof activeDot === 'number' && activeDot === index) {\n setHeight(option.height * option.scale);\n setWidth(option.width * option.scale);\n } else {\n setHeight(option.height * option.initScale);\n setWidth(option.width * option.initScale);\n }\n }, [activeDot, index, option]);\n\n if (!value) return null;\n\n return (\n <g\n ref={ref}\n className={cn(styles.dot)}\n transform={`translate(${cx - width / 2}, ${cy - height / 2})`}\n >\n <g\n className={cn(styles.dotWrap)}\n transform={`scale(${\n activeDot === index ? option?.scale || 0 : option?.initScale || 0\n })`}\n >\n <svg\n className={cn(\n styles.dotItem,\n activeDot === index ? styles.dotActive : '',\n typeof activeDot === 'number' && activeDot !== index\n ? styles.dotUnfocused\n : '',\n )}\n data-id={index}\n data-name={dataKey}\n width={option?.width || 0}\n height={option?.height || 0}\n >\n <PointIcon fill={stroke} />\n </svg>\n </g>\n </g>\n );\n },\n);\n"],"names":["React","useState","useEffect","cn","styles","PointIcon"],"mappings":"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"}
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const RectBar: ({ fill, x, y, width, height, radius, background }: any) => JSX.Element;