@sheetpane/charts 0.1.0 → 0.4.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheetpane/charts",
3
- "version": "0.1.0",
3
+ "version": "0.4.0",
4
4
  "description": "Charts for sheetpane — a frame at the chart's anchor with its title and Show source cells; later, own SVG for bar, column, line, pie and scatter — through the `overlay` hook.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,20 +29,18 @@
29
29
  }
30
30
  },
31
31
  "files": [
32
- "dist",
33
- "README.md",
34
- "LICENSE"
32
+ "dist"
35
33
  ],
36
34
  "peerDependencies": {
37
- "@sheetpane/grid": "0.1.0",
38
- "@sheetpane/images": "0.1.0"
35
+ "@sheetpane/grid": "0.4.0",
36
+ "@sheetpane/images": "0.4.0"
39
37
  },
40
38
  "dependencies": {
41
- "@sheetpane/skills": "0.1.0"
39
+ "@sheetpane/skills": "0.4.0"
42
40
  },
43
41
  "devDependencies": {
44
- "@sheetpane/grid": "0.1.0",
45
- "@sheetpane/images": "0.1.0"
42
+ "@sheetpane/grid": "0.4.0",
43
+ "@sheetpane/images": "0.4.0"
46
44
  },
47
45
  "publishConfig": {
48
46
  "access": "public"
package/dist/anchors.d.ts DELETED
@@ -1,42 +0,0 @@
1
- import type { Geometry } from '@sheetpane/grid';
2
- export declare const EMU_PER_PX = 9525;
3
- export interface AnchorPoint {
4
- col: number;
5
- colOff: number;
6
- row: number;
7
- rowOff: number;
8
- }
9
- export interface Anchor {
10
- anchor: 'twoCell' | 'oneCell' | 'absolute';
11
- from?: AnchorPoint;
12
- to?: AnchorPoint;
13
- ext?: {
14
- cx: number;
15
- cy: number;
16
- };
17
- pos?: {
18
- x: number;
19
- y: number;
20
- };
21
- }
22
- export interface Rect {
23
- x: number;
24
- y: number;
25
- width: number;
26
- height: number;
27
- }
28
- /** The rectangle an anchor covers, or `undefined` when the anchor lacks what its kind needs. */
29
- export declare function anchorRect(a: Anchor, g: Geometry): Rect | undefined;
30
- /** The zero-based cell under a point in sheet space (px at 100 %). */
31
- export declare function cellAt(g: Geometry, x: number, y: number): {
32
- row: number;
33
- col: number;
34
- };
35
- /**
36
- * The grid's `Geometry` stops at the last column it draws: past it, `colX` returns that column's
37
- * edge for every index while `colWidth` says 64 px. A chart is often anchored to the right of the
38
- * data, so columns past the edge are extended here at 64 px each — what the grid's own fallback
39
- * intends. A geometry that keeps growing is returned as it is.
40
- */
41
- export declare function extendColumns(g: Geometry): Geometry;
42
- //# sourceMappingURL=anchors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchors.d.ts","sourceRoot":"","sources":["../src/anchors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,UAAU,OAAO,CAAC;AAG/B,MAAM,WAAW,WAAW;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzF,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC3C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,GAAG,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,GAAG,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AACD,MAAM,WAAW,IAAI;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAY7E,gGAAgG;AAChG,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAenE;AAWD,sEAAsE;AACtE,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAYnD"}
package/dist/anchors.js DELETED
@@ -1,73 +0,0 @@
1
- export const EMU_PER_PX = 9525;
2
- const emuToPx = (emu) => emu / EMU_PER_PX;
3
- const clamp = (v, lo, hi) => Math.min(Math.max(v, lo), hi);
4
- const finite = (n) => (Number.isFinite(n) ? n : 0);
5
- function pointToPx(g, p) {
6
- return {
7
- x: g.colX(p.col) + clamp(emuToPx(finite(p.colOff)), 0, g.colWidth(p.col)),
8
- y: g.rowY(p.row) + clamp(emuToPx(finite(p.rowOff)), 0, g.rowHeight(p.row)),
9
- };
10
- }
11
- /** The rectangle an anchor covers, or `undefined` when the anchor lacks what its kind needs. */
12
- export function anchorRect(a, g) {
13
- if (a.anchor === 'twoCell') {
14
- if (!a.from || !a.to)
15
- return undefined;
16
- const p0 = pointToPx(g, a.from), p1 = pointToPx(g, a.to);
17
- return { x: Math.min(p0.x, p1.x), y: Math.min(p0.y, p1.y), width: Math.abs(p1.x - p0.x), height: Math.abs(p1.y - p0.y) };
18
- }
19
- if (!a.ext)
20
- return undefined;
21
- const width = emuToPx(finite(a.ext.cx)), height = emuToPx(finite(a.ext.cy));
22
- if (a.anchor === 'oneCell') {
23
- if (!a.from)
24
- return undefined;
25
- const p = pointToPx(g, a.from);
26
- return { x: p.x, y: p.y, width, height };
27
- }
28
- if (!a.pos)
29
- return undefined;
30
- return { x: emuToPx(finite(a.pos.x)), y: emuToPx(finite(a.pos.y)), width, height };
31
- }
32
- function indexAt(at, v, max) {
33
- let lo = 0, hi = max - 1;
34
- while (lo < hi) {
35
- const mid = (lo + hi + 1) >> 1;
36
- if (at(mid) <= v)
37
- lo = mid;
38
- else
39
- hi = mid - 1;
40
- }
41
- return lo;
42
- }
43
- /** The zero-based cell under a point in sheet space (px at 100 %). */
44
- export function cellAt(g, x, y) {
45
- return { col: indexAt((c) => g.colX(c), Math.max(0, x), 16384), row: indexAt((r) => g.rowY(r), Math.max(0, y), 1048576) };
46
- }
47
- /**
48
- * The grid's `Geometry` stops at the last column it draws: past it, `colX` returns that column's
49
- * edge for every index while `colWidth` says 64 px. A chart is often anchored to the right of the
50
- * data, so columns past the edge are extended here at 64 px each — what the grid's own fallback
51
- * intends. A geometry that keeps growing is returned as it is.
52
- */
53
- export function extendColumns(g) {
54
- const flat = (c) => g.colX(c + 1) <= g.colX(c);
55
- if (!flat(16383))
56
- return g;
57
- let lo = 0, hi = 16383; // the first column whose right edge does not move
58
- while (lo < hi) {
59
- const mid = (lo + hi) >> 1;
60
- if (flat(mid))
61
- hi = mid;
62
- else
63
- lo = mid + 1;
64
- }
65
- const edge = lo, x = g.colX(edge);
66
- return {
67
- colX: (c) => (c <= edge ? g.colX(c) : x + (c - edge) * 64),
68
- colWidth: (c) => (c < edge ? g.colWidth(c) : 64),
69
- rowY: (r) => g.rowY(r),
70
- rowHeight: (r) => g.rowHeight(r),
71
- };
72
- }
73
- //# sourceMappingURL=anchors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchors.js","sourceRoot":"","sources":["../src/anchors.ts"],"names":[],"mappings":"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"}