@ledgerhq/lumen-ui-react-visualization 0.1.11 → 0.1.12

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 (78) hide show
  1. package/dist/index.js +13 -9
  2. package/dist/lib/Components/CartesianChart/CartesianChart.d.ts +1 -1
  3. package/dist/lib/Components/CartesianChart/CartesianChart.d.ts.map +1 -1
  4. package/dist/lib/Components/CartesianChart/CartesianChart.js +78 -79
  5. package/dist/lib/Components/CartesianChart/RevealClip/RevealClipDefs.d.ts +3 -0
  6. package/dist/lib/Components/CartesianChart/RevealClip/RevealClipDefs.d.ts.map +1 -0
  7. package/dist/lib/Components/CartesianChart/RevealClip/RevealClipDefs.js +41 -0
  8. package/dist/lib/Components/CartesianChart/RevealClip/context.d.ts +7 -0
  9. package/dist/lib/Components/CartesianChart/RevealClip/context.d.ts.map +1 -0
  10. package/dist/lib/Components/CartesianChart/RevealClip/context.js +6 -0
  11. package/dist/lib/Components/CartesianChart/RevealClip/index.d.ts +3 -0
  12. package/dist/lib/Components/CartesianChart/RevealClip/index.d.ts.map +1 -0
  13. package/dist/lib/Components/CartesianChart/RevealClip/types.d.ts +37 -0
  14. package/dist/lib/Components/CartesianChart/RevealClip/types.d.ts.map +1 -0
  15. package/dist/lib/Components/CartesianChart/RevealClip/utils.d.ts +17 -0
  16. package/dist/lib/Components/CartesianChart/RevealClip/utils.d.ts.map +1 -0
  17. package/dist/lib/Components/CartesianChart/RevealClip/utils.js +23 -0
  18. package/dist/lib/Components/CartesianChart/types.d.ts +6 -0
  19. package/dist/lib/Components/CartesianChart/types.d.ts.map +1 -1
  20. package/dist/lib/Components/CartesianChart/utils.js +8 -8
  21. package/dist/lib/Components/Line/Line.d.ts.map +1 -1
  22. package/dist/lib/Components/Line/Line.js +22 -21
  23. package/dist/lib/Components/LineChart/LineChart.d.ts +1 -1
  24. package/dist/lib/Components/LineChart/LineChart.d.ts.map +1 -1
  25. package/dist/lib/Components/LineChart/LineChart.js +36 -34
  26. package/dist/lib/Components/LineChart/types.d.ts +5 -0
  27. package/dist/lib/Components/LineChart/types.d.ts.map +1 -1
  28. package/dist/lib/Components/Point/Point.d.ts.map +1 -1
  29. package/dist/lib/Components/Point/Point.js +19 -17
  30. package/dist/lib/Components/ReferenceLine/ReferenceLine.d.ts +3 -0
  31. package/dist/lib/Components/ReferenceLine/ReferenceLine.d.ts.map +1 -0
  32. package/dist/lib/Components/ReferenceLine/ReferenceLine.js +122 -0
  33. package/dist/lib/Components/ReferenceLine/constants.d.ts +4 -0
  34. package/dist/lib/Components/ReferenceLine/constants.d.ts.map +1 -0
  35. package/dist/lib/Components/ReferenceLine/constants.js +7 -0
  36. package/dist/lib/Components/ReferenceLine/index.d.ts +3 -0
  37. package/dist/lib/Components/ReferenceLine/index.d.ts.map +1 -0
  38. package/dist/lib/Components/ReferenceLine/types.d.ts +74 -0
  39. package/dist/lib/Components/ReferenceLine/types.d.ts.map +1 -0
  40. package/dist/lib/Components/ReferenceLine/utils.d.ts +49 -0
  41. package/dist/lib/Components/ReferenceLine/utils.d.ts.map +1 -0
  42. package/dist/lib/Components/ReferenceLine/utils.js +65 -0
  43. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/ChartTooltipItem.d.ts +3 -0
  44. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/ChartTooltipItem.d.ts.map +1 -0
  45. package/dist/lib/Components/{ChartTooltip → Scrubber/DefaultScrubberTooltip}/ChartTooltipItem.js +13 -9
  46. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.d.ts +12 -0
  47. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.d.ts.map +1 -0
  48. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.js +85 -0
  49. package/dist/lib/Components/{ChartTooltip → Scrubber/DefaultScrubberTooltip}/constants.d.ts +2 -1
  50. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/constants.d.ts.map +1 -0
  51. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/constants.js +13 -0
  52. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/index.d.ts +3 -0
  53. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/index.d.ts.map +1 -0
  54. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/utils.d.ts +43 -0
  55. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/utils.d.ts.map +1 -0
  56. package/dist/lib/Components/Scrubber/DefaultScrubberTooltip/utils.js +59 -0
  57. package/dist/lib/Components/Scrubber/Scrubber.d.ts +14 -2
  58. package/dist/lib/Components/Scrubber/Scrubber.d.ts.map +1 -1
  59. package/dist/lib/Components/Scrubber/Scrubber.js +107 -81
  60. package/dist/lib/Components/Scrubber/index.d.ts +2 -1
  61. package/dist/lib/Components/Scrubber/index.d.ts.map +1 -1
  62. package/dist/lib/Components/Scrubber/types.d.ts +99 -1
  63. package/dist/lib/Components/Scrubber/types.d.ts.map +1 -1
  64. package/dist/lib/Components/index.d.ts +1 -1
  65. package/dist/lib/Components/index.d.ts.map +1 -1
  66. package/dist/package.json +3 -3
  67. package/package.json +2 -2
  68. package/dist/lib/Components/ChartTooltip/ChartTooltip.d.ts +0 -23
  69. package/dist/lib/Components/ChartTooltip/ChartTooltip.d.ts.map +0 -1
  70. package/dist/lib/Components/ChartTooltip/ChartTooltip.js +0 -81
  71. package/dist/lib/Components/ChartTooltip/ChartTooltipItem.d.ts +0 -3
  72. package/dist/lib/Components/ChartTooltip/ChartTooltipItem.d.ts.map +0 -1
  73. package/dist/lib/Components/ChartTooltip/constants.d.ts.map +0 -1
  74. package/dist/lib/Components/ChartTooltip/constants.js +0 -12
  75. package/dist/lib/Components/ChartTooltip/index.d.ts +0 -3
  76. package/dist/lib/Components/ChartTooltip/index.d.ts.map +0 -1
  77. package/dist/lib/Components/ChartTooltip/types.d.ts +0 -61
  78. package/dist/lib/Components/ChartTooltip/types.d.ts.map +0 -1
@@ -70,5 +70,10 @@ export type LineChartProps = {
70
70
  * Receives `undefined` when the scrubber leaves the chart.
71
71
  */
72
72
  onScrubberPositionChange?: (index: number | undefined) => void;
73
+ /**
74
+ * Whether to animate the chart on mount and data changes.
75
+ * @default true
76
+ */
77
+ animate?: boolean;
73
78
  };
