vccs 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/cartesian/funnel/Funnel.d.ts +2 -0
  2. package/dist/cartesian/funnel/index.d.ts +2 -0
  3. package/dist/cartesian/funnel/type.d.ts +74 -5
  4. package/dist/cartesian/index.d.ts +1 -0
  5. package/dist/chart/FunnelChart.d.ts +1 -0
  6. package/dist/chart/index.d.ts +1 -0
  7. package/dist/es/animation/Animate.mjs +48 -22
  8. package/dist/es/cartesian/GraphicalItemClipPath.mjs +16 -15
  9. package/dist/es/cartesian/area/ActivePoints.mjs +44 -40
  10. package/dist/es/cartesian/area/Area.mjs +42 -31
  11. package/dist/es/cartesian/area/ClipRect.mjs +79 -58
  12. package/dist/es/cartesian/area/RenderArea.mjs +142 -108
  13. package/dist/es/cartesian/area/hooks/useArea.mjs +71 -47
  14. package/dist/es/cartesian/area/type.mjs +11 -11
  15. package/dist/es/cartesian/area/utils.mjs +69 -49
  16. package/dist/es/cartesian/axis/XAxis.mjs +87 -73
  17. package/dist/es/cartesian/axis/YAxis.mjs +67 -56
  18. package/dist/es/cartesian/bar/Bar.mjs +93 -71
  19. package/dist/es/cartesian/bar/components/BarBackground.mjs +22 -19
  20. package/dist/es/cartesian/bar/components/BarRectangles.mjs +117 -80
  21. package/dist/es/cartesian/bar/hooks/useBar.mjs +49 -37
  22. package/dist/es/cartesian/bar/type.mjs +9 -9
  23. package/dist/es/cartesian/bar/utils.mjs +97 -70
  24. package/dist/es/cartesian/cartesian-axis/CartesianAxis.mjs +165 -115
  25. package/dist/es/cartesian/cartesian-grid/Background.mjs +19 -16
  26. package/dist/es/cartesian/cartesian-grid/CartesianGrid.mjs +116 -97
  27. package/dist/es/cartesian/cartesian-grid/HorizontalGridLines.mjs +24 -23
  28. package/dist/es/cartesian/cartesian-grid/HorizontalStripes.mjs +24 -24
  29. package/dist/es/cartesian/cartesian-grid/VerticalGridLines.mjs +23 -22
  30. package/dist/es/cartesian/cartesian-grid/VerticalStripes.mjs +24 -24
  31. package/dist/es/cartesian/cartesian-grid/const.mjs +317 -10
  32. package/dist/es/cartesian/cartesian-grid/utils.mjs +18 -13
  33. package/dist/es/cartesian/error-bar/ErrorBar.mjs +111 -83
  34. package/dist/es/cartesian/error-bar/ErrorBarContext.mjs +13 -12
  35. package/dist/es/cartesian/funnel/Funnel.mjs +177 -0
  36. package/dist/es/cartesian/funnel/type.mjs +80 -0
  37. package/dist/es/cartesian/funnel/utils.mjs +102 -0
  38. package/dist/es/cartesian/line/ActivePoints.mjs +45 -41
  39. package/dist/es/cartesian/line/Line.mjs +41 -37
  40. package/dist/es/cartesian/line/StaticLine.mjs +191 -122
  41. package/dist/es/cartesian/line/hooks/useLine.mjs +60 -44
  42. package/dist/es/cartesian/line/type.mjs +11 -11
  43. package/dist/es/cartesian/line/utils.mjs +27 -26
  44. package/dist/es/cartesian/reference-area/ReferenceArea.mjs +86 -69
  45. package/dist/es/cartesian/reference-line/ReferenceLine.mjs +99 -77
  46. package/dist/es/cartesian/scatter/Scatter.mjs +168 -140
  47. package/dist/es/cartesian/scatter/hooks/useScatter.mjs +18 -14
  48. package/dist/es/cartesian/useNeedsClip.mjs +18 -9
  49. package/dist/es/cartesian/utils/get-ticks.mjs +103 -68
  50. package/dist/es/cartesian/z-axis/ZAxis.mjs +30 -28
  51. package/dist/es/chart/AreaChart.mjs +5 -5
  52. package/dist/es/chart/BarChart.mjs +5 -5
  53. package/dist/es/chart/ComposedChart.mjs +5 -5
  54. package/dist/es/chart/FunnelChart.mjs +11 -0
  55. package/dist/es/chart/LegendPortalContext.mjs +3 -3
  56. package/dist/es/chart/LineChart.mjs +5 -5
  57. package/dist/es/chart/PieChart.mjs +5 -5
  58. package/dist/es/chart/RadarChart.mjs +5 -5
  59. package/dist/es/chart/RadialBarChart.mjs +5 -5
  60. package/dist/es/chart/RechartsWrapper.mjs +111 -88
  61. package/dist/es/chart/ScatterChart.mjs +5 -5
  62. package/dist/es/chart/Surface.mjs +3 -3
  63. package/dist/es/chart/Surface.vue_vue_type_script_setup_true_lang.mjs +51 -45
  64. package/dist/es/chart/TooltipPortalContext.mjs +3 -3
  65. package/dist/es/chart/const.mjs +2 -2
  66. package/dist/es/chart/generateCategoricalChart.mjs +97 -88
  67. package/dist/es/chart/provideClipPathId.mjs +12 -7
  68. package/dist/es/components/Cell.mjs +16 -4
  69. package/dist/es/components/Text.mjs +3 -3
  70. package/dist/es/components/Text.vue_vue_type_script_setup_true_lang.mjs +106 -69
  71. package/dist/es/components/Tooltip.mjs +274 -199
  72. package/dist/es/components/label/Label.mjs +30 -26
  73. package/dist/es/components/label/LabelList.mjs +45 -39
  74. package/dist/es/components/label/types.mjs +8 -5
  75. package/dist/es/components/label/utils.mjs +194 -162
  76. package/dist/es/components/legend/Legend.mjs +82 -71
  77. package/dist/es/components/legend/LegendSymbol.mjs +40 -38
  78. package/dist/es/components/legend/hooks/useLegend.mjs +66 -46
  79. package/dist/es/components/legend/hooks/useLegendContent.mjs +52 -31
  80. package/dist/es/components/legend/type.mjs +2 -2
  81. package/dist/es/components/legend/utils.mjs +19 -11
  82. package/dist/es/components/utils.mjs +35 -22
  83. package/dist/es/container/ClipPath.mjs +14 -14
  84. package/dist/es/container/Layer.mjs +9 -7
  85. package/dist/es/container/ResponsiveContainer.mjs +3 -3
  86. package/dist/es/container/ResponsiveContainer.vue_vue_type_script_setup_true_lang.mjs +109 -77
  87. package/dist/es/container/Surface.mjs +23 -19
  88. package/dist/es/container/useSizeContext.mjs +3 -3
  89. package/dist/es/context/ChartDataContextProvider.mjs +19 -13
  90. package/dist/es/context/PanoramaContextProvider.mjs +15 -10
  91. package/dist/es/context/accessibilityContext.mjs +3 -3
  92. package/dist/es/context/cartesianLabelListContext.mjs +3 -3
  93. package/dist/es/context/chartLayoutContext.mjs +33 -30
  94. package/dist/es/context/cursorLayerContext.mjs +3 -3
  95. package/dist/es/context/graphicalLayerContext.mjs +3 -3
  96. package/dist/es/context/labelLayerContext.mjs +3 -3
  97. package/dist/es/context/polarLabelViewBoxContext.mjs +5 -5
  98. package/dist/es/context/useTooltipAxis.mjs +14 -12
  99. package/dist/es/events/useChartSynchronisation.mjs +91 -66
  100. package/dist/es/hooks/useIsAnimating.mjs +28 -0
  101. package/dist/es/hooks/useSetupGraphicalItem.mjs +52 -43
  102. package/dist/es/index.mjs +46 -42
  103. package/dist/es/polar/pie/Pie.mjs +131 -115
  104. package/dist/es/polar/pie/type.mjs +6 -6
  105. package/dist/es/polar/radar/PolarAngleAxis.mjs +103 -84
  106. package/dist/es/polar/radar/PolarGrid.mjs +72 -59
  107. package/dist/es/polar/radar/PolarRadiusAxis.mjs +90 -65
  108. package/dist/es/polar/radar/Radar.mjs +181 -145
  109. package/dist/es/polar/radial-bar/RadialBar.mjs +161 -140
  110. package/dist/es/polar/radial-bar/type.mjs +9 -9
  111. package/dist/es/shape/Cross.mjs +11 -10
  112. package/dist/es/shape/Curve.mjs +69 -43
  113. package/dist/es/shape/Dot.mjs +12 -11
  114. package/dist/es/shape/Rectangle.mjs +41 -26
  115. package/dist/es/shape/Sector.mjs +103 -75
  116. package/dist/es/shape/Symbols.mjs +45 -34
  117. package/dist/es/shape/Trapezoid.mjs +52 -0
  118. package/dist/es/state/ReportChartProps.mjs +21 -20
  119. package/dist/es/state/ReportMainChartProps.mjs +26 -21
  120. package/dist/es/state/ReportPolarOptions.mjs +23 -22
  121. package/dist/es/state/SetGraphicalItem.mjs +42 -27
  122. package/dist/es/state/SetLegendPayload.mjs +17 -13
  123. package/dist/es/state/SetTooltipEntrySettings.mjs +14 -12
  124. package/dist/es/state/brushSlice.mjs +12 -8
  125. package/dist/es/state/cartesianAxisSlice.mjs +23 -17
  126. package/dist/es/state/chartDataSlice.mjs +18 -13
  127. package/dist/es/state/externalEventsMiddleware.mjs +25 -15
  128. package/dist/es/state/graphicalItemsSlice.mjs +29 -25
  129. package/dist/es/state/hooks.mjs +4 -3
  130. package/dist/es/state/keyboardEventsMiddleware.mjs +50 -42
  131. package/dist/es/state/layoutSlice.mjs +18 -12
  132. package/dist/es/state/legendSlice.mjs +19 -14
  133. package/dist/es/state/mouseEventsMiddleware.mjs +31 -24
  134. package/dist/es/state/optionsSlice.mjs +14 -11
  135. package/dist/es/state/polarAxisSlice.mjs +15 -13
  136. package/dist/es/state/polarOptionsSlice.mjs +8 -6
  137. package/dist/es/state/reduxDevtoolsJsonStringifyReplacer.mjs +5 -3
  138. package/dist/es/state/referenceElementsSlice.mjs +21 -19
  139. package/dist/es/state/rootPropsSlice.mjs +20 -9
  140. package/dist/es/state/selectors/areaSelectors.mjs +65 -55
  141. package/dist/es/state/selectors/axisSelectors.mjs +755 -569
  142. package/dist/es/state/selectors/barSelectors.mjs +225 -162
  143. package/dist/es/state/selectors/brushSelectors.mjs +15 -14
  144. package/dist/es/state/selectors/combiners/combineActiveLabel.mjs +6 -5
  145. package/dist/es/state/selectors/combiners/combineActiveTooltipIndex.mjs +36 -27
  146. package/dist/es/state/selectors/combiners/combineAxisRangeWithReverse.mjs +5 -3
  147. package/dist/es/state/selectors/combiners/combineCoordinateForDefaultIndex.mjs +13 -11
  148. package/dist/es/state/selectors/combiners/combineTooltipInteractionState.mjs +26 -21
  149. package/dist/es/state/selectors/combiners/combineTooltipPayloadConfigurations.mjs +10 -6
  150. package/dist/es/state/selectors/common.mjs +2 -2
  151. package/dist/es/state/selectors/containerSelectors.mjs +5 -2
  152. package/dist/es/state/selectors/dataSelectors.mjs +28 -9
  153. package/dist/es/state/selectors/funnelSelectors.mjs +38 -0
  154. package/dist/es/state/selectors/legendSelectors.mjs +7 -6
  155. package/dist/es/state/selectors/lineSelectors.mjs +54 -47
  156. package/dist/es/state/selectors/pickAxisId.mjs +2 -2
  157. package/dist/es/state/selectors/pickAxisType.mjs +2 -2
  158. package/dist/es/state/selectors/pieSelectors.mjs +116 -81
  159. package/dist/es/state/selectors/polarAxisSelectors.mjs +113 -94
  160. package/dist/es/state/selectors/polarGridSelectors.mjs +13 -11
  161. package/dist/es/state/selectors/polarScaleSelectors.mjs +49 -46
  162. package/dist/es/state/selectors/polarSelectors.mjs +79 -62
  163. package/dist/es/state/selectors/radarSelectors.mjs +111 -91
  164. package/dist/es/state/selectors/radialBarSelectors.mjs +230 -183
  165. package/dist/es/state/selectors/rootPropsSelectors.mjs +11 -5
  166. package/dist/es/state/selectors/scatterSelectors.mjs +111 -95
  167. package/dist/es/state/selectors/selectActivePropsFromChartPointer.mjs +19 -17
  168. package/dist/es/state/selectors/selectAllAxes.mjs +8 -3
  169. package/dist/es/state/selectors/selectChartOffset.mjs +59 -50
  170. package/dist/es/state/selectors/selectChartOffsetInternal.mjs +55 -44
  171. package/dist/es/state/selectors/selectTooltipEventType.mjs +15 -14
  172. package/dist/es/state/selectors/selectTooltipPayloadSearcher.mjs +3 -3
  173. package/dist/es/state/selectors/selectTooltipSettings.mjs +2 -2
  174. package/dist/es/state/selectors/selectTooltipState.mjs +2 -2
  175. package/dist/es/state/selectors/selectors.mjs +94 -75
  176. package/dist/es/state/selectors/tooltipSelectors.mjs +253 -204
  177. package/dist/es/state/selectors/touchSelectors.mjs +17 -14
  178. package/dist/es/state/store.mjs +46 -46
  179. package/dist/es/state/tooltipSlice.mjs +64 -37
  180. package/dist/es/state/touchEventsMiddleware.mjs +35 -29
  181. package/dist/es/state/utils/useReportScale.mjs +16 -13
  182. package/dist/es/synchronisation/syncSelectors.mjs +3 -3
  183. package/dist/es/synchronisation/useChartSynchronisation.mjs +33 -19
  184. package/dist/es/types/event.mjs +164 -2
  185. package/dist/es/utils/ReduceCSSCalc.mjs +81 -49
  186. package/dist/es/utils/VueUtils.mjs +35 -14
  187. package/dist/es/utils/attrs.mjs +43 -26
  188. package/dist/es/utils/cartesian.mjs +47 -15
  189. package/dist/es/utils/chart.mjs +298 -197
  190. package/dist/es/utils/const.mjs +30 -2
  191. package/dist/es/utils/createContext.mjs +28 -9
  192. package/dist/es/utils/data-utils.mjs +9 -8
  193. package/dist/es/utils/data.mjs +35 -21
  194. package/dist/es/utils/events.mjs +5 -3
  195. package/dist/es/utils/getLinearRegression.mjs +28 -11
  196. package/dist/es/utils/grid.mjs +20 -5
  197. package/dist/es/utils/isDomainSpecifiedByUser.mjs +105 -54
  198. package/dist/es/utils/legend.mjs +13 -12
  199. package/dist/es/utils/log.mjs +10 -7
  200. package/dist/es/utils/payload/getUniqPayload.mjs +6 -4
  201. package/dist/es/utils/polar.mjs +37 -30
  202. package/dist/es/utils/props.mjs +16 -10
  203. package/dist/es/utils/resolveDefaultProps.mjs +23 -4
  204. package/dist/es/utils/scale/getNiceTickValues.mjs +127 -49
  205. package/dist/es/utils/scale/utils/arithmetic.mjs +49 -19
  206. package/dist/es/utils/scale/utils/utils.mjs +43 -24
  207. package/dist/es/utils/style.mjs +24 -13
  208. package/dist/es/utils/tick.mjs +34 -23
  209. package/dist/es/utils/tooltip/translate.mjs +63 -49
  210. package/dist/es/utils/validate.mjs +40 -29
  211. package/dist/hooks/useIsAnimating.d.ts +14 -0
  212. package/dist/shape/Trapezoid.d.ts +31 -0
  213. package/dist/shape/index.d.ts +1 -0
  214. package/dist/state/graphicalItemsSlice.d.ts +1 -1
  215. package/package.json +1 -1
