@thilakbhat/heatmap-ui 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -107,10 +107,12 @@ values={[{ row: 0, column: 0, value: 3, known: true, meta: anything }]}
107
107
  | `shape` | `"rounded"` | See below. |
108
108
  | `encode` | `"color"` | `"color"`, `"size"`, or `"both"`. |
109
109
  | `cellSize` | `13` | Pixels. |
110
+ | `cellWidth` / `cellHeight` | `cellSize` | Pixels, per axis. Circles and rings stay round at the shorter side. |
110
111
  | `gap` | `3` | Pixels. |
111
112
  | `radius` | none | Overrides the shape's corner rounding. |
112
113
  | `colors` | GitHub green | The ramp, palest first. |
113
114
  | `emptyColor` | `#ebedf0` | A known value of zero. |
115
+ | `cellColor` | none | `(cell) => string \| undefined`. Paints a cell directly for categorical data; `undefined` falls back to the ramp. |
114
116
  | `unknownOpacity` | `0.5` | Applied to slots with no data. |
115
117
  | `isSlotHidden` | none | `(row, column) => boolean` for ragged grids. |
116
118
  | `rowLabels`, `columnLabels` | none | Positioned against the grid. |
@@ -353,17 +355,25 @@ measured.
353
355
  />
354
356
  ```
355
357
 
356
- ### Uptime: wide and short, with days that were never collected
358
+ ### Uptime: thin status pills, with days that were never collected
357
359
 
358
360
  This is the other kind of gap: the slots exist, but nobody was watching them.
361
+ Status is a category, not a progression, so `cellColor` paints it directly and
362
+ the ramp only covers what it returns `undefined` for.
359
363
 
360
364
  ```tsx
365
+ const statusOf = (value: number) =>
366
+ value >= 99 ? "#3fb68b" : value >= 90 ? "#f2b53c" : value >= 25 ? "#ef8a3c" : "#e5534b";
367
+
361
368
  <Heatmap
362
369
  rows={services.length}
363
- columns={30}
370
+ columns={90}
364
371
  values={uptime} // { row, column, value, known }[]
365
372
  rowLabels={services} // ["api", "web", …]
366
- columnLabels={dayLabels}
373
+ cellWidth={5}
374
+ cellHeight={16}
375
+ gap={2}
376
+ cellColor={(cell) => (cell.known ? statusOf(cell.value) : undefined)}
367
377
  ariaLabel="Service uptime by day"
