uplot-plus 0.5.10 → 0.5.14
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.
- package/dist/components/Chart.d.ts.map +1 -1
- package/dist/components/FloatingLegend.d.ts +1 -0
- package/dist/components/FloatingLegend.d.ts.map +1 -1
- package/dist/components/HoverLabel.d.ts.map +1 -1
- package/dist/components/Legend.d.ts.map +1 -1
- package/dist/components/Tooltip.d.ts +6 -3
- package/dist/components/Tooltip.d.ts.map +1 -1
- package/dist/components/ZoomRanger.d.ts +23 -0
- package/dist/components/ZoomRanger.d.ts.map +1 -1
- package/dist/components/overlay/SeriesPanel.d.ts +9 -0
- package/dist/components/overlay/SeriesPanel.d.ts.map +1 -1
- package/dist/hooks/useChartStore.d.ts +2 -0
- package/dist/hooks/useChartStore.d.ts.map +1 -1
- package/dist/hooks/useDraggableOverlay.d.ts +89 -0
- package/dist/hooks/useDraggableOverlay.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +2200 -2015
- package/dist/rendering/drawAxes.d.ts +2 -1
- package/dist/rendering/drawAxes.d.ts.map +1 -1
- package/dist/rendering/drawCursor.d.ts +2 -1
- package/dist/rendering/drawCursor.d.ts.map +1 -1
- package/dist/rendering/drawSelect.d.ts +2 -1
- package/dist/rendering/drawSelect.d.ts.map +1 -1
- package/dist/rendering/theme.d.ts +13 -0
- package/dist/rendering/theme.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/series.d.ts +5 -0
- package/dist/types/series.d.ts.map +1 -1
- package/dist/types/tooltip.d.ts +9 -0
- package/dist/types/tooltip.d.ts.map +1 -1
- package/dist/utils/estimatePanelSize.d.ts +12 -0
- package/dist/utils/estimatePanelSize.d.ts.map +1 -0
- package/dist/utils/textMeasure.d.ts +2 -0
- package/dist/utils/textMeasure.d.ts.map +1 -0
- package/package.json +13 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/components/Chart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3C;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EACzF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAC/D,aAAa,EAAE,QAAQ,GACxB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/components/Chart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3C;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EACzF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAC/D,aAAa,EAAE,QAAQ,GACxB,EAAE,UAAU,2CA+KZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingLegend.d.ts","sourceRoot":"","sources":["../../src/components/FloatingLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FloatingLegend.d.ts","sourceRoot":"","sources":["../../src/components/FloatingLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAChG,sEAAsE;IACtE,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAkB,EAClB,QAAsB,EACtB,MAAuB,EACvB,WAAiB,EACjB,IAAW,EACX,SAAS,GACV,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA2DjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverLabel.d.ts","sourceRoot":"","sources":["../../src/components/HoverLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HoverLabel.d.ts","sourceRoot":"","sources":["../../src/components/HoverLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AASlG,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAY,EACZ,IAAW,EACX,SAAS,GACV,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA8D7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../src/components/Legend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../src/components/Legend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,UAAU,WAAY,SAAQ,YAAY;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8DD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,IAAW,EAAE,QAAmB,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAwC9G"}
|
|
@@ -2,8 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import type { TooltipProps } from '../types/tooltip';
|
|
3
3
|
/**
|
|
4
4
|
* Tooltip component that shows data values at the cursor position.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* Two modes:
|
|
7
|
+
* - `"cursor"` (default): follows the cursor. Hidden when cursor leaves.
|
|
8
|
+
* - `"draggable"`: fixed position, drag to move. Values update with cursor;
|
|
9
|
+
* shows dashes when cursor is off the plot.
|
|
7
10
|
*/
|
|
8
|
-
export declare function Tooltip({ show, className, children, offset, precision, }: TooltipProps): React.ReactElement | null;
|
|
11
|
+
export declare function Tooltip({ show, className, children, offset: offsetProp, precision, mode, position, idleOpacity, }: TooltipProps): React.ReactElement | null;
|
|
9
12
|
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,kBAAkB,CAAC;AAU/E;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAW,EACX,SAAS,EACT,QAAQ,EACR,MAAM,EAAE,UAA2B,EACnC,SAAa,EACb,IAAe,EACf,QAAsB,EACtB,WAAiB,GAClB,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAqI1C"}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DataInput } from '../types';
|
|
3
|
+
/** Grip hit-target width in CSS pixels */
|
|
4
|
+
export declare const GRIP_THRESHOLD_PX = 8;
|
|
5
|
+
/** Minimum selection width as a fraction of the full range */
|
|
6
|
+
export declare const MIN_SELECTION_FRAC = 0.01;
|
|
7
|
+
/** Default initial selection range when no initialRange prop is provided */
|
|
8
|
+
export declare const DEFAULT_SELECTION: [number, number];
|
|
9
|
+
/**
|
|
10
|
+
* Convert an absolute data range [min, max] to selection fractions [0..1].
|
|
11
|
+
* Returns DEFAULT_SELECTION when the data range is empty or invalid.
|
|
12
|
+
*/
|
|
13
|
+
export declare function rangeToFrac(initialRange: [number, number] | undefined, xMin: number, xMax: number): [number, number];
|
|
14
|
+
/**
|
|
15
|
+
* Convert selection fractions back to absolute data values.
|
|
16
|
+
*/
|
|
17
|
+
export declare function fracToRange(selFrac: [number, number], xMin: number, xMax: number): [number, number];
|
|
18
|
+
/**
|
|
19
|
+
* Determine drag mode based on click position relative to selection edges.
|
|
20
|
+
*/
|
|
21
|
+
export declare function detectDragMode(frac: number, selFrac: [number, number], edgeThreshold: number): 'left' | 'right' | 'move' | 'outside';
|
|
22
|
+
/**
|
|
23
|
+
* Compute new selection fractions after a drag delta.
|
|
24
|
+
*/
|
|
25
|
+
export declare function applyDrag(mode: 'move' | 'left' | 'right', startFrac: [number, number], delta: number): [number, number];
|
|
3
26
|
export interface ZoomRangerProps {
|
|
4
27
|
/** Chart width in CSS pixels */
|
|
5
28
|
width: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoomRanger.d.ts","sourceRoot":"","sources":["../../src/components/ZoomRanger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ZoomRanger.d.ts","sourceRoot":"","sources":["../../src/components/ZoomRanger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAO1C,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAgB,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACzB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAKvC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,EAAE,MAAM,GACZ,CAAC,MAAM,EAAE,MAAM,CAAC,CAalB;AAED,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,IAAI,EAAE,SAAS,CAAC;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,wDAAwD;IACxD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,MAAM,EACN,KAAa,GACd,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAmMtC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
export declare const PANEL_BORDER = 1;
|
|
3
|
+
export declare const PANEL_PAD_X = 6;
|
|
4
|
+
export declare const PANEL_PAD_Y = 4;
|
|
5
|
+
export declare const ROW_PAD_X = 4;
|
|
6
|
+
export declare const ROW_SWATCH_W = 12;
|
|
7
|
+
export declare const ROW_GAP = 4;
|
|
8
|
+
export declare const PANEL_FONT = "12px sans-serif";
|
|
9
|
+
export declare const PANEL_BOLD_FONT = "bold 12px sans-serif";
|
|
10
|
+
export declare const ROW_LINE_H = 16;
|
|
2
11
|
export declare const panelStyle: React.CSSProperties;
|
|
3
12
|
export interface SeriesRowProps {
|
|
4
13
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeriesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/SeriesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAY9B,CAAC;AAuCF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GACvC,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAYrC;AAID,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACxC;AAED,eAAO,MAAM,KAAK,mFAgBhB,CAAC;AAIH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,SAAS,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KAAE,CAAA;CAAE,EACxF,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR"}
|
|
1
|
+
{"version":3,"file":"SeriesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/SeriesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAC5C,eAAO,MAAM,eAAe,yBAAyB,CAAC;AACtD,eAAO,MAAM,UAAU,KAAK,CAAC;AAI7B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAY9B,CAAC;AAuCF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GACvC,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAYrC;AAID,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACxC;AAED,eAAO,MAAM,KAAK,mFAgBhB,CAAC;AAIH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,SAAS,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KAAE,CAAA;CAAE,EACxF,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR"}
|
|
@@ -7,6 +7,7 @@ import { DataStore } from '../core/DataStore';
|
|
|
7
7
|
import { CursorManager } from '../core/CursorManager';
|
|
8
8
|
import { RenderScheduler } from '../core/RenderScheduler';
|
|
9
9
|
import { CanvasRenderer } from '../rendering/CanvasRenderer';
|
|
10
|
+
import type { ThemeCache } from '../rendering/theme';
|
|
10
11
|
import type { BandConfig } from '../types/bands';
|
|
11
12
|
import { Side } from '../types/common';
|
|
12
13
|
import type { DrawCallback, CursorDrawCallback } from '../types/hooks';
|
|
@@ -73,6 +74,7 @@ export interface ChartStore {
|
|
|
73
74
|
snapshot: ChartSnapshot;
|
|
74
75
|
revision: number;
|
|
75
76
|
eventCallbacks: EventCallbacks;
|
|
77
|
+
themeCache: ThemeCache;
|
|
76
78
|
_prevScaleRanges: Map<string, {
|
|
77
79
|
min: number;
|
|
78
80
|
max: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChartStore.d.ts","sourceRoot":"","sources":["../../src/hooks/useChartStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAA6B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"useChartStore.d.ts","sourceRoot":"","sources":["../../src/hooks/useChartStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAA6B,MAAM,6BAA6B,CAAC;AAOxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAa,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAe,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAuGtD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAE5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IAEtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAQD,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAmBvD;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAEzB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAG7B,WAAW,EAAE,WAAW,CAAC;IAGzB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;IAG1B,UAAU,EAAE,SAAS,EAAE,CAAC;IAGxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IAGd,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAGjC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B,qFAAqF;IACrF,eAAe,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAGjC,SAAS,EAAE,eAAe,CAAC;IAG3B,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,kBAAkB,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,eAAe,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAGzC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACzC,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAG3B,QAAQ,EAAE,aAAa,CAAC;IAGxB,QAAQ,EAAE,MAAM,CAAC;IAGjB,cAAc,EAAE,cAAc,CAAC;IAG/B,UAAU,EAAE,UAAU,CAAC;IAGvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAG1B,aAAa,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,kEAAkE;IAClE,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,aAAa,CAAC;IACjC,kEAAkE;IAClE,UAAU,EAAE,MAAM,IAAI,CAAC;IAGvB,kGAAkG;IAClG,WAAW,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,yGAAyG;IACzG,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,2DAA2D;IAC3D,YAAY,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,8CAA8C;IAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpD,qCAAqC;IACrC,UAAU,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,YAAY,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,qDAAqD;IACrD,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,6DAA6D;IAC7D,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,6BAA6B;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,gCAAgC;IAChC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE;AAUD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CA6e7C;AAwBD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAI1C"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export type CornerPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
3
|
+
export interface UseDraggableOverlayOptions {
|
|
4
|
+
mode: 'cursor' | 'draggable';
|
|
5
|
+
show: boolean;
|
|
6
|
+
position: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
} | CornerPosition;
|
|
10
|
+
offset: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
idleOpacity: number;
|
|
15
|
+
estimatedSize: {
|
|
16
|
+
w: number;
|
|
17
|
+
h: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface DraggableOverlayResult {
|
|
21
|
+
panelRef: React.RefObject<HTMLDivElement>;
|
|
22
|
+
/** Computed position to render at. null = not ready or hidden. */
|
|
23
|
+
renderPos: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
} | null;
|
|
27
|
+
isDragging: boolean;
|
|
28
|
+
hovered: boolean;
|
|
29
|
+
/** Mutable ref — true if a drag occurred since last mousedown. Use to suppress click actions. */
|
|
30
|
+
didDrag: React.MutableRefObject<boolean>;
|
|
31
|
+
/** Mode-appropriate CSS for the Panel container. */
|
|
32
|
+
panelStyle: React.CSSProperties;
|
|
33
|
+
/** Handlers to spread onto the Panel. No-ops in cursor mode. */
|
|
34
|
+
panelHandlers: {
|
|
35
|
+
onMouseDown?: React.MouseEventHandler;
|
|
36
|
+
onMouseEnter?: React.MouseEventHandler;
|
|
37
|
+
onMouseLeave?: React.MouseEventHandler;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** Padding from plot edges for corner-anchored positions */
|
|
41
|
+
export declare const CORNER_PAD = 8;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve initial position for draggable mode.
|
|
44
|
+
* When panelW/panelH are available (after first render), positions are exact.
|
|
45
|
+
* On first render (panelW/panelH = 0), top-left is always correct;
|
|
46
|
+
* other corners get corrected by the layout effect.
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveInitialPos(position: {
|
|
49
|
+
x: number;
|
|
50
|
+
y: number;
|
|
51
|
+
} | CornerPosition | undefined, plotBox: {
|
|
52
|
+
left: number;
|
|
53
|
+
top: number;
|
|
54
|
+
width: number;
|
|
55
|
+
height: number;
|
|
56
|
+
}, panelW: number, panelH: number): {
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Compute cursor-mode position: cursor coords + offset, clamped to plot bounds.
|
|
62
|
+
* Returns null when cursor is off-chart.
|
|
63
|
+
*/
|
|
64
|
+
export declare function computeCursorPos(cursorLeft: number, cursorTop: number, plotLeft: number, plotTop: number, plotWidth: number, plotHeight: number, offsetX: number, offsetY: number, panelW: number, panelH: number): {
|
|
65
|
+
x: number;
|
|
66
|
+
y: number;
|
|
67
|
+
} | null;
|
|
68
|
+
/**
|
|
69
|
+
* Clamp a position to stay within plot bounds given panel dimensions.
|
|
70
|
+
* Returns the original position if already in bounds.
|
|
71
|
+
*/
|
|
72
|
+
export declare function clampToBounds(pos: {
|
|
73
|
+
x: number;
|
|
74
|
+
y: number;
|
|
75
|
+
}, plotLeft: number, plotTop: number, plotWidth: number, plotHeight: number, panelW: number, panelH: number): {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Shared overlay positioning hook for cursor-follow and draggable modes.
|
|
81
|
+
*
|
|
82
|
+
* Owns: position state, drag event handlers, bounds-sync effects,
|
|
83
|
+
* cursor-mode measurement, initialization, idle opacity styling.
|
|
84
|
+
*
|
|
85
|
+
* Callers provide content-dependent `estimatedSize` (via estimatePanelSize)
|
|
86
|
+
* and handle their own content rendering.
|
|
87
|
+
*/
|
|
88
|
+
export declare function useDraggableOverlay({ mode, show, position, offset, idleOpacity, estimatedSize, }: UseDraggableOverlayOptions): DraggableOverlayResult;
|
|
89
|
+
//# sourceMappingURL=useDraggableOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDraggableOverlay.d.ts","sourceRoot":"","sources":["../../src/hooks/useDraggableOverlay.ts"],"names":[],"mappings":"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"}
|