abstract-image 13.3.2 → 13.3.3

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## [13.3.3] - 2026-10-25
6
+
7
+ - Added: `classNames`, the classes `ReactSvg` puts on what it draws, so a page's CSS styles a drawing without reaching into it: `ai-root` on its svg, `ai-image` on an embedded picture, e.g. inverted in a dark theme, and `ai-part` on an element with an id, e.g. clickable. A sub image's svg is drawn without the root's class and id.
8
+ - Added: `ReactSvg`'s `className`, its svg's class besides `ai-root`, e.g. sized to fill its box, and a `Text`'s `className` (`createText`'s last argument), added to its elements' classes, e.g. a chart's axis title.
9
+ - Changed: `ReactSvg` draws a text's color and outline as `fill`, `stroke` and `stroke-width` attributes instead of an inline style, so a class can override them, e.g. on hover. It looks the same.
10
+
5
11
  ## [13.3.0] - 2026-10-05
6
12
 
7
13
  - Added: Support for `"avif"` as `BinaryFormat`. AVIF binary images are rendered by the SVG and React SVG exporters.
@@ -12,9 +12,11 @@ export type MouseCallback = (id: string | undefined, point: Point) => void;
12
12
  export type ReactSvgOptions = {
13
13
  readonly imageDataByUrl: Record<string, `data:image/${string},${string}` | AbstractImage>;
14
14
  };