368
378
  tooltip={(cell) =>
369
379
  cell.known ? `${cell.value}% up` : "not monitored"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIhD,OAAO,KAAK,EAAE,cAAc,EAAe,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS1F,MAAM,MAAM,WAAW,GAAG;IACxB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC;CAC3C,CAAC;AAEF,KAAK,oBAAoB,GACrB,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;AAE3F,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,eAAe,CAAC;AAE9F,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAAG,eAAe,CAAC;AAElG,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA8I3D,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAG1D;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,+BAG9D;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIhD,OAAO,KAAK,EAAE,cAAc,EAAe,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS1F,MAAM,MAAM,WAAW,GAAG;IACxB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC;CAC3C,CAAC;AAEF,KAAK,oBAAoB,GACrB,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;AAE3F,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,eAAe,CAAC;AAE9F,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAAG,eAAe,CAAC;AAElG,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA+I3D,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAG1D;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,+BAG9D;AAED,eAAe,eAAe,CAAC"}
package/dist/calendar.js CHANGED
@@ -75,7 +75,7 @@ function useCalendarProps({ values = [], to, weeks = 53, weekStart = 0, showMont
75
75
  // starts too few columns after the previous label there is no room for both,
76
76
  // so the later one is dropped rather than drawn on top of its neighbour.
77
77
  const monthLabels = useMemo(() => {
78
- const stride = (heatmapProps.cellSize ?? 13) + (heatmapProps.gap ?? 3);
78
+ const stride = (heatmapProps.cellWidth ?? heatmapProps.cellSize ?? 13) + (heatmapProps.gap ?? 3);
79
79
  const minColumns = Math.ceil(30 / stride);
80
80
  const kept = [];
81
81
  let lastColumn = Number.NEGATIVE_INFINITY;
@@ -86,7 +86,7 @@ function useCalendarProps({ values = [], to, weeks = 53, weekStart = 0, showMont
86
86
  lastColumn = label.column;
87
87
  }
88
88
  return kept;
89
- }, [columnLabels, heatmapProps.cellSize, heatmapProps.gap]);
89
+ }, [columnLabels, heatmapProps.cellWidth, heatmapProps.cellSize, heatmapProps.gap]);
90
90
  const withDate = (cell) => ({
91
91
  ...cell,
92
92
  date: dates.get(cell.row + ":" + cell.column) ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.tsx"],"names":[],"mappings":"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"}
package/dist/heatmap.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import type { HeatmapProps } from "./types.js";
2
- export declare function Heatmap({ rows, columns, values, scale, levels: levelsProp, thresholds: thresholdsProp, shape, encode, cellSize, gap, radius, colors, emptyColor, unknownOpacity, minScale, rowLabels, columnLabels, tooltip, cellContent, cellLabel, onCellClick, isSlotHidden, showLegend, legendLabels, ariaLabel, className, style, ...rest }: HeatmapProps): import("react").JSX.Element;
2
+ export declare function Heatmap({ rows, columns, values, scale, levels: levelsProp, thresholds: thresholdsProp, shape, encode, cellSize, cellWidth: cellWidthProp, cellHeight: cellHeightProp, gap, radius, colors, emptyColor, cellColor, unknownOpacity, minScale, rowLabels, columnLabels, tooltip, cellContent, cellLabel, onCellClick, isSlotHidden, showLegend, legendLabels, ariaLabel, className, style, ...rest }: HeatmapProps): import("react").JSX.Element;
3
3
  export default Heatmap;
4
4
  //# sourceMappingURL=heatmap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../src/heatmap.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAO7D,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAgB,EAChB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,cAAc,EAC1B,KAAiB,EACjB,MAAgB,EAChB,QAAa,EACb,GAAO,EACP,MAAM,EACN,MAAuB,EACvB,UAA0B,EAC1B,cAAoB,EACpB,QAAe,EACf,SAAS,EACT,YAAY,EACZ,OAAO,EACP,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,YAAY,+BA6Hd;AAqND,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../src/heatmap.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAO7D,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAgB,EAChB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,cAAc,EAC1B,KAAiB,EACjB,MAAgB,EAChB,QAAa,EACb,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,GAAO,EACP,MAAM,EACN,MAAuB,EACvB,UAA0B,EAC1B,SAAS,EACT,cAAoB,EACpB,QAAe,EACf,SAAS,EACT,YAAY,EACZ,OAAO,EACP,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,YAAY,+BAyId;AA0OD,eAAe,OAAO,CAAC"}
package/dist/heatmap.js CHANGED
@@ -3,12 +3,12 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { useEffect, useId, useMemo, useRef, useState } from "react";
4
4
  import { luminance, parseHex } from "./colors.js";
5
5
  import { buildCells } from "./grid.js";
6
- import { fillStyle, rowOffset, rowSpacing, shapeStyle } from "./shapes.js";
6
+ import { fillStyle, isRoundShape, rowOffset, rowSpacing, shapeStyle } from "./shapes.js";
7
7
  /** GitHub's light ramp, as a neutral default rather than a statement. */
8
8
  const DEFAULT_COLORS = ["#9be9a8", "#40c463", "#30a14e", "#216e39"];
9
9
  const DEFAULT_EMPTY = "#ebedf0";
10
10
  const TOOLTIP_DELAY = 300;
11
- export function Heatmap({ rows, columns, values, scale = "linear", levels: levelsProp, thresholds: thresholdsProp, shape = "rounded", encode = "color", cellSize = 13, gap = 3, radius, colors = DEFAULT_COLORS, emptyColor = DEFAULT_EMPTY, unknownOpacity = 0.5, minScale = 0.35, rowLabels, columnLabels, tooltip, cellContent, cellLabel, onCellClick, isSlotHidden, showLegend = false, legendLabels, ariaLabel, className, style, ...rest }) {
11
+ export function Heatmap({ rows, columns, values, scale = "linear", levels: levelsProp, thresholds: thresholdsProp, shape = "rounded", encode = "color", cellSize = 13, cellWidth: cellWidthProp, cellHeight: cellHeightProp, gap = 3, radius, colors = DEFAULT_COLORS, emptyColor = DEFAULT_EMPTY, cellColor, unknownOpacity = 0.5, minScale = 0.35, rowLabels, columnLabels, tooltip, cellContent, cellLabel, onCellClick, isSlotHidden, showLegend = false, legendLabels, ariaLabel, className, style, ...rest }) {
12
12
  const levels = levelsProp ?? colors.length ?? 4;
13
13
  const { cells, total, unknownCount } = useMemo(() => buildCells({
14
14
  rows,
@@ -19,18 +19,20 @@ export function Heatmap({ rows, columns, values, scale = "linear", levels: level
19
19
  thresholds: thresholdsProp,
20
20
  isSlotHidden,
21
21
  }), [rows, columns, values, scale, levels, thresholdsProp, isSlotHidden]);
22
- const columnWidth = cellSize + gap;
23
- const rowHeight = rowSpacing(shape, cellSize, gap);
22
+ const cellWidth = cellWidthProp ?? cellSize;
23
+ const cellHeight = cellHeightProp ?? cellSize;
24
+ const columnWidth = cellWidth + gap;
25
+ const rowHeight = rowSpacing(shape, cellHeight, gap);
24
26
  // Hexagon rows are offset by half a column, so the grid is that much wider.
25
27
  const overhang = shape === "hexagon" && rows > 1 ? columnWidth / 2 : 0;
26
28
  const width = columns * columnWidth - gap + overhang;
27
- const height = (rows - 1) * rowHeight + cellSize;
29
+ const height = (rows - 1) * rowHeight + cellHeight;
28
30
  const label = ariaLabel ??
29
31
  "Heatmap, " + rows + " by " + columns +
30
32
  (unknownCount > 0 ? ", " + unknownCount + " slots with no data" : "");
31
- return (_jsxs("div", { className: ["heatmap", className].filter(Boolean).join(" "), role: "group", "aria-label": label, "data-total": total, style: style, ...rest, children: [_jsxs("div", { className: "heatmap__body", children: [columnLabels && columnLabels.length > 0 ? (_jsx("div", { className: "heatmap__column-labels", style: { height: 16, width }, children: columnLabels.map((entry, index) => (_jsx("span", { className: "heatmap__column-label", style: { left: entry.column * columnWidth + cellSize / 2 }, children: entry.text }, index))) })) : null, rowLabels && rowLabels.length > 0 ? (_jsx("div", { className: "heatmap__row-labels", style: { height, gridAutoRows: rowHeight }, children: rowLabels.map((text, index) => (_jsx("span", { className: "heatmap__row-label", style: { top: index * rowHeight, height: cellSize }, children: text }, index))) })) : null, _jsx("div", { className: "heatmap__grid", style: { width, height }, children: cells.map((cell) => (_jsx(HeatmapCellView, { cell: cell, left: cell.column * columnWidth + rowOffset(shape, cell.row, columnWidth), top: cell.row * rowHeight, size: cellSize, shape: shape, encode: encode, levels: levels, radius: radius, colors: colors, emptyColor: emptyColor, unknownOpacity: unknownOpacity, minScale: minScale, tooltip: tooltip, cellContent: cellContent, cellLabel: cellLabel, onCellClick: onCellClick, nearLeftEdge: cell.column === 0, nearRightEdge: cell.column === columns - 1 }, cell.row + ":" + cell.column))) })] }), showLegend ? (_jsxs("div", { className: "heatmap__legend", children: [_jsx("span", { children: legendLabels?.less ?? "less" }), _jsx(LegendSwatch, { color: emptyColor, shape: shape, size: cellSize, radius: radius }), colors.map((color, index) => (_jsx(LegendSwatch, { color: color, shape: shape, size: cellSize, radius: radius }, color + index))), _jsx("span", { children: legendLabels?.more ?? "more" }), unknownCount > 0 ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "heatmap__legend-unknown", children: legendLabels?.unknown ?? "no data" }), _jsx(LegendSwatch, { color: emptyColor, shape: shape, size: cellSize, radius: radius, opacity: unknownOpacity })] })) : null] })) : null] }));
33
+ return (_jsxs("div", { className: ["heatmap", className].filter(Boolean).join(" "), role: "group", "aria-label": label, "data-total": total, style: style, ...rest, children: [_jsxs("div", { className: "heatmap__body", children: [columnLabels && columnLabels.length > 0 ? (_jsx("div", { className: "heatmap__column-labels", style: { height: 16, width }, children: columnLabels.map((entry, index) => (_jsx("span", { className: "heatmap__column-label", style: { left: entry.column * columnWidth + cellWidth / 2 }, children: entry.text }, index))) })) : null, rowLabels && rowLabels.length > 0 ? (_jsx("div", { className: "heatmap__row-labels", style: { height, gridAutoRows: rowHeight }, children: rowLabels.map((text, index) => (_jsx("span", { className: "heatmap__row-label", style: { top: index * rowHeight, height: cellHeight }, children: text }, index))) })) : null, _jsx("div", { className: "heatmap__grid", style: { width, height }, children: cells.map((cell) => (_jsx(HeatmapCellView, { cell: cell, left: cell.column * columnWidth + rowOffset(shape, cell.row, columnWidth), top: cell.row * rowHeight, width: cellWidth, height: cellHeight, shape: shape, encode: encode, levels: levels, radius: radius, colors: colors, emptyColor: emptyColor, cellColor: cellColor, unknownOpacity: unknownOpacity, minScale: minScale, tooltip: tooltip, cellContent: cellContent, cellLabel: cellLabel, onCellClick: onCellClick, nearLeftEdge: cell.column === 0, nearRightEdge: cell.column === columns - 1 }, cell.row + ":" + cell.column))) })] }), showLegend ? (_jsxs("div", { className: "heatmap__legend", children: [_jsx("span", { children: legendLabels?.less ?? "less" }), _jsx(LegendSwatch, { color: emptyColor, shape: shape, width: cellWidth, height: cellHeight, radius: radius }), colors.map((color, index) => (_jsx(LegendSwatch, { color: color, shape: shape, width: cellWidth, height: cellHeight, radius: radius }, color + index))), _jsx("span", { children: legendLabels?.more ?? "more" }), unknownCount > 0 ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "heatmap__legend-unknown", children: legendLabels?.unknown ?? "no data" }), _jsx(LegendSwatch, { color: emptyColor, shape: shape, width: cellWidth, height: cellHeight, radius: radius, opacity: unknownOpacity })] })) : null] })) : null] }));
32
34
  }
