@primeui/vue-chart 1.0.0-beta.1 → 1.0.0-rc.2

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 (143) hide show
  1. package/LICENSE.md +35 -0
  2. package/README.md +64 -0
  3. package/dist/ChartCanvas.mjs +10 -10
  4. package/dist/ChartSvg.mjs +10 -10
  5. package/dist/RadarReference.spec.d.ts +1 -0
  6. package/dist/chunks/{chunk-QONZ3SCZ.mjs → chunk-2FGCWBQK.mjs} +1 -1
  7. package/dist/chunks/{chunk-4SLSYRNY.mjs → chunk-2VCCASMY.mjs} +5 -17
  8. package/dist/chunks/{chunk-IRGQNA5W.mjs → chunk-3ZXBNXFA.mjs} +10 -5
  9. package/dist/chunks/chunk-44BMQ7N2.mjs +86 -0
  10. package/dist/chunks/{chunk-CMJXLIEY.mjs → chunk-4B5OD4TC.mjs} +4 -13
  11. package/dist/chunks/{chunk-F7EK5D6J.mjs → chunk-4UH6LJNN.mjs} +4 -4
  12. package/dist/chunks/{chunk-YI3GLQYF.mjs → chunk-5CL32KCS.mjs} +6 -7
  13. package/dist/chunks/{chunk-GE2Y2FHS.mjs → chunk-6MD43V6R.mjs} +4 -4
  14. package/dist/chunks/{chunk-EKGCPOZJ.mjs → chunk-7OLUXDMR.mjs} +33 -18
  15. package/dist/chunks/{chunk-5ZLVNQ2L.mjs → chunk-7SY52FXI.mjs} +10 -6
  16. package/dist/chunks/{chunk-R4AZOPXC.mjs → chunk-AQK6S4DO.mjs} +1 -1
  17. package/dist/chunks/{chunk-UOMQNZMT.mjs → chunk-B7XC2DVN.mjs} +1 -1
  18. package/dist/chunks/{chunk-CRIB3I3L.mjs → chunk-BC6G3ODW.mjs} +1 -1
  19. package/dist/chunks/{chunk-YZQS2YBK.mjs → chunk-BVB7G6Y5.mjs} +12 -11
  20. package/dist/chunks/{chunk-GIDIMIWE.mjs → chunk-D2SPDSXY.mjs} +4 -4
  21. package/dist/chunks/{chunk-JVH4MDKX.mjs → chunk-D65PFBA5.mjs} +1 -1
  22. package/dist/chunks/{chunk-MGUGO3RV.mjs → chunk-DKLWPPME.mjs} +10 -0
  23. package/dist/chunks/{chunk-CGFPDWB4.mjs → chunk-DLRPM3GK.mjs} +1 -1
  24. package/dist/chunks/{chunk-3DINEX6C.mjs → chunk-DZIZEFTD.mjs} +1 -1
  25. package/dist/chunks/{chunk-LJZCE7LQ.mjs → chunk-EAHLFHB7.mjs} +58 -19
  26. package/dist/chunks/{chunk-IFZSHQDZ.mjs → chunk-EDDORION.mjs} +1 -1
  27. package/dist/chunks/{chunk-QOWKMWNO.mjs → chunk-F72RBTHC.mjs} +27 -5
  28. package/dist/chunks/{chunk-4Q3QUNX6.mjs → chunk-FGBZ3VPE.mjs} +2 -1
  29. package/dist/chunks/{chunk-L74BEYTD.mjs → chunk-FZ4TKLHE.mjs} +5 -5
  30. package/dist/chunks/{chunk-3XOLEGDL.mjs → chunk-G4V4FUNK.mjs} +5 -5
  31. package/dist/chunks/{chunk-DXKAPWMO.mjs → chunk-G5YSM76C.mjs} +1 -1
  32. package/dist/chunks/{chunk-3JA5JAHF.mjs → chunk-GRPL343U.mjs} +1 -1
  33. package/dist/chunks/{chunk-36DHPBYP.mjs → chunk-GV4YAVUN.mjs} +34 -9
  34. package/dist/chunks/{chunk-GV3CY6CQ.mjs → chunk-HXMG2ZBK.mjs} +1 -1
  35. package/dist/chunks/{chunk-3PJULFR5.mjs → chunk-IASQF4GU.mjs} +1 -3
  36. package/dist/chunks/{chunk-IUGMS7ND.mjs → chunk-IPEI6IAE.mjs} +1 -1
  37. package/dist/chunks/{chunk-WVNDZNMV.mjs → chunk-ISDQNEMO.mjs} +1 -1
  38. package/dist/chunks/{chunk-TRGN3ZMM.mjs → chunk-JEC4JJ5P.mjs} +4 -30
  39. package/dist/chunks/{chunk-BSROML7P.mjs → chunk-KCLMHDWJ.mjs} +2 -2
  40. package/dist/chunks/{chunk-I2BWSDNR.mjs → chunk-KX5GTFS3.mjs} +19 -6
  41. package/dist/chunks/{chunk-3X27K5XC.mjs → chunk-L7XUBIMC.mjs} +24 -51
  42. package/dist/chunks/{chunk-2NZ3PUWW.mjs → chunk-LLYJBFOE.mjs} +2 -2
  43. package/dist/chunks/{chunk-DDRSIMLE.mjs → chunk-LNS6I3ZJ.mjs} +4 -4
  44. package/dist/chunks/{chunk-CW2KYVYO.mjs → chunk-MCIY5P7K.mjs} +4 -4
  45. package/dist/chunks/{chunk-GLFXRR7N.mjs → chunk-MGNVYHQF.mjs} +53 -8
  46. package/dist/chunks/{chunk-2TOEQNJ6.mjs → chunk-MX74LV4I.mjs} +1 -1
  47. package/dist/chunks/{chunk-L73MEG22.mjs → chunk-NFVH44YP.mjs} +1 -3
  48. package/dist/chunks/{chunk-JPKNWLLP.mjs → chunk-NTTI64AJ.mjs} +8 -4
  49. package/dist/chunks/{chunk-5HLEKAY2.mjs → chunk-OHHN7X72.mjs} +1 -1
  50. package/dist/chunks/{chunk-LP2YESP6.mjs → chunk-OROBUJMJ.mjs} +1 -1
  51. package/dist/chunks/{chunk-6Z4MZIJI.mjs → chunk-P43UWADF.mjs} +6 -4
  52. package/dist/chunks/chunk-Q3I4EL3N.mjs +23 -0
  53. package/dist/chunks/{chunk-HVLFOABV.mjs → chunk-QDCXS7WS.mjs} +3 -8
  54. package/dist/chunks/{chunk-ZLD5VNMP.mjs → chunk-QQGC223F.mjs} +2 -2
  55. package/dist/chunks/{chunk-ADAGGXFG.mjs → chunk-QWUGZTCV.mjs} +5 -6
  56. package/dist/chunks/{chunk-OJHEN5FG.mjs → chunk-TAFKOHFX.mjs} +5 -6
  57. package/dist/chunks/{chunk-HH5FUUXX.mjs → chunk-TLB6ZOL3.mjs} +3 -1
  58. package/dist/chunks/{chunk-SGLTVJUA.mjs → chunk-UA2J3TWE.mjs} +4 -4
  59. package/dist/chunks/{chunk-AKMQHU5T.mjs → chunk-V4KRWSEE.mjs} +2 -2
  60. package/dist/chunks/{chunk-U6X3GVJ3.mjs → chunk-VADMTZLH.mjs} +1 -1
  61. package/dist/chunks/{chunk-PCBF6FSQ.mjs → chunk-WCUZUBQ5.mjs} +21 -20
  62. package/dist/chunks/{chunk-ON2FAZTD.mjs → chunk-WHAJ2YDA.mjs} +1 -1
  63. package/dist/chunks/{chunk-X4NWFK7L.mjs → chunk-WNIMDHP5.mjs} +2 -2
  64. package/dist/chunks/{chunk-TZ23VBFU.mjs → chunk-XSKNTD24.mjs} +1 -1
  65. package/dist/chunks/{chunk-HHZFGQN2.mjs → chunk-YPRGZNY6.mjs} +1 -1
  66. package/dist/chunks/{chunk-UOZFNTVQ.mjs → chunk-YUQRDFQI.mjs} +2 -2
  67. package/dist/components/charts/ChartBar.mjs +10 -9
  68. package/dist/components/charts/ChartCandlestick.mjs +8 -7
  69. package/dist/components/charts/ChartHeatmap.mjs +8 -7
  70. package/dist/components/charts/ChartLine.mjs +8 -7
  71. package/dist/components/charts/ChartPie.mjs +8 -7
  72. package/dist/components/charts/ChartPolar.mjs +8 -8
  73. package/dist/components/charts/ChartRadar.mjs +8 -8
  74. package/dist/components/charts/ChartScatter.mjs +8 -7
  75. package/dist/components/charts/ChartTreemap.mjs +7 -6
  76. package/dist/components/containers/ChartDecimation.mjs +3 -3
  77. package/dist/components/containers/ChartGroup.mjs +2 -2
  78. package/dist/components/containers/ChartOverlap.mjs +3 -3
  79. package/dist/components/containers/ChartRange.mjs +3 -3
  80. package/dist/components/containers/ChartStacked.mjs +3 -3
  81. package/dist/components/containers/ChartWaterfall.mjs +3 -3
  82. package/dist/components/customizations/ChartAccessibility.mjs +5 -5
  83. package/dist/components/customizations/ChartAccessibility.vue.d.ts +3 -0
  84. package/dist/components/customizations/ChartAnnotation.mjs +3 -3
  85. package/dist/components/customizations/ChartAxisGroup.mjs +1 -1
  86. package/dist/components/customizations/ChartBreadcrumb.mjs +4 -4
  87. package/dist/components/customizations/ChartCaption.mjs +5 -5
  88. package/dist/components/customizations/ChartColorLegend.mjs +5 -5
  89. package/dist/components/customizations/ChartColorLegend.vue.d.ts +2 -2
  90. package/dist/components/customizations/ChartDataLabels.mjs +5 -5
  91. package/dist/components/customizations/ChartDataLabels.vue.d.ts +2 -0
  92. package/dist/components/customizations/ChartExportMenu.mjs +5 -5
  93. package/dist/components/customizations/ChartHover.mjs +5 -5
  94. package/dist/components/customizations/ChartLegend.mjs +5 -5
  95. package/dist/components/customizations/ChartNavigator.mjs +6 -6
  96. package/dist/components/customizations/ChartReferenceBand.mjs +3 -3
  97. package/dist/components/customizations/ChartReferenceLine.mjs +3 -3
  98. package/dist/components/customizations/ChartResponsive.mjs +5 -5
  99. package/dist/components/customizations/ChartTitle.mjs +5 -5
  100. package/dist/components/customizations/ChartTooltip.mjs +5 -5
  101. package/dist/components/customizations/ChartXAxis.mjs +5 -5
  102. package/dist/components/customizations/ChartYAxis.mjs +5 -5
  103. package/dist/components/customizations/ChartZoom.mjs +5 -5
  104. package/dist/components/items/ChartItem.mjs +2 -2
  105. package/dist/components/items/ChartTreemapGroup.mjs +3 -3
  106. package/dist/components/renderers/CartesianRenderer.mjs +6 -5
  107. package/dist/components/renderers/LegendRenderer.mjs +2 -2
  108. package/dist/components/renderers/NavigatorRenderer.mjs +3 -3
  109. package/dist/components/renderers/RadialRenderer.mjs +5 -5
  110. package/dist/components/renderers/RectRenderer.mjs +6 -5
  111. package/dist/components/renderers/TooltipRenderer.mjs +3 -3
  112. package/dist/components/renderers/layers/BarLayerCanvas.mjs +6 -6
  113. package/dist/components/renderers/layers/BarLayerSvg.mjs +6 -6
  114. package/dist/components/renderers/layers/CandlestickLayer.mjs +6 -5
  115. package/dist/components/renderers/layers/HeatmapLayer.mjs +6 -5
  116. package/dist/components/renderers/layers/LineLayer.mjs +5 -5
  117. package/dist/components/renderers/layers/PieLayer.mjs +4 -3
  118. package/dist/components/renderers/layers/PolarLayer.mjs +4 -4
  119. package/dist/components/renderers/layers/RadarLayer.mjs +4 -4
  120. package/dist/components/renderers/layers/ScatterLayer.mjs +5 -5
  121. package/dist/composables/useCartesianFrame.d.ts +3 -0
  122. package/dist/composables/useResponsiveConfig.d.ts +1 -0
  123. package/dist/composables/useResponsiveConfig.spec.d.ts +1 -0
  124. package/dist/context/ChartContext.d.ts +2 -0
  125. package/dist/context/index.d.ts +2 -2
  126. package/dist/context/keys.d.ts +6 -0
  127. package/dist/index.d.ts +1 -1
  128. package/dist/index.mjs +61 -61
  129. package/dist/namespace.mjs +61 -61
  130. package/dist/release-date.d.ts +1 -1
  131. package/dist/types/axes.types.d.ts +1 -1
  132. package/dist/types/heatmap.types.d.ts +3 -8
  133. package/dist/types/index.d.ts +1 -1
  134. package/dist/types/line.types.d.ts +2 -2
  135. package/dist/types/scatter.types.d.ts +2 -0
  136. package/dist/types/treemap.types.d.ts +2 -0
  137. package/dist/utils/index.d.ts +1 -0
  138. package/dist/utils/ruleOverrides.d.ts +13 -0
  139. package/dist/utils/ruleOverrides.spec.d.ts +1 -0
  140. package/package.json +7 -11
  141. package/LICENSE +0 -23
  142. package/dist/chunks/chunk-4VWFG6HM.mjs +0 -86
  143. package/dist/chunks/chunk-ZH4A4L6W.mjs +0 -10