74
79
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/LineChart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;IAC9C;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;IAC9C;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAChE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/LineChart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;IAC9C;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;IAC9C;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/D;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Point.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Point/Point.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU3D,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,UAAqB,EACrB,gBAAyB,EACzB,GAAG,KAAK,EACT,EAAE,QAAQ,CAAC,eAAe,CAAC,2CAe3B;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAc,EACd,aAAqB,EACrB,SAAiB,EACjB,cAAqB,EACrB,IAAmB,EACnB,OAAO,GACR,EAAE,QAAQ,CAAC,UAAU,CAAC,kDA0DtB"}
1
+ {"version":3,"file":"Point.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Point/Point.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU3D,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,UAAqB,EACrB,gBAAyB,EACzB,GAAG,KAAK,EACT,EAAE,QAAQ,CAAC,eAAe,CAAC,2CAe3B;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAc,EACd,aAAqB,EACrB,SAAiB,EACjB,cAAqB,EACrB,IAAmB,EACnB,OAAO,GACR,EAAE,QAAQ,CAAC,UAAU,CAAC,kDA4DtB"}
@@ -1,10 +1,11 @@
1
1
  import { jsxs as W, jsx as n } from "react/jsx-runtime";
2
2
  import { useMemo as j } from "react";
3
3
  import { projectPoint as k } from "../../utils/scales/scales.js";
4
- import { isWithinBounds as E, resolveLabel as P, STROKE_WIDTH as T, buildArrowPoints as z, computeLabelY as C, DEFAULT_SIZE as D } from "./utils.js";
5
- import { useCartesianChartContext as F } from "../CartesianChart/context/cartesianChartContext.js";
4
+ import { isWithinBounds as C, resolveLabel as E, STROKE_WIDTH as T, buildArrowPoints as z, computeLabelY as D, DEFAULT_SIZE as F } from "./utils.js";
5
+ import { useCartesianChartContext as I } from "../CartesianChart/context/cartesianChartContext.js";
6
+ import { useRevealClip as R } from "../CartesianChart/RevealClip/context.js";
6
7
  import { cssVar as o } from "../../../libs/design-core/dist/lib/cssVar/cssVar.js";