@@ -1,212 +1,259 @@
1
- import { isCategoricalAxis as e, isNullish as t } from "../../utils/validate.mjs";
2
- import { selectChartDataAndAlwaysIgnoreIndexes as n, selectChartDataWithIndexes as r } from "./dataSelectors.mjs";
3
- import { selectBarCategoryGap as i, selectBarGap as a, selectRootBarSize as o, selectRootMaxBarSize as s, selectStackOffsetType as c } from "./rootPropsSelectors.mjs";
4
- import { mathSign as l } from "../../utils/data.mjs";
5
- import { selectChartLayout as u } from "./common.mjs";
6
- import { selectAngleAxis as d, selectPolarViewBox as f, selectRadiusAxis as p } from "./polarAxisSelectors.mjs";
7
- import { getBandSizeOfAxis as m, getBaseValueOfBar as h, getCateCoordinateOfBar as g, getValueByDataKey as _, truncateByDomain as v } from "../../utils/chart.mjs";
8
- import { combineStackGroups as y } from "./axisSelectors.mjs";
9
- import { combineAllBarPositions as b, combineBarSizeList as x, combineStackedData as S } from "./barSelectors.mjs";
10
- import { selectPolarDisplayedData as C, selectPolarItemsSettings as w, selectUnfilteredPolarItems as T } from "./polarSelectors.mjs";
11
- import { selectPolarAxisScale as E, selectPolarAxisTicks as D, selectPolarGraphicalItemAxisTicks as O } from "./polarScaleSelectors.mjs";
12
- import { createSelector as k } from "@reduxjs/toolkit";
1
+ import { isCategoricalAxis, isNullish } from "../../utils/validate.mjs";
2
+ import { selectChartDataAndAlwaysIgnoreIndexes, selectChartDataWithIndexes } from "./dataSelectors.mjs";
3
+ import { selectBarCategoryGap, selectBarGap, selectRootBarSize, selectRootMaxBarSize, selectStackOffsetType } from "./rootPropsSelectors.mjs";
4
+ import { mathSign } from "../../utils/data.mjs";
5
+ import { selectChartLayout } from "./common.mjs";
6
+ import { selectAngleAxis, selectPolarViewBox, selectRadiusAxis } from "./polarAxisSelectors.mjs";
7
+ import { getBandSizeOfAxis, getBaseValueOfBar, getCateCoordinateOfBar, getValueByDataKey, truncateByDomain } from "../../utils/chart.mjs";
8
+ import { combineStackGroups } from "./axisSelectors.mjs";
9
+ import { combineAllBarPositions, combineBarSizeList, combineStackedData } from "./barSelectors.mjs";
10
+ import { selectPolarDisplayedData, selectPolarItemsSettings, selectUnfilteredPolarItems } from "./polarSelectors.mjs";
11
+ import { selectPolarAxisScale, selectPolarAxisTicks, selectPolarGraphicalItemAxisTicks } from "./polarScaleSelectors.mjs";
12
+ import { createSelector } from "@reduxjs/toolkit";
13
13
  //#region src/state/selectors/radialBarSelectors.ts