@@ -1,10 +1,10 @@
1
1
  import { STACKED_CONTEXT_KEY, RANGE_CONTEXT_KEY } from './chunk-L6N5IYAJ.mjs';
2
- import { useCustomizationRegistration, useChartRefreshHook } from './chunk-ZLD5VNMP.mjs';
3
- import { useChartMethods } from './chunk-QOWKMWNO.mjs';
2
+ import { useCustomizationRegistration, useChartRefreshHook } from './chunk-QQGC223F.mjs';
3
+ import { useChartMethods } from './chunk-F72RBTHC.mjs';
4
4
  import { SYNC_BUS_KEY } from './chunk-H4HLHGUW.mjs';
5
- import { ITEM_COLLECTOR_KEY } from './chunk-4Q3QUNX6.mjs';
5
+ import { ITEM_COLLECTOR_KEY } from './chunk-FGBZ3VPE.mjs';
6
6
  import { getCurrentInstance, computed, ref, watch, onUnmounted, toValue, watchEffect, inject, shallowRef, onMounted, onScopeDispose, shallowReactive, provide, onBeforeUnmount, unref } from 'vue';
7
- import { normalizeAnimationsMap, setupPropertyAnimations, createAnimationDriver, AnimationRegistry, buildStaticFrame, renderWithCompositor, driveCartesianUpdate, resolveHoverRepaintFrame, cancelDriverRafs, CartesianLayoutController, resolveSyncConfig, DatasetRegistrationController, DrilldownStateController, ItemCollector, getEasing, ChartSyncCoordinator, INACTIVE_STATE, KeyboardNavigationController, getResponsiveTier, getAdaptiveDefaults, evaluateResponsiveRules, ResponsiveDimensionsController, createInitialZoomState, configureCanvasHiDPI, renderCartesianOverlay, buildAnimatedFrame, isZoomed, AxisRegistrationController, AxisTransitionState, ZoomPanController, normalizeSubConfig } from '@primeui/chart-core';
7
+ import { normalizeAnimationsMap, setupPropertyAnimations, createAnimationDriver, AnimationRegistry, buildStaticFrame, renderWithCompositor, cancelDriverRafs, driveCartesianUpdate, resolveHoverRepaintFrame, CartesianLayoutController, resolveSyncConfig, DatasetRegistrationController, DrilldownStateController, ItemCollector, getEasing, ChartSyncCoordinator, INACTIVE_STATE, KeyboardNavigationController, getResponsiveTier, getAdaptiveDefaults, evaluateResponsiveRules, ResponsiveDimensionsController, createInitialZoomState, configureCanvasHiDPI, renderCartesianOverlay, buildAnimatedFrame, isZoomed, AxisRegistrationController, AxisTransitionState, ZoomPanController, normalizeSubConfig } from '@primeui/chart-core';
8
8
 