15
- export declare function ReactSvg({ image, callbacks, options, }: {
15
+ /** Drawn with `classNames`' classes on its parts; `className` its svg's class besides `classNames.root`, e.g. sized to fill its box */
16
+ export declare function ReactSvg({ image, callbacks, options, className, }: {
16
17
  readonly image: AbstractImage;
17
18
  readonly callbacks?: ReactSvgCallbacks;
18
19
  readonly options?: Optional<ReactSvgOptions>;
20
+ readonly className?: string;
19
21
  }): React.JSX.Element;
20
22
  //# sourceMappingURL=react-svg-export-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-svg-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/react-svg-export-image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,MAAM,IAAI,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;CAC3F,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;CAC9C,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAuBpB"}
1
+ {"version":3,"file":"react-svg-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/react-svg-export-image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,MAAM,IAAI,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;CAC3F,CAAC;AAEF,uIAAuI;AACvI,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,OAAO,EACP,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwBpB"}
@@ -1,14 +1,16 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { fromByteArray } from "base64-js";
3
3
  import React from "react";
4
+ import { classNames } from "../model/class-names.js";
4
5
  import { createPoint } from "../model/point.js";
5
- export function ReactSvg({ image, callbacks, options, }) {
6
+ /** Drawn with `classNames`' classes on its parts; `className` its svg's class besides `classNames.root`, e.g. sized to fill its box */
7
+ export function ReactSvg({ image, callbacks, options, className, }) {
6
8
  const opts = {
7
9
  imageDataByUrl: options?.imageDataByUrl ?? {},
8
10
  };
9
11
  const cb = callbacks ?? {};
10
12
  const id = "ai_root";
11
- return (_jsx("svg", { id: id, width: `${image.size.width}px`, height: `${image.size.height}px`, viewBox: [0, 0, image.size.width, image.size.height].join(" "), onClick: _callback(cb.onClick, id), onDoubleClick: _callback(cb.onDoubleClick, id), onMouseMove: _callback(cb.onMouseMove, id), onContextMenu: _callback(cb.onContextMenu, id), children: image.components.map((c, i) => (_jsx(JsxComponent, { component: c, options: opts }, i))) }));
13
+ return (_jsx("svg", { id: id, className: className ? `${classNames.root} ${className}` : classNames.root, width: `${image.size.width}px`, height: `${image.size.height}px`, viewBox: [0, 0, image.size.width, image.size.height].join(" "), onClick: _callback(cb.onClick, id), onDoubleClick: _callback(cb.onDoubleClick, id), onMouseMove: _callback(cb.onMouseMove, id), onContextMenu: _callback(cb.onContextMenu, id), children: image.components.map((c, i) => (_jsx(JsxComponent, { component: c, options: opts }, i))) }));
12
14
  }
13
15
  function _callback(callback, rootId) {
14
16
  if (!callback) {
@@ -29,6 +31,15 @@ function makeIdAttr(id) {
29
31
  }
30
32
  return `ai%${id}`;
31
33
  }
34
+ /** An element's classes: `classNames.part` with an id, and a text's own */
35
+ function makePartClass(id, className) {
36
+ const part = id ? classNames.part : undefined;
37
+ return part && className ? `${part} ${className}` : (part ?? className);
38
+ }
39
+ /** A sub image's svg, without the root's class, id or callbacks */
40
+ function subImageSvg(image, options) {
41
+ return (_jsx("svg", { width: `${image.size.width}px`, height: `${image.size.height}px`, viewBox: [0, 0, image.size.width, image.size.height].join(" "), children: image.components.map((c, i) => (_jsx(JsxComponent, { component: c, options: options }, i))) }));
42
+ }
32
43
  function getIdAttr(target, rootId) {
33
44
  if (!target || target.id === rootId) {
34
45
  return undefined;
@@ -56,14 +67,14 @@ function JsxComponent({ component, options }) {
56
67
  return _jsx(_Fragment, {});
57
68
  }
58
69
  if (typeof data === "string") {
59
- return _jsx("image", { x: x, y: y, width: width, height: height, id: id, href: data });
70
+ return _jsx("image", { x: x, y: y, width: width, height: height, id: id, className: classNames.image, href: data });
60
71
  }
61
72
  const scale = Math.min(width / (data.size.width || 1), height / (data.size.height || 1));
62
- return (_jsx("g", { transform: `translate(${x}, ${y}) scale(${scale})`, children: _jsx(ReactSvg, { image: data, options: { imageDataByUrl: options.imageDataByUrl } }) }));
73
+ return _jsx("g", { transform: `translate(${x}, ${y}) scale(${scale})`, children: subImageSvg(data, options) });
63
74
  }
64
75
  else if (component.format === "png" || component.format === "avif") {
65
76
  const base64 = fromByteArray(component.data.bytes);
66
- return _jsx("image", { x: x, y: y, width: width, height: height, id: id, href: `data:image/${component.format};base64,${base64}` });
77
+ return (_jsx("image", { x: x, y: y, width: width, height: height, id: id, className: classNames.image, href: `data:image/${component.format};base64,${base64}` }));
67
78
  }
68
79
  else if (component.format === "svg") {
69
80
  const svg = String.fromCharCode(...component.data.bytes).replace('<?xml version="1.0" encoding="utf-8"?>', "");
@@ -72,17 +83,17 @@ function JsxComponent({ component, options }) {
72
83
  bytes.push(svg.charCodeAt(i));
73
84
  }
74
85
  const base64 = fromByteArray(new Uint8Array(bytes));
75
- return _jsx("image", { x: x, y: y, width: width, height: height, id: id, href: `data:image/svg+xml;base64,${base64}` });
86
+ return _jsx("image", { x: x, y: y, width: width, height: height, id: id, className: classNames.image, href: `data:image/svg+xml;base64,${base64}` });
76
87
  }
77
88
  return _jsx(_Fragment, {});
78
89
  }
79
90
  case "subimage": {
80
- return (_jsx("g", { transform: `translate(${component.topLeft.x}, ${component.topLeft.y}) scale(${Math.min(component.size.width / (component.image.size.width || 1), component.size.height / (component.image.size.height || 1))})`, children: _jsx(ReactSvg, { image: component.image, options: options }) }));
91
+ return (_jsx("g", { transform: `translate(${component.topLeft.x}, ${component.topLeft.y}) scale(${Math.min(component.size.width / (component.image.size.width || 1), component.size.height / (component.image.size.height || 1))})`, children: subImageSvg(component.image, options) }));
81
92
  }
82
93
  case "line": {
83
94
  const strokeDasharray = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.dashes.join(" ") : undefined;
84
95
  const strokeDashoffset = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.offset : undefined;
85
- return (_jsx("line", { id: makeIdAttr(component.id), x1: component.start.x, y1: component.start.y, x2: component.end.x, y2: component.end.y, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeLinecap: component.strokeLineCap, strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset }));
96
+ return (_jsx("line", { id: makeIdAttr(component.id), className: makePartClass(component.id), x1: component.start.x, y1: component.start.y, x2: component.end.x, y2: component.end.y, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeLinecap: component.strokeLineCap, strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset }));
86
97
  }
87
98
  case "text": {
88
99
  if (!component.text) {
@@ -98,11 +109,7 @@ function JsxComponent({ component, options }) {
98
109
  fontWeight: getTextFontWeight(component.fontWeight),
99
110
  fontFamily: component.fontFamily,
100
111
  };
101
- return (_jsxs(_Fragment, { children: [component.strokeThickness > 0 && (_jsx("text", { style: {
102
- ...baseStyle,
103
- stroke: colorToRgb(component.strokeColor),
104
- strokeWidth: component.strokeThickness,
105
- }, transform: transform, id: makeIdAttr(component.id), children: tSpans })), _jsx("text", { style: { ...baseStyle, fill: colorToRgb(component.textColor) }, transform: transform, id: makeIdAttr(component.id), children: tSpans })] }));
112
+ return (_jsxs(_Fragment, { children: [component.strokeThickness > 0 && (_jsx("text", { style: baseStyle, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, transform: transform, id: makeIdAttr(component.id), className: makePartClass(component.id, component.className), children: tSpans })), _jsx("text", { style: baseStyle, fill: colorToRgb(component.textColor), transform: transform, id: makeIdAttr(component.id), className: makePartClass(component.id, component.className), children: tSpans })] }));
106
113
  }
107
114
  case "ellipse": {
108
115
  const rx = Math.abs(component.bottomRight.x - component.topLeft.x) * 0.5;
@@ -111,24 +118,24 @@ function JsxComponent({ component, options }) {
111
118
  const cy = (component.bottomRight.y + component.topLeft.y) * 0.5;
112
119
  const strokeDasharray = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.dashes.join(" ") : undefined;
113
120
  const strokeDashoffset = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.offset : undefined;
114
- return (_jsx("ellipse", { id: makeIdAttr(component.id), cx: cx, cy: cy, rx: rx, ry: ry, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fillOpacity: colorToOpacity(component.fillColor), fill: colorToRgb(component.fillColor) }));
121
+ return (_jsx("ellipse", { id: makeIdAttr(component.id), className: makePartClass(component.id), cx: cx, cy: cy, rx: rx, ry: ry, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fillOpacity: colorToOpacity(component.fillColor), fill: colorToRgb(component.fillColor) }));
115
122
  }
116
123
  case "polyline": {
117
124
  const linePoints = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" ");
118
125
  const strokeDasharray = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.dashes.join(" ") : undefined;
119
126
  const strokeDashoffset = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.offset : undefined;
120
- return (_jsx("polyline", { id: makeIdAttr(component.id), points: linePoints, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeLinejoin: component.strokeLineJoin, strokeLinecap: component.strokeLineCap, strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fill: "none" }));
127
+ return (_jsx("polyline", { id: makeIdAttr(component.id), className: makePartClass(component.id), points: linePoints, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeLinejoin: component.strokeLineJoin, strokeLinecap: component.strokeLineCap, strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fill: "none" }));
121
128
  }
122
129
  case "polygon": {
123
130
  const points = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" ");
124
131
  const strokeDasharray = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.dashes.join(" ") : undefined;
125
132
  const strokeDashoffset = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.offset : undefined;
126
- return (_jsx("polygon", { id: makeIdAttr(component.id), points: points, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeLinejoin: component.strokeLineJoin, strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fillOpacity: colorToOpacity(component.fillColor), fill: colorToRgb(component.fillColor) }));
133
+ return (_jsx("polygon", { id: makeIdAttr(component.id), className: makePartClass(component.id), points: points, stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeLinejoin: component.strokeLineJoin, strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fillOpacity: colorToOpacity(component.fillColor), fill: colorToRgb(component.fillColor) }));
127
134
  }
128
135
  case "rectangle": {
129
136
  const strokeDasharray = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.dashes.join(" ") : undefined;
130
137
  const strokeDashoffset = component.strokeDashStyle.dashes.length > 0 ? component.strokeDashStyle.offset : undefined;
131
- return (_jsx("rect", { id: makeIdAttr(component.id), x: component.topLeft.x, y: component.topLeft.y, width: Math.abs(component.bottomRight.x - component.topLeft.x), height: Math.abs(component.bottomRight.y - component.topLeft.y), stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fillOpacity: colorToOpacity(component.fillColor), ...(component.radius ? { rx: component.radius.x.toString(), ry: component.radius.y.toString() } : {}), fill: colorToRgb(component.fillColor) }));
138
+ return (_jsx("rect", { id: makeIdAttr(component.id), className: makePartClass(component.id), x: component.topLeft.x, y: component.topLeft.y, width: Math.abs(component.bottomRight.x - component.topLeft.x), height: Math.abs(component.bottomRight.y - component.topLeft.y), stroke: colorToRgb(component.strokeColor), strokeWidth: component.strokeThickness, strokeOpacity: colorToOpacity(component.strokeColor), strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, fillOpacity: colorToOpacity(component.fillColor), ...(component.radius ? { rx: component.radius.x.toString(), ry: component.radius.y.toString() } : {}), fill: colorToRgb(component.fillColor) }));
132
139
  }
133
140
  default:
134
141
  return _jsx(_Fragment, {});
@@ -1 +1 @@
1
- {"version":3,"file":"react-svg-export-image.js","sourceRoot":"","sources":["../../src/exporters/react-svg-export-image.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-svg-export-image.js","sourceRoot":"","sources":["../../src/exporters/react-svg-export-image.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from "./model/component.js";
4
4
  export * from "./model/point.js";
5
5
  export * from "./model/size.js";
6
6
  export * from "./model/dash-style.js";
7
+ export * from "./model/class-names.js";
7
8
  export * from "./exporters/svg-export-image.js";
8
9
  export * from "./exporters/png-export-image.js";
9
10
  export * from "./exporters/dxf2d-export-image.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
package/lib/index.js CHANGED
@@ -4,6 +4,7 @@ export * from "./model/component.js";
4
4
  export * from "./model/point.js";
5
5
  export * from "./model/size.js";
6
6
  export * from "./model/dash-style.js";
7
+ export * from "./model/class-names.js";
7
8
  export * from "./exporters/svg-export-image.js";
8
9
  export * from "./exporters/png-export-image.js";
9
10
  export * from "./exporters/dxf2d-export-image.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The classes ReactSvg puts on what it draws, for the page's CSS: `root` on the svg, not a sub image's, `image` on an embedded picture, e.g. inverted
3
+ * in a dark theme, `part` on an element with an id, e.g. clickable; a text's `className` is added to them. Colors and strokes are attributes, which a
4
+ * class overrides; a text's font and anchor are its inline style, which it doesn't
5
+ */
6
+ export declare const classNames: {
7
+ readonly root: "ai-root";
8
+ readonly image: "ai-image";
9
+ readonly part: "ai-part";
10
+ };
11
+ //# sourceMappingURL=class-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-names.d.ts","sourceRoot":"","sources":["../../src/model/class-names.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU;aACrB,IAAI,EAAE,SAAS;aACf,KAAK,EAAE,UAAU;aACjB,IAAI,EAAE,SAAS;CACP,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The classes ReactSvg puts on what it draws, for the page's CSS: `root` on the svg, not a sub image's, `image` on an embedded picture, e.g. inverted
3
+ * in a dark theme, `part` on an element with an id, e.g. clickable; a text's `className` is added to them. Colors and strokes are attributes, which a
4
+ * class overrides; a text's font and anchor are its inline style, which it doesn't
5
+ */
6
+ export const classNames = {
7
+ root: "ai-root",
8
+ image: "ai-image",
9
+ part: "ai-part",
10
+ };
11
+ //# sourceMappingURL=class-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-names.js","sourceRoot":"","sources":["../../src/model/class-names.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;CACP,CAAC"}
@@ -108,8 +108,10 @@ export interface Text {
108
108
  readonly strokeColor: Color;
109
109
  readonly italic: boolean;
110
110
  readonly id: string | undefined;
111
+ /** Its class for the page's CSS, besides ReactSvg's own, e.g. a chart's axis label */
112
+ readonly className?: string;
111
113
  }
112
- export declare function createText(position: Point, text: string, fontFamily: string, fontSize: number, textColor: Color, fontWeight: AbstractFontWeight, clockwiseRotationDegrees: number, textAlignment: TextAlignment, horizontalGrowthDirection: GrowthDirection, verticalGrowthDirection: GrowthDirection, strokeThickness: number, strokeColor: Color, italic: boolean, id?: string): Text;
114
+ export declare function createText(position: Point, text: string, fontFamily: string, fontSize: number, textColor: Color, fontWeight: AbstractFontWeight, clockwiseRotationDegrees: number, textAlignment: TextAlignment, horizontalGrowthDirection: GrowthDirection, verticalGrowthDirection: GrowthDirection, strokeThickness: number, strokeColor: Color, italic: boolean, id?: string, className?: string): Text;
113
115
  export interface SubImage {
114
116
  readonly type: "subimage";
115
117
  readonly topLeft: Point;
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ export function corners(rectangle) {
86
86
  createPoint(rectangle.topLeft.x, rectangle.bottomRight.y),
87
87
  ];
88
88
  }
89
- export function createText(position, text, fontFamily, fontSize, textColor, fontWeight, clockwiseRotationDegrees, textAlignment, horizontalGrowthDirection, verticalGrowthDirection, strokeThickness, strokeColor, italic, id) {
89
+ export function createText(position, text, fontFamily, fontSize, textColor, fontWeight, clockwiseRotationDegrees, textAlignment, horizontalGrowthDirection, verticalGrowthDirection, strokeThickness, strokeColor, italic, id, className) {
90
90
  return {
91
91
  type: "text",
92
92
  position,
@@ -103,6 +103,7 @@ export function createText(position, text, fontFamily, fontSize, textColor, font
103
103
  strokeColor,
104
104
  italic,
105
105
  id,
106
+ className,
106
107
  };
107
108
  }
108
109
  export function createSubImage(topLeft, size, image) {
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ export * from "./component.js";
4
4
  export * from "./point.js";
5
5
  export * from "./size.js";
6
6
  export * from "./dash-style.js";
7
+ export * from "./class-names.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -4,4 +4,5 @@ export * from "./component.js";
4
4
  export * from "./point.js";
5
5
  export * from "./size.js";
6
6
  export * from "./dash-style.js";
7
+ export * from "./class-names.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "abstract-image",
3
- "version": "13.3.2",
4
- "gitHead": "9974b3dd8cde2880c3072b597c1c0109d1163612",
3
+ "version": "13.3.3",
4
+ "gitHead": "cdcb7ec10b6d33a25bbf788fa8a87ea053f55149",
5
5
  "description": "Dynamically create images using code or JSX and render to any format",
6
6
  "license": "MIT",
7
7
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-image",
@@ -1,6 +1,7 @@
1
1
  import { fromByteArray } from "base64-js";
2
2
  import React from "react";
3
3
  import type { AbstractImage } from "../model/abstract-image.js";
4
+ import { classNames } from "../model/class-names.js";
4
5
  import type { Color } from "../model/color.js";
5
6
  import type { AbstractFontWeight, Component, GrowthDirection } from "../model/component.js";
6
7
  import type { Point } from "../model/point.js";
@@ -20,14 +21,17 @@ export type ReactSvgOptions = {
20
21
  readonly imageDataByUrl: Record<string, `data:image/${string},${string}` | AbstractImage>;
21
22
  };
22
23
 
24
+ /** Drawn with `classNames`' classes on its parts; `className` its svg's class besides `classNames.root`, e.g. sized to fill its box */
23
25
  export function ReactSvg({
24
26
  image,
25
27
  callbacks,
26
28
  options,
29
+ className,
27
30
  }: {
28
31
  readonly image: AbstractImage;
29
32
  readonly callbacks?: ReactSvgCallbacks;
30
33
  readonly options?: Optional<ReactSvgOptions>;
34
+ readonly className?: string;
31
35
  }): React.JSX.Element {
32
36
  const opts: ReactSvgOptions = {
33
37
  imageDataByUrl: options?.imageDataByUrl ?? {},
@@ -38,6 +42,7 @@ export function ReactSvg({
38
42
  // oxlint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events -- rendered image/chart, click callbacks report hit coordinates rather than acting as an interactive widget
39
43
  <svg
40
44
  id={id}
45
+ className={className ? `${classNames.root} ${className}` : classNames.root}
41
46
  width={`${image.size.width}px`}
42
47
  height={`${image.size.height}px`}
43
48
  viewBox={[0, 0, image.size.width, image.size.height].join(" ")}
@@ -74,6 +79,23 @@ function makeIdAttr(id: string | undefined): string | undefined {
74
79
  return `ai%${id}`;
75
80
  }
76
81
 
82
+ /** An element's classes: `classNames.part` with an id, and a text's own */
83
+ function makePartClass(id: string | undefined, className?: string): string | undefined {
84
+ const part = id ? classNames.part : undefined;
85
+ return part && className ? `${part} ${className}` : (part ?? className);
86
+ }
87
+
88
+ /** A sub image's svg, without the root's class, id or callbacks */
89
+ function subImageSvg(image: AbstractImage, options: ReactSvgOptions): React.JSX.Element {
90
+ return (
91
+ <svg width={`${image.size.width}px`} height={`${image.size.height}px`} viewBox={[0, 0, image.size.width, image.size.height].join(" ")}>
92
+ {image.components.map((c, i) => (
93
+ <JsxComponent key={i} component={c} options={options} />
94
+ ))}
95
+ </svg>
96
+ );
97
+ }
98
+
77
99
  function getIdAttr(target: Element | undefined, rootId: string): string | undefined {
78
100
  if (!target || target.id === rootId) {
79
101
  return undefined;
@@ -108,17 +130,23 @@ function JsxComponent({ component, options }: { readonly component: Component; r
108
130
  return <></>;
109
131
  }
110
132
  if (typeof data === "string") {
111
- return <image x={x} y={y} width={width} height={height} id={id} href={data} />;
133
+ return <image x={x} y={y} width={width} height={height} id={id} className={classNames.image} href={data} />;
112
134
  }
113
135
  const scale = Math.min(width / (data.size.width || 1), height / (data.size.height || 1));
114
- return (
115
- <g transform={`translate(${x}, ${y}) scale(${scale})`}>
116
- <ReactSvg image={data} options={{ imageDataByUrl: options.imageDataByUrl }} />
117
- </g>
118
- );
136
+ return <g transform={`translate(${x}, ${y}) scale(${scale})`}>{subImageSvg(data, options)}</g>;
119
137
  } else if (component.format === "png" || component.format === "avif") {
120
138
  const base64 = fromByteArray(component.data.bytes);
121
- return <image x={x} y={y} width={width} height={height} id={id} href={`data:image/${component.format};base64,${base64}`} />;
139
+ return (
140
+ <image
141
+ x={x}
142
+ y={y}
143
+ width={width}
144
+ height={height}
145
+ id={id}
146
+ className={classNames.image}
147
+ href={`data:image/${component.format};base64,${base64}`}
148
+ />
149
+ );
122
150
  } else if (component.format === "svg") {
123
151
  const svg = String.fromCharCode(...component.data.bytes).replace('<?xml version="1.0" encoding="utf-8"?>', "");
124
152
  const bytes = [];
@@ -126,7 +154,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
126
154
  bytes.push(svg.charCodeAt(i));
127
155
  }
128
156
  const base64 = fromByteArray(new Uint8Array(bytes));
129
- return <image x={x} y={y} width={width} height={height} id={id} href={`data:image/svg+xml;base64,${base64}`} />;
157
+ return <image x={x} y={y} width={width} height={height} id={id} className={classNames.image} href={`data:image/svg+xml;base64,${base64}`} />;
130
158
  }
131
159
  return <></>;
132
160
  }
@@ -138,7 +166,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
138
166
  component.size.height / (component.image.size.height || 1)
139
167
  )})`}
140
168
  >
141
- <ReactSvg image={component.image} options={options} />
169
+ {subImageSvg(component.image, options)}
142
170
  </g>
143
171
  );
144
172
  }
@@ -148,6 +176,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
148
176
  return (
149
177
  <line
150
178
  id={makeIdAttr(component.id)}
179
+ className={makePartClass(component.id)}
151
180
  x1={component.start.x}
152
181
  y1={component.start.y}
153
182
  x2={component.end.x}
@@ -190,18 +219,24 @@ function JsxComponent({ component, options }: { readonly component: Component; r
190
219
  <>
191
220
  {component.strokeThickness > 0 && (
192
221
  <text
193
- style={{
194
- ...baseStyle,
195
- stroke: colorToRgb(component.strokeColor),
196
- strokeWidth: component.strokeThickness,
197
- }}
222
+ style={baseStyle}
223
+ stroke={colorToRgb(component.strokeColor)}
224
+ strokeWidth={component.strokeThickness}
198
225
  transform={transform}
199
226
  id={makeIdAttr(component.id)}
227
+ className={makePartClass(component.id, component.className)}
200
228
  >
201
229
  {tSpans}
202
230
  </text>
203
231
  )}
204
- <text style={{ ...baseStyle, fill: colorToRgb(component.textColor) }} transform={transform} id={makeIdAttr(component.id)}>
232
+ {/* Its colors attributes, which a class overrides, e.g. a hovered axis label */}
233
+ <text
234
+ style={baseStyle}
235
+ fill={colorToRgb(component.textColor)}
236
+ transform={transform}
237
+ id={makeIdAttr(component.id)}
238
+ className={makePartClass(component.id, component.className)}
239
+ >
205
240
  {tSpans}
206
241
  </text>
207
242
  </>
@@ -217,6 +252,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
217
252
  return (
218
253
  <ellipse
219
254
  id={makeIdAttr(component.id)}
255
+ className={makePartClass(component.id)}
220
256
  cx={cx}
221
257
  cy={cy}
222
258
  rx={rx}
@@ -238,6 +274,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
238
274
  return (
239
275
  <polyline
240
276
  id={makeIdAttr(component.id)}
277
+ className={makePartClass(component.id)}
241
278
  points={linePoints}
242
279
  stroke={colorToRgb(component.strokeColor)}
243
280
  strokeWidth={component.strokeThickness}
@@ -257,6 +294,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
257
294
  return (
258
295
  <polygon
259
296
  id={makeIdAttr(component.id)}
297
+ className={makePartClass(component.id)}
260
298
  points={points}
261
299
  stroke={colorToRgb(component.strokeColor)}
262
300
  strokeWidth={component.strokeThickness}
@@ -275,6 +313,7 @@ function JsxComponent({ component, options }: { readonly component: Component; r
275
313
  return (
276
314
  <rect
277
315
  id={makeIdAttr(component.id)}
316
+ className={makePartClass(component.id)}
278
317
  x={component.topLeft.x}
279
318
  y={component.topLeft.y}
280
319
  width={Math.abs(component.bottomRight.x - component.topLeft.x)}
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@ export * from "./model/component.js";
4
4
  export * from "./model/point.js";
5
5
  export * from "./model/size.js";
6
6
  export * from "./model/dash-style.js";
7
+ export * from "./model/class-names.js";
7
8
  export * from "./exporters/svg-export-image.js";
8
9
  export * from "./exporters/png-export-image.js";
9
10
  export * from "./exporters/dxf2d-export-image.js";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The classes ReactSvg puts on what it draws, for the page's CSS: `root` on the svg, not a sub image's, `image` on an embedded picture, e.g. inverted
3
+ * in a dark theme, `part` on an element with an id, e.g. clickable; a text's `className` is added to them. Colors and strokes are attributes, which a
4
+ * class overrides; a text's font and anchor are its inline style, which it doesn't
5
+ */
6
+ export const classNames = {
7
+ root: "ai-root",
8
+ image: "ai-image",
9
+ part: "ai-part",
10
+ } as const;
@@ -255,6 +255,8 @@ export interface Text {
255
255
  readonly strokeColor: Color;
256
256
  readonly italic: boolean;
257
257
  readonly id: string | undefined;
258
+ /** Its class for the page's CSS, besides ReactSvg's own, e.g. a chart's axis label */
259
+ readonly className?: string;
258
260
  }
259
261
 
260
262
  export function createText(
@@ -271,7 +273,8 @@ export function createText(
271
273
  strokeThickness: number,
272
274
  strokeColor: Color,
273
275
  italic: boolean,
274
- id?: string
276
+ id?: string,
277
+ className?: string
275
278
  ): Text {
276
279
  return {
277
280
  type: "text",
@@ -289,6 +292,7 @@ export function createText(
289
292
  strokeColor,
290
293
  italic,
291
294
  id,
295
+ className,
292
296
  };
293
297
  }
294
298
 
@@ -4,3 +4,4 @@ export * from "./component.js";
4
4
  export * from "./point.js";
5
5
  export * from "./size.js";
6
6
  export * from "./dash-style.js";
7
+ export * from "./class-names.js";