33
- function HeatmapCellView({ cell, left, top, size, shape, encode, levels, radius, colors, emptyColor, unknownOpacity, minScale, tooltip, cellContent, cellLabel, onCellClick, nearLeftEdge, nearRightEdge, }) {
35
+ function HeatmapCellView({ cell, left, top, width, height, shape, encode, levels, radius, colors, emptyColor, cellColor, unknownOpacity, minScale, tooltip, cellContent, cellLabel, onCellClick, nearLeftEdge, nearRightEdge, }) {
34
36
  const tooltipId = useId();
35
37
  const timer = useRef(null);
36
38
  const [open, setOpen] = useState(false);
@@ -68,22 +70,30 @@ function HeatmapCellView({ cell, left, top, size, shape, encode, levels, radius,
68
70
  const usesColor = encode === "color" || encode === "both";
69
71
  const intensity = levels > 0 ? cell.level / levels : 0;
70
72
  const scaleFactor = usesSize && cell.level > 0 ? minScale + (1 - minScale) * intensity : 1;
71
- const color = !cell.known
73
+ const rampColor = !cell.known
72
74
  ? emptyColor
73
75
  : cell.level === 0
74
76
  ? emptyColor
75
77
  : usesColor
76
78
  ? colors[Math.min(colors.length - 1, cell.level - 1)]
77
79
  : colors[colors.length - 1];
80
+ const color = cellColor?.(cell) ?? rampColor;
81
+ const minSide = Math.min(width, height);
82
+ // Circles and rings would turn into ellipses, so they keep a square box.
83
+ const boxWidth = isRoundShape(shape) ? minSide : width;
84
+ const boxHeight = isRoundShape(shape) ? minSide : height;
78
85
  // `bar` derives its own height from the level, so the box size must not be
79
86
  // written afterwards — an explicit `height: undefined` would clobber it.
80
87
  const box = shape === "bar"
81
- ? { width: size }
82
- : { width: Math.round(size * scaleFactor), height: Math.round(size * scaleFactor) };
88
+ ? { width }
89
+ : {
90
+ width: Math.round(boxWidth * scaleFactor),
91
+ height: Math.round(boxHeight * scaleFactor),
92
+ };
83
93
  const fill = {
84
- ...shapeStyle(shape, radius),
94
+ ...shapeStyle(shape, radius, width === height ? undefined : minSide),
85
95
  ...box,
86
- ...fillStyle(shape, cell.level, levels, color, size),
96
+ ...fillStyle(shape, cell.level, levels, color, shape === "bar" ? height : minSide),
87
97
  };
88
98
  const contentText = typeof visualContent === "string" || typeof visualContent === "number"
89
99
  ? String(visualContent)
@@ -97,11 +107,14 @@ function HeatmapCellView({ cell, left, top, size, shape, encode, levels, radius,
97
107
  : {}),
98
108
  ...(contentText
99
109
  ? {
100
- fontSize: Math.max(6, Math.min(11, size * 0.68 - Math.max(0, contentText.length - 2) * 1.1)),
110
+ fontSize: Math.max(6, Math.min(11, minSide * 0.68 - Math.max(0, contentText.length - 2) * 1.1)),
101
111
  }
102
112
  : {}),
103
113
  };
104
- return (_jsxs("div", { className: "heatmap__cell-slot", style: { left, top, width: size, height: size }, "data-known": cell.known ? "true" : "false", "data-level": cell.level, tabIndex: interactive ? 0 : undefined, role: onCellClick ? "button" : undefined, "aria-label": name, "aria-describedby": open ? tooltipId : undefined, onPointerEnter: show, onPointerLeave: hide, onFocus: show, onBlur: hide, onClick: onCellClick ? () => onCellClick(cell) : undefined, onKeyDown: onCellClick
114
+ return (_jsxs("div", { className: "heatmap__cell-slot", style: { left, top, width, height }, "data-known": cell.known ? "true" : "false", "data-level": cell.level, tabIndex: interactive ? 0 : undefined,
115
+ // A generic div may not carry aria-label, so a labelled cell is an image
116
+ // of its value, as in Heatmap3D. Unlabelled cells stay generic.
117
+ role: onCellClick ? "button" : name ? "img" : undefined, "aria-label": name, "aria-describedby": open ? tooltipId : undefined, onPointerEnter: show, onPointerLeave: hide, onFocus: show, onBlur: hide, onClick: onCellClick ? () => onCellClick(cell) : undefined, onKeyDown: onCellClick
105
118
  ? (event) => {
106
119
  if (event.key === "Enter" || event.key === " ") {
107
120
  event.preventDefault();
@@ -119,12 +132,16 @@ function legendSwatchSize(size) {
119
132
  const target = Math.min(Math.round(size * 0.8), 12);
120
133
  return Math.max(1, Math.min(target, size - 1));
121
134
  }
122
- function LegendSwatch({ color, shape, size, radius, opacity = 1, }) {
123
- const swatch = legendSwatchSize(size);
135
+ function LegendSwatch({ color, shape, width, height, radius, opacity = 1, }) {
136
+ // A non-square swatch keeps the cell's proportions, sized off its long side.
137
+ const round = isRoundShape(shape) || width === height;
138
+ const long = legendSwatchSize(round ? Math.min(width, height) : Math.max(width, height));
139
+ const swatchWidth = round || width > height ? long : Math.max(1, Math.round(long * (width / height)));
140
+ const swatchHeight = round || height > width ? long : Math.max(1, Math.round(long * (height / width)));
124
141
  return (_jsx("span", { className: "heatmap__legend-swatch", "aria-hidden": "true", style: {
125
- ...shapeStyle(shape, radius),
126
- width: swatch,
127
- height: swatch,
142
+ ...shapeStyle(shape, radius, round ? undefined : Math.min(swatchWidth, swatchHeight)),
143
+ width: swatchWidth,
144
+ height: swatchHeight,
128
145
  background: shape === "ring" ? "transparent" : color,
129
146
  border: shape === "ring" ? "2px solid " + color : undefined,
130
147
  opacity,
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap.js","sourceRoot":"","sources":["../src/heatmap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heatmap.js","sourceRoot":"","sources":["../src/heatmap.tsx"],"names":[],"mappings":"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"}
package/dist/shapes.d.ts CHANGED
@@ -4,10 +4,19 @@ import type { HeatmapShape } from "./types.js";
4
4
  export declare function rowOffset(shape: HeatmapShape, row: number, columnWidth: number): number;
5
5
  /** Hexagon rows interlock, so they sit closer together than their box height. */
6
6
  export declare function rowSpacing(shape: HeatmapShape, cellSize: number, gap: number): number;
7
- export declare function shapeStyle(shape: HeatmapShape, radius: number | string | undefined): CSSProperties;
7
+ /** Shapes that must keep a 1:1 box, or a circle becomes an ellipse. */
8
+ export declare function isRoundShape(shape: HeatmapShape): boolean;
9
+ /**
10
+ * `minSide` is the shorter edge of a non-square cell. A percentage radius
11
+ * resolves against each axis separately, so `rounded` would turn elliptical on
12
+ * a tall, thin cell; it is converted to pixels off the shorter edge instead.
13
+ */
14
+ export declare function shapeStyle(shape: HeatmapShape, radius: number | string | undefined, minSide?: number): CSSProperties;
8
15
  /**
9
16
  * `bar` grows from the bottom and `ring` thickens inward, so both express
10
17
  * intensity through geometry and need the level to draw themselves.
18
+ * `cellSize` is the extent they grow across: the cell height for `bar`, the
19
+ * shorter side for `ring`.
11
20
  */
12
21
  export declare function fillStyle(shape: HeatmapShape, level: number, levels: number, color: string, cellSize: number): CSSProperties;
13
22
  //# sourceMappingURL=shapes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuB/C,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAClC,aAAa,CAYf;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,aAAa,CAqBf"}
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuB/C,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CAcf;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,aAAa,CAqBf"}
package/dist/shapes.js CHANGED
@@ -24,7 +24,16 @@ export function rowOffset(shape, row, columnWidth) {
24
24
  export function rowSpacing(shape, cellSize, gap) {
25
25
  return shape === "hexagon" ? cellSize * 0.75 + gap : cellSize + gap;
26
26
  }
27
- export function shapeStyle(shape, radius) {
27
+ /** Shapes that must keep a 1:1 box, or a circle becomes an ellipse. */
28
+ export function isRoundShape(shape) {
29
+ return shape === "circle" || shape === "ring";
30
+ }
31
+ /**
32
+ * `minSide` is the shorter edge of a non-square cell. A percentage radius
33
+ * resolves against each axis separately, so `rounded` would turn elliptical on
34
+ * a tall, thin cell; it is converted to pixels off the shorter edge instead.
35
+ */
36
+ export function shapeStyle(shape, radius, minSide) {
28
37
  const style = {};
29
38
  const clipPath = CLIP_PATHS[shape];
30
39
  if (clipPath)
@@ -32,6 +41,9 @@ export function shapeStyle(shape, radius) {
32
41
  if (radius !== undefined) {
33
42
  style.borderRadius = typeof radius === "number" ? radius + "px" : radius;
34
43
  }
44
+ else if (shape === "rounded" && minSide !== undefined) {
45
+ style.borderRadius = Math.round(minSide * 0.22) + "px";
46
+ }
35
47
  else if (RADII[shape]) {
36
48
  style.borderRadius = RADII[shape];
37
49
  }
@@ -40,6 +52,8 @@ export function shapeStyle(shape, radius) {
40
52
  /**
41
53
  * `bar` grows from the bottom and `ring` thickens inward, so both express
42
54
  * intensity through geometry and need the level to draw themselves.
55
+ * `cellSize` is the extent they grow across: the cell height for `bar`, the
56
+ * shorter side for `ring`.
43
57
  */
44
58
  export function fillStyle(shape, level, levels, color, cellSize) {
45
59
  const intensity = levels > 0 ? level / levels : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,GAA0C;IACxD,OAAO,EAAE,6CAA6C;IACtD,OAAO,EAAE,+DAA+D;IACxE,IAAI,EACF,gEAAgE;QAChE,uDAAuD;CAC1D,CAAC;AAEF,MAAM,KAAK,GAA0C;IACnD,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,KAAmB,EAAE,GAAW,EAAE,WAAmB;IAC7E,OAAO,KAAK,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,KAAmB,EAAE,QAAgB,EAAE,GAAW;IAC3E,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAmB,EACnB,MAAmC;IAEnC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAExC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,KAAmB,EACnB,KAAa,EACb,MAAc,EACd,KAAa,EACb,QAAgB;IAEhB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;YAC5E,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,KAAK;YACvC,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"static-svg.d.ts","sourceRoot":"","sources":["../src/static-svg.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEnB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,EAAE,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA6HF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAgB,EAChB,MAAM,EAAE,UAAU,EAClB,UAAU,EACV,KAAmB,EACnB,UAAoB,EACpB,QAAa,EACb,GAAO,EACP,SAAS,EAAE,aAAmB,EAC9B,YAAY,EACZ,GAAG,EACH,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAoB,EACpB,KAAK,EAAE,SAAS,EAChB,QAAkB,EAClB,QAAQ,EACR,SAAS,EACT,SAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAS,EACT,UAAkB,EAClB,SAAS,EACT,SAAS,GACV,EAAE,mBAAmB,GAAG,MAAM,CA+E9B"}
1
+ {"version":3,"file":"static-svg.d.ts","sourceRoot":"","sources":["../src/static-svg.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEnB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,EAAE,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiJF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAgB,EAChB,MAAM,EAAE,UAAU,EAClB,UAAU,EACV,KAAmB,EACnB,UAAoB,EACpB,QAAa,EACb,GAAO,EACP,SAAS,EAAE,aAAmB,EAC9B,YAAY,EACZ,GAAG,EACH,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAoB,EACpB,KAAK,EAAE,SAAS,EAChB,QAAkB,EAClB,QAAQ,EACR,SAAS,EACT,SAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAS,EACT,UAAkB,EAClB,SAAS,EACT,SAAS,GACV,EAAE,mBAAmB,GAAG,MAAM,CAoF9B"}
@@ -13,6 +13,22 @@ function escapeXml(value) {
13
13
  .replace(/"/g, "&quot;")
14
14
  .replace(/'/g, "&apos;");
15
15
  }
16
+ // Placeholder for the per-render scope; swapped for a content hash once the
17
+ // markup is complete, so the same chart always gets the same class.
18
+ const SCOPE = "heatmap3d-static-scope";
19
+ /** FNV-1a, enough to give each distinct chart its own selector and pattern ids. */
20
+ function hash(value) {
21
+ let result = 0x811c9dc5;
22
+ for (let index = 0; index < value.length; index += 1) {
23
+ result ^= value.charCodeAt(index);
24
+ result = Math.imul(result, 0x01000193);
25
+ }
26
+ return (result >>> 0).toString(36);
27
+ }
28
+ /** Prefix every selector in a flat rule list so the styles only reach this SVG. */
29
+ function scopeRules(rules, scope) {
30
+ return rules.replace(/([^{}]+)\{([^{}]*)\}/g, (_, selectors, body) => `${selectors.split(",").map((selector) => `${scope} ${selector.trim()}`).join(",")}{${body}}`);
31
+ }
16
32
  function number(value) {
17
33
  return Number.isFinite(value) ? value.toFixed(3).replace(/\.0+$/, "").replace(/(\.\d*?)0+$/, "$1") : "0";
18
34
  }
@@ -32,7 +48,7 @@ function surfaceMarkup(face, camera, visual) {
32
48
  const base = pattern
33
49
  ? `<path d="${path}" fill="${escapeXml(fill)}" class="heatmap3d__surface heatmap3d__surface-base" data-face="${face.face}" pointer-events="none"/>`
34
50
  : "";
35
- const surface = `<path d="${path}" fill="${pattern ? `url(#${escapeXml(pattern)})` : escapeXml(fill)}" class="heatmap3d__surface" data-face="${face.face}" data-material="${pattern ? "pattern" : "solid"}/>`;
51
+ const surface = `<path d="${path}" fill="${pattern ? `url(#${escapeXml(pattern)})` : escapeXml(fill)}" class="heatmap3d__surface" data-face="${face.face}" data-material="${pattern ? "pattern" : "solid"}"/>`;
36
52
  const shade = `<path d="${path}" fill="${face.shade >= 0 ? "#fff" : "#071b19"}" opacity="${number(Math.abs(face.shade))}" pointer-events="none"/>`;
37
53
  const windows = (face.windows ?? []).map((window, index) => `<path d="${polygonPath(window, camera)}" class="heatmap3d__window" opacity="${index % 5 === 0 ? 0.2 : index % 3 === 0 ? 0.65 : 0.42}" pointer-events="none"/>`).join("");
38
54
  return `<g>${base}${surface}${shade}${windows}</g>`;
@@ -123,7 +139,7 @@ export function renderHeatmap3DSvg({ rows, columns, values, scale = "linear", le
123
139
  faceColor,
124
140
  levels,
125
141
  columns,
126
- patternPrefix: "heatmap3d-static-pattern",
142
+ patternPrefix: `${SCOPE}-pattern`,
127
143
  };
128
144
  const patternDefinitions = material === "pattern"
129
145
  ? ["top", "left", "right"].flatMap((face) => Array.from({ length: levels }, (_, index) => {
@@ -144,10 +160,14 @@ export function renderHeatmap3DSvg({ rows, columns, values, scale = "linear", le
144
160
  const floor = rectangle(0, 0, width + size, depth + size, -1);
145
161
  const label = ariaLabel ?? `3D heatmap, ${rows} by ${columns}, height represents value${unknownCount > 0 ? `, ${unknownCount} slots with no data` : ""}`;
146
162
  const preset = resolve3DTheme(theme);
147
- const staticStyle = `<style>.heatmap3d__floor-edge{fill:${preset.floorEdge}}.heatmap3d__floor-surface{fill:${preset.floor};stroke:${preset.floorEdge};stroke-width:.7}.heatmap3d__grid-line{fill:none;stroke:${preset.grid};stroke-width:.45;opacity:.7}.heatmap3d__contact-shadow{fill:#111b2b;opacity:.13}.heatmap3d__surface{stroke:#ffffff30;stroke-width:.3;stroke-linejoin:round}.heatmap3d__surface-base{stroke:none}.heatmap3d__window{fill:${preset.window}}.heatmap3d__roof{fill:#07101b;fill-opacity:.11;stroke:#ffffff70;stroke-width:.45;stroke-linejoin:round}.heatmap3d__unknown{stroke:${preset.ink};stroke-width:.7;stroke-dasharray:2 1.8}.heatmap3d__axis line{stroke:${preset.ink};stroke-width:.6;opacity:.65}.heatmap3d__axis text,.heatmap3d__labels text,.heatmap3d__static-legend text{fill:${preset.ink};font-family:sans-serif;font-size:8px}.heatmap3d__static-legend text{font-size:8px}${animation === "grow" ? `@keyframes heatmap3d-grow{from{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heatmap3d-reduced-fade{from{opacity:.45}to{opacity:1}}.heatmap3d__scene[data-animation="grow"] .heatmap3d__cell[data-known="true"]{animation:heatmap3d-grow 240ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(min(var(--heatmap3d-index,0),32) * 26ms);transform-box:fill-box;transform-origin:center bottom}@media (prefers-reduced-motion:reduce){.heatmap3d__scene[data-animation="grow"] .heatmap3d__cell[data-known="true"]{animation:heatmap3d-reduced-fade 160ms ease-out both;animation-delay:0ms;transform:none}}` : ""}</style>`;
163
+ const baseRules = `.heatmap3d__floor-edge{fill:${preset.floorEdge}}.heatmap3d__floor-surface{fill:${preset.floor};stroke:${preset.floorEdge};stroke-width:.7}.heatmap3d__grid-line{fill:none;stroke:${preset.grid};stroke-width:.45;opacity:.7}.heatmap3d__contact-shadow{fill:#111b2b;opacity:.13}.heatmap3d__surface{stroke:#ffffff30;stroke-width:.3;stroke-linejoin:round}.heatmap3d__surface-base{stroke:none}.heatmap3d__window{fill:${preset.window}}.heatmap3d__roof{fill:#07101b;fill-opacity:.11;stroke:#ffffff70;stroke-width:.45;stroke-linejoin:round}.heatmap3d__unknown{stroke:${preset.ink};stroke-width:.7;stroke-dasharray:2 1.8}.heatmap3d__axis line{stroke:${preset.ink};stroke-width:.6;opacity:.65}.heatmap3d__axis text,.heatmap3d__labels text,.heatmap3d__static-legend text{fill:${preset.ink};font-family:sans-serif;font-size:8px}.heatmap3d__static-legend text{font-size:8px}`;
164
+ const growRules = `.heatmap3d__cell[data-known="true"]{animation:${SCOPE}-grow 240ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(min(var(--heatmap3d-index,0),32) * 26ms);transform-box:fill-box;transform-origin:center bottom}`;
165
+ const reducedRules = `.heatmap3d__cell[data-known="true"]{animation:${SCOPE}-reduced-fade 160ms ease-out both;animation-delay:0ms;transform:none}`;
166
+ const scope = `.${SCOPE}`;
167
+ const staticStyle = `<style>${scopeRules(baseRules, scope)}${animation === "grow" ? `@keyframes ${SCOPE}-grow{from{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ${SCOPE}-reduced-fade{from{opacity:.45}to{opacity:1}}${scopeRules(growRules, scope)}@media (prefers-reduced-motion:reduce){${scopeRules(reducedRules, scope)}}` : ""}</style>`;
148
168
  const patternMarkup = patternDefinitions.length > 0
149
169
  ? `<defs>${patternDefinitions.map(({ face, level, pattern }) => {
150
- const id = `heatmap3d-static-pattern-${face}-${level}`;
170
+ const id = `${SCOPE}-pattern-${face}-${level}`;
151
171
  return `<pattern id="${id}" patternUnits="userSpaceOnUse" patternContentUnits="userSpaceOnUse" width="${pattern.width}" height="${pattern.bitmap.length}"><rect width="${pattern.width}" height="${pattern.bitmap.length}" fill="${escapeXml(pattern.background)}"/><path d="${patternPath(pattern)}" fill="${escapeXml(pattern.foreground)}"/></pattern>`;
152
172
  }).join("")}</defs>`
153
173
  : "";
@@ -166,12 +186,13 @@ export function renderHeatmap3DSvg({ rows, columns, values, scale = "linear", le
166
186
  const position = columnLabelPosition(entry.column);
167
187
  return `<text x="${number(position.x)}" y="${number(position.y + 10)}" text-anchor="middle">${escapeXml(entry.text)}</text>`;
168
188
  }).join("") ?? ""}</g>`;
169
- const classNames = ["heatmap", "heatmap3d", "heatmap3d__scene", className].filter(Boolean).join(" ");
189
+ const classNames = ["heatmap", "heatmap3d", "heatmap3d__scene", SCOPE, className].filter(Boolean).join(" ");
170
190
  const cellsMarkup = geometry.map((entry, motionIndex) => cellMarkup(entry, motionIndex, camera, visualOptions, cellLabel, unknownOpacity)).join("");
171
191
  const legendColors = heatmap3DLegendColors(visualOptions);
172
192
  const legendMarkup = showLegend && legendColors.length > 0
173
193
  ? `<g class="heatmap3d__static-legend" aria-label="Legend"><text x="${number(bounds.x + 4)}" y="${number(bounds.y + bounds.height - 4)}">less</text>${legendColors.map((color, index) => `<rect x="${number(bounds.x + 25 + index * 9)}" y="${number(bounds.y + bounds.height - 11)}" width="7" height="7" rx="1" fill="${escapeXml(color)}"/>`).join("")}<text x="${number(bounds.x + 25 + legendColors.length * 9 + 2)}" y="${number(bounds.y + bounds.height - 4)}">more</text></g>`
174
194
  : "";
175
- return `<svg xmlns="http://www.w3.org/2000/svg" class="${escapeXml(classNames)}" viewBox="${number(bounds.x)} ${number(bounds.y)} ${number(bounds.width)} ${number(bounds.height)}" preserveAspectRatio="xMidYMid meet" style="display:block;width:100%;height:auto" role="img" aria-label="${escapeXml(label)}" data-total="${number(total)}" data-shape="${shape}" data-block-style="${blockStyle}" data-heatmap3d-theme="${theme}" data-material="${material}" data-animation="${animation}" data-interactive="false">${staticStyle}${patternMarkup}<g transform="translate(${number(sceneCenterX)} ${number(sceneCenterY)}) scale(${number(camera.zoom)}) translate(${-number(sceneCenterX)} ${-number(sceneCenterY)})">${floorMarkup}<g class="heatmap3d__axis" aria-hidden="true"><line x1="${number(axisBottom.x)}" y1="${number(axisBottom.y)}" x2="${number(axisTop.x)}" y2="${number(axisTop.y)}"/>${axisTicks}</g>${cellsMarkup}${labelsMarkup}${legendMarkup}</g></svg>`;
195
+ const markup = `<svg xmlns="http://www.w3.org/2000/svg" class="${escapeXml(classNames)}" viewBox="${number(bounds.x)} ${number(bounds.y)} ${number(bounds.width)} ${number(bounds.height)}" preserveAspectRatio="xMidYMid meet" style="display:block;width:100%;height:auto" role="img" aria-label="${escapeXml(label)}" data-total="${number(total)}" data-shape="${shape}" data-block-style="${blockStyle}" data-heatmap3d-theme="${theme}" data-material="${material}" data-animation="${animation}" data-interactive="false">${staticStyle}${patternMarkup}<g transform="translate(${number(sceneCenterX)} ${number(sceneCenterY)}) scale(${number(camera.zoom)}) translate(${-number(sceneCenterX)} ${-number(sceneCenterY)})">${floorMarkup}<g class="heatmap3d__axis" aria-hidden="true"><line x1="${number(axisBottom.x)}" y1="${number(axisBottom.y)}" x2="${number(axisTop.x)}" y2="${number(axisTop.y)}"/>${axisTicks}</g>${cellsMarkup}${labelsMarkup}${legendMarkup}</g></svg>`;
196
+ return markup.split(SCOPE).join(`heatmap3d-static-${hash(markup)}`);
176
197
  }
177
198
  //# sourceMappingURL=static-svg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static-svg.js","sourceRoot":"","sources":["../src/static-svg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-svg.js","sourceRoot":"","sources":["../src/static-svg.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -51,7 +51,12 @@ export type HeatmapProps = Omit<HTMLAttributes<HTMLDivElement>, "values"> & {
51
51
  thresholds?: readonly number[];
52
52
  shape?: HeatmapShape;
53
53
  encode?: HeatmapEncoding;
54
+ /** Width and height of a square cell. `cellWidth` and `cellHeight` override it per axis. */
54
55
  cellSize?: number;
56
+ /** Defaults to `cellSize`. Narrow it for status strips. */
57
+ cellWidth?: number;
58
+ /** Defaults to `cellSize`. Circles and rings stay round, drawn at the shorter side. */
59
+ cellHeight?: number;
55
60
  gap?: number;
56
61
  /** Overrides the shape's own corner rounding. */
57
62
  radius?: number | string;
@@ -59,6 +64,12 @@ export type HeatmapProps = Omit<HTMLAttributes<HTMLDivElement>, "values"> & {
59
64
  colors?: readonly string[];
60
65
  /** A slot with a known value of zero. */
61
66
  emptyColor?: string;
67
+ /**
68
+ * Paints a cell directly, bypassing the ramp. Return `undefined` to fall back
69
+ * to it. Suits categorical data such as service status, where colours are not
70
+ * a progression. The legend still describes `colors`.
71
+ */
72
+ cellColor?: (cell: ResolvedCell) => string | undefined;
62
73
  /** Opacity applied to slots with no data. */
63
74
  unknownOpacity?: number;
64
75
  /** Smallest fraction of the slot a "size"-encoded cell may shrink to. */
@@ -118,7 +129,7 @@ export type Heatmap3DFaceColorArgs = {
118
129
  /** Override the default top/side material treatment for a cell. */
119
130
  export type Heatmap3DFaceColor = (args: Heatmap3DFaceColorArgs) => string;
120
131
  /** Heights encode actual values linearly, independently of the colour bands. */
121
- export type Heatmap3DProps = Omit<HeatmapProps, "shape" | "encode" | "radius" | "minScale" | "cellContent"> & {
132
+ export type Heatmap3DProps = Omit<HeatmapProps, "shape" | "encode" | "radius" | "minScale" | "cellContent" | "cellWidth" | "cellHeight" | "cellColor"> & {
122
133
  shape?: Heatmap3DShape;
123
134
  blockStyle?: Heatmap3DBlockStyle;
124
135
  /** Surface treatment. `color` defers to `colors`; the rest set their own. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AAExE,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEvE,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,KAAK,GACL,MAAM,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,QAAQ,GACR,KAAK,GACL,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;gEAE4D;IAC5D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE/B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAExD,SAAS,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAElE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC;IAC5C,gGAAgG;IAChG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC;IAChD,mFAAmF;IACnF,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAE3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3E,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,sBAAsB,KAAK,MAAM,CAAC;AAE1E,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CACtG,GAAG;IACF,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,yEAAyE;IACzE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,wFAAwF;IACxF,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;+EAC2E;IAC3E,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thilakbhat/heatmap-ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "A headless heatmap toolkit for React. Any grid, eight cell shapes, a 3D SVG mode, and full control of colour, size and layout.",
5
5
  "license": "MIT",
6
6
  "type": "module",