9
9
  function useAxisRegistration(axis, id, props) {
10
10
  const methods = useChartMethods();
@@ -263,7 +263,18 @@ function useCartesianAnimation(options) {
263
263
  [layoutData, groupRef, gridGroupRef],
264
264
  () => {
265
265
  const layout = layoutData.value;
266
- if (!layout) return;
266
+ if (!layout) {
267
+ if (renderer === "svg") {
268
+ const grid = gridGroupRef.value;
269
+ const main = groupRef.value;
270
+ if (grid) while (grid.firstChild) grid.removeChild(grid.firstChild);
271
+ if (main) while (main.firstChild) main.removeChild(main.firstChild);
272
+ }
273
+ cancelDriverRafs(driver);
274
+ driver.cachedLayout = null;
275
+ driver.lastFrame = null;
276
+ return;
277
+ }
267
278
  if (renderer === "svg" && !groupRef.value) return;
268
279
  const animFeature = features.value.get("animation")?.props;
269
280
  driveCartesianUpdate(layout, driver, axisTransition, animFeature, renderFrame, buildStatic, buildAnimated, globalFont, locale, isDragging?.value);
@@ -523,7 +534,8 @@ function useChartContext(options) {
523
534
  axis: b.axis,
524
535
  normalized: b.normalized,
525
536
  categoryIndex: b.categoryIndex,
526
- sourceType: b.sourceType
537
+ sourceType: b.sourceType,
538
+ cellIndex: b.cellIndex
527
539
  });
528
540
  }
529
541
  break;
@@ -711,6 +723,7 @@ function useResponsiveConfig(width, height, responsiveFeature, globalFont) {
711
723
  return { tier, defaults, ruleOverrides };
712
724
  });
713
725
  return {
726
+ tier: computed(() => config.value.tier),
714
727
  defaults: computed(() => config.value.defaults),
715
728
  ruleOverrides: computed(() => config.value.ruleOverrides)
716
729
  };
@@ -1,15 +1,13 @@
1
- import { useCartesianFrame, useCartesianFrameRegistration } from './chunk-I2BWSDNR.mjs';
2
- import { useChartMethods, useChartState, useChartHover } from './chunk-QOWKMWNO.mjs';
1
+ import { applyDataLabelRuleOverrides } from './chunk-Q3I4EL3N.mjs';
2
+ import { useCartesianFrame, useCartesianFrameRegistration } from './chunk-KX5GTFS3.mjs';
3
+ import { useChartMethods, useChartState, useChartHover, useRuleOverrides } from './chunk-F72RBTHC.mjs';
3
4
  import { defineComponent, computed, unref, openBlock, createElementBlock, Fragment, createElementVNode, renderList, createBlock, createCommentVNode, ref, watch, onUnmounted, createVNode } from 'vue';
4
- import { renderHeatmapAxesSvg } from '@primeui/chart-core';
5
5
  import { createHeatmapRendererCanvas } from '@primeui/chart-core/series/heatmap/controller-canvas';
6
6
  import { createHeatmapRendererSvg } from '@primeui/chart-core/series/heatmap/controller-svg';