7
- function I({
8
+ function Y({
8
9
  style: e,
9
10
  textAnchor: r = "middle",
10
11
  dominantBaseline: i = "auto",
@@ -26,31 +27,32 @@ function I({
26
27
  }
27
28
  );
28
29
  }
29
- function O({
30
+ function V({
30
31
  dataX: e,
31
32
  dataY: r,
32
33
  color: i,
33
34
  label: s,
34
35
  LabelComponent: p,
35
- labelPosition: d = "top",
36
+ labelPosition: f = "top",
36
37
  hidePoint: y = !1,
37
38
  showLabelArrow: x = !0,
38
- size: b = D,
39
- onClick: f
39
+ size: b = F,
40
+ onClick: d
40
41
  }) {
41
- const { getXScale: v, getYScale: g, drawingArea: h } = F(), l = v(), a = g(), c = b / 2, L = i ?? o("var(--background-muted-strong)"), t = j(() => {
42
+ const { getXScale: v, getYScale: g, drawingArea: h } = I(), L = R(), l = v(), a = g(), c = b / 2, S = i ?? o("var(--background-muted-strong)"), t = j(() => {
42
43
  if (!(!l || !a))
43
44
  return k(e, r, l, a);
44
45
  }, [e, r, l, a]);
45
- if (!t || !E(t.x, t.y, h))
46
+ if (!t || !C(t.x, t.y, h))
46
47
  return null;
47
- const u = P(s, e), S = u != null, m = x && S, w = C(t.y, c, d, m), A = p ?? I;
48
+ const u = E(s, e), w = u != null, m = x && w, A = D(t.y, c, f, m), P = p ?? Y;
48
49
  return /* @__PURE__ */ W(
49
50
  "g",
50
51
  {
51
52
  "data-testid": "point-group",
52
- onClick: f,
53
- style: f ? { cursor: "pointer" } : void 0,
53
+ clipPath: L,
54
+ onClick: d,
55
+ style: d ? { cursor: "pointer" } : void 0,
54
56
  children: [
55
57
  !y && /* @__PURE__ */ n(
56
58
  "circle",
@@ -60,7 +62,7 @@ function O({
60
62
  cy: t.y,
61
63
  r: c,
62
64
  style: {
63
- fill: L,
65
+ fill: S,
64
66
  stroke: o("var(--background-canvas)")
65
67
  },
66
68
  strokeWidth: T
@@ -70,16 +72,16 @@ function O({
70
72
  "polygon",
71
73
  {
72
74
  "data-testid": "point-arrow",
73
- points: z(t.x, t.y, c, d),
75
+ points: z(t.x, t.y, c, f),
74
76
  style: { fill: o("var(--text-base)") }
75
77
  }
76
78
  ),
77
- u != null && /* @__PURE__ */ n(A, { x: t.x, y: w, children: u })
79
+ u != null && /* @__PURE__ */ n(P, { x: t.x, y: A, children: u })
78
80
  ]
79
81
  }
80
82
  );
81
83
  }
82
84
  export {
83
- O as Point,
84
- I as PointLabel
85
+ V as Point,
86
+ Y as PointLabel
85
87
  };
@@ -0,0 +1,3 @@
1
+ import { ReferenceLineProps } from './types';
2
+ export declare function ReferenceLine({ label, labelDx, labelDy, labelHorizontalAlignment, labelVerticalAlignment, labelPosition, stroke, lineStyle, ...props }: Readonly<ReferenceLineProps>): import("react/jsx-runtime").JSX.Element | null;
3
+ //# sourceMappingURL=ReferenceLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceLine.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/ReferenceLine/ReferenceLine.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAclD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAW,EACX,OAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,aAAqB,EACrB,MAAuB,EACvB,SAAoB,EACpB,GAAG,KAAK,EACT,EAAE,QAAQ,CAAC,kBAAkB,CAAC,kDA6G9B"}
@@ -0,0 +1,122 @@
1
+ import { jsxs as h, jsx as r } from "react/jsx-runtime";
2
+ import { DASH_ARRAY as L, STROKE_WIDTH as m, DEFAULT_STROKE as k } from "./constants.js";
3
+ import { resolvePixel as u, computeHorizontalLabelCoordinates as R, computeVerticalLabelCoordinates as Y } from "./utils.js";
4
+ import { useCartesianChartContext as z } from "../CartesianChart/context/cartesianChartContext.js";
5
+ import { cssVar as o } from "../../../libs/design-core/dist/lib/cssVar/cssVar.js";
6
+ const g = {
7
+ fill: o("var(--text-muted)"),
8
+ fontSize: o("var(--font-style-body-4-size)"),
9
+ fontWeight: o("var(--font-style-body-4-weight-medium)"),
10
+ fontFamily: o("var(--font-family-font)")
11
+ };
12
+ function D({
13
+ label: i,
14
+ labelDx: d = 0,
15
+ labelDy: l = 0,
16
+ labelHorizontalAlignment: s,
17
+ labelVerticalAlignment: x,
18
+ labelPosition: c = "end",
19
+ stroke: f = k,
20
+ lineStyle: A = "dashed",
21
+ ...a
22
+ }) {
23
+ const { getXScale: v, getYScale: C, getXAxisConfig: S, getYAxisConfig: p, drawingArea: t } = z(), y = A === "dashed" ? L : void 0;
24
+ if (a.dataY !== void 0) {
25
+ const n = u({
26
+ dataValue: a.dataY,
27
+ scale: C(),
28
+ axis: "y",
29
+ drawingArea: t,
30
+ axisConfig: p()
31
+ });
32
+ if (n === void 0) return null;
33
+ const e = i ? R({
34
+ pixel: n,
35
+ labelPosition: c,
36
+ drawingArea: t,
37
+ dx: d,
38
+ dy: l,
39
+ horizontalAlignment: s,
40
+ verticalAlignment: x
41
+ }) : null;
42
+ return /* @__PURE__ */ h("g", { "data-testid": "reference-line", children: [
43
+ /* @__PURE__ */ r(
44
+ "line",
45
+ {
46
+ "data-testid": "reference-line-line",
47
+ x1: t.x,
48
+ y1: n,
49
+ x2: t.x + t.width,
50
+ y2: n,
51
+ stroke: f,
52
+ strokeWidth: m,
53
+ strokeDasharray: y,
54
+ strokeLinecap: "round"
55
+ }
56
+ ),
57
+ e && /* @__PURE__ */ r(
58
+ "text",
59
+ {
60
+ "data-testid": "reference-line-label",
61
+ x: e.x,
62
+ y: e.y,
63
+ textAnchor: e.textAnchor,
64
+ dominantBaseline: e.dominantBaseline,
65
+ style: g,
66
+ children: i
67
+ }
68
+ )
69
+ ] });
70
+ }
71
+ if (a.dataX !== void 0) {
72
+ const n = u({
73
+ dataValue: a.dataX,
74
+ scale: v(),
75
+ axis: "x",
76
+ drawingArea: t,
77
+ axisConfig: S()
78
+ });
79
+ if (n === void 0) return null;
80
+ const e = i ? Y({
81
+ pixel: n,
82
+ labelPosition: c,
83
+ drawingArea: t,
84
+ dx: d,
85
+ dy: l,
86
+ horizontalAlignment: s,
87
+ verticalAlignment: x
88
+ }) : null;
89
+ return /* @__PURE__ */ h("g", { "data-testid": "reference-line", children: [
90
+ /* @__PURE__ */ r(
91
+ "line",
92
+ {
93
+ "data-testid": "reference-line-line",
94
+ x1: n,
95
+ y1: t.y,
96
+ x2: n,
97
+ y2: t.y + t.height,
98
+ stroke: f,
99
+ strokeWidth: m,
100
+ strokeDasharray: y,
101
+ strokeLinecap: "round"
102
+ }
103
+ ),
104
+ e && /* @__PURE__ */ r(
105
+ "text",
106
+ {
107
+ "data-testid": "reference-line-label",
108
+ x: e.x,
109
+ y: e.y,
110
+ textAnchor: e.textAnchor,
111
+ dominantBaseline: e.dominantBaseline,
112
+ style: g,
113
+ children: i
114
+ }
115
+ )
116
+ ] });
117
+ }
118
+ return null;
119
+ }
120
+ export {
121
+ D as ReferenceLine
122
+ };
@@ -0,0 +1,4 @@
1
+ export declare const STROKE_WIDTH = 2;
2
+ export declare const DASH_ARRAY = "0.1 6";
3
+ export declare const DEFAULT_STROKE: "var(--font-style-responsive-display-1-size)" | "var(--font-style-responsive-display-1-weight)" | "var(--font-style-responsive-display-1-line-height)" | "var(--font-style-responsive-display-1-letter-spacing)" | "var(--font-style-responsive-display-2-size)" | "var(--font-style-responsive-display-2-weight)" | "var(--font-style-responsive-display-2-line-height)" | "var(--font-style-responsive-display-2-letter-spacing)" | "var(--font-style-responsive-display-3-size)" | "var(--font-style-responsive-display-3-weight)" | "var(--font-style-responsive-display-3-line-height)" | "var(--font-style-responsive-display-3-letter-spacing)" | "var(--font-style-responsive-display-4-size)" | "var(--font-style-responsive-display-4-weight)" | "var(--font-style-responsive-display-4-line-height)" | "var(--font-style-responsive-display-4-letter-spacing)" | "var(--font-style-heading-0-size)" | "var(--font-style-heading-0-weight-semi-bold)" | "var(--font-style-heading-0-weight-medium)" | "var(--font-style-heading-0-line-height)" | "var(--font-style-heading-0-letter-spacing)" | "var(--font-style-heading-1-size)" | "var(--font-style-heading-1-weight-semi-bold)" | "var(--font-style-heading-1-weight-medium)" | "var(--font-style-heading-1-line-height)" | "var(--font-style-heading-1-letter-spacing)" | "var(--font-style-heading-2-size)" | "var(--font-style-heading-2-weight-semi-bold)" | "var(--font-style-heading-2-weight-medium)" | "var(--font-style-heading-2-line-height)" | "var(--font-style-heading-2-letter-spacing)" | "var(--font-style-heading-3-size)" | "var(--font-style-heading-3-size-2)" | "var(--font-style-heading-3-weight-semi-bold)" | "var(--font-style-heading-3-weight-medium)" | "var(--font-style-heading-3-line-height)" | "var(--font-style-heading-3-letter-spacing)" | "var(--font-style-heading-4-size)" | "var(--font-style-heading-4-weight-semi-bold)" | "var(--font-style-heading-4-weight-medium)" | "var(--font-style-heading-4-line-height)" | "var(--font-style-heading-4-letter-spacing)" | "var(--font-style-heading-5-size)" | "var(--font-style-heading-5-weight-semi-bold)" | "var(--font-style-heading-5-weight-medium)" | "var(--font-style-heading-5-line-height)" | "var(--font-style-heading-5-letter-spacing)" | "var(--font-style-body-1-size)" | "var(--font-style-body-1-weight-semi-bold)" | "var(--font-style-body-1-weight-medium)" | "var(--font-style-body-1-line-height)" | "var(--font-style-body-1-letter-spacing)" | "var(--font-style-body-2-size)" | "var(--font-style-body-2-weight-semi-bold)" | "var(--font-style-body-2-weight-medium)" | "var(--font-style-body-2-line-height)" | "var(--font-style-body-2-letter-spacing)" | "var(--font-style-body-3-size)" | "var(--font-style-body-3-weight-semi-bold)" | "var(--font-style-body-3-weight-medium)" | "var(--font-style-body-3-line-height)" | "var(--font-style-body-3-letter-spacing)" | "var(--font-style-body-4-size)" | "var(--font-style-body-4-weight-semi-bold)" | "var(--font-style-body-4-weight-medium)" | "var(--font-style-body-4-line-height)" | "var(--font-style-body-4-letter-spacing)" | "var(--spacing-0)" | "var(--spacing-1)" | "var(--spacing-2)" | "var(--spacing-4)" | "var(--spacing-6)" | "var(--spacing-8)" | "var(--spacing-10)" | "var(--spacing-12)" | "var(--spacing-14)" | "var(--spacing-16)" | "var(--spacing-20)" | "var(--spacing-24)" | "var(--spacing-32)" | "var(--spacing-40)" | "var(--spacing-48)" | "var(--spacing-56)" | "var(--spacing-64)" | "var(--spacing-80)" | "var(--spacing-96)" | "var(--spacing-112)" | "var(--spacing-128)" | "var(--spacing-144)" | "var(--spacing-160)" | "var(--spacing-256)" | "var(--icon-width-12)" | "var(--icon-width-16)" | "var(--icon-width-20)" | "var(--icon-width-24)" | "var(--icon-width-32)" | "var(--icon-width-40)" | "var(--icon-width-48)" | "var(--icon-width-56)" | "var(--icon-width-64)" | "var(--icon-height-12)" | "var(--icon-height-16)" | "var(--icon-height-20)" | "var(--icon-height-24)" | "var(--icon-height-32)" | "var(--icon-height-40)" | "var(--icon-height-48)" | "var(--icon-height-56)" | "var(--icon-height-64)" | "var(--spot-width-32)" | "var(--spot-width-40)" | "var(--spot-width-48)" | "var(--spot-width-56)" | "var(--spot-width-72)" | "var(--spot-height-32)" | "var(--spot-height-40)" | "var(--spot-height-48)" | "var(--spot-height-56)" | "var(--spot-height-72)" | "var(--icon-border-width-12)" | "var(--icon-border-width-16)" | "var(--icon-border-width-20)" | "var(--icon-border-width-24)" | "var(--icon-border-width-32)" | "var(--icon-border-width-40)" | "var(--icon-border-width-48)" | "var(--icon-border-width-56)" | "var(--icon-border-width-64)" | "var(--spinner-border-width-12)" | "var(--spinner-border-width-16)" | "var(--spinner-border-width-20)" | "var(--spinner-border-width-24)" | "var(--spinner-border-width-32)" | "var(--spinner-border-width-40)" | "var(--spinner-border-width-48)" | "var(--spinner-border-width-56)" | "var(--spinner-border-width-64)" | "var(--size-0)" | "var(--size-1)" | "var(--size-2)" | "var(--size-4)" | "var(--size-6)" | "var(--size-8)" | "var(--size-10)" | "var(--size-12)" | "var(--size-14)" | "var(--size-16)" | "var(--size-20)" | "var(--size-24)" | "var(--size-28)" | "var(--size-32)" | "var(--size-36)" | "var(--size-40)" | "var(--size-44)" | "var(--size-48)" | "var(--size-56)" | "var(--size-64)" | "var(--size-72)" | "var(--size-80)" | "var(--size-96)" | "var(--size-112)" | "var(--size-128)" | "var(--size-144)" | "var(--size-176)" | "var(--size-192)" | "var(--size-208)" | "var(--size-224)" | "var(--size-256)" | "var(--size-288)" | "var(--size-320)" | "var(--size-400)" | "var(--size-480)" | "var(--size-560)" | "var(--border-radius-none)" | "var(--border-radius-xxs)" | "var(--border-radius-xs)" | "var(--border-radius-sm)" | "var(--border-radius-md)" | "var(--border-radius-lg)" | "var(--border-radius-xl)" | "var(--border-radius-2xl)" | "var(--border-radius-full)" | "var(--font-family-font)" | "var(--stroke-1)" | "var(--stroke-2)" | "var(--stroke-4)" | "var(--stroke-05)" | "var(--font-weight-bold)" | "var(--font-weight-semi-bold)" | "var(--font-weight-medium)" | "var(--font-size-6)" | "var(--font-size-8)" | "var(--font-size-10)" | "var(--font-size-12)" | "var(--font-size-14)" | "var(--font-size-16)" | "var(--font-size-18)" | "var(--font-size-20)" | "var(--font-size-22)" | "var(--font-size-24)" | "var(--font-size-28)" | "var(--font-size-32)" | "var(--font-size-36)" | "var(--font-size-40)" | "var(--font-size-48)" | "var(--font-size-52)" | "var(--font-size-64)" | "var(--font-size-80)" | "var(--font-size-112)" | "var(--font-line-height-10)" | "var(--font-line-height-12)" | "var(--font-line-height-14)" | "var(--font-line-height-16)" | "var(--font-line-height-18)" | "var(--font-line-height-20)" | "var(--font-line-height-22)" | "var(--font-line-height-24)" | "var(--font-line-height-28)" | "var(--font-line-height-32)" | "var(--font-line-height-36)" | "var(--font-line-height-40)" | "var(--font-line-height-48)" | "var(--font-line-height-52)" | "var(--font-line-height-64)" | "var(--font-line-height-80)" | "var(--font-line-height-112)" | "var(--font-letter-spacing-10)" | "var(--font-letter-spacing-12)" | "var(--font-letter-spacing-14)" | "var(--font-letter-spacing-16)" | "var(--font-letter-spacing-18)" | "var(--font-letter-spacing-20)" | "var(--font-letter-spacing-22)" | "var(--font-letter-spacing-24)" | "var(--font-letter-spacing-28)" | "var(--font-letter-spacing-32)" | "var(--font-letter-spacing-36)" | "var(--font-letter-spacing-40)" | "var(--font-letter-spacing-48)" | "var(--font-letter-spacing-52)" | "var(--font-letter-spacing-64)" | "var(--font-letter-spacing-80)" | "var(--font-letter-spacing-112)" | "var(--backdrop-blur-sm)" | "var(--backdrop-blur-md)" | "var(--backdrop-blur-lg)" | "var(--backdrop-blur-xl)" | "var(--color-background-canvas)" | "var(--color-background-canvas-muted)" | "var(--color-background-canvas-sheet)" | "var(--color-background-canvas-sheet-transparent)" | "var(--color-background-canvas-overlay)" | "var(--color-background-canvas-overlay-subtle)" | "var(--color-background-canvas-overlay-chart)" | "var(--color-background-white)" | "var(--color-background-grey)" | "var(--color-background-black)" | "var(--color-background-surface)" | "var(--color-background-surface-hover)" | "var(--color-background-surface-pressed)" | "var(--color-background-surface-disabled)" | "var(--color-background-surface-transparent)" | "var(--color-background-surface-transparent-hover)" | "var(--color-background-surface-transparent-pressed)" | "var(--color-background-surface-transparent-disabled)" | "var(--color-background-base)" | "var(--color-background-base-hover)" | "var(--color-background-base-pressed)" | "var(--color-background-base-transparent)" | "var(--color-background-base-transparent-hover)" | "var(--color-background-base-transparent-pressed)" | "var(--color-background-disabled)" | "var(--color-background-disabled-strong)" | "var(--color-background-muted)" | "var(--color-background-muted-hover)" | "var(--color-background-muted-pressed)" | "var(--color-background-muted-transparent)" | "var(--color-background-muted-transparent-hover)" | "var(--color-background-muted-transparent-pressed)" | "var(--color-background-muted-transparent-disabled)" | "var(--color-background-muted-transparent-0)" | "var(--color-background-muted-strong)" | "var(--color-background-muted-strong-hover)" | "var(--color-background-muted-strong-pressed)" | "var(--color-background-accent-ledger-live)" | "var(--color-background-accent-ledger-live-hover)" | "var(--color-background-accent-ledger-live-pressed)" | "var(--color-background-accent-enterprise)" | "var(--color-background-accent-enterprise-hover)" | "var(--color-background-accent-enterprise-pressed)" | "var(--color-background-accent-websites)" | "var(--color-background-accent-websites-hover)" | "var(--color-background-accent-websites-pressed)" | "var(--color-background-interactive)" | "var(--color-background-interactive-hover)" | "var(--color-background-interactive-pressed)" | "var(--color-background-active-ledger-live)" | "var(--color-background-active-ledger-live-hover)" | "var(--color-background-active-ledger-live-pressed)" | "var(--color-background-active-enterprise)" | "var(--color-background-active-enterprise-hover)" | "var(--color-background-active-enterprise-pressed)" | "var(--color-background-active-websites)" | "var(--color-background-active-websites-hover)" | "var(--color-background-active-websites-pressed)" | "var(--color-background-active-subtle-ledger-live)" | "var(--color-background-active-subtle-ledger-live-hover)" | "var(--color-background-active-subtle-ledger-live-pressed)" | "var(--color-background-active-subtle-enterprise)" | "var(--color-background-active-subtle-enterprise-hover)" | "var(--color-background-active-subtle-enterprise-pressed)" | "var(--color-background-active-subtle-website)" | "var(--color-background-active-subtle-website-hover)" | "var(--color-background-active-subtle-website-pressed)" | "var(--color-background-error)" | "var(--color-background-error-hover)" | "var(--color-background-error-pressed)" | "var(--color-background-error-strong)" | "var(--color-background-error-transparent-0)" | "var(--color-background-warning)" | "var(--color-background-warning-strong)" | "var(--color-background-success)" | "var(--color-background-success-strong)" | "var(--color-background-success-transparent-0)" | "var(--color-background-native)" | "var(--color-background-gradient-100)" | "var(--color-background-gradient-80)" | "var(--color-background-gradient-70)" | "var(--color-background-gradient-40)" | "var(--color-background-gradient-30)" | "var(--color-background-gradient-0)" | "var(--color-background-gradient-overlay-80)" | "var(--color-background-gradient-overlay-0)" | "var(--color-text-black)" | "var(--color-text-white)" | "var(--color-text-white-hover)" | "var(--color-text-white-pressed)" | "var(--color-text-grey)" | "var(--color-text-base)" | "var(--color-text-base-hover)" | "var(--color-text-base-pressed)" | "var(--color-text-disabled)" | "var(--color-text-muted)" | "var(--color-text-muted-hover)" | "var(--color-text-muted-pressed)" | "var(--color-text-muted-subtle)" | "var(--color-text-active-ledger-live)" | "var(--color-text-active-enterprise)" | "var(--color-text-active-websites)" | "var(--color-text-interactive-ledger-live)" | "var(--color-text-interactive-ledger-live-hover)" | "var(--color-text-interactive-ledger-live-pressed)" | "var(--color-text-interactive-enterprise)" | "var(--color-text-interactive-enterprise-hover)" | "var(--color-text-interactive-enterprise-pressed)" | "var(--color-text-interactive-websites)" | "var(--color-text-interactive-websites-hover)" | "var(--color-text-interactive-websites-pressed)" | "var(--color-text-error)" | "var(--color-text-warning)" | "var(--color-text-success)" | "var(--color-text-on-accent-ledger-live)" | "var(--color-text-on-accent-enterprise)" | "var(--color-text-on-accent-websites)" | "var(--color-text-on-interactive)" | "var(--color-text-on-error-strong)" | "var(--color-text-on-warning-strong)" | "var(--color-text-on-success-strong)" | "var(--color-text-native)" | "var(--color-border-black)" | "var(--color-border-white)" | "var(--color-border-base)" | "var(--color-border-base-hover)" | "var(--color-border-base-pressed)" | "var(--color-border-base-inverted)" | "var(--color-border-disabled)" | "var(--color-border-muted)" | "var(--color-border-muted-hover)" | "var(--color-border-muted-pressed)" | "var(--color-border-muted-transparent-0)" | "var(--color-border-muted-subtle)" | "var(--color-border-muted-subtle-hover)" | "var(--color-border-muted-subtle-pressed)" | "var(--color-border-muted-subtle-transparent)" | "var(--color-border-active-ledger-live)" | "var(--color-border-active-ledger-live-hover)" | "var(--color-border-active-ledger-live-pressed)" | "var(--color-border-active-enterprise)" | "var(--color-border-active-enterprise-hover)" | "var(--color-border-active-enterprise-pressed)" | "var(--color-border-active-websites)" | "var(--color-border-active-websites-hover)" | "var(--color-border-active-websites-pressed)" | "var(--color-border-focus-ledger-live)" | "var(--color-border-focus-enterprise)" | "var(--color-border-focus-websites)" | "var(--color-border-error)" | "var(--color-border-error-hover)" | "var(--color-border-error-pressed)" | "var(--color-border-error-transparent)" | "var(--color-border-warning)" | "var(--color-border-success)" | "var(--color-border-success-transparent)" | "var(--color-border-icon)" | "var(--color-crypto-aion)" | "var(--color-crypto-aion-0)" | "var(--color-crypto-algorand)" | "var(--color-crypto-algorand-0)" | "var(--color-crypto-avax)" | "var(--color-crypto-avax-0)" | "var(--color-crypto-bat)" | "var(--color-crypto-bat-0)" | "var(--color-crypto-bgb)" | "var(--color-crypto-bgb-0)" | "var(--color-crypto-bitcoin)" | "var(--color-crypto-bitcoin-0)" | "var(--color-crypto-bitcoin-cash)" | "var(--color-crypto-bitcoin-cash-0)" | "var(--color-crypto-bitcoin-gold)" | "var(--color-crypto-bitcoin-gold-0)" | "var(--color-crypto-bitcoin-sv)" | "var(--color-crypto-bitcoin-sv-0)" | "var(--color-crypto-binance)" | "var(--color-crypto-binance-0)" | "var(--color-crypto-bytecoin)" | "var(--color-crypto-bytecoin-0)" | "var(--color-crypto-cardano)" | "var(--color-crypto-cardano-0)" | "var(--color-crypto-cosmos)" | "var(--color-crypto-cosmos-0)" | "var(--color-crypto-compound)" | "var(--color-crypto-compound-0)" | "var(--color-crypto-celo)" | "var(--color-crypto-celo-0)" | "var(--color-crypto-celo-2)" | "var(--color-crypto-celo-2-0)" | "var(--color-crypto-chainlink)" | "var(--color-crypto-chainlink-0)" | "var(--color-crypto-cro)" | "var(--color-crypto-cro-0)" | "var(--color-crypto-dash)" | "var(--color-crypto-dash-0)" | "var(--color-crypto-dai)" | "var(--color-crypto-dai-0)" | "var(--color-crypto-decred)" | "var(--color-crypto-decred-0)" | "var(--color-crypto-digibyte)" | "var(--color-crypto-digibyte-0)" | "var(--color-crypto-dogecoin)" | "var(--color-crypto-dogecoin-0)" | "var(--color-crypto-dydx)" | "var(--color-crypto-dydx-0)" | "var(--color-crypto-dym)" | "var(--color-crypto-dym-0)" | "var(--color-crypto-elrond)" | "var(--color-crypto-elrond-0)" | "var(--color-crypto-eng)" | "var(--color-crypto-eng-0)" | "var(--color-crypto-eos)" | "var(--color-crypto-eos-0)" | "var(--color-crypto-ethergem)" | "var(--color-crypto-ethergem-0)" | "var(--color-crypto-ethereum)" | "var(--color-crypto-ethereum-0)" | "var(--color-crypto-ethereum-classic)" | "var(--color-crypto-ethereum-classic-0)" | "var(--color-crypto-flr)" | "var(--color-crypto-flr-0)" | "var(--color-crypto-ftm)" | "var(--color-crypto-ftm-0)" | "var(--color-crypto-hedera)" | "var(--color-crypto-hedera-0)" | "var(--color-crypto-hnt)" | "var(--color-crypto-hnt-0)" | "var(--color-crypto-huobi)" | "var(--color-crypto-huobi-0)" | "var(--color-crypto-iota)" | "var(--color-crypto-iota-0)" | "var(--color-crypto-komodo)" | "var(--color-crypto-komodo-0)" | "var(--color-crypto-leo)" | "var(--color-crypto-leo-0)" | "var(--color-crypto-litecoin)" | "var(--color-crypto-litecoin-0)" | "var(--color-crypto-monero)" | "var(--color-crypto-monero-0)" | "var(--color-crypto-multiverse-x)" | "var(--color-crypto-multiverse-x-0)" | "var(--color-crypto-nano)" | "var(--color-crypto-nano-0)" | "var(--color-crypto-near)" | "var(--color-crypto-near-0)" | "var(--color-crypto-neo)" | "var(--color-crypto-neo-0)" | "var(--color-crypto-nimiq)" | "var(--color-crypto-nimiq-0)" | "var(--color-crypto-omg-network)" | "var(--color-crypto-omg-network-0)" | "var(--color-crypto-okb)" | "var(--color-crypto-okb-0)" | "var(--color-crypto-osmo)" | "var(--color-crypto-osmo-0)" | "var(--color-crypto-peercoin)" | "var(--color-crypto-peercoin-0)" | "var(--color-crypto-pirl)" | "var(--color-crypto-pirl-0)" | "var(--color-crypto-pivx)" | "var(--color-crypto-pivx-0)" | "var(--color-crypto-polkadot)" | "var(--color-crypto-polkadot-0)" | "var(--color-crypto-polygon)" | "var(--color-crypto-polygon-0)" | "var(--color-crypto-qnt)" | "var(--color-crypto-qnt-0)" | "var(--color-crypto-sats)" | "var(--color-crypto-sats-0)" | "var(--color-crypto-stellar)" | "var(--color-crypto-stellar-0)" | "var(--color-crypto-sol)" | "var(--color-crypto-sol-0)" | "var(--color-crypto-tether-usdt)" | "var(--color-crypto-tether-usdt-0)" | "var(--color-crypto-tezos)" | "var(--color-crypto-tezos-0)" | "var(--color-crypto-tkx)" | "var(--color-crypto-tkx-0)" | "var(--color-crypto-tron)" | "var(--color-crypto-tron-0)" | "var(--color-crypto-uniswap)" | "var(--color-crypto-uniswap-0)" | "var(--color-crypto-tusd)" | "var(--color-crypto-tusd-0)" | "var(--color-crypto-usdc)" | "var(--color-crypto-usdc-0)" | "var(--color-crypto-uni)" | "var(--color-crypto-uni-0)" | "var(--color-crypto-waves)" | "var(--color-crypto-waves-0)" | "var(--color-crypto-xrp)" | "var(--color-crypto-xrp-0)" | "var(--color-crypto-xin)" | "var(--color-crypto-xin-0)" | "var(--color-crypto-yieldly)" | "var(--color-crypto-yieldly-0)" | "var(--color-crypto-zcash)" | "var(--color-crypto-zcash-0)" | "var(--color-discover-1inch)" | "var(--color-discover-changelly)" | "var(--color-discover-compound)" | "var(--color-discover-deversifi)" | "var(--color-discover-lido)" | "var(--color-discover-opensea)" | "var(--color-discover-paraswap)" | "var(--color-discover-rarible)" | "var(--color-discover-zerion)" | "var(--color-discover-bitrefill)" | "var(--color-discover-loopipay-blue)" | "var(--color-discover-loopipay-black)" | "var(--color-discover-loopipay-lime)" | "var(--color-discover-simplex)" | "var(--color-discover-baanx)" | "var(--color-discover-mercuryo)" | "var(--color-discover-juno)" | "var(--color-discover-sardine)" | "var(--background-canvas)" | "var(--background-canvas-muted)" | "var(--background-canvas-sheet)" | "var(--background-canvas-sheet-transparent)" | "var(--background-canvas-overlay)" | "var(--background-canvas-overlay-subtle)" | "var(--background-canvas-overlay-chart)" | "var(--background-white)" | "var(--background-grey)" | "var(--background-black)" | "var(--background-surface)" | "var(--background-surface-hover)" | "var(--background-surface-pressed)" | "var(--background-surface-disabled)" | "var(--background-surface-transparent)" | "var(--background-surface-transparent-hover)" | "var(--background-surface-transparent-pressed)" | "var(--background-surface-transparent-disabled)" | "var(--background-base)" | "var(--background-base-hover)" | "var(--background-base-pressed)" | "var(--background-base-transparent)" | "var(--background-base-transparent-hover)" | "var(--background-base-transparent-pressed)" | "var(--background-disabled)" | "var(--background-disabled-strong)" | "var(--background-muted)" | "var(--background-muted-hover)" | "var(--background-muted-pressed)" | "var(--background-muted-transparent-0)" | "var(--background-muted-transparent)" | "var(--background-muted-transparent-hover)" | "var(--background-muted-transparent-pressed)" | "var(--background-muted-transparent-disabled)" | "var(--background-muted-strong)" | "var(--background-muted-strong-hover)" | "var(--background-muted-strong-pressed)" | "var(--background-accent)" | "var(--background-accent-hover)" | "var(--background-accent-pressed)" | "var(--background-interactive)" | "var(--background-interactive-hover)" | "var(--background-interactive-pressed)" | "var(--background-error)" | "var(--background-error-hover)" | "var(--background-error-pressed)" | "var(--background-error-strong)" | "var(--background-error-transparent-0)" | "var(--background-warning)" | "var(--background-warning-strong)" | "var(--background-success)" | "var(--background-success-strong)" | "var(--background-success-transparent-0)" | "var(--background-active)" | "var(--background-active-hover)" | "var(--background-active-pressed)" | "var(--background-active-subtle)" | "var(--background-active-subtle-hover)" | "var(--background-active-subtle-pressed)" | "var(--background-native)" | "var(--background-gradient-100)" | "var(--background-gradient-80)" | "var(--background-gradient-70)" | "var(--background-gradient-40)" | "var(--background-gradient-30)" | "var(--background-gradient-0)" | "var(--background-gradient-overlay-80)" | "var(--background-gradient-overlay-0)" | "var(--text-black)" | "var(--text-white)" | "var(--text-white-hover)" | "var(--text-white-pressed)" | "var(--text-grey)" | "var(--text-base)" | "var(--text-base-hover)" | "var(--text-base-pressed)" | "var(--text-disabled)" | "var(--text-muted)" | "var(--text-muted-hover)" | "var(--text-muted-pressed)" | "var(--text-muted-subtle)" | "var(--text-active)" | "var(--text-interactive)" | "var(--text-interactive-hover)" | "var(--text-interactive-pressed)" | "var(--text-error)" | "var(--text-warning)" | "var(--text-success)" | "var(--text-on-accent)" | "var(--text-on-interactive)" | "var(--text-on-error-strong)" | "var(--text-on-warning-strong)" | "var(--text-on-success-strong)" | "var(--text-native)" | "var(--border-black)" | "var(--border-white)" | "var(--border-disabled)" | "var(--border-base)" | "var(--border-base-hover)" | "var(--border-base-pressed)" | "var(--border-base-inverted)" | "var(--border-muted)" | "var(--border-muted-hover)" | "var(--border-muted-pressed)" | "var(--border-muted-transparent-0)" | "var(--border-muted-subtle)" | "var(--border-muted-subtle-hover)" | "var(--border-muted-subtle-pressed)" | "var(--border-muted-subtle-transparent)" | "var(--border-error)" | "var(--border-error-hover)" | "var(--border-error-pressed)" | "var(--border-error-transparent)" | "var(--border-warning)" | "var(--border-success)" | "var(--border-success-transparent)" | "var(--border-active)" | "var(--border-active-hover)" | "var(--border-active-pressed)" | "var(--border-focus)" | "var(--border-icon)" | "var(--border-width)" | "var(--border-width-active)" | "var(--border-width-focus)" | "var(--border-width-stepper)";
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/ReferenceLine/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,cAAc,wsuBAAgC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { cssVar as o } from "../../../libs/design-core/dist/lib/cssVar/cssVar.js";
2
+ const t = 2, s = "0.1 6", c = o("var(--border-muted)");
3
+ export {
4
+ s as DASH_ARRAY,
5
+ c as DEFAULT_STROKE,
6
+ t as STROKE_WIDTH
7
+ };
@@ -0,0 +1,3 @@
1
+ export * from './ReferenceLine';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/ReferenceLine/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,74 @@
1
+ export type LabelAlignment = 'start' | 'center' | 'end';
2
+ export type LabelPosition = 'start' | 'center' | 'end';
3
+ export type ReferenceLineBaseProps = {
4
+ /**
5
+ * Label text displayed near the reference line.
6
+ */
7
+ label?: string;
8
+ /**
9
+ * Horizontal pixel offset applied to the label position.
10
+ * @default 0
11
+ */
12
+ labelDx?: number;
13
+ /**
14
+ * Vertical pixel offset applied to the label position.
15
+ * @default 0
16
+ */
17
+ labelDy?: number;
18
+ /**
19
+ * Position of the label along the line.
20
+ * @default 'end'
21
+ */
22
+ labelPosition?: LabelPosition;
23
+ /**
24
+ * Controls the direction the label text extends from its position.
25
+ * - `'start'`: text extends toward the start of the axis (left)
26
+ * - `'center'`: text is centered on the position
27
+ * - `'end'`: text extends toward the end of the axis (right)
28
+ *
29
+ * Defaults: `'center'` for vertical lines, inferred from `labelPosition` for horizontal lines.
30
+ */
31
+ labelHorizontalAlignment?: LabelAlignment;
32
+ /**
33
+ * Controls the direction the label text extends from its position.
34
+ * - `'start'`: text extends toward the start of the axis (up)
35
+ * - `'center'`: text is vertically centered on the position
36
+ * - `'end'`: text extends toward the end of the axis (down)
37
+ *
38
+ * Defaults: `'end'` for horizontal lines, inferred from `labelPosition` for vertical lines.
39
+ */
40
+ labelVerticalAlignment?: LabelAlignment;
41
+ /**
42
+ * Line color.
43
+ * @default cssVar('var(--border-muted)')
44
+ */
45
+ stroke?: string;
46
+ /**
47
+ * Line dash style.
48
+ * - `'dashed'`: rounded dots with `strokeDasharray="0.1 6"`
49
+ * - `'solid'`: continuous line
50
+ * @default 'dashed'
51
+ */
52
+ lineStyle?: 'solid' | 'dashed';
53
+ };
54
+ export type HorizontalReferenceLineProps = ReferenceLineBaseProps & {
55
+ /**
56
+ * Y-axis value in data space where the horizontal line is drawn.
57
+ * The horizontal line is rendered at this Y position spanning the full
58
+ * width of the drawing area.
59
+ */
60
+ dataY: number;
61
+ dataX?: never;
62
+ };
63
+ export type VerticalReferenceLineProps = ReferenceLineBaseProps & {
64
+ /**
65
+ * Data index along the X axis. When `xAxis.data` contains numeric values,
66
+ * the index is mapped to the corresponding axis value automatically.
67
+ * The vertical line is drawn at this position spanning the full height
68
+ * of the drawing area.
69
+ */
70
+ dataX: number;
71
+ dataY?: never;
72
+ };
73
+ export type ReferenceLineProps = HorizontalReferenceLineProps | VerticalReferenceLineProps;
74
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/ReferenceLine/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,cAAc,CAAC;IAC1C;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,cAAc,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,GAAG;IAClE;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,GAAG;IAChE;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,4BAA4B,GAC5B,0BAA0B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { AxisConfigProps, ChartScaleFunction, DrawingArea } from '../../utils/types';
2
+ import { LabelAlignment, LabelPosition } from './types';
3
+ type LabelCoordinates = {
4
+ x: number;
5
+ y: number;
6
+ textAnchor: 'start' | 'middle' | 'end';
7
+ dominantBaseline: 'hanging' | 'central' | 'auto';
8
+ };
9
+ type ResolvePixelParams = {
10
+ dataValue: number;
11
+ scale: ChartScaleFunction | undefined;
12
+ axis: 'x' | 'y';
13
+ drawingArea: DrawingArea;
14
+ axisConfig?: AxisConfigProps;
15
+ };
16
+ type LabelParams = {
17
+ pixel: number;
18
+ labelPosition: LabelPosition;
19
+ drawingArea: DrawingArea;
20
+ dx?: number;
21
+ dy?: number;
22
+ horizontalAlignment?: LabelAlignment;
23
+ verticalAlignment?: LabelAlignment;
24
+ };
25
+ /**
26
+ * Checks whether a pixel coordinate falls within the drawing area
27
+ * along a single axis.
28
+ */
29
+ export declare const isPixelWithinDrawingArea: (pixel: number, axis: "x" | "y", drawingArea: DrawingArea) => boolean;
30
+ /**
31
+ * Resolves a data-space value to a validated pixel coordinate.
32
+ * When `axisConfig` is provided, the data value is first translated
33
+ * through the axis data array before being projected onto the scale.
34
+ * Returns `undefined` if the value is out of bounds, the scale is missing,
35
+ * the result is not finite, or the pixel falls outside the drawing area.
36
+ */
37
+ export declare const resolvePixel: ({ dataValue, scale, axis, drawingArea, axisConfig, }: ResolvePixelParams) => number | undefined;
38
+ /**
39
+ * Computes the label pixel coordinates and text alignment attributes
40
+ * for a horizontal reference line.
41
+ */
42
+ export declare const computeHorizontalLabelCoordinates: ({ pixel, labelPosition, drawingArea, dx, dy, horizontalAlignment, verticalAlignment, }: LabelParams) => LabelCoordinates;
43
+ /**
44
+ * Computes the label pixel coordinates and text alignment attributes
45
+ * for a vertical reference line.
46
+ */
47
+ export declare const computeVerticalLabelCoordinates: ({ pixel, labelPosition, drawingArea, dx, dy, horizontalAlignment, verticalAlignment, }: LabelParams) => LabelCoordinates;
48
+ export {};
49
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/ReferenceLine/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7D,KAAK,gBAAgB,GAAG;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,gBAAgB,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CAClD,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,iBAAiB,CAAC,EAAE,cAAc,CAAC;CACpC,CAAC;AAuBF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,EACb,MAAM,GAAG,GAAG,GAAG,EACf,aAAa,WAAW,KACvB,OAKF,CAAC;AAqBF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,sDAM1B,kBAAkB,KAAG,MAAM,GAAG,SAehC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iCAAiC,GAAI,wFAQ/C,WAAW,KAAG,gBAKf,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAAI,wFAQ7C,WAAW,KAAG,gBAKf,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { isCategoricalScale as d, getPointOnScale as h } from "../../utils/scales/scales.js";
2
+ const l = "center", m = "end", c = {
3
+ start: "end",
4
+ center: "middle",
5
+ end: "start"
6
+ }, a = {
7
+ start: "auto",
8
+ center: "central",
9
+ end: "hanging"
10
+ }, u = {
11
+ start: 0,
12
+ center: 0.5,
13
+ end: 1
14
+ }, v = (n, e, t) => e === "x" ? n >= t.x && n <= t.x + t.width : n >= t.y && n <= t.y + t.height, f = (n, e) => {
15
+ const t = e?.data;
16
+ if (!t || t.length === 0) return n;
17
+ if (n < 0 || n >= t.length) return;
18
+ const o = t[n];
19
+ return typeof o == "number" ? o : n;
20
+ }, x = ({
21
+ dataValue: n,
22
+ scale: e,
23
+ axis: t,
24
+ drawingArea: o,
25
+ axisConfig: s
26
+ }) => {
27
+ const r = f(n, s);
28
+ if (r === void 0 || !e || d(e) && e(r) === void 0)
29
+ return;
30
+ const i = h(r, e);
31
+ if (!(!Number.isFinite(i) || !v(i, t, o)))
32
+ return i;
33
+ }, y = ({
34
+ pixel: n,
35
+ labelPosition: e,
36
+ drawingArea: t,
37
+ dx: o = 0,
38
+ dy: s = 0,
39
+ horizontalAlignment: r,
40
+ verticalAlignment: i
41
+ }) => ({
42
+ x: t.x + t.width * u[e] + o,
43
+ y: n + s,
44
+ textAnchor: c[r ?? e],
45
+ dominantBaseline: a[i ?? m]
46
+ }), L = ({
47
+ pixel: n,
48
+ labelPosition: e,
49
+ drawingArea: t,
50
+ dx: o = 0,
51
+ dy: s = 0,
52
+ horizontalAlignment: r,
53
+ verticalAlignment: i
54
+ }) => ({
55
+ x: n + o,
56
+ y: t.y + t.height * u[e] + s,
57
+ textAnchor: c[r ?? l],
58
+ dominantBaseline: a[i ?? e]
59
+ });
60
+ export {
61
+ y as computeHorizontalLabelCoordinates,
62
+ L as computeVerticalLabelCoordinates,
63
+ v as isPixelWithinDrawingArea,
64
+ x as resolvePixel
65
+ };
@@ -0,0 +1,3 @@
1
+ import { ChartTooltipItemProps } from '../types';
2
+ export declare function ChartTooltipItem({ label, value, x, y, width, labelRef, valueRef, }: Readonly<ChartTooltipItemProps>): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=ChartTooltipItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartTooltipItem.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Scrubber/DefaultScrubberTooltip/ChartTooltipItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGtD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,CAAK,EACL,CAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,QAAQ,CAAC,qBAAqB,CAAC,2CAiCjC"}
@@ -1,17 +1,20 @@
1
- import { jsxs as a, jsx as i } from "react/jsx-runtime";
1
+ import { jsxs as d, jsx as i } from "react/jsx-runtime";
2
2
  import { PADDING_X as n } from "./constants.js";
3
- import { cssVar as t } from "../../../libs/design-core/dist/lib/cssVar/cssVar.js";
4
- function y({
3
+ import { cssVar as t } from "../../../../libs/design-core/dist/lib/cssVar/cssVar.js";
4
+ function h({
5
5
  label: r,
6
- value: l,
6
+ value: f,
7
7
  x: e = 0,
8
8
  y: o = 0,
9
- width: f
9
+ width: l,
10
+ labelRef: a,
11
+ valueRef: m
10
12
  }) {
11
- return /* @__PURE__ */ a("g", { children: [
13
+ return /* @__PURE__ */ d("g", { children: [
12
14
  /* @__PURE__ */ i(
13
15
  "text",
14
16
  {
17
+ ref: a,
15
18
  x: e + n,
16
19
  y: o,
17
20
  dominantBaseline: "middle",
@@ -26,7 +29,8 @@ function y({
26
29
  /* @__PURE__ */ i(
27
30
  "text",
28
31
  {
29
- x: e + f - n,
32
+ ref: m,
33
+ x: e + l - n,
30
34
  y: o,
31
35
  dominantBaseline: "middle",
32
36
  textAnchor: "end",
@@ -36,11 +40,11 @@ function y({
36
40
  fill: t("var(--text-base)"),
37
41
  fontWeight: t("var(--font-style-body-4-weight-medium)")
38
42
  },
39
- children: l
43
+ children: f
40
44
  }
41
45
  )
42
46
  ] });
43
47
  }
44
48
  export {
45
- y as ChartTooltipItem
49
+ h as ChartTooltipItem
46
50
  };
@@ -0,0 +1,12 @@
1
+ import { ScrubberTooltipProps } from '../types';
2
+ /**
3
+ * Default structured tooltip anchored to the scrubber line.
4
+ *
5
+ * The tooltip auto-fits its width to the rendered content via `getBBox`,
6
+ * with `minWidth` acting as an optional minimum width override. Use with
7
+ * {@link ScrubberProps.tooltip}; layout options (`offset`, `minWidth`) belong
8
+ * on the object returned from the `tooltip` callback. Return `{ items: [] }`
9
+ * from the callback to hide the tooltip at a given index.
10
+ */
11
+ export declare function DefaultScrubberTooltip({ pixelX, drawingArea, title, items, offset, minWidth, }: Readonly<ScrubberTooltipProps>): import("react/jsx-runtime").JSX.Element | null;
12
+ //# sourceMappingURL=DefaultScrubberTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultScrubberTooltip.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AA2BrD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,WAAW,EACX,KAAK,EACL,KAAK,EACL,MAAuB,EACvB,QAAoC,GACrC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,kDAkEhC"}