@sckyzo/cosmos-charts 0.2.0 → 0.3.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 (166) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +107 -22
  3. package/THIRD_PARTY_NOTICES.md +81 -0
  4. package/dist/BarChart.cjs +137 -0
  5. package/dist/BarChart.cjs.map +1 -0
  6. package/dist/BarChart.js +135 -0
  7. package/dist/BarChart.js.map +1 -0
  8. package/dist/BoxPlotChart.cjs +214 -0
  9. package/dist/BoxPlotChart.cjs.map +1 -0
  10. package/dist/BoxPlotChart.js +212 -0
  11. package/dist/BoxPlotChart.js.map +1 -0
  12. package/dist/BumpChart.cjs +328 -0
  13. package/dist/BumpChart.cjs.map +1 -0
  14. package/dist/BumpChart.js +326 -0
  15. package/dist/BumpChart.js.map +1 -0
  16. package/dist/CalendarChart.cjs +216 -0
  17. package/dist/CalendarChart.cjs.map +1 -0
  18. package/dist/CalendarChart.js +214 -0
  19. package/dist/CalendarChart.js.map +1 -0
  20. package/dist/DonutChart.cjs +122 -0
  21. package/dist/DonutChart.cjs.map +1 -0
  22. package/dist/DonutChart.js +120 -0
  23. package/dist/DonutChart.js.map +1 -0
  24. package/dist/FunnelChart.cjs +422 -0
  25. package/dist/FunnelChart.cjs.map +1 -0
  26. package/dist/FunnelChart.js +420 -0
  27. package/dist/FunnelChart.js.map +1 -0
  28. package/dist/GradientRadial.cjs +51 -0
  29. package/dist/GradientRadial.cjs.map +1 -0
  30. package/dist/GradientRadial.js +49 -0
  31. package/dist/GradientRadial.js.map +1 -0
  32. package/dist/HeatmapChart.cjs +146 -0
  33. package/dist/HeatmapChart.cjs.map +1 -0
  34. package/dist/HeatmapChart.js +144 -0
  35. package/dist/HeatmapChart.js.map +1 -0
  36. package/dist/LineAreaChart.cjs +98 -0
  37. package/dist/LineAreaChart.cjs.map +1 -0
  38. package/dist/LineAreaChart.js +96 -0
  39. package/dist/LineAreaChart.js.map +1 -0
  40. package/dist/MixedChart.cjs +195 -0
  41. package/dist/MixedChart.cjs.map +1 -0
  42. package/dist/MixedChart.js +193 -0
  43. package/dist/MixedChart.js.map +1 -0
  44. package/dist/RadarChart.cjs +109 -0
  45. package/dist/RadarChart.cjs.map +1 -0
  46. package/dist/RadarChart.js +107 -0
  47. package/dist/RadarChart.js.map +1 -0
  48. package/dist/RadialBarChart.cjs +99 -0
  49. package/dist/RadialBarChart.cjs.map +1 -0
  50. package/dist/RadialBarChart.js +97 -0
  51. package/dist/RadialBarChart.js.map +1 -0
  52. package/dist/RangeBarChart.cjs +218 -0
  53. package/dist/RangeBarChart.cjs.map +1 -0
  54. package/dist/RangeBarChart.js +216 -0
  55. package/dist/RangeBarChart.js.map +1 -0
  56. package/dist/RealtimeChart.cjs +173 -0
  57. package/dist/RealtimeChart.cjs.map +1 -0
  58. package/dist/RealtimeChart.js +171 -0
  59. package/dist/RealtimeChart.js.map +1 -0
  60. package/dist/ScatterChart.cjs +134 -0
  61. package/dist/ScatterChart.cjs.map +1 -0
  62. package/dist/ScatterChart.js +131 -0
  63. package/dist/ScatterChart.js.map +1 -0
  64. package/dist/SemiCircleGauge.cjs +142 -0
  65. package/dist/SemiCircleGauge.cjs.map +1 -0
  66. package/dist/SemiCircleGauge.js +140 -0
  67. package/dist/SemiCircleGauge.js.map +1 -0
  68. package/dist/Sparkline.cjs +117 -0
  69. package/dist/Sparkline.cjs.map +1 -0
  70. package/dist/Sparkline.js +115 -0
  71. package/dist/Sparkline.js.map +1 -0
  72. package/dist/StrokedGauge.cjs +94 -0
  73. package/dist/StrokedGauge.cjs.map +1 -0
  74. package/dist/StrokedGauge.js +92 -0
  75. package/dist/StrokedGauge.js.map +1 -0
  76. package/dist/TreemapChart.cjs +263 -0
  77. package/dist/TreemapChart.cjs.map +1 -0
  78. package/dist/TreemapChart.js +261 -0
  79. package/dist/TreemapChart.js.map +1 -0
  80. package/dist/WaterfallChart.cjs +235 -0
  81. package/dist/WaterfallChart.cjs.map +1 -0
  82. package/dist/WaterfallChart.js +233 -0
  83. package/dist/WaterfallChart.js.map +1 -0
  84. package/dist/WorldMap.cjs +2088 -0
  85. package/dist/WorldMap.cjs.map +1 -0
  86. package/dist/WorldMap.js +603 -0
  87. package/dist/WorldMap.js.map +1 -0
  88. package/dist/chunk-3N43QT36.js +60 -0
  89. package/dist/chunk-3N43QT36.js.map +1 -0
  90. package/dist/chunk-5C2RLJYZ.js +11 -0
  91. package/dist/chunk-5C2RLJYZ.js.map +1 -0
  92. package/dist/chunk-6ALKZLN2.js +127 -0
  93. package/dist/chunk-6ALKZLN2.js.map +1 -0
  94. package/dist/chunk-6BKLL7LZ.cjs +30 -0
  95. package/dist/chunk-6BKLL7LZ.cjs.map +1 -0
  96. package/dist/chunk-6NRRABPF.cjs +64 -0
  97. package/dist/chunk-6NRRABPF.cjs.map +1 -0
  98. package/dist/chunk-AAYHG7YK.cjs +30 -0
  99. package/dist/chunk-AAYHG7YK.cjs.map +1 -0
  100. package/dist/chunk-AOSO5QHL.js +19 -0
  101. package/dist/chunk-AOSO5QHL.js.map +1 -0
  102. package/dist/chunk-BFEDLXVW.js +12 -0
  103. package/dist/chunk-BFEDLXVW.js.map +1 -0
  104. package/dist/chunk-DBZQI4HM.cjs +14 -0
  105. package/dist/chunk-DBZQI4HM.cjs.map +1 -0
  106. package/dist/chunk-F2PMFYJ5.cjs +40 -0
  107. package/dist/chunk-F2PMFYJ5.cjs.map +1 -0
  108. package/dist/chunk-FUZW3H5X.js +38 -0
  109. package/dist/chunk-FUZW3H5X.js.map +1 -0
  110. package/dist/chunk-GDZLYYL2.js +27 -0
  111. package/dist/chunk-GDZLYYL2.js.map +1 -0
  112. package/dist/chunk-GVTMZYOM.cjs +30 -0
  113. package/dist/chunk-GVTMZYOM.cjs.map +1 -0
  114. package/dist/chunk-GZRMVE4X.cjs +131 -0
  115. package/dist/chunk-GZRMVE4X.cjs.map +1 -0
  116. package/dist/chunk-HMH6DI7U.js +27 -0
  117. package/dist/chunk-HMH6DI7U.js.map +1 -0
  118. package/dist/chunk-ICL5K2CW.js +280 -0
  119. package/dist/chunk-ICL5K2CW.js.map +1 -0
  120. package/dist/chunk-IW6EWB26.cjs +21 -0
  121. package/dist/chunk-IW6EWB26.cjs.map +1 -0
  122. package/dist/chunk-K3R7JGOW.cjs +18 -0
  123. package/dist/chunk-K3R7JGOW.cjs.map +1 -0
  124. package/dist/chunk-LT3UC65O.cjs +68 -0
  125. package/dist/chunk-LT3UC65O.cjs.map +1 -0
  126. package/dist/chunk-MN4CDVOS.cjs +63 -0
  127. package/dist/chunk-MN4CDVOS.cjs.map +1 -0
  128. package/dist/chunk-OCD6JIIX.js +23 -0
  129. package/dist/chunk-OCD6JIIX.js.map +1 -0
  130. package/dist/chunk-RILUG7JB.js +44 -0
  131. package/dist/chunk-RILUG7JB.js.map +1 -0
  132. package/dist/chunk-RLHGPHC7.cjs +51 -0
  133. package/dist/chunk-RLHGPHC7.cjs.map +1 -0
  134. package/dist/chunk-SGG7XKOY.js +58 -0
  135. package/dist/chunk-SGG7XKOY.js.map +1 -0
  136. package/dist/chunk-T3K6Q34U.cjs +82 -0
  137. package/dist/chunk-T3K6Q34U.cjs.map +1 -0
  138. package/dist/chunk-TPH5T3DA.cjs +282 -0
  139. package/dist/chunk-TPH5T3DA.cjs.map +1 -0
  140. package/dist/chunk-TYQWZR3S.cjs +13 -0
  141. package/dist/chunk-TYQWZR3S.cjs.map +1 -0
  142. package/dist/chunk-UATB2IRY.js +51 -0
  143. package/dist/chunk-UATB2IRY.js.map +1 -0
  144. package/dist/chunk-UJIV5PVI.js +13 -0
  145. package/dist/chunk-UJIV5PVI.js.map +1 -0
  146. package/dist/chunk-URNXLVSK.js +44 -0
  147. package/dist/chunk-URNXLVSK.js.map +1 -0
  148. package/dist/chunk-VIOSQN4Z.js +79 -0
  149. package/dist/chunk-VIOSQN4Z.js.map +1 -0
  150. package/dist/chunk-X3YZP5WF.cjs +46 -0
  151. package/dist/chunk-X3YZP5WF.cjs.map +1 -0
  152. package/dist/chunk-YWYF5CCJ.js +61 -0
  153. package/dist/chunk-YWYF5CCJ.js.map +1 -0
  154. package/dist/chunk-Z4LZFMDH.cjs +60 -0
  155. package/dist/chunk-Z4LZFMDH.cjs.map +1 -0
  156. package/dist/index.cjs +154 -1166
  157. package/dist/index.cjs.map +1 -1
  158. package/dist/index.d.cts +470 -80
  159. package/dist/index.d.ts +470 -80
  160. package/dist/index.js +23 -1144
  161. package/dist/index.js.map +1 -1
  162. package/dist/theme.cjs +88 -0
  163. package/dist/theme.cjs.map +1 -0
  164. package/dist/theme.js +84 -0
  165. package/dist/theme.js.map +1 -0
  166. package/package.json +23 -12
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { clampTo, gaugeName } from './chunk-OCD6JIIX.js';
3
+ import { CenterText } from './chunk-URNXLVSK.js';
4
+ import { ANIMATION } from './chunk-5C2RLJYZ.js';
5
+ import { frameProps } from './chunk-3N43QT36.js';
6
+ import { TRACK } from './chunk-UATB2IRY.js';
7
+ import { RadialBarChart, PolarAngleAxis, RadialBar } from 'recharts';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+
10
+ var RadialGauge = ({
11
+ value,
12
+ label,
13
+ min,
14
+ max,
15
+ text,
16
+ ariaLabel,
17
+ hollow,
18
+ fill,
19
+ shape,
20
+ defs,
21
+ children,
22
+ height,
23
+ width
24
+ }) => /* @__PURE__ */ jsxs(
25
+ RadialBarChart,
26
+ {
27
+ ...frameProps({
28
+ height,
29
+ width,
30
+ ariaLabel: gaugeName(ariaLabel ?? (label || "Gauge"), text),
31
+ keyboard: false
32
+ }),
33
+ data: [{ name: label, value: clampTo(value, min, max) }],
34
+ startAngle: 90,
35
+ endAngle: -270,
36
+ innerRadius: hollow,
37
+ outerRadius: "100%",
38
+ barCategoryGap: 0,
39
+ margin: { top: 0, right: 0, bottom: 0, left: 0 },
40
+ children: [
41
+ defs && /* @__PURE__ */ jsx("defs", { children: defs }),
42
+ /* @__PURE__ */ jsx(PolarAngleAxis, { type: "number", domain: [min, max], tick: false, axisLine: false }),
43
+ /* @__PURE__ */ jsx(
44
+ RadialBar,
45
+ {
46
+ dataKey: "value",
47
+ fill,
48
+ shape,
49
+ background: shape ? false : { fill: TRACK },
50
+ ...ANIMATION
51
+ }
52
+ ),
53
+ /* @__PURE__ */ jsx(CenterText, { value: text, label, valueSize: "var(--text-3xl, 1.875rem)" }),
54
+ children
55
+ ]
56
+ }
57
+ );
58
+
59
+ export { RadialGauge };
60
+ //# sourceMappingURL=chunk-YWYF5CCJ.js.map
61
+ //# sourceMappingURL=chunk-YWYF5CCJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/RadialGauge.tsx"],"names":[],"mappings":";;;;;;;;;AAkCO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,qBACE,IAAA;AAAA,EAAC,cAAA;AAAA,EAAA;AAAA,IACE,GAAG,UAAA,CAAW;AAAA,MACb,MAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA,EAAW,SAAA,CAAU,SAAA,KAAc,KAAA,IAAS,UAAU,IAAI,CAAA;AAAA,MAC1D,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,IAAA,EAAM,CAAC,EAAE,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,OAAA,CAAQ,KAAA,EAAO,GAAA,EAAK,GAAG,CAAA,EAAG,CAAA;AAAA,IACvD,UAAA,EAAY,EAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,WAAA,EAAa,MAAA;AAAA,IACb,WAAA,EAAY,MAAA;AAAA,IAEZ,cAAA,EAAgB,CAAA;AAAA,IAChB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAA,EAAG,OAAO,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,CAAA,EAAE;AAAA,IAE9C,QAAA,EAAA;AAAA,MAAA,IAAA,oBAAQ,GAAA,CAAC,UAAM,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,sBACrB,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAK,QAAA,EAAS,MAAA,EAAQ,CAAC,GAAA,EAAK,GAAG,CAAA,EAAG,IAAA,EAAM,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,CAAA;AAAA,sBAChF,GAAA;AAAA,QAAC,SAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,OAAA;AAAA,UACR,IAAA;AAAA,UACA,KAAA;AAAA,UAGA,UAAA,EAAY,KAAA,GAAQ,KAAA,GAAQ,EAAE,MAAM,KAAA,EAAM;AAAA,UACzC,GAAG;AAAA;AAAA,OACN;AAAA,0BACC,UAAA,EAAA,EAAW,KAAA,EAAO,IAAA,EAAM,KAAA,EAAc,WAAU,2BAAA,EAA4B,CAAA;AAAA,MAC5E;AAAA;AAAA;AACH","file":"chunk-YWYF5CCJ.js","sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { PolarAngleAxis, RadialBar, RadialBarChart } from 'recharts';\nimport type { SectorProps } from 'recharts';\nimport { ANIMATION } from './animation';\nimport { TRACK } from './colors';\nimport { frameProps } from './frame';\nimport { clampTo, gaugeName } from './gauge';\nimport { CenterText } from './radial';\nimport type { ChartSize } from '../types';\n\ntype RadialGaugeProps = ChartSize & {\n value: number;\n label: string;\n min: number;\n max: number;\n /** The value, formatted: the text in the middle and the end of the name. */\n text: string;\n ariaLabel?: string;\n /** The share of the radius the ring leaves empty in the middle. */\n hollow: string;\n /** The fill of the arc: a color, or a `url(#…)` to what `defs` defines. */\n fill?: string;\n /** Draws the arc, and the track under it, in place of the filled sectors. */\n shape?: (props: SectorProps) => ReactElement;\n /** What the chart defines for `fill`, such as a gradient. */\n defs?: ReactNode;\n children?: ReactNode;\n};\n\n/**\n * A full circle with one arc from the top, clockwise, on a neutral track, the\n * value in the middle over its label: the frame of `GradientRadial` and\n * `StrokedGauge`, which draw the arc and the track their own way. It is an image (out of the tab order) named by its value.\n */\nexport const RadialGauge = ({\n value,\n label,\n min,\n max,\n text,\n ariaLabel,\n hollow,\n fill,\n shape,\n defs,\n children,\n height,\n width,\n}: RadialGaugeProps) => (\n <RadialBarChart\n {...frameProps({\n height,\n width,\n ariaLabel: gaugeName(ariaLabel ?? (label || 'Gauge'), text),\n keyboard: false,\n })}\n data={[{ name: label, value: clampTo(value, min, max) }]}\n startAngle={90}\n endAngle={-270}\n innerRadius={hollow}\n outerRadius=\"100%\"\n // The arc is as thick as the ring: no gap between the bar and its band.\n barCategoryGap={0}\n margin={{ top: 0, right: 0, bottom: 0, left: 0 }}\n >\n {defs && <defs>{defs}</defs>}\n <PolarAngleAxis type=\"number\" domain={[min, max]} tick={false} axisLine={false} />\n <RadialBar\n dataKey=\"value\"\n fill={fill}\n shape={shape}\n // Recharts draws a background sector of its own and cannot restyle it: a\n // `shape` that draws the track too hides it.\n background={shape ? false : { fill: TRACK }}\n {...ANIMATION}\n />\n <CenterText value={text} label={label} valueSize=\"var(--text-3xl, 1.875rem)\" />\n {children}\n </RadialBarChart>\n);\n"]}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkRLHGPHC7_cjs = require('./chunk-RLHGPHC7.cjs');
5
+ var chunkLT3UC65O_cjs = require('./chunk-LT3UC65O.cjs');
6
+ var recharts = require('recharts');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ var DASH = "6 4";
10
+ var BAND_LAYER = 50;
11
+ var labelOf = (value, position) => ({
12
+ value,
13
+ position,
14
+ className: "recharts-reference-label",
15
+ fill: chunkLT3UC65O_cjs.MUTED,
16
+ style: { fontSize: chunkRLHGPHC7_cjs.TEXT_SIZE }
17
+ });
18
+ var referenceMarks = ({
19
+ referenceLines = [],
20
+ referenceBands = [],
21
+ axis = "y",
22
+ axisId
23
+ }) => {
24
+ const onAxis = axisId === void 0 ? {} : { [`${axis}AxisId`]: axisId };
25
+ return [
26
+ ...referenceBands.map((band, i) => {
27
+ const [low, high] = [Math.min(band.from, band.to), Math.max(band.from, band.to)];
28
+ return /* @__PURE__ */ jsxRuntime.jsx(
29
+ recharts.ReferenceArea,
30
+ {
31
+ ...{ [`${axis}1`]: low, [`${axis}2`]: high },
32
+ ...onAxis,
33
+ fill: chunkLT3UC65O_cjs.INTENT_COLORS[band.intent ?? "neutral"],
34
+ fillOpacity: 0.14,
35
+ ifOverflow: "extendDomain",
36
+ zIndex: BAND_LAYER,
37
+ label: band.label ? labelOf(band.label, "insideTopLeft") : void 0
38
+ },
39
+ `band-${i}`
40
+ );
41
+ }),
42
+ ...referenceLines.map((line, i) => /* @__PURE__ */ jsxRuntime.jsx(
43
+ recharts.ReferenceLine,
44
+ {
45
+ ...{ [axis]: line.value },
46
+ ...onAxis,
47
+ stroke: chunkLT3UC65O_cjs.INTENT_COLORS[line.intent ?? "neutral"],
48
+ strokeWidth: 1.5,
49
+ strokeDasharray: line.dashed ? DASH : void 0,
50
+ ifOverflow: "extendDomain",
51
+ label: line.label ? labelOf(line.label, "insideTopRight") : void 0
52
+ },
53
+ `line-${i}`
54
+ ))
55
+ ];
56
+ };
57
+
58
+ exports.referenceMarks = referenceMarks;
59
+ //# sourceMappingURL=chunk-Z4LZFMDH.cjs.map
60
+ //# sourceMappingURL=chunk-Z4LZFMDH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/reference.tsx"],"names":["MUTED","TEXT_SIZE","jsx","ReferenceArea","INTENT_COLORS","ReferenceLine"],"mappings":";;;;;;;;AAYA,IAAM,IAAA,GAAO,KAAA;AAEb,IAAM,UAAA,GAAa,EAAA;AAInB,IAAM,OAAA,GAAU,CAAC,KAAA,EAAe,QAAA,MAAkD;AAAA,EAChF,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA,EAAW,0BAAA;AAAA,EACX,IAAA,EAAMA,uBAAA;AAAA,EACN,KAAA,EAAO,EAAE,QAAA,EAAUC,2BAAA;AACrB,CAAA,CAAA;AASO,IAAM,iBAAiB,CAAC;AAAA,EAC7B,iBAAiB,EAAC;AAAA,EAClB,iBAAiB,EAAC;AAAA,EAClB,IAAA,GAAO,GAAA;AAAA,EACP;AACF,CAAA,KAAwB;AACtB,EAAA,MAAM,MAAA,GAAS,MAAA,KAAW,MAAA,GAAY,EAAC,GAAI,EAAE,CAAC,CAAA,EAAG,IAAI,CAAA,MAAA,CAAQ,GAAG,MAAA,EAAO;AACvE,EAAA,OAAO;AAAA,IACL,GAAG,cAAA,CAAe,GAAA,CAAI,CAAC,MAAM,CAAA,KAAM;AACjC,MAAA,MAAM,CAAC,GAAA,EAAK,IAAI,IAAI,CAAC,IAAA,CAAK,IAAI,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,EAAE,GAAG,IAAA,CAAK,GAAA,CAAI,KAAK,IAAA,EAAM,IAAA,CAAK,EAAE,CAAC,CAAA;AAC/E,MAAA,uBACEC,cAAA;AAAA,QAACC,sBAAA;AAAA,QAAA;AAAA,UAEE,GAAG,EAAE,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,CAAG,GAAG,GAAA,EAAK,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,CAAG,GAAG,IAAA,EAAK;AAAA,UAC3C,GAAG,MAAA;AAAA,UACJ,IAAA,EAAMC,+BAAA,CAAc,IAAA,CAAK,MAAA,IAAU,SAAS,CAAA;AAAA,UAC5C,WAAA,EAAa,IAAA;AAAA,UACb,UAAA,EAAW,cAAA;AAAA,UACX,MAAA,EAAQ,UAAA;AAAA,UACR,OAAO,IAAA,CAAK,KAAA,GAAQ,QAAQ,IAAA,CAAK,KAAA,EAAO,eAAe,CAAA,GAAI;AAAA,SAAA;AAAA,QAPtD,QAAQ,CAAC,CAAA;AAAA,OAQhB;AAAA,IAEJ,CAAC,CAAA;AAAA,IACD,GAAG,cAAA,CAAe,GAAA,CAAI,CAAC,MAAM,CAAA,qBAC3BF,cAAA;AAAA,MAACG,sBAAA;AAAA,MAAA;AAAA,QAEE,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,KAAA,EAAM;AAAA,QACxB,GAAG,MAAA;AAAA,QACJ,MAAA,EAAQD,+BAAA,CAAc,IAAA,CAAK,MAAA,IAAU,SAAS,CAAA;AAAA,QAC9C,WAAA,EAAa,GAAA;AAAA,QACb,eAAA,EAAiB,IAAA,CAAK,MAAA,GAAS,IAAA,GAAO,MAAA;AAAA,QACtC,UAAA,EAAW,cAAA;AAAA,QACX,OAAO,IAAA,CAAK,KAAA,GAAQ,QAAQ,IAAA,CAAK,KAAA,EAAO,gBAAgB,CAAA,GAAI;AAAA,OAAA;AAAA,MAPvD,QAAQ,CAAC,CAAA;AAAA,KASjB;AAAA,GACH;AACF","file":"chunk-Z4LZFMDH.cjs","sourcesContent":["import { ReferenceArea, ReferenceLine } from 'recharts';\nimport type { ChartReferenceProps } from '../types';\nimport { TEXT_SIZE } from './axes';\nimport { INTENT_COLORS, MUTED } from './colors';\n\ntype ReferenceOptions = ChartReferenceProps & {\n /** The axis the values are read on: `y` (default), or `x` on a chart of horizontal bars. */\n axis?: 'x' | 'y';\n /** The id of that axis, when the chart has several. */\n axisId?: string;\n};\n\nconst DASH = '6 4';\n// Behind the series (an area is at 100, a bar at 300) and above the grid.\nconst BAND_LAYER = 50;\n\n// Plain SVG text in the muted color: an amber or red label would not read on\n// the card in every theme, so the line and the band carry the intent.\nconst labelOf = (value: string, position: 'insideTopRight' | 'insideTopLeft') => ({\n value,\n position,\n className: 'recharts-reference-label',\n fill: MUTED,\n style: { fontSize: TEXT_SIZE },\n});\n\n/**\n * The `ReferenceArea`s then the `ReferenceLine`s of a chart's `referenceBands`\n * and `referenceLines`, to render inside it, before `children`. A mark outside\n * the data makes the axis reach it (`ifOverflow=\"extendDomain\"`) instead of\n * vanishing. Colors come from `INTENT_COLORS`, so a theme switch repaints\n * them; labels are text, not markup.\n */\nexport const referenceMarks = ({\n referenceLines = [],\n referenceBands = [],\n axis = 'y',\n axisId,\n}: ReferenceOptions) => {\n const onAxis = axisId === undefined ? {} : { [`${axis}AxisId`]: axisId };\n return [\n ...referenceBands.map((band, i) => {\n const [low, high] = [Math.min(band.from, band.to), Math.max(band.from, band.to)];\n return (\n <ReferenceArea\n key={`band-${i}`}\n {...{ [`${axis}1`]: low, [`${axis}2`]: high }}\n {...onAxis}\n fill={INTENT_COLORS[band.intent ?? 'neutral']}\n fillOpacity={0.14}\n ifOverflow=\"extendDomain\"\n zIndex={BAND_LAYER}\n label={band.label ? labelOf(band.label, 'insideTopLeft') : undefined}\n />\n );\n }),\n ...referenceLines.map((line, i) => (\n <ReferenceLine\n key={`line-${i}`}\n {...{ [axis]: line.value }}\n {...onAxis}\n stroke={INTENT_COLORS[line.intent ?? 'neutral']}\n strokeWidth={1.5}\n strokeDasharray={line.dashed ? DASH : undefined}\n ifOverflow=\"extendDomain\"\n label={line.label ? labelOf(line.label, 'insideTopRight') : undefined}\n />\n )),\n ];\n};\n"]}