7
7
 
8
8
  function useHeatmapRenderer(options) {
9
- const { chartArea, renderer, canvasEl, datasets, axes, datasetVisibility, hover, hoverConfig, chartId, width, height, features, compositor, globalFont, theme } = options;
9
+ const { chartArea, renderer, canvasEl, datasets, datasetVisibility, hover, hoverConfig, chartId, width, height, features, compositor, globalFont, theme } = options;
10
10
  const groupRef = ref(null);
11
- const gridGroupRef = ref(null);
12
- const axisGroupRef = ref(null);
13
11
  const controller = renderer === "canvas" ? createHeatmapRendererCanvas() : createHeatmapRendererSvg();
14
12
  const versionRef = ref(0);
15
13
  controller.onFrame = () => {
@@ -19,13 +17,11 @@ function useHeatmapRenderer(options) {
19
17
  void versionRef.value;
20
18
  return controller.scaleResult;
21
19
  });
22
- const axisLayoutsComputed = computed(() => {
23
- void versionRef.value;
24
- return controller.axisLayouts;
25
- });
26
20
  watch(
27
- [datasets, datasetVisibility, chartArea, axes, features, width, height, groupRef, gridGroupRef, axisGroupRef, options.locale, theme],
21
+ [datasets, datasetVisibility, chartArea, features, width, height, groupRef, options.locale, theme, options.layoutData ?? ref(null)],
28
22
  () => {
23
+ const ld = options.layoutData?.value;
24
+ const sharedLayout = ld?.sharedCategoryYScale ? { xScale: ld.sharedCategoryScale, yScale: ld.sharedCategoryYScale, area: ld.cartesianArea, axisLayouts: ld.axisLayouts } : void 0;
29
25
  controller.update({
30
26
  datasets: datasets.value,
31
27
  datasetVisibility: datasetVisibility.value,
@@ -34,7 +30,6 @@ function useHeatmapRenderer(options) {
34
30
  width: width.value,
35
31
  height: height.value,
36
32
  renderer,
37
- axes: axes.value,
38
33
  features: features.value,
39
34
  hover: hover.value,
40
35
  hoverConfig: hoverConfig.value,
@@ -44,14 +39,12 @@ function useHeatmapRenderer(options) {
44
39
  globalFont,
45
40
  locale: options.locale?.value,
46
41
  theme: theme.value,
42
+ sharedLayout,
47
43
  resolveDatasetProps: (dsId) => {
48
44
  const dsReg = datasets.value.get(dsId);
49
45
  return dsReg?.props;
50
46
  }
51
47
  });
52
- if (renderer === "svg") {
53
- renderHeatmapAxesSvg(gridGroupRef.value, axisGroupRef.value, controller.axisLayouts, theme.value);
54
- }
55
48
  },
56
49
  { immediate: true, flush: "post" }
57
50
  );
@@ -127,11 +120,8 @@ function useHeatmapRenderer(options) {
127
120
  });
128
121
  return {
129
122
  groupRef,
130
- gridGroupRef,
131
- axisGroupRef,
132
123
  hitTest,
133
124
  getPointPosition,
134
- axisLayouts: axisLayoutsComputed,
135
125
  plotArea: chartArea,
136
126
  getColorScaleInfo,
137
127
  scaleResult,
@@ -158,13 +148,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
158
148
  const methods = useChartMethods();
159
149
  const state = useChartState();
160
150
  const hoverCtx = useChartHover();
161
- const features = computed(() => state.value.features);
151
+ const ruleOverrides = useRuleOverrides();
152
+ const features = computed(() => applyDataLabelRuleOverrides(state.value.features, ruleOverrides.value));
162
153
  const heatmap = useHeatmapRenderer({
163
154
  chartArea: frame.cartesianArea,
164
155
  renderer: methods.renderer,
165
156
  canvasEl: frame.canvasEl,
166
157
  datasets: computed(() => state.value.datasets),
167
- axes: computed(() => state.value.axes),
168
158
  datasetVisibility: computed(() => state.value.datasetVisibility),
169
159
  hover: computed(() => hoverCtx.value.hover),
170
160
  hoverConfig: frame.hoverConfig,
@@ -175,7 +165,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
175
165
  compositor: frame.compositor,
176
166
  globalFont: methods.font,
177
167
  locale: computed(() => methods.locale),
178
- theme: computed(() => methods.theme)
168
+ theme: computed(() => methods.theme),
169
+ layoutData: frame.layoutData
179
170
  });
180
171
  useCartesianFrameRegistration({
181
172
  type: "heatmap",
@@ -188,12 +179,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
188
179
  const hmHit = heatmap.hitTest(x, y);
189
180
  if (!hmHit) return null;
190
181
  return {
191
- datasetId: hmHit.datasetId,
192
- index: hmHit.index,
193
- col: hmHit.col,
182
+ ...hmHit,
194
183
  label: `${hmHit.xLabel}, ${hmHit.yLabel}`,
195
184
  value: hmHit.value ?? 0,
196
- color: hmHit.color,
197
185
  snapX: hmHit.x + hmHit.width / 2,
198
186
  snapY: hmHit.y + hmHit.height / 2,
199
187
  formattedValue: hmHit.value != null ? String(hmHit.value) : "",
@@ -202,32 +190,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
202
190
  }
203
191
  });
204
192
  return (_ctx, _cache) => {
205
- return unref(methods).renderer === "svg" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
206
- createElementVNode("g", {
207
- ref: (el) => {
208
- unref(heatmap).gridGroupRef.value = el;
209
- },
210
- class: "heatmap-grid"
211
- }, null, 512),
212
- createElementVNode("g", {
213
- ref: (el) => {
214
- unref(heatmap).groupRef.value = el;
215
- },
216
- class: "heatmap-chart"
217
- }, null, 512),
218
- createElementVNode("g", {
219
- ref: (el) => {
220
- unref(heatmap).axisGroupRef.value = el;
221
- },
222
- class: "heatmap-axes"
223
- }, null, 512),
224
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(heatmap).svgContent.value, (el) => {
225
- return openBlock(), createBlock(unref(VNodeRenderer), {
226
- key: el.key ?? el.props?.key,
227
- node: el
228
- }, null, 8, ["node"]);
229
- }), 128))
230
- ], 64)) : createCommentVNode("", true);
193
+ return unref(methods).renderer === "svg" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("g", {
194
+ ref: (el) => {
195
+ unref(heatmap).groupRef.value = el;
196
+ },
197
+ class: "heatmap-chart"
198
+ }, null, 512), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(heatmap).svgContent.value, (el) => {
199
+ return openBlock(), createBlock(unref(VNodeRenderer), {
200
+ key: el.key ?? el.props?.key,
201
+ node: el
202
+ }, null, 8, ["node"]);
203
+ }), 128))], 64)) : createCommentVNode("", true);
231
204
  };