14
- function A(e, t) {
15
- return p(e, t);
14
+ function selectRadiusAxisForRadialBar(state, radiusAxisId) {
15
+ return selectRadiusAxis(state, radiusAxisId);
16
16
  }
17
- function j(e, t) {
18
- return E(e, "radiusAxis", t);
17
+ function selectRadiusAxisScaleForRadar(state, radiusAxisId) {
18
+ return selectPolarAxisScale(state, "radiusAxis", radiusAxisId);
19
19
  }
20
- var M = k([A, j], (e, t) => {
21
- if (!(e == null || t == null)) return {
22
- ...e,
23
- scale: t
20
+ var selectRadiusAxisWithScale = createSelector([selectRadiusAxisForRadialBar, selectRadiusAxisScaleForRadar], (axis, scale) => {
21
+ if (axis == null || scale == null) return;
22
+ return {
23
+ ...axis,
24
+ scale
24
25
  };
25
26
  });
26
- function N(e, t, n, r) {
27
- return O(e, "radiusAxis", t, r);
27
+ function selectRadiusAxisTicks(state, radiusAxisId, _angleAxisId, isPanorama) {
28
+ return selectPolarGraphicalItemAxisTicks(state, "radiusAxis", radiusAxisId, isPanorama);
28
29
  }
29
- function P(e, t, n) {
30
- return d(e, n);
30
+ function selectAngleAxisForRadialBar(state, _radiusAxisId, angleAxisId) {
31
+ return selectAngleAxis(state, angleAxisId);
31
32
  }
32
- function F(e, t, n) {
33
- return E(e, "angleAxis", n);
33
+ function selectAngleAxisScaleForRadialBar(state, _radiusAxisId, angleAxisId) {
34
+ return selectPolarAxisScale(state, "angleAxis", angleAxisId);
34
35
  }
35
- var I = k([P, F], (e, t) => {
36
- if (!(e == null || t == null)) return {
37
- ...e,
38
- scale: t
36
+ var selectAngleAxisWithScale = createSelector([selectAngleAxisForRadialBar, selectAngleAxisScaleForRadialBar], (axis, scale) => {
37
+ if (axis == null || scale == null) return;
38
+ return {
39
+ ...axis,
40
+ scale
39
41
  };
40
42
  });
41
- function L(e, t, n, r) {
42
- return D(e, "angleAxis", n, r);
43
+ function selectAngleAxisTicks(state, _radiusAxisId, angleAxisId, isPanorama) {
44
+ return selectPolarAxisTicks(state, "angleAxis", angleAxisId, isPanorama);
43
45
  }
44
- function R(e, t, n, r) {
45
- return r;
46
+ function pickRadialBarSettings(_state, _radiusAxisId, _angleAxisId, radialBarSettings) {
47
+ return radialBarSettings;
46
48
  }
47
- var z = k([T, R], (e, t) => {
48
- if (e.some((e) => e.type === "radialBar" && t.dataKey === e.dataKey && t.stackId === e.stackId)) return t;
49
- }), B = k([
50
- u,
51
- M,
52
- N,
53
- I,
54
- L
55
- ], (t, n, r, i, a) => e(t, "radiusAxis") ? m(n, r, !1) : m(i, a, !1)), V = k([
56
- I,
57
- M,
58
- u
59
- ], (e, t, n) => {
60
- let r = n === "radial" ? e : t;
61
- if (!(r == null || r.scale == null)) return h({ numericAxis: r });
49
+ var selectSynchronisedRadialBarSettings = createSelector([selectUnfilteredPolarItems, pickRadialBarSettings], (graphicalItems, radialBarSettingsFromProps) => {
50
+ if (graphicalItems.some((pgis) => pgis.type === "radialBar" && radialBarSettingsFromProps.dataKey === pgis.dataKey && radialBarSettingsFromProps.stackId === pgis.stackId)) return radialBarSettingsFromProps;
62
51
  });
63
- function H(e, t, n, r) {
64
- return n;
52
+ var selectBandSizeOfPolarAxis = createSelector([
53
+ selectChartLayout,
54
+ selectRadiusAxisWithScale,
55
+ selectRadiusAxisTicks,
56
+ selectAngleAxisWithScale,
57
+ selectAngleAxisTicks
58
+ ], (layout, radiusAxis, radiusAxisTicks, angleAxis, angleAxisTicks) => {
59
+ if (isCategoricalAxis(layout, "radiusAxis")) return getBandSizeOfAxis(radiusAxis, radiusAxisTicks, false);
60
+ return getBandSizeOfAxis(angleAxis, angleAxisTicks, false);
61
+ });
62
+ var selectBaseValue = createSelector([
63
+ selectAngleAxisWithScale,
64
+ selectRadiusAxisWithScale,
65
+ selectChartLayout
66
+ ], (angleAxis, radiusAxis, layout) => {
67
+ const numericAxis = layout === "radial" ? angleAxis : radiusAxis;
68
+ if (numericAxis == null || numericAxis.scale == null) return;
69
+ return getBaseValueOfBar({ numericAxis });
70
+ });
71
+ function pickAngleAxisId(_state, _radiusAxisId, angleAxisId, _radialBarSettings) {
72
+ return angleAxisId;
65
73
  }
66
- function U(e, t, n, r) {
67
- return t;
74
+ function pickRadiusAxisId(_state, radiusAxisId, _angleAxisId, _radialBarSettings) {
75
+ return radiusAxisId;
68
76
  }
69
- function W(e, t, n, r) {
70
- return r.maxBarSize;
77
+ function pickMaxBarSize(_state, _radiusAxisId, _angleAxisId, radialBarSettings) {
78
+ return radialBarSettings.maxBarSize;
71
79
  }
72
- var G = k([k([
73
- k([
74
- k([
75
- u,
76
- T,
77
- H,
78
- U
79
- ], (e, t, n, r) => t.filter((t) => e === "centric" ? t.angleAxisId === n : t.radiusAxisId === r).filter((e) => e.hide === !1).filter((e) => e.type === "radialBar")),
80
- o,
81
- () => void 0
82
- ], x),
83
- s,
84
- a,
85
- i,
86
- k([
87
- u,
88
- s,
89
- I,
90
- L,
91
- M,
92
- N,
93
- W
94
- ], (e, n, r, i, a, o, s) => {
95
- let c = t(s) ? n : s;
96
- return e === "centric" ? m(r, i, !0) ?? c ?? 0 : m(a, o, !0) ?? c ?? 0;
80
+ var selectAllVisibleRadialBars = createSelector([
81
+ selectChartLayout,
82
+ selectUnfilteredPolarItems,
83
+ pickAngleAxisId,
84
+ pickRadiusAxisId
85
+ ], (layout, allItems, angleAxisId, radiusAxisId) => {
86
+ return allItems.filter((i) => {
87
+ if (layout === "centric") return i.angleAxisId === angleAxisId;
88
+ return i.radiusAxisId === radiusAxisId;
89
+ }).filter((i) => i.hide === false).filter((i) => i.type === "radialBar");
90
+ });
91
+ /**
92
+ * The generator never returned the totalSize which means that barSize in polar chart can not support percent values.
93
+ * We can add that if we want to I suppose.
94
+ * @returns undefined - but it should be a total size of numerical axis in polar chart
95
+ */
96
+ var selectPolarBarAxisSize = () => void 0;
97
+ var selectPolarBarPosition = createSelector([createSelector([
98
+ createSelector([
99
+ selectAllVisibleRadialBars,
100
+ selectRootBarSize,
101
+ selectPolarBarAxisSize
102
+ ], combineBarSizeList),
103
+ selectRootMaxBarSize,
104
+ selectBarGap,
105
+ selectBarCategoryGap,
106
+ createSelector([
107
+ selectChartLayout,
108
+ selectRootMaxBarSize,
109
+ selectAngleAxisWithScale,
110
+ selectAngleAxisTicks,
111
+ selectRadiusAxisWithScale,
112
+ selectRadiusAxisTicks,
113
+ pickMaxBarSize
114
+ ], (layout, globalMaxBarSize, angleAxis, angleAxisTicks, radiusAxis, radiusAxisTicks, childMaxBarSize) => {
115
+ const maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;
116
+ if (layout === "centric") return getBandSizeOfAxis(angleAxis, angleAxisTicks, true) ?? maxBarSize ?? 0;
117
+ return getBandSizeOfAxis(radiusAxis, radiusAxisTicks, true) ?? maxBarSize ?? 0;
97
118
  }),
98
- B,
99
- W
100
- ], b), z], (e, t) => {
101
- if (e == null || t == null) return;
102
- let n = e.find((e) => e.stackId === t.stackId && e.dataKeys.includes(t.dataKey));
103
- if (n != null) return n.position;
104
- }), K = k([
105
- C,
106
- w,
107
- c
108
- ], y), q = k([(e, t, n) => u(e) === "centric" ? K(e, "radiusAxis", t) : K(e, "angleAxis", n), z], S);
109
- function J({ displayedData: e, stackedData: t, dataStartIndex: n, stackedDomain: r, dataKey: i, baseValue: a, layout: o, radiusAxis: s, radiusAxisTicks: c, bandSize: u, pos: d, angleAxis: f, minPointSize: p, cx: m, cy: h, angleAxisTicks: y, startAngle: b, endAngle: x }) {
110
- return (e ?? []).map((e, S) => {
111
- let C, w, T, E, D, O;
112
- if (t ? C = v(t[n + S], r) : (C = _(e, i), Array.isArray(C) || (C = [a, C])), o === "radial") {
113
- if (E = f.scale(C[0]) ?? b, D = f.scale(C[1]) ?? x, w = g({
114
- axis: s,
115
- ticks: c,
116
- bandSize: u,
117
- offset: d.offset,
118
- entry: e,
119
- index: S
120
- }), w != null && (w -= u / 2), w != null && D != null && E != null) {
121
- T = w + d.size;
122
- let e = D - E;
123
- if (Math.abs(p) > 0 && Math.abs(e) < Math.abs(p)) {
124
- let t = l(e || p) * (Math.abs(p) - Math.abs(e));
125
- D += t;
119
+ selectBandSizeOfPolarAxis,
120
+ pickMaxBarSize
121
+ ], combineAllBarPositions), selectSynchronisedRadialBarSettings], (allBarPositions, barSettings) => {
122
+ if (allBarPositions == null || barSettings == null) return;
123
+ const position = allBarPositions.find((p) => p.stackId === barSettings.stackId && p.dataKeys.includes(barSettings.dataKey));
124
+ if (position == null) return;
125
+ return position.position;
126
+ });
127
+ var selectStackGroups = createSelector([
128
+ selectPolarDisplayedData,
129
+ selectPolarItemsSettings,
130
+ selectStackOffsetType
131
+ ], combineStackGroups);
132
+ var selectRadialBarStackGroups = (state, radiusAxisId, angleAxisId) => {
133
+ if (selectChartLayout(state) === "centric") return selectStackGroups(state, "radiusAxis", radiusAxisId);
134
+ return selectStackGroups(state, "angleAxis", angleAxisId);
135
+ };
136
+ var selectPolarStackedData = createSelector([selectRadialBarStackGroups, selectSynchronisedRadialBarSettings], combineStackedData);
137
+ function computeRadialBarDataItems({ displayedData, stackedData, dataStartIndex, stackedDomain, dataKey, baseValue, layout, radiusAxis, radiusAxisTicks, bandSize, pos, angleAxis, minPointSize, cx, cy, angleAxisTicks, startAngle: rootStartAngle, endAngle: rootEndAngle }) {
138
+ return (displayedData ?? []).map((entry, index) => {
139
+ let value, innerRadius, outerRadius, startAngle, endAngle, backgroundSector;
140
+ if (stackedData) value = truncateByDomain(stackedData[dataStartIndex + index], stackedDomain);
141
+ else {
142
+ value = getValueByDataKey(entry, dataKey);
143
+ if (!Array.isArray(value)) value = [baseValue, value];
144
+ }
145
+ if (layout === "radial") {
146
+ startAngle = angleAxis.scale(value[0]) ?? rootStartAngle;
147
+ endAngle = angleAxis.scale(value[1]) ?? rootEndAngle;
148
+ innerRadius = getCateCoordinateOfBar({
149
+ axis: radiusAxis,
150
+ ticks: radiusAxisTicks,
151
+ bandSize,
152
+ offset: pos.offset,
153
+ entry,
154
+ index
155
+ });
156
+ if (innerRadius != null) innerRadius = innerRadius - bandSize / 2;
157
+ if (innerRadius != null && endAngle != null && startAngle != null) {
158
+ outerRadius = innerRadius + pos.size;
159
+ const deltaAngle = endAngle - startAngle;
160
+ if (Math.abs(minPointSize) > 0 && Math.abs(deltaAngle) < Math.abs(minPointSize)) {
161
+ const delta = mathSign(deltaAngle || minPointSize) * (Math.abs(minPointSize) - Math.abs(deltaAngle));
162
+ endAngle += delta;
126
163
  }
127
- O = { background: {
128
- cx: m,
129
- cy: h,
130
- innerRadius: w,
131
- outerRadius: T,
132
- startAngle: b,
133
- endAngle: x
164
+ backgroundSector = { background: {
165
+ cx,
166
+ cy,
167
+ innerRadius,
168
+ outerRadius,
169
+ startAngle: rootStartAngle,
170
+ endAngle: rootEndAngle
134
171
  } };
135
172
  }
136
- } else if (w = s.scale(C[0]), T = s.scale(C[1]), E = g({
137
- axis: f,
138
- ticks: y,
139
- bandSize: u,
140
- offset: d.offset,
141
- entry: e,
142
- index: S
143
- }), w != null && T != null && E != null) {
144
- D = E + d.size;
145
- let e = T - w;
146
- if (Math.abs(p) > 0 && Math.abs(e) < Math.abs(p)) {
147
- let t = l(e || p) * (Math.abs(p) - Math.abs(e));
148
- T += t;
173
+ } else {
174
+ innerRadius = radiusAxis.scale(value[0]);
175
+ outerRadius = radiusAxis.scale(value[1]);
176
+ startAngle = getCateCoordinateOfBar({
177
+ axis: angleAxis,
178
+ ticks: angleAxisTicks,
179
+ bandSize,
180
+ offset: pos.offset,
181
+ entry,
182
+ index
183
+ });
184
+ if (innerRadius != null && outerRadius != null && startAngle != null) {
185
+ endAngle = startAngle + pos.size;
186
+ const deltaRadius = outerRadius - innerRadius;
187
+ if (Math.abs(minPointSize) > 0 && Math.abs(deltaRadius) < Math.abs(minPointSize)) {
188
+ const delta = mathSign(deltaRadius || minPointSize) * (Math.abs(minPointSize) - Math.abs(deltaRadius));
189
+ outerRadius += delta;
190
+ }
149
191
  }
150
192
  }
151
193
  return {
152
- ...e,
153
- ...O,
154
- payload: e,
155
- value: t ? C : C[1],
156
- cx: m,
157
- cy: h,
158
- innerRadius: w,
159
- outerRadius: T,
160
- startAngle: E,
161
- endAngle: D
194
+ ...entry,
195
+ ...backgroundSector,
196
+ payload: entry,
197
+ value: stackedData ? value : value[1],
198
+ cx,
199
+ cy,
200
+ innerRadius,
201
+ outerRadius,
202
+ startAngle,
203
+ endAngle
162
204
  };
163
205
  });
164
206
  }
165
- var Y = k([
166
- I,
167
- L,
168
- M,
169
- N,
170
- r,
171
- z,
172
- B,
173
- u,
174
- V,
175
- f,
176
- G,
177
- q
178
- ], (e, t, n, r, { chartData: i, dataStartIndex: a, dataEndIndex: o }, s, c, l, u, d, f, p) => {
179
- if (s == null || n == null || e == null || i == null || c == null || f == null || d == null || t == null || r == null || l !== "centric" && l !== "radial") return;
180
- let { dataKey: m, minPointSize: h } = s, { cx: g, cy: _, startAngle: v, endAngle: y } = d;
181
- return J({
182
- angleAxis: e,
183
- angleAxisTicks: t,
184
- bandSize: c,
185
- baseValue: u,
186
- cx: g,
187
- cy: _,
188
- dataKey: m,
189
- dataStartIndex: a,
190
- displayedData: i.slice(a, o + 1),
191
- endAngle: y,
192
- layout: l,
193
- minPointSize: h,
194
- pos: f,
195
- radiusAxis: n,
196
- radiusAxisTicks: r,
197
- stackedData: p,
198
- stackedDomain: p ? (l === "centric" ? n : e).scale.domain() : null,
199
- startAngle: v
207
+ var selectRadialBarSectors = createSelector([
208
+ selectAngleAxisWithScale,
209
+ selectAngleAxisTicks,
210
+ selectRadiusAxisWithScale,
211
+ selectRadiusAxisTicks,
212
+ selectChartDataWithIndexes,
213
+ selectSynchronisedRadialBarSettings,
214
+ selectBandSizeOfPolarAxis,
215
+ selectChartLayout,
216
+ selectBaseValue,
217
+ selectPolarViewBox,
218
+ selectPolarBarPosition,
219
+ selectPolarStackedData
220
+ ], (angleAxis, angleAxisTicks, radiusAxis, radiusAxisTicks, { chartData, dataStartIndex, dataEndIndex }, radialBarSettings, bandSize, layout, baseValue, polarViewBox, pos, stackedData) => {
221
+ if (radialBarSettings == null || radiusAxis == null || angleAxis == null || chartData == null || bandSize == null || pos == null || polarViewBox == null || angleAxisTicks == null || radiusAxisTicks == null || layout !== "centric" && layout !== "radial") return;
222
+ const { dataKey, minPointSize } = radialBarSettings;
223
+ const { cx, cy, startAngle, endAngle } = polarViewBox;
224
+ return computeRadialBarDataItems({
225
+ angleAxis,
226
+ angleAxisTicks,
227
+ bandSize,
228
+ baseValue,
229
+ cx,
230
+ cy,
231
+ dataKey,
232
+ dataStartIndex,
233
+ displayedData: chartData.slice(dataStartIndex, dataEndIndex + 1),
234
+ endAngle,
235
+ layout,
236
+ minPointSize,
237
+ pos,
238
+ radiusAxis,
239
+ radiusAxisTicks,
240
+ stackedData,
241
+ stackedDomain: stackedData ? (layout === "centric" ? radiusAxis : angleAxis).scale.domain() : null,
242
+ startAngle
243
+ });
244
+ });
245
+ var selectRadialBarLegendPayload = createSelector([selectChartDataAndAlwaysIgnoreIndexes, (_s, l) => l], ({ chartData, dataStartIndex, dataEndIndex }, legendType) => {
246
+ if (chartData == null) return [];
247
+ const displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);
248
+ if (displayedData.length === 0) return [];
249
+ return displayedData.map((entry) => {
250
+ return {
251
+ type: legendType,
252
+ value: entry.name,
253
+ color: entry.fill,
254
+ payload: entry
255
+ };
200
256
  });
201
- }), X = k([n, (e, t) => t], ({ chartData: e, dataStartIndex: t, dataEndIndex: n }, r) => {
202
- if (e == null) return [];
203
- let i = e.slice(t, n + 1);
204
- return i.length === 0 ? [] : i.map((e) => ({
205
- type: r,
206
- value: e.name,
207
- color: e.fill,
208
- payload: e
209
- }));
210
257
  });
211
258
  //#endregion
212
- export { X as selectRadialBarLegendPayload, Y as selectRadialBarSectors };
259
+ export { selectRadialBarLegendPayload, selectRadialBarSectors };
@@ -1,8 +1,14 @@
1
1
  //#region src/state/selectors/rootPropsSelectors.ts
2
- var e = (e) => e.rootProps.maxBarSize, t = (e) => e.rootProps.barGap;
3
- function n(e) {
4
- return e.rootProps.barCategoryGap;
2
+ var selectRootMaxBarSize = (state) => state.rootProps.maxBarSize;
3
+ var selectBarGap = (state) => state.rootProps.barGap;
4
+ function selectBarCategoryGap(state) {
5
+ return state.rootProps.barCategoryGap;
5
6
  }
6
- var r = (e) => e.rootProps.barSize, i = (e) => e.rootProps.stackOffset, a = (e) => e.options.chartName, o = (e) => e.rootProps.syncId, s = (e) => e.rootProps.syncMethod, c = (e) => e.options.eventEmitter;
7
+ var selectRootBarSize = (state) => state.rootProps.barSize;
8
+ var selectStackOffsetType = (state) => state.rootProps.stackOffset;
9
+ var selectChartName = (state) => state.options.chartName;
10
+ var selectSyncId = (state) => state.rootProps.syncId;
11
+ var selectSyncMethod = (state) => state.rootProps.syncMethod;
12
+ var selectEventEmitter = (state) => state.options.eventEmitter;
7
13
  //#endregion
8
- export { n as selectBarCategoryGap, t as selectBarGap, a as selectChartName, c as selectEventEmitter, r as selectRootBarSize, e as selectRootMaxBarSize, i as selectStackOffsetType, o as selectSyncId, s as selectSyncMethod };
14
+ export { selectBarCategoryGap, selectBarGap, selectChartName, selectEventEmitter, selectRootBarSize, selectRootMaxBarSize, selectStackOffsetType, selectSyncId, selectSyncMethod };