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,34 +1,49 @@
1
- import { getNormalizedStackId as e } from "../utils/chart.mjs";
2
- import { useAppDispatch as t } from "./hooks.mjs";
3
- import { addCartesianGraphicalItem as n, addPolarGraphicalItem as r, removeCartesianGraphicalItem as i, removePolarGraphicalItem as a, replaceCartesianGraphicalItem as o, replacePolarGraphicalItem as s } from "./graphicalItemsSlice.mjs";
4
- import { onUnmounted as c, unref as l, watchEffect as u } from "vue";
1
+ import { getNormalizedStackId } from "../utils/chart.mjs";
2
+ import { useAppDispatch } from "./hooks.mjs";
3
+ import { addCartesianGraphicalItem, addPolarGraphicalItem, removeCartesianGraphicalItem, removePolarGraphicalItem, replaceCartesianGraphicalItem, replacePolarGraphicalItem } from "./graphicalItemsSlice.mjs";
4
+ import { onUnmounted, unref, watchEffect } from "vue";
5
5
  //#region src/state/SetGraphicalItem.ts
6
- function d(r) {
7
- let a = t(), s = null;
8
- u(() => {
9
- let t = l(r), i = {
10
- ...t,
11
- stackId: e(t.stackId)
6
+ function SetCartesianGraphicalItem(_props) {
7
+ const dispatch = useAppDispatch();
8
+ let preSetting = null;
9
+ watchEffect(() => {
10
+ const props = unref(_props);
11
+ const settings = {
12
+ ...props,
13
+ stackId: getNormalizedStackId(props.stackId)
12
14
  };
13
- s === null ? a(n(i)) : s !== i && a(o({
14
- prev: s,
15
- next: i
16
- })), s = i;
17
- }), c(() => {
18
- s &&= (a(i(s)), null);
15
+ if (preSetting === null) dispatch(addCartesianGraphicalItem(settings));
16
+ else if (preSetting !== settings) dispatch(replaceCartesianGraphicalItem({
17
+ prev: preSetting,
18
+ next: settings
19
+ }));
20
+ preSetting = settings;
21
+ });
22
+ onUnmounted(() => {
23
+ if (preSetting) {
24
+ dispatch(removeCartesianGraphicalItem(preSetting));
25
+ preSetting = null;
26
+ }
19
27
  });
20
28
  }
21
- function f(e) {
22
- let n = t(), i = null;
23
- u(() => {
24
- let t = l(e);
25
- i === null ? n(r(t)) : i !== t && n(s({
26
- prev: i,
27
- next: t
28
- })), i = t;
29
- }), c(() => {
30
- i &&= (n(a(i)), null);
29
+ function SetPolarGraphicalItem(_props) {
30
+ const dispatch = useAppDispatch();
31
+ let preSetting = null;
32
+ watchEffect(() => {
33
+ const settings = unref(_props);
34
+ if (preSetting === null) dispatch(addPolarGraphicalItem(settings));
35
+ else if (preSetting !== settings) dispatch(replacePolarGraphicalItem({
36
+ prev: preSetting,
37
+ next: settings
38
+ }));
39
+ preSetting = settings;
40
+ });
41
+ onUnmounted(() => {
42
+ if (preSetting) {
43
+ dispatch(removePolarGraphicalItem(preSetting));
44
+ preSetting = null;
45
+ }
31
46
  });
32
47
  }
33
48
  //#endregion
34
- export { d as SetCartesianGraphicalItem, f as SetPolarGraphicalItem };
49
+ export { SetCartesianGraphicalItem, SetPolarGraphicalItem };
@@ -1,16 +1,20 @@
1
- import { useIsPanorama as e } from "../context/PanoramaContextProvider.mjs";
2
- import { useAppDispatch as t } from "./hooks.mjs";
3
- import { addLegendPayload as n, removeLegendPayload as r } from "./legendSlice.mjs";
4
- import { unref as i, watchEffect as a } from "vue";
1
+ import { useIsPanorama } from "../context/PanoramaContextProvider.mjs";
2
+ import { useAppDispatch } from "./hooks.mjs";
3
+ import { addLegendPayload, removeLegendPayload } from "./legendSlice.mjs";
4
+ import { unref, watchEffect } from "vue";
5
5
  //#region src/state/SetLegendPayload.ts
6
- function o(o) {
7
- let s = t(), c = e();
8
- return a((e) => {
9
- let t = i(o);
10
- c || (s(n(t)), e(() => {
11
- s(r(t));
12
- }));
13
- }), null;
6
+ function SetLegendPayload(_legendPayload) {
7
+ const dispatch = useAppDispatch();
8
+ const isPanorama = useIsPanorama();
9
+ watchEffect((onCleanup) => {
10
+ const legendPayload = unref(_legendPayload);
11
+ if (isPanorama) return;
12
+ dispatch(addLegendPayload(legendPayload));
13
+ onCleanup(() => {
14
+ dispatch(removeLegendPayload(legendPayload));
15
+ });
16
+ });
17
+ return null;
14
18
  }
15
19
  //#endregion
16
- export { o as SetLegendPayload };
20
+ export { SetLegendPayload };
@@ -1,17 +1,19 @@
1
- import { useIsPanorama as e } from "../context/PanoramaContextProvider.mjs";
2
- import { addTooltipEntrySettings as t, removeTooltipEntrySettings as n } from "./tooltipSlice.mjs";
3
- import { useAppDispatch as r } from "./hooks.mjs";
4
- import { watchEffect as i } from "vue";
1
+ import { useIsPanorama } from "../context/PanoramaContextProvider.mjs";
2
+ import { addTooltipEntrySettings, removeTooltipEntrySettings } from "./tooltipSlice.mjs";
3
+ import { useAppDispatch } from "./hooks.mjs";
4
+ import { watchEffect } from "vue";
5
5
  //#region src/state/SetTooltipEntrySettings.tsx
6
- function a({ fn: a, args: o }) {
7
- let s = r(), c = e();
8
- i((e) => {
9
- if (c) return;
10
- let r = a(o.value);
11
- s(t(r)), e(() => {
12
- s(n(r));
6
+ function SetTooltipEntrySettings({ fn, args }) {
7
+ const dispatch = useAppDispatch();
8
+ const isPanorama = useIsPanorama();
9
+ watchEffect((onCleanup) => {
10
+ if (isPanorama) return;
11
+ const tooltipEntrySettings = fn(args.value);
12
+ dispatch(addTooltipEntrySettings(tooltipEntrySettings));
13
+ onCleanup(() => {
14
+ dispatch(removeTooltipEntrySettings(tooltipEntrySettings));
13
15
  });
14
16
  });
15
17
  }
16
18
  //#endregion
17
- export { a as SetTooltipEntrySettings };
19
+ export { SetTooltipEntrySettings };
@@ -1,6 +1,6 @@
1
- import { createSlice as e } from "@reduxjs/toolkit";
1
+ import { createSlice } from "@reduxjs/toolkit";
2
2
  //#region src/state/brushSlice.ts
3
- var t = {
3
+ var initialState = {
4
4
  x: 0,
5
5
  y: 0,
6
6
  width: 0,
@@ -11,12 +11,16 @@ var t = {
11
11
  bottom: 0,
12
12
  left: 0
13
13
  }
14
- }, n = e({
14
+ };
15
+ var brushSlice = createSlice({
15
16
  name: "brush",
16
- initialState: t,
17
- reducers: { setBrushSettings(e, n) {
18
- return n.payload == null ? t : n.payload;
17
+ initialState,
18
+ reducers: { setBrushSettings(_state, action) {
19
+ if (action.payload == null) return initialState;
20
+ return action.payload;
19
21
  } }
20
- }), { setBrushSettings: r } = n.actions, i = n.reducer;
22
+ });
23
+ var { setBrushSettings } = brushSlice.actions;
24
+ var brushReducer = brushSlice.reducer;
21
25
  //#endregion
22
- export { i as brushReducer };
26
+ export { brushReducer };
@@ -1,7 +1,11 @@
1
- import { createSlice as e } from "@reduxjs/toolkit";
2
- import { castDraft as t } from "immer";
1
+ import { createSlice } from "@reduxjs/toolkit";
2
+ import { castDraft } from "immer";
3
3
  //#region src/state/cartesianAxisSlice.ts
4
- var n = e({
4
+ /**
5
+ * This is the slice where each individual Axis element pushes its own configuration.
6
+ * Prefer to use this one instead of axisSlice.
7
+ */
8
+ var cartesianAxisSlice = createSlice({
5
9
  name: "cartesianAxis",
6
10
  initialState: {
7
11
  xAxis: {},
@@ -9,25 +13,27 @@ var n = e({
9
13
  zAxis: {}
10
14
  },
11
15
  reducers: {
12
- addXAxis(e, n) {
13
- e.xAxis[n.payload.id] = t(n.payload);
16
+ addXAxis(state, action) {
17
+ state.xAxis[action.payload.id] = castDraft(action.payload);
14
18
  },
15
- removeXAxis(e, t) {
16
- delete e.xAxis[t.payload.id];
19
+ removeXAxis(state, action) {
20
+ delete state.xAxis[action.payload.id];
17
21
  },
18
- addYAxis(e, n) {
19
- e.yAxis[n.payload.id] = t(n.payload);
22
+ addYAxis(state, action) {
23
+ state.yAxis[action.payload.id] = castDraft(action.payload);
20
24
  },
21
- removeYAxis(e, t) {
22
- delete e.yAxis[t.payload.id];
25
+ removeYAxis(state, action) {
26
+ delete state.yAxis[action.payload.id];
23
27
  },
24
- addZAxis(e, n) {
25
- e.zAxis[n.payload.id] = t(n.payload);
28
+ addZAxis(state, action) {
29
+ state.zAxis[action.payload.id] = castDraft(action.payload);
26
30
  },
27
- removeZAxis(e, t) {
28
- delete e.zAxis[t.payload.id];
31
+ removeZAxis(state, action) {
32
+ delete state.zAxis[action.payload.id];
29
33
  }
30
34
  }
31
- }), { addXAxis: r, removeXAxis: i, addYAxis: a, removeYAxis: o, addZAxis: s, removeZAxis: c } = n.actions, l = n.reducer;
35
+ });
36
+ var { addXAxis, removeXAxis, addYAxis, removeYAxis, addZAxis, removeZAxis } = cartesianAxisSlice.actions;
37
+ var cartesianAxisReducer = cartesianAxisSlice.reducer;
32
38
  //#endregion
33
- export { r as addXAxis, a as addYAxis, s as addZAxis, l as cartesianAxisReducer, i as removeXAxis, o as removeYAxis, c as removeZAxis };
39
+ export { addXAxis, addYAxis, addZAxis, cartesianAxisReducer, removeXAxis, removeYAxis, removeZAxis };
@@ -1,5 +1,5 @@
1
- import { createSlice as e } from "@reduxjs/toolkit";
2
- var t = e({
1
+ import { createSlice } from "@reduxjs/toolkit";
2
+ var chartDataSlice = createSlice({
3
3
  name: "chartData",
4
4
  initialState: {
5
5
  chartData: void 0,
@@ -8,21 +8,26 @@ var t = e({
8
8
  dataEndIndex: 0
9
9
  },
10
10
  reducers: {
11
- setChartData(e, t) {
12
- if (e.chartData = t.payload, t.payload == null) {
13
- e.dataStartIndex = 0, e.dataEndIndex = 0;
11
+ setChartData(state, action) {
12
+ state.chartData = action.payload;
13
+ if (action.payload == null) {
14
+ state.dataStartIndex = 0;
15
+ state.dataEndIndex = 0;
14
16
  return;
15
17
  }
16
- t.payload.length > 0 && e.dataEndIndex !== t.payload.length - 1 && (e.dataEndIndex = t.payload.length - 1);
18
+ if (action.payload.length > 0 && state.dataEndIndex !== action.payload.length - 1) state.dataEndIndex = action.payload.length - 1;
17
19
  },
18
- setComputedData(e, t) {
19
- e.computedData = t.payload;
20
+ setComputedData(state, action) {
21
+ state.computedData = action.payload;
20
22
  },
21
- setDataStartEndIndexes(e, t) {
22
- let { startIndex: n, endIndex: r } = t.payload;
23
- n != null && (e.dataStartIndex = n), r != null && (e.dataEndIndex = r);
23
+ setDataStartEndIndexes(state, action) {
24
+ const { startIndex, endIndex } = action.payload;
25
+ if (startIndex != null) state.dataStartIndex = startIndex;
26
+ if (endIndex != null) state.dataEndIndex = endIndex;
24
27
  }
25
28
  }
26
- }), { setChartData: n, setDataStartEndIndexes: r, setComputedData: i } = t.actions, a = t.reducer;
29
+ });
30
+ var { setChartData, setDataStartEndIndexes, setComputedData } = chartDataSlice.actions;
31
+ var chartDataReducer = chartDataSlice.reducer;
27
32
  //#endregion
28
- export { a as chartDataReducer, n as setChartData, r as setDataStartEndIndexes };
33
+ export { chartDataReducer, setChartData, setDataStartEndIndexes };
@@ -1,20 +1,30 @@
1
- import { selectActiveLabel as e, selectActiveTooltipCoordinate as t, selectActiveTooltipDataKey as n, selectActiveTooltipIndex as r, selectIsTooltipActive as i } from "./selectors/tooltipSelectors.mjs";
2
- import { createAction as a } from "@reduxjs/toolkit";
1
+ import { selectActiveLabel, selectActiveTooltipCoordinate, selectActiveTooltipDataKey, selectActiveTooltipIndex, selectIsTooltipActive } from "./selectors/tooltipSelectors.mjs";
2
+ import { createAction } from "@reduxjs/toolkit";
3
3
  //#region src/state/externalEventsMiddleware.ts
4
- var o = a("externalEvent"), s = (a) => (s) => (c) => {
5
- let l = s(c);
6
- if (o.match(c) && c.payload.handler != null) {
7
- let o = a.getState(), s = {
8
- activeCoordinate: t(o),
9
- activeDataKey: n(o),
10
- activeIndex: r(o),
11
- activeLabel: e(o),
12
- activeTooltipIndex: r(o),
13
- isTooltipActive: i(o)
4
+ var externalEventAction = createAction("externalEvent");
5
+ /**
6
+ * Calls external event handlers (onMouseMove, onClick, etc.) synchronously within the dispatch
7
+ * call stack, while the native event's `currentTarget` is still valid.
8
+ *
9
+ * Using createListenerMiddleware would defer the call to a microtask, at which point the browser
10
+ * has already cleared `e.currentTarget` per the DOM spec, breaking coordinate-based handlers like
11
+ * DraggablePie that rely on `getRelativeCoordinate(e)`.
12
+ */
13
+ var externalEventsMiddleware = (api) => (next) => (action) => {
14
+ const result = next(action);
15
+ if (externalEventAction.match(action) && action.payload.handler != null) {
16
+ const state = api.getState();
17
+ const nextState = {
18
+ activeCoordinate: selectActiveTooltipCoordinate(state),
19
+ activeDataKey: selectActiveTooltipDataKey(state),
20
+ activeIndex: selectActiveTooltipIndex(state),
21
+ activeLabel: selectActiveLabel(state),
22
+ activeTooltipIndex: selectActiveTooltipIndex(state),
23
+ isTooltipActive: selectIsTooltipActive(state)
14
24
  };
15
- c.payload.handler(s, c.payload.event);
25
+ action.payload.handler(nextState, action.payload.event);
16
26
  }
17
- return l;
27
+ return result;
18
28
  };
19
29
  //#endregion
20
- export { o as externalEventAction, s as externalEventsMiddleware };
30
+ export { externalEventAction, externalEventsMiddleware };
@@ -1,7 +1,7 @@
1
- import { createSlice as e, current as t } from "@reduxjs/toolkit";
2
- import { castDraft as n } from "immer";
1
+ import { createSlice, current } from "@reduxjs/toolkit";
2
+ import { castDraft } from "immer";
3
3
  //#region src/state/graphicalItemsSlice.ts
4
- var r = e({
4
+ var graphicalItemsSlice = createSlice({
5
5
  name: "graphicalItems",
6
6
  initialState: {
7
7
  countOfBars: 0,
@@ -9,35 +9,39 @@ var r = e({
9
9
  polarItems: []
10
10
  },
11
11
  reducers: {
12
- addBar(e) {
13
- e.countOfBars += 1;
12
+ addBar(state) {
13
+ state.countOfBars += 1;
14
14
  },
15
- removeBar(e) {
16
- --e.countOfBars;
15
+ removeBar(state) {
16
+ state.countOfBars -= 1;
17
17
  },
18
- addCartesianGraphicalItem(e, t) {
19
- e.cartesianItems.push(n(t.payload));
18
+ addCartesianGraphicalItem(state, action) {
19
+ state.cartesianItems.push(castDraft(action.payload));
20
20
  },
21
- replaceCartesianGraphicalItem(e, r) {
22
- let { prev: i, next: a } = r.payload, o = t(e).cartesianItems.indexOf(n(i));
23
- o > -1 && (e.cartesianItems[o] = n(a));
21
+ replaceCartesianGraphicalItem(state, action) {
22
+ const { prev, next } = action.payload;
23
+ const index = current(state).cartesianItems.indexOf(castDraft(prev));
24
+ if (index > -1) state.cartesianItems[index] = castDraft(next);
24
25
  },
25
- removeCartesianGraphicalItem(e, r) {
26
- let i = t(e).cartesianItems.indexOf(n(r.payload));
27
- i > -1 && e.cartesianItems.splice(i, 1);
26
+ removeCartesianGraphicalItem(state, action) {
27
+ const index = current(state).cartesianItems.indexOf(castDraft(action.payload));
28
+ if (index > -1) state.cartesianItems.splice(index, 1);
28
29
  },
29
- addPolarGraphicalItem(e, t) {
30
- e.polarItems.push(n(t.payload));
30
+ addPolarGraphicalItem(state, action) {
31
+ state.polarItems.push(castDraft(action.payload));
31
32
  },
32
- removePolarGraphicalItem(e, r) {
33
- let i = t(e).polarItems.indexOf(n(r.payload));
34
- i > -1 && e.polarItems.splice(i, 1);
33
+ removePolarGraphicalItem(state, action) {
34
+ const index = current(state).polarItems.indexOf(castDraft(action.payload));
35
+ if (index > -1) state.polarItems.splice(index, 1);
35
36
  },
36
- replacePolarGraphicalItem(e, r) {
37
- let { prev: i, next: a } = r.payload, o = t(e).polarItems.indexOf(n(i));
38
- o > -1 && (e.polarItems[o] = n(a));
37
+ replacePolarGraphicalItem(state, action) {
38
+ const { prev, next } = action.payload;
39
+ const index = current(state).polarItems.indexOf(castDraft(prev));
40
+ if (index > -1) state.polarItems[index] = castDraft(next);
39
41
  }
40
42
  }
41
- }), { addBar: i, removeBar: a, addCartesianGraphicalItem: o, removeCartesianGraphicalItem: s, addPolarGraphicalItem: c, replaceCartesianGraphicalItem: l, removePolarGraphicalItem: u, replacePolarGraphicalItem: d } = r.actions, f = r.reducer;
43
+ });
44
+ var { addBar, removeBar, addCartesianGraphicalItem, removeCartesianGraphicalItem, addPolarGraphicalItem, replaceCartesianGraphicalItem, removePolarGraphicalItem, replacePolarGraphicalItem } = graphicalItemsSlice.actions;
45
+ var graphicalItemsReducer = graphicalItemsSlice.reducer;
42
46
  //#endregion
43
- export { o as addCartesianGraphicalItem, c as addPolarGraphicalItem, f as graphicalItemsReducer, s as removeCartesianGraphicalItem, u as removePolarGraphicalItem, l as replaceCartesianGraphicalItem, d as replacePolarGraphicalItem };
47
+ export { addCartesianGraphicalItem, addPolarGraphicalItem, graphicalItemsReducer, removeCartesianGraphicalItem, removePolarGraphicalItem, replaceCartesianGraphicalItem, replacePolarGraphicalItem };
@@ -1,5 +1,6 @@
1
- import { useDispatch as e, useSelector as t } from "@reduxjs/vue-redux";
1
+ import { useDispatch, useSelector } from "@reduxjs/vue-redux";
2
2
  //#region src/state/hooks.ts
3
- var n = e.withTypes(), r = t.withTypes();
3
+ var useAppDispatch = useDispatch.withTypes();
4
+ var useAppSelector = useSelector.withTypes();
4
5
  //#endregion
5
- export { n as useAppDispatch, r as useAppSelector };
6
+ export { useAppDispatch, useAppSelector };
@@ -1,55 +1,63 @@
1
- import { selectChartDirection as e } from "./selectors/axisSelectors.mjs";
2
- import { setKeyboardInteraction as t } from "./tooltipSlice.mjs";
3
- import { combineActiveTooltipIndex as n } from "./selectors/combiners/combineActiveTooltipIndex.mjs";
4
- import { selectTooltipAxisTicks as r, selectTooltipDisplayedData as i } from "./selectors/tooltipSelectors.mjs";
5
- import { selectCoordinateForDefaultIndex as a } from "./selectors/selectors.mjs";
6
- import { createAction as o, createListenerMiddleware as s } from "@reduxjs/toolkit";
1
+ import { selectChartDirection } from "./selectors/axisSelectors.mjs";
2
+ import { setKeyboardInteraction } from "./tooltipSlice.mjs";
3
+ import { combineActiveTooltipIndex } from "./selectors/combiners/combineActiveTooltipIndex.mjs";
4
+ import { selectTooltipAxisTicks, selectTooltipDisplayedData } from "./selectors/tooltipSelectors.mjs";
5
+ import { selectCoordinateForDefaultIndex } from "./selectors/selectors.mjs";
6
+ import { createAction, createListenerMiddleware } from "@reduxjs/toolkit";
7
7
  //#region src/state/keyboardEventsMiddleware.ts
8
- var c = o("keyDown"), l = o("focus"), u = s();
9
- u.startListening({
10
- actionCreator: c,
11
- effect: (o, s) => {
12
- let c = s.getState();
13
- if (c.rootProps.accessibilityLayer === !1) return;
14
- let { keyboardInteraction: l } = c.tooltip, u = o.payload;
15
- if (u !== "ArrowRight" && u !== "ArrowLeft" && u !== "Enter") return;
16
- let d = Number(n(l, i(c))), f = r(c);
17
- if (u === "Enter") {
18
- let e = a(c, "axis", "hover", String(l.index));
19
- s.dispatch(t({
20
- active: !l.active,
21
- activeIndex: l.index,
22
- activeDataKey: l.dataKey,
23
- activeCoordinate: e
8
+ var keyDownAction = createAction("keyDown");
9
+ var focusAction = createAction("focus");
10
+ var keyboardEventsMiddleware = createListenerMiddleware();
11
+ keyboardEventsMiddleware.startListening({
12
+ actionCreator: keyDownAction,
13
+ effect: (action, listenerApi) => {
14
+ const state = listenerApi.getState();
15
+ if (!(state.rootProps.accessibilityLayer !== false)) return;
16
+ const { keyboardInteraction } = state.tooltip;
17
+ const key = action.payload;
18
+ if (key !== "ArrowRight" && key !== "ArrowLeft" && key !== "Enter") return;
19
+ const currentIndex = Number(combineActiveTooltipIndex(keyboardInteraction, selectTooltipDisplayedData(state)));
20
+ const tooltipTicks = selectTooltipAxisTicks(state);
21
+ if (key === "Enter") {
22
+ const coordinate = selectCoordinateForDefaultIndex(state, "axis", "hover", String(keyboardInteraction.index));
23
+ listenerApi.dispatch(setKeyboardInteraction({
24
+ active: !keyboardInteraction.active,
25
+ activeIndex: keyboardInteraction.index,
26
+ activeDataKey: keyboardInteraction.dataKey,
27
+ activeCoordinate: coordinate
24
28
  }));
25
29
  return;
26
30
  }
27
- let p = e(c) === "left-to-right" ? 1 : -1, m = d + (u === "ArrowRight" ? 1 : -1) * p;
28
- if (m >= f.length || m < 0) return;
29
- let h = a(c, "axis", "hover", String(m));
30
- s.dispatch(t({
31
- active: !0,
32
- activeIndex: m.toString(),
31
+ const directionMultiplier = selectChartDirection(state) === "left-to-right" ? 1 : -1;
32
+ const nextIndex = currentIndex + (key === "ArrowRight" ? 1 : -1) * directionMultiplier;
33
+ if (nextIndex >= tooltipTicks.length || nextIndex < 0) return;
34
+ const coordinate = selectCoordinateForDefaultIndex(state, "axis", "hover", String(nextIndex));
35
+ listenerApi.dispatch(setKeyboardInteraction({
36
+ active: true,
37
+ activeIndex: nextIndex.toString(),
33
38
  activeDataKey: void 0,
34
- activeCoordinate: h
39
+ activeCoordinate: coordinate
35
40
  }));
36
41
  }
37
- }), u.startListening({
38
- actionCreator: l,
39
- effect: (e, n) => {
40
- let r = n.getState();
41
- if (r.rootProps.accessibilityLayer === !1) return;
42
- let { keyboardInteraction: i } = r.tooltip;
43
- if (!i.active && i.index == null) {
44
- let e = a(r, "axis", "hover", "0");
45
- n.dispatch(t({
42
+ });
43
+ keyboardEventsMiddleware.startListening({
44
+ actionCreator: focusAction,
45
+ effect: (_, listenerApi) => {
46
+ const state = listenerApi.getState();
47
+ if (!(state.rootProps.accessibilityLayer !== false)) return;
48
+ const { keyboardInteraction } = state.tooltip;
49
+ if (keyboardInteraction.active) return;
50
+ if (keyboardInteraction.index == null) {
51
+ const nextIndex = "0";
52
+ const coordinate = selectCoordinateForDefaultIndex(state, "axis", "hover", String(nextIndex));
53
+ listenerApi.dispatch(setKeyboardInteraction({
46
54
  activeDataKey: void 0,
47
- active: !0,
48
- activeIndex: "0",
49
- activeCoordinate: e
55
+ active: true,
56
+ activeIndex: nextIndex,
57
+ activeCoordinate: coordinate
50
58
  }));
51
59
  }
52
60
  }
53
61
  });
54
62
  //#endregion
55
- export { l as focusAction, c as keyDownAction, u as keyboardEventsMiddleware };
63
+ export { focusAction, keyDownAction, keyboardEventsMiddleware };
@@ -1,6 +1,6 @@
1
- import { createSlice as e } from "@reduxjs/toolkit";
1
+ import { createSlice } from "@reduxjs/toolkit";
2
2
  //#region src/state/layoutSlice.ts
3
- var t = e({
3
+ var chartLayoutSlice = createSlice({
4
4
  name: "chartLayout",
5
5
  initialState: {
6
6
  layoutType: "horizontal",
@@ -15,19 +15,25 @@ var t = e({
15
15
  scale: 1
16
16
  },
17
17
  reducers: {
18
- setLayout(e, t) {
19
- e.layoutType = t.payload;
18
+ setLayout(state, action) {
19
+ state.layoutType = action.payload;
20
20
  },
21
- setChartSize(e, t) {
22
- e.width = t.payload.width, e.height = t.payload.height;
21
+ setChartSize(state, action) {
22
+ state.width = action.payload.width;
23
+ state.height = action.payload.height;
23
24
  },
24
- setMargin(e, t) {
25
- e.margin.top = t.payload.top, e.margin.right = t.payload.right, e.margin.bottom = t.payload.bottom, e.margin.left = t.payload.left;
25
+ setMargin(state, action) {
26
+ state.margin.top = action.payload.top;
27
+ state.margin.right = action.payload.right;
28
+ state.margin.bottom = action.payload.bottom;
29
+ state.margin.left = action.payload.left;
26
30
  },
27
- setScale(e, t) {
28
- e.scale = t.payload;
31
+ setScale(state, action) {
32
+ state.scale = action.payload;
29
33
  }
30
34
  }
31
- }), { setMargin: n, setLayout: r, setChartSize: i, setScale: a } = t.actions, o = t.reducer;
35
+ });
36
+ var { setMargin, setLayout, setChartSize, setScale } = chartLayoutSlice.actions;
37
+ var chartLayoutReducer = chartLayoutSlice.reducer;
32
38
  //#endregion
33
- export { o as chartLayoutReducer, i as setChartSize, r as setLayout, n as setMargin, a as setScale };
39
+ export { chartLayoutReducer, setChartSize, setLayout, setMargin, setScale };
@@ -1,7 +1,7 @@
1
- import { createSlice as e, current as t } from "@reduxjs/toolkit";
2
- import { castDraft as n } from "immer";
1
+ import { createSlice, current } from "@reduxjs/toolkit";
2
+ import { castDraft } from "immer";
3
3
  //#region src/state/legendSlice.ts
4
- var r = e({
4
+ var legendSlice = createSlice({
5
5
  name: "legend",
6
6
  initialState: {
7
7
  settings: {
@@ -16,20 +16,25 @@ var r = e({
16
16
  payload: []
17
17
  },
18
18
  reducers: {
19
- setLegendSize(e, t) {
20
- e.size.width = t.payload.width, e.size.height = t.payload.height;
19
+ setLegendSize(state, action) {
20
+ state.size.width = action.payload.width;
21
+ state.size.height = action.payload.height;
21
22
  },
22
- setLegendSettings(e, t) {
23
- e.settings.align = t.payload.align, e.settings.layout = t.payload.layout, e.settings.verticalAlign = t.payload.verticalAlign;
23
+ setLegendSettings(state, action) {
24
+ state.settings.align = action.payload.align;
25
+ state.settings.layout = action.payload.layout;
26
+ state.settings.verticalAlign = action.payload.verticalAlign;
24
27
  },
25
- addLegendPayload(e, t) {
26
- e.payload.push(n(t.payload));
28
+ addLegendPayload(state, action) {
29
+ state.payload.push(castDraft(action.payload));
27
30
  },
28
- removeLegendPayload(e, r) {
29
- let i = t(e).payload.indexOf(n(r.payload));
30
- i > -1 && e.payload.splice(i, 1);
31
+ removeLegendPayload(state, action) {
32
+ const index = current(state).payload.indexOf(castDraft(action.payload));
33
+ if (index > -1) state.payload.splice(index, 1);
31
34
  }
32
35
  }
33
- }), { setLegendSize: i, setLegendSettings: a, addLegendPayload: o, removeLegendPayload: s } = r.actions, c = r.reducer;
36
+ });
37
+ var { setLegendSize, setLegendSettings, addLegendPayload, removeLegendPayload } = legendSlice.actions;
38
+ var legendReducer = legendSlice.reducer;
34
39
  //#endregion
35
- export { o as addLegendPayload, c as legendReducer, s as removeLegendPayload, a as setLegendSettings, i as setLegendSize };
40
+ export { addLegendPayload, legendReducer, removeLegendPayload, setLegendSettings, setLegendSize };