232
205
  }
233
206
  });
@@ -1,5 +1,5 @@
1
- import { useCustomizationRegistration } from './chunk-ZLD5VNMP.mjs';
2
- import { CHART_METHODS_KEY, CHART_GROUP_TEXT_KEY } from './chunk-4Q3QUNX6.mjs';
1
+ import { useCustomizationRegistration } from './chunk-QQGC223F.mjs';
2
+ import { CHART_METHODS_KEY, CHART_GROUP_TEXT_KEY } from './chunk-FGBZ3VPE.mjs';
3
3
  import { defineComponent, inject, computed, onMounted, watch, onUnmounted } from 'vue';
4
4
 
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,8 +1,8 @@
1
- import { CartesianRenderer_default } from './chunk-YZQS2YBK.mjs';
2
- import { LineLayer_default } from './chunk-CMJXLIEY.mjs';
3
- import { registerFamilyRenderer, registerChartLayer, useDatasetAnimationRegistration, useDatasetRegistration, useItemCollector } from './chunk-I2BWSDNR.mjs';
1
+ import { CartesianRenderer_default } from './chunk-BVB7G6Y5.mjs';
2
+ import { LineLayer_default } from './chunk-4B5OD4TC.mjs';
3
+ import { registerFamilyRenderer, registerChartLayer, useDatasetAnimationRegistration, useDatasetRegistration, useItemCollector } from './chunk-KX5GTFS3.mjs';
4
4
  import { STACKED_CONTEXT_KEY, RANGE_CONTEXT_KEY } from './chunk-L6N5IYAJ.mjs';
5
- import { useRendererHint, useChartMethods } from './chunk-QOWKMWNO.mjs';
5
+ import { useRendererHint, useChartMethods } from './chunk-F72RBTHC.mjs';
6
6
  import { defineComponent, useSlots, computed, inject, onMounted, watch, onUnmounted, renderSlot, createCommentVNode } from 'vue';
7
7
  import { lineRenderer } from '@primeui/chart-core/series/line';
8
8
 
@@ -1,7 +1,7 @@
1
- import { CandlestickLayer_default } from './chunk-YI3GLQYF.mjs';
2
- import { CartesianRenderer_default } from './chunk-YZQS2YBK.mjs';
3
- import { registerFamilyRenderer, registerChartLayer, useDatasetAnimationRegistration, useDatasetRegistration, useItemCollector } from './chunk-I2BWSDNR.mjs';
4
- import { useRendererHint, useChartMethods } from './chunk-QOWKMWNO.mjs';
1
+ import { CandlestickLayer_default } from './chunk-5CL32KCS.mjs';
2
+ import { CartesianRenderer_default } from './chunk-BVB7G6Y5.mjs';
3
+ import { registerFamilyRenderer, registerChartLayer, useDatasetAnimationRegistration, useDatasetRegistration, useItemCollector } from './chunk-KX5GTFS3.mjs';
4
+ import { useRendererHint, useChartMethods } from './chunk-F72RBTHC.mjs';
5
5
  import { defineComponent, useSlots, computed, onMounted, watch, onUnmounted, renderSlot, createCommentVNode } from 'vue';
6
6
  import { candlestickRenderer } from '@primeui/chart-core/series/candlestick';
7
7
 
@@ -1,6 +1,6 @@
1
- import { useChartMethods } from './chunk-QOWKMWNO.mjs';
2
- import { defineComponent, computed, ref, onBeforeUnmount, watch, openBlock, createElementBlock, normalizeStyle, createElementVNode, Fragment, renderList, createCommentVNode, toDisplayString, unref } from 'vue';
3
- import { resolveNavigatorConfig, calculateNavigatorLayout, configureCanvasHiDPI, renderNavigatorCanvas, HANDLE_WIDTH, GRIP_LINE_GAP, computeNavigatorJump, computeNavigatorJumpY, hitTestNavigator, computeNavigatorPan, computeNavigatorResizeLeft, computeNavigatorResizeRight, computeNavigatorPanY, computeNavigatorResizeTop, computeNavigatorResizeBottom } from '@primeui/chart-core';
1
+ import { useChartMethods } from './chunk-F72RBTHC.mjs';
2
+ import { defineComponent, computed, ref, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeStyle, createElementVNode, Fragment, renderList, createCommentVNode, toDisplayString, unref } from 'vue';
3
+ import { resolveNavigatorConfig, calculateNavigatorLayout, configureCanvasHiDPI, renderNavigatorCanvas, HANDLE_WIDTH, GRIP_LINE_GAP, getEasing, computeNavigatorJump, computeNavigatorJumpY, hitTestNavigator, computeNavigatorPan, computeNavigatorResizeLeft, computeNavigatorResizeRight, computeNavigatorPanY, computeNavigatorResizeTop, computeNavigatorResizeBottom } from '@primeui/chart-core';
4
4
 
5
5
  var _hoisted_1 = ["transform"];
6
6
  var _hoisted_2 = [
@@ -231,7 +231,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
231
231
  const data = computed(() => layout.value.data);
232
232
  const scales = computed(() => layout.value.scales);
233
233
  const paths = computed(() => layout.value.paths);
234
- const selection = computed(() => layout.value.selection);
234
+ const targetSelection = computed(() => layout.value.selection);
235
+ const selection = ref(targetSelection.value);
235
236
  const ticks = computed(() => layout.value.ticks);
236
237
  const additionalSeries = computed(() => layout.value.allSeries.slice(1));
237
238
  const is2DNav = computed(() => data.value?.isNumericAxis ?? false);
@@ -240,6 +241,43 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
240
241
  const gripY2 = computed(() => h.value * 0.7);
241
242
  let dragCurrent = null;
242
243
  const isDragging = ref(false);
244
+ let selRafId = null;
245
+ function cancelSelAnim() {
246
+ if (selRafId != null) {
247
+ cancelAnimationFrame(selRafId);
248
+ selRafId = null;
249
+ }
250
+ }
251
+ function animateSelectionTo(target) {
252
+ const anim = resolved.value.animation;
253
+ const cur = selection.value;
254
+ if (anim === false || isDragging.value || cur.isZoomed !== target.isZoomed || cur.is2D !== target.is2D) {
255
+ cancelSelAnim();
256
+ selection.value = target;
257
+ return;
258
+ }
259
+ const from = { ...cur };
260
+ const ease = getEasing(anim.easing);
261
+ const dur = Math.max(1, anim.duration);
262
+ const start = performance.now();
263
+ cancelSelAnim();
264
+ const step = (now) => {
265
+ const k = ease(Math.min(1, (now - start) / dur));
266
+ selection.value = {
267
+ ...target,
268
+ x: from.x + (target.x - from.x) * k,
269
+ width: from.width + (target.width - from.width) * k,
270
+ y: from.y != null && target.y != null ? from.y + (target.y - from.y) * k : target.y,
271
+ height: from.height != null && target.height != null ? from.height + (target.height - from.height) * k : target.height
272
+ };
273
+ selRafId = (now - start) / dur < 1 ? requestAnimationFrame(step) : null;
274
+ };
275
+ selRafId = requestAnimationFrame(step);
276
+ }
277
+ watch(() => props.zoomState, () => animateSelectionTo(targetSelection.value), { deep: true });
278
+ watch(targetSelection, (next) => {
279
+ if (selRafId == null && !isDragging.value) selection.value = next;
280
+ });
243
281
  function beginDrag(type, clientX, clientY, target, pointerId) {
244
282
  const horizontal = data.value?.orientation === "horizontal";
245
283
  const primary = horizontal ? props.zoomState.y : props.zoomState.x;
@@ -255,6 +293,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
255
293
  startMaxY: props.zoomState.y?.max ?? 0
256
294
  };
257
295
  isDragging.value = true;
296
+ cancelSelAnim();
297
+ selection.value = targetSelection.value;
258
298
  window.addEventListener("pointermove", handleWindowPointerMove);
259
299
  window.addEventListener("pointerup", handleWindowPointerUp);
260
300
  }
@@ -317,6 +357,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
317
357
  window.removeEventListener("pointerup", handleWindowPointerUp);
318
358
  }
319
359
  onBeforeUnmount(() => {
360
+ cancelSelAnim();
320
361
  window.removeEventListener("pointermove", handleWindowPointerMove);
321
362
  window.removeEventListener("pointerup", handleWindowPointerUp);
322
363
  });
@@ -364,14 +405,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
364
405
  canvasRef,
365
406
  layout,
366
407
  w,
367
- h
408
+ h,
409
+ selection
368
410
  ], () => {
369
411
  if (props.renderer !== "canvas" || !canvasRef.value) return;
370
412
  configureCanvasHiDPI(canvasRef.value, w.value, h.value);
371
413
  const ctx = canvasRef.value.getContext("2d");
372
414
  if (!ctx) return;
373
415
  ctx.clearRect(0, 0, canvasRef.value.width, canvasRef.value.height);
374
- renderNavigatorCanvas(ctx, layout.value);
416
+ renderNavigatorCanvas(ctx, {
417
+ ...layout.value,
418
+ selection: selection.value
419
+ });
375
420
  }, { flush: "post" });
376
421
  function handleCanvasPointerDown(e) {
377
422
  if (!scales.value || !data.value) return;
@@ -380,7 +425,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
380
425
  const rect = e.target.getBoundingClientRect();
381
426
  const localX = e.clientX - rect.left;
382
427
  const localY = e.clientY - rect.top;
383
- const zone = hitTestNavigator(localX, selection.value, localY, resolved.value.handleWidth);
428
+ const zone = hitTestNavigator(localX, targetSelection.value, localY, resolved.value.handleWidth);
384
429
  if (!zone) return;
385
430
  if (zone === "background") {
386
431
  const currentWidth = props.zoomState.x ? props.zoomState.x.max - props.zoomState.x.min : null;
@@ -410,7 +455,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
410
455
  const rect = e.target.getBoundingClientRect();
411
456
  const localX = e.clientX - rect.left;
412
457
  const localY = e.clientY - rect.top;
413
- const zone = hitTestNavigator(localX, selection.value, localY, resolved.value.handleWidth);
458
+ const zone = hitTestNavigator(localX, targetSelection.value, localY, resolved.value.handleWidth);
414
459
  e.target.style.cursor = zone ? ZONE_CURSORS[zone] : "default";
415
460
  }
416
461
  return (_ctx, _cache) => {
@@ -1,4 +1,4 @@
1
- import { useBarLayer, useBarRendererBase } from './chunk-AKMQHU5T.mjs';
1
+ import { useBarLayer, useBarRendererBase } from './chunk-V4KRWSEE.mjs';
2
2
  import { defineComponent, unref, openBlock, createElementBlock, createCommentVNode } from 'vue';
3
3
  import { createBarRendererSvg } from '@primeui/chart-core/series/bar/controller-svg';
4
4
 
@@ -1,4 +1,4 @@
1
- import { ITEM_COLLECTOR_KEY } from './chunk-4Q3QUNX6.mjs';
1
+ import { ITEM_COLLECTOR_KEY } from './chunk-FGBZ3VPE.mjs';
2
2
  import { defineComponent, inject, ref, provide, onMounted, onUnmounted, renderSlot } from 'vue';
3
3
  import { shallowEqual } from '@primeui/chart-core';
4
4
 
@@ -7,7 +7,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "ChartTreemapGroup",
8
8
  props: {
9
9
  label: {},
10
- secondaryLabel: {},
11
10
  color: {},
12
11
  opacity: {}
13
12
  },
@@ -46,7 +45,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
46
45
  const groupIndex = parentCollector.getNextIndex();
47
46
  parentCollector.registerItem(groupIndex, {
48
47
  category: props.label,
49
- secondaryLabel: props.secondaryLabel,
50
48
  value: 0,
51
49
  color: props.color,
52
50
  opacity: props.opacity,
@@ -1,6 +1,6 @@
1
- import { registerNavigatorRenderer } from './chunk-I2BWSDNR.mjs';
2
- import { useCustomizationRegistration } from './chunk-ZLD5VNMP.mjs';
3
- import { NavigatorRenderer_default } from './chunk-GLFXRR7N.mjs';
1
+ import { registerNavigatorRenderer } from './chunk-KX5GTFS3.mjs';
2
+ import { useCustomizationRegistration } from './chunk-QQGC223F.mjs';
3
+ import { NavigatorRenderer_default } from './chunk-MGNVYHQF.mjs';
4
4
  import { defineComponent, getCurrentInstance, computed } from 'vue';
5
5
 
6
6
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -39,7 +39,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
39
39
  maskColor: props.maskColor,
40
40
  backgroundColor: props.backgroundColor,
41
41
  gridColor: props.gridColor,
42
- labelColor: props.labelColor
42
+ labelColor: props.labelColor,
43
+ handleWidth: props.handleWidth,
44
+ gripLineGap: props.gripLineGap,
45
+ padding: props.padding,
46
+ animation: props.animation
43
47
  }));
44
48
  useCustomizationRegistration("navigator", registrationProps);
45
49
  return (_ctx, _cache) => {
@@ -1,4 +1,4 @@
1
- import { Chart_default } from './chunk-EKGCPOZJ.mjs';
1
+ import { Chart_default } from './chunk-7OLUXDMR.mjs';
2
2
  import { defineComponent, ref, openBlock, createBlock, mergeProps, withCtx, renderSlot } from 'vue';
3
3
 
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,4 +1,4 @@
1
- import { useCustomizationRegistration } from './chunk-ZLD5VNMP.mjs';
1
+ import { useCustomizationRegistration } from './chunk-QQGC223F.mjs';
2
2
  import { defineComponent, computed } from 'vue';
3
3
 
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
- import { registerKeyboardController } from './chunk-I2BWSDNR.mjs';
2
- import { useCustomizationRegistration } from './chunk-ZLD5VNMP.mjs';
1
+ import { registerKeyboardController } from './chunk-KX5GTFS3.mjs';
2
+ import { useCustomizationRegistration } from './chunk-QQGC223F.mjs';
3
3
  import { defineComponent, getCurrentInstance, computed } from 'vue';
4
4
  import { KeyboardNavigationController } from '@primeui/chart-core';
5
5
 
@@ -16,7 +16,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
16
16
  pointDescriptionFormatter: { type: Function },
17
17
  seriesDescriptionFormatter: { type: Function },
18
18
  landmarkVerbosity: {},
19
- keyboardNavigation: {}
19
+ keyboardNavigation: {},
20
+ patterns: { type: Boolean }
20
21
  },
21
22
  setup(__props) {
22
23
  registerKeyboardController(KeyboardNavigationController);
@@ -35,7 +36,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
35
36
  pointDescriptionFormatter: props.pointDescriptionFormatter,
36
37
  seriesDescriptionFormatter: props.seriesDescriptionFormatter,
37
38
  landmarkVerbosity: props.landmarkVerbosity,
38
- keyboardNavigation: props.keyboardNavigation
39
+ keyboardNavigation: props.keyboardNavigation,
40
+ ...props.patterns ? { patterns: true } : {}
39
41
  };
40
42
  });
41
43
  useCustomizationRegistration("accessibility", registrationProps);
@@ -0,0 +1,23 @@
1
+ import { LEGEND_ITEM_BASE_STYLE as LEGEND_ITEM_BASE_STYLE$1, TOOLTIP_BASE_STYLE as TOOLTIP_BASE_STYLE$1, TOOLTIP_DEFAULT_STYLE as TOOLTIP_DEFAULT_STYLE$1 } from '@primeui/chart-core';
2
+ export { normalizeDataLabelConfig } from '@primeui/chart-core';
3
+
4
+ // src/utils/styles.ts
5
+ var LEGEND_ITEM_BASE_STYLE = LEGEND_ITEM_BASE_STYLE$1;
6
+ var TOOLTIP_BASE_STYLE = TOOLTIP_BASE_STYLE$1;
7
+ var TOOLTIP_DEFAULT_STYLE = TOOLTIP_DEFAULT_STYLE$1;
8
+
9
+ // src/utils/ruleOverrides.ts
10
+ function applyDataLabelRuleOverrides(base, ruleOverrides) {
11
+ const dlOverride = ruleOverrides?.dataLabels;
12
+ if (!dlOverride) return base;
13
+ const merged = new Map(base);
14
+ if (dlOverride.enabled === false) {
15
+ merged.delete("dataLabels");
16
+ } else {
17
+ const existing = merged.get("dataLabels");
18
+ if (existing) merged.set("dataLabels", { ...existing, props: { ...existing.props, ...dlOverride } });
19
+ }
20
+ return merged;
21
+ }
22
+
23
+ export { LEGEND_ITEM_BASE_STYLE, TOOLTIP_BASE_STYLE, TOOLTIP_DEFAULT_STYLE, applyDataLabelRuleOverrides };
@@ -1,6 +1,6 @@
1
- import { RectRenderer_default } from './chunk-IRGQNA5W.mjs';
2
- import { registerFamilyRenderer, useDatasetAnimationRegistration, useDatasetRegistration, useItemCollector } from './chunk-I2BWSDNR.mjs';
3
- import { useRendererHint, useChartMethods } from './chunk-QOWKMWNO.mjs';
1
+ import { RectRenderer_default } from './chunk-3ZXBNXFA.mjs';
2
+ import { registerFamilyRenderer, useDatasetAnimationRegistration, useDatasetRegistration, useItemCollector } from './chunk-KX5GTFS3.mjs';
3
+ import { useRendererHint, useChartMethods } from './chunk-F72RBTHC.mjs';
4
4
  import { defineComponent, useSlots, computed, onMounted, watch, onUnmounted, renderSlot, createCommentVNode } from 'vue';
5
5
 
6
6
  var treemapIdCounter = 0;
@@ -29,7 +29,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
29
29
  default: void 0
30
30
  },
31
31
  groupLabelHeight: {},
32
- secondaryLabelField: {},
33
32
  levels: {},
34
33
  rootLabel: {},
35
34
  drilldown: {
@@ -88,7 +87,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
88
87
  groupPadding: props.groupPadding,
89
88
  labelMinSize: props.labelMinSize,
90
89
  groupLabelHeight: props.groupLabelHeight,
91
- secondaryLabelField: props.secondaryLabelField,
92
90
  levels: props.levels,
93
91
  rootLabel: props.rootLabel,
94
92
  drilldownMode: props.drilldownMode,
@@ -121,7 +119,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
121
119
  let buildSynthesizedProps2 = function() {
122
120
  const items = getItems();
123
121
  const hasHierarchy = items.some((item) => item.nodeId != null);
124
- const hasSecondaryLabel = items.some((item) => item.secondaryLabel != null);
125
122
  const p = {
126
123
  id: autoId,
127
124
  data: items,
@@ -139,7 +136,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
139
136
  groupPadding: props.groupPadding,
140
137
  labelMinSize: props.labelMinSize,
141
138
  groupLabelHeight: props.groupLabelHeight,
142
- secondaryLabelField: hasSecondaryLabel ? "secondaryLabel" : props.secondaryLabelField,
143
139
  levels: props.levels,
144
140
  rootLabel: props.rootLabel,
145
141
  drilldownMode: props.drilldownMode,
@@ -180,7 +176,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
180
176
  () => props.labelMinSize,
181
177
  () => props.showGroupLabel,
182
178
  () => props.groupLabelHeight,
183
- () => props.secondaryLabelField,
184
179
  () => props.levels,
185
180
  () => props.rootLabel,
186
181
  () => props.drilldown,
@@ -1,5 +1,5 @@
1
- import { useChartMethods } from './chunk-QOWKMWNO.mjs';
2
- import { CHART_REFRESH_NONCE_KEY } from './chunk-4Q3QUNX6.mjs';
1
+ import { useChartMethods } from './chunk-F72RBTHC.mjs';
2
+ import { CHART_REFRESH_NONCE_KEY } from './chunk-FGBZ3VPE.mjs';
3
3
  import { shallowEqual } from '@primeui/chart-core';
4
4
  import { inject, ref, watch, shallowRef, onMounted, onUnmounted } from 'vue';
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { useControllerLifecycle } from './chunk-KNNYJD4D.mjs';
2
- import { normalizeDataLabelConfig } from './chunk-ZH4A4L6W.mjs';
2
+ import { applyDataLabelRuleOverrides, normalizeDataLabelConfig } from './chunk-Q3I4EL3N.mjs';
3
3
  import { useRadialFrameRegistration } from './chunk-7EZEZMGG.mjs';
4
- import { useChartMethods, useChartState, useChartHover } from './chunk-QOWKMWNO.mjs';
4
+ import { useChartMethods, useChartState, useChartHover, useRuleOverrides } from './chunk-F72RBTHC.mjs';
5
5
  import { defineComponent, computed, toRef, unref, openBlock, createElementBlock, createCommentVNode, ref, watch } from 'vue';
6
6
  import { createPolarRendererCanvas } from '@primeui/chart-core/series/polar/controller-canvas';
7
7
  import { createPolarRendererSvg } from '@primeui/chart-core/series/polar/controller-svg';
@@ -59,9 +59,7 @@ function usePolarRenderer(options) {
59
59
  });
60
60
  const { applyPropertyAnimations, renderFrameCycle } = useControllerLifecycle(controller);
61
61
  function hitTest(x, y) {
62
- const hit = controller.hitTest(x, y);
63
- if (!hit) return null;
64
- return { datasetId: hit.datasetId, index: hit.index, label: hit.label, value: hit.value, color: hit.color };
62
+ return controller.hitTest(x, y);
65
63
  }
66
64
  function getPointPosition(datasetId, index) {
67
65
  const layout = layoutRef.value;
@@ -120,12 +118,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
120
118
  const methods = useChartMethods();
121
119
  const state = useChartState();
122
120
  const hoverCtx = useChartHover();
121
+ const ruleOverrides = useRuleOverrides();
123
122
  const polar = usePolarRenderer({
124
123
  chartArea: computed(() => props.chartArea),
125
124
  renderer: methods.renderer,
126
125
  canvasEl: toRef(props, "canvasEl"),
127
126
  datasets: computed(() => state.value.datasets),
128
- features: computed(() => state.value.features),
127
+ features: computed(() => applyDataLabelRuleOverrides(state.value.features, ruleOverrides.value)),
129
128
  hover: computed(() => hoverCtx.value.hover),
130
129
  datasetVisibility: computed(() => state.value.datasetVisibility),
131
130
  globalFont: methods.font,
@@ -1,7 +1,7 @@
1
1
  import { useControllerLifecycle } from './chunk-KNNYJD4D.mjs';
2
- import { normalizeDataLabelConfig } from './chunk-ZH4A4L6W.mjs';
2
+ import { applyDataLabelRuleOverrides, normalizeDataLabelConfig } from './chunk-Q3I4EL3N.mjs';
3
3
  import { useRadialFrameRegistration } from './chunk-7EZEZMGG.mjs';
4
- import { useChartMethods, useChartState, useChartHover } from './chunk-QOWKMWNO.mjs';
4
+ import { useChartMethods, useChartState, useChartHover, useRuleOverrides } from './chunk-F72RBTHC.mjs';
5
5
  import { defineComponent, computed, toRef, unref, openBlock, createElementBlock, Fragment, createElementVNode, renderList, createBlock, resolveDynamicComponent, createCommentVNode, ref, watch } from 'vue';
6
6
  import { buildMarkerRenderItems, safeRenderProp, DEFAULT_HOVER_DIM_OPACITY } from '@primeui/chart-core';
7
7
  import { createRadarRendererCanvas } from '@primeui/chart-core/series/radar/controller-canvas';
@@ -64,9 +64,7 @@ function useRadarRenderer(options) {
64
64
  });
65
65
  const { applyPropertyAnimations, renderFrameCycle } = useControllerLifecycle(controller);
66
66
  function hitTest(x, y) {
67
- const hit = controller.hitTest(x, y);
68
- if (!hit) return null;
69
- return { datasetId: hit.datasetId, index: hit.index, label: hit.label, value: hit.value, color: hit.color };
67
+ return controller.hitTest(x, y);
70
68
  }
71
69
  function findAllNearest(x, y) {
72
70
  const result = controller.findAllNearest(x, y);
@@ -112,12 +110,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
112
110
  const methods = useChartMethods();
113
111
  const state = useChartState();
114
112
  const hoverCtx = useChartHover();
113
+ const ruleOverrides = useRuleOverrides();
115
114
  const radar = useRadarRenderer({
116
115
  chartArea: computed(() => props.chartArea),
117
116
  renderer: methods.renderer,
118
117
  canvasEl: toRef(props, "canvasEl"),
119
118
  datasets: computed(() => state.value.datasets),
120
- features: computed(() => state.value.features),
119
+ features: computed(() => applyDataLabelRuleOverrides(state.value.features, ruleOverrides.value)),
121
120
  hover: computed(() => hoverCtx.value.hover),
122
121
  datasetVisibility: computed(() => state.value.datasetVisibility),
123
122
  globalFont: methods.font,
@@ -1,4 +1,4 @@
1
- import { useCustomizationRegistration } from './chunk-ZLD5VNMP.mjs';
1
+ import { useCustomizationRegistration } from './chunk-QQGC223F.mjs';
2
2
  import { defineComponent, computed } from 'vue';
3
3
 
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -10,6 +10,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  fontSize: { default: 12 },
11
11
  fontWeight: { default: "normal" },
12
12
  fontFamily: { default: "system-ui, sans-serif" },
13
+ rotation: {},
13
14
  display: { default: "value" },
14
15
  minPercentage: { default: 5 },
15
16
  distance: {},
@@ -27,6 +28,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
27
28
  fontSize: props.fontSize,
28
29
  fontFamily: props.fontFamily,
29
30
  color: props.color,
31
+ rotation: props.rotation,
30
32
  display: props.display,
31
33
  minPercentage: props.minPercentage,
32
34
  formatter: props.formatter,