@vielzeug/prism 2.2.6 → 3.0.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.
Files changed (105) hide show
  1. package/README.md +19 -40
  2. package/dist/_dev.cjs +1 -1
  3. package/dist/_dev.cjs.map +1 -1
  4. package/dist/_dev.js +1 -2
  5. package/dist/_dev.js.map +1 -1
  6. package/dist/axes/axis.cjs +1 -1
  7. package/dist/axes/axis.cjs.map +1 -1
  8. package/dist/axes/axis.d.ts +1 -0
  9. package/dist/axes/axis.d.ts.map +1 -1
  10. package/dist/axes/axis.js +15 -11
  11. package/dist/axes/axis.js.map +1 -1
  12. package/dist/charts/area/area-chart.cjs +1 -1
  13. package/dist/charts/area/area-chart.cjs.map +1 -1
  14. package/dist/charts/area/area-chart.d.ts +2 -2
  15. package/dist/charts/area/area-chart.d.ts.map +1 -1
  16. package/dist/charts/area/area-chart.js +45 -49
  17. package/dist/charts/area/area-chart.js.map +1 -1
  18. package/dist/charts/area/area-renderer.cjs +1 -1
  19. package/dist/charts/area/area-renderer.cjs.map +1 -1
  20. package/dist/charts/area/area-renderer.d.ts +2 -2
  21. package/dist/charts/area/area-renderer.d.ts.map +1 -1
  22. package/dist/charts/area/area-renderer.js +14 -14
  23. package/dist/charts/area/area-renderer.js.map +1 -1
  24. package/dist/charts/bar/bar-chart.cjs +1 -1
  25. package/dist/charts/bar/bar-chart.cjs.map +1 -1
  26. package/dist/charts/bar/bar-chart.d.ts +2 -2
  27. package/dist/charts/bar/bar-chart.d.ts.map +1 -1
  28. package/dist/charts/bar/bar-chart.js +140 -143
  29. package/dist/charts/bar/bar-chart.js.map +1 -1
  30. package/dist/charts/bar/bar-hit-test.cjs +1 -1
  31. package/dist/charts/bar/bar-hit-test.cjs.map +1 -1
  32. package/dist/charts/bar/bar-hit-test.js +5 -4
  33. package/dist/charts/bar/bar-hit-test.js.map +1 -1
  34. package/dist/charts/bar/bar-renderer.cjs +1 -1
  35. package/dist/charts/bar/bar-renderer.js +24 -24
  36. package/dist/charts/line/line-chart.cjs +1 -1
  37. package/dist/charts/line/line-chart.cjs.map +1 -1
  38. package/dist/charts/line/line-chart.d.ts +2 -2
  39. package/dist/charts/line/line-chart.d.ts.map +1 -1
  40. package/dist/charts/line/line-chart.js +46 -50
  41. package/dist/charts/line/line-chart.js.map +1 -1
  42. package/dist/charts/line/line-renderer.cjs +1 -1
  43. package/dist/charts/line/line-renderer.cjs.map +1 -1
  44. package/dist/charts/line/line-renderer.d.ts +2 -2
  45. package/dist/charts/line/line-renderer.d.ts.map +1 -1
  46. package/dist/charts/line/line-renderer.js +34 -34
  47. package/dist/charts/line/line-renderer.js.map +1 -1
  48. package/dist/charts/pie/pie-chart.cjs +1 -1
  49. package/dist/charts/pie/pie-chart.cjs.map +1 -1
  50. package/dist/charts/pie/pie-chart.d.ts +2 -2
  51. package/dist/charts/pie/pie-chart.d.ts.map +1 -1
  52. package/dist/charts/pie/pie-chart.js +84 -79
  53. package/dist/charts/pie/pie-chart.js.map +1 -1
  54. package/dist/charts/sparkline/sparkline.cjs +1 -1
  55. package/dist/charts/sparkline/sparkline.cjs.map +1 -1
  56. package/dist/charts/sparkline/sparkline.d.ts +2 -2
  57. package/dist/charts/sparkline/sparkline.d.ts.map +1 -1
  58. package/dist/charts/sparkline/sparkline.js +100 -101
  59. package/dist/charts/sparkline/sparkline.js.map +1 -1
  60. package/dist/core/chart-base.cjs +1 -1
  61. package/dist/core/chart-base.cjs.map +1 -1
  62. package/dist/core/chart-base.d.ts +2 -4
  63. package/dist/core/chart-base.d.ts.map +1 -1
  64. package/dist/core/chart-base.js +21 -30
  65. package/dist/core/chart-base.js.map +1 -1
  66. package/dist/core/chart-scaffold.cjs +1 -1
  67. package/dist/core/chart-scaffold.cjs.map +1 -1
  68. package/dist/core/chart-scaffold.d.ts +9 -10
  69. package/dist/core/chart-scaffold.d.ts.map +1 -1
  70. package/dist/core/chart-scaffold.js +31 -43
  71. package/dist/core/chart-scaffold.js.map +1 -1
  72. package/dist/core/index.d.ts +0 -1
  73. package/dist/core/index.d.ts.map +1 -1
  74. package/dist/core/layout.cjs +1 -1
  75. package/dist/core/layout.cjs.map +1 -1
  76. package/dist/core/layout.js +1 -1
  77. package/dist/core/layout.js.map +1 -1
  78. package/dist/index.cjs +1 -1
  79. package/dist/index.d.ts +2 -6
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +11 -12
  82. package/dist/interaction/legend.cjs +1 -1
  83. package/dist/interaction/legend.cjs.map +1 -1
  84. package/dist/interaction/legend.js +1 -1
  85. package/dist/interaction/legend.js.map +1 -1
  86. package/dist/interaction/tooltip.cjs +1 -1
  87. package/dist/interaction/tooltip.cjs.map +1 -1
  88. package/dist/interaction/tooltip.d.ts.map +1 -1
  89. package/dist/interaction/tooltip.js +29 -29
  90. package/dist/interaction/tooltip.js.map +1 -1
  91. package/dist/prism.cjs +1 -1
  92. package/dist/prism.cjs.map +1 -1
  93. package/dist/prism.iife.js +1 -1
  94. package/dist/prism.iife.js.map +1 -1
  95. package/dist/prism.js +1 -1
  96. package/dist/prism.js.map +1 -1
  97. package/dist/types.d.ts +24 -48
  98. package/dist/types.d.ts.map +1 -1
  99. package/package.json +8 -9
  100. package/dist/core/resolve.cjs +0 -2
  101. package/dist/core/resolve.cjs.map +0 -1
  102. package/dist/core/resolve.d.ts +0 -9
  103. package/dist/core/resolve.d.ts.map +0 -1
  104. package/dist/core/resolve.js +0 -15
  105. package/dist/core/resolve.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import type { Readable } from '@vielzeug/ripple';
2
- export type MaybeSignal<T> = Readable<T> | T;
3
1
  export interface PrismTheme {
4
2
  colors?: string[];
5
3
  fontFamily?: string;
@@ -17,11 +15,12 @@ export interface ChartDimensions {
17
15
  margin: ChartMargin;
18
16
  width: number;
19
17
  }
20
- export interface ChartHandle {
18
+ export interface ChartHandle<TData = unknown> {
21
19
  readonly disposalSignal: AbortSignal;
22
20
  dispose(): void;
23
21
  readonly disposed: boolean;
24
22
  readonly el: SVGSVGElement;
23
+ update(data: TData): void;
25
24
  [Symbol.dispose](): void;
26
25
  }
27
26
  /**
@@ -29,14 +28,15 @@ export interface ChartHandle {
29
28
  * `key` is the x-axis identity (number, Date, or string category).
30
29
  * `value` is the measured quantity on the y-axis.
31
30
  */
32
- export interface Datum {
33
- key: Date | number | string;
31
+ export interface Datum<TKey extends Date | number | string = Date | number | string> {
32
+ key: TKey;
34
33
  meta?: Record<string, unknown>;
35
34
  value: number;
36
35
  }
37
- export interface Series {
36
+ export type ContinuousDatum = Datum<Date | number>;
37
+ export interface Series<TDatum extends Datum = Datum> {
38
38
  color?: string;
39
- data: MaybeSignal<Datum[]>;
39
+ data: TDatum[];
40
40
  name: string;
41
41
  }
42
42
  export interface Scale<T> {
@@ -54,36 +54,25 @@ export interface BandScale {
54
54
  readonly range: readonly [number, number];
55
55
  ticks(count?: number): string[];
56
56
  }
57
- export type AxisPosition = 'bottom' | 'left' | 'right' | 'top';
57
+ export type HorizontalAxisPosition = 'bottom' | 'top';
58
+ export type VerticalAxisPosition = 'left' | 'right';
59
+ export type AxisPosition = HorizontalAxisPosition | VerticalAxisPosition;
58
60
  export interface GridConfig {
59
61
  color?: string;
60
62
  dash?: string;
61
63
  }
62
- export interface AxisConfig {
64
+ export interface AxisConfig<TPosition extends AxisPosition = AxisPosition> {
63
65
  grid?: GridConfig | boolean;
64
66
  label?: string;
65
- /**
66
- * Axis position. Defaults to `'bottom'` for `xAxis` and `'left'` for `yAxis`
67
- * when not specified.
68
- */
69
- position?: AxisPosition;
67
+ position?: TPosition;
70
68
  tickCount?: number;
71
69
  tickFormat?: (value: Date | number | string) => string;
72
70
  }
71
+ export type XAxisConfig = AxisConfig<HorizontalAxisPosition>;
72
+ export type YAxisConfig = AxisConfig<VerticalAxisPosition>;
73
73
  export interface TooltipConfig {
74
74
  offset?: number;
75
- /**
76
- * Custom HTML renderer for the tooltip. The returned string is set via `innerHTML` —
77
- * ensure any user-supplied data (series names, data point values) is sanitized before
78
- * interpolation to prevent XSS.
79
- */
80
- render?: (datum: Datum, series: Series) => string;
81
- /**
82
- * Optional sanitizer applied to the `render` output before DOM injection.
83
- * Use this to plug in DOMPurify or a similar HTML sanitizer.
84
- * @example sanitize: (html) => DOMPurify.sanitize(html)
85
- */
86
- sanitize?: (html: string) => string;
75
+ render?: (datum: Datum, series: Series) => Node | string;
87
76
  }
88
77
  export interface CrosshairConfig {
89
78
  /** Show the horizontal crosshair line. Defaults to `false`. */
@@ -113,23 +102,11 @@ export interface TransitionConfig {
113
102
  preference?: 'always' | 'never' | 'system';
114
103
  stagger?: number;
115
104
  }
116
- export interface ChartPluginContext {
117
- container: HTMLElement;
118
- dimensions: Readable<ChartDimensions>;
119
- /** Aborted when the chart is disposed — plugins can tie their own cleanup to this instead of relying solely on `dispose()`. */
120
- disposalSignal: AbortSignal;
121
- svg: SVGSVGElement;
122
- }
123
- export interface ChartPlugin {
124
- dispose(): void;
125
- install(ctx: ChartPluginContext): void;
126
- }
127
105
  export type ChartA11y = {
128
106
  readonly decorative: true;
129
107
  } | {
130
108
  readonly ariaLabel: string;
131
109
  readonly decorative?: false;
132
- readonly description?: string;
133
110
  };
134
111
  export interface BaseChartConfig {
135
112
  /** Explicit decorative/informative accessibility intent. */
@@ -138,13 +115,12 @@ export interface BaseChartConfig {
138
115
  margin?: Partial<ChartMargin>;
139
116
  onClick?: (event: ChartEvent) => void;
140
117
  onHover?: (event: ChartEvent | null) => void;
141
- plugins?: ChartPlugin[];
142
118
  tooltip?: TooltipConfig | boolean;
143
119
  transition?: TransitionConfig;
144
- xAxis?: AxisConfig;
145
- yAxis?: AxisConfig;
120
+ xAxis?: XAxisConfig;
121
+ yAxis?: YAxisConfig;
146
122
  }
147
- export interface LineSeriesConfig extends Series {
123
+ export interface LineSeriesConfig extends Series<ContinuousDatum> {
148
124
  curve?: 'linear' | 'monotone' | 'step';
149
125
  pointRadius?: number;
150
126
  showPoints?: boolean;
@@ -152,7 +128,7 @@ export interface LineSeriesConfig extends Series {
152
128
  }
153
129
  export interface LineChartConfig extends BaseChartConfig {
154
130
  crosshair?: CrosshairConfig | boolean;
155
- series: MaybeSignal<LineSeriesConfig[]>;
131
+ series: LineSeriesConfig[];
156
132
  }
157
133
  export interface BarSeriesConfig extends Series {
158
134
  borderRadius?: number;
@@ -165,17 +141,17 @@ export interface BarSeriesConfig extends Series {
165
141
  */
166
142
  export type BarVariant = 'grouped' | 'grouped-horizontal' | 'stacked' | 'stacked-horizontal';
167
143
  export interface BarChartConfig extends BaseChartConfig {
168
- series: MaybeSignal<BarSeriesConfig[]>;
144
+ series: BarSeriesConfig[];
169
145
  variant?: BarVariant;
170
146
  }
171
- export interface AreaSeriesConfig extends Series {
147
+ export interface AreaSeriesConfig extends Series<ContinuousDatum> {
172
148
  curve?: 'linear' | 'monotone' | 'step';
173
149
  fillOpacity?: number;
174
150
  showLine?: boolean;
175
151
  }
176
152
  export interface AreaChartConfig extends BaseChartConfig {
177
153
  crosshair?: CrosshairConfig | boolean;
178
- series: MaybeSignal<AreaSeriesConfig[]>;
154
+ series: AreaSeriesConfig[];
179
155
  }
180
156
  export type PieVariant = 'donut' | 'pie' | 'semi';
181
157
  export interface PieSliceConfig {
@@ -185,7 +161,7 @@ export interface PieSliceConfig {
185
161
  }
186
162
  export interface PieChartConfig extends Omit<BaseChartConfig, 'margin' | 'onClick' | 'onHover' | 'xAxis' | 'yAxis'> {
187
163
  cornerRadius?: number;
188
- data: MaybeSignal<PieSliceConfig[]>;
164
+ data: PieSliceConfig[];
189
165
  innerRadius?: number;
190
166
  onClick?: (slice: PieSliceConfig, index: number) => void;
191
167
  onHover?: (slice: PieSliceConfig | null, index: number | null) => void;
@@ -203,7 +179,7 @@ export interface SparklineConfig {
203
179
  color?: string;
204
180
  cornerRadius?: number;
205
181
  curve?: 'linear' | 'monotone' | 'step';
206
- data: MaybeSignal<number[] | StackSegment[]>;
182
+ data: number[] | StackSegment[];
207
183
  fillOpacity?: number;
208
184
  onClick?: (index: number, value: number) => void;
209
185
  onHover?: (index: number | null, value: number | null) => void;
@@ -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":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@vielzeug/prism",
3
- "version": "2.2.6",
4
- "description": "Reactive SVG charts — line, bar, area, pie, and sparkline with signal-driven updates",
3
+ "version": "3.0.0",
4
+ "description": "Responsive SVG charts — line, bar, area, pie, and sparkline with explicit updates",
5
5
  "keywords": [
6
6
  "chart",
7
7
  "svg",
8
8
  "visualization",
9
- "reactive",
9
+ "responsive",
10
10
  "line-chart",
11
11
  "bar-chart",
12
12
  "area-chart",
@@ -62,22 +62,21 @@
62
62
  "registry": "https://registry.npmjs.org/"
63
63
  },
64
64
  "scripts": {
65
- "build": "vite build && pnpm run build:bundle && mkdir -p dist/theme && cp src/theme/prism.css dist/theme/prism.css && pnpm run build:types",
65
+ "build": "vite build && pnpm --silent run build:bundle && mkdir -p dist/theme && cp src/theme/prism.css dist/theme/prism.css && pnpm --silent run build:types",
66
66
  "build:bundle": "vite build --config vite.bundle.config.ts",
67
67
  "build:types": "tsc -p tsconfig.declarations.json",
68
68
  "fix": "biome check --write src",
69
69
  "lint": "biome ci src",
70
- "prepublishOnly": "pnpm run build",
70
+ "prepublishOnly": "pnpm --silent run build",
71
71
  "test": "vitest"
72
72
  },
73
73
  "dependencies": {
74
- "@vielzeug/orbit": "2.1.4",
75
- "@vielzeug/ripple": "2.3.0"
74
+ "@vielzeug/orbit": "3.0.0"
76
75
  },
77
76
  "devDependencies": {
78
77
  "axe-core": "^4.13.0",
79
78
  "typescript": "^6.0.3",
80
- "vite": "^8.2.1",
81
- "vitest": "^4.1.10"
79
+ "vite": "^8.2.2",
80
+ "vitest": "^5.0.0"
82
81
  }
83
82
  }
@@ -1,2 +0,0 @@
1
- let e=require("@vielzeug/ripple");function t(t){return(0,e.isReactive)(t)?t:{peek:()=>t,subscribe:()=>()=>{},get value(){return t}}}exports.resolveMaybeSignal=t;
2
- //# sourceMappingURL=resolve.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.cjs","names":[],"sources":["../../src/core/resolve.ts"],"sourcesContent":["import { isReactive, type Readable } from '@vielzeug/ripple';\nimport type { MaybeSignal } from '../types';\n\n/**\n * Normalizes a `MaybeSignal<T>` into a `Readable<T>`. Plain values are wrapped\n * in a constant readable so chart factories can `.value`/`.peek` uniformly and\n * drop repeated `isReactive()` checks per render.\n */\nexport function resolveMaybeSignal<T>(value: MaybeSignal<T>): Readable<T> {\n return isReactive(value)\n ? value\n : {\n peek: () => value,\n subscribe: () => () => {},\n get value() {\n return value;\n },\n };\n}\n"],"mappings":"kCAQA,SAAgB,EAAsB,EAAoC,CACxE,OAAA,EAAO,EAAA,WAAA,CAAW,CAAK,EACnB,EACA,CACE,SAAY,EACZ,kBAAuB,CAAC,EACxB,IAAI,OAAQ,CACV,OAAO,CACT,CACF,CACN"}
@@ -1,9 +0,0 @@
1
- import { type Readable } from '@vielzeug/ripple';
2
- import type { MaybeSignal } from '../types';
3
- /**
4
- * Normalizes a `MaybeSignal<T>` into a `Readable<T>`. Plain values are wrapped
5
- * in a constant readable so chart factories can `.value`/`.peek` uniformly and
6
- * drop repeated `isReactive()` checks per render.
7
- */
8
- export declare function resolveMaybeSignal<T>(value: MaybeSignal<T>): Readable<T>;
9
- //# sourceMappingURL=resolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAUxE"}
@@ -1,15 +0,0 @@
1
- import { isReactive as e } from "@vielzeug/ripple";
2
- //#region src/core/resolve.ts
3
- function t(t) {
4
- return e(t) ? t : {
5
- peek: () => t,
6
- subscribe: () => () => {},
7
- get value() {
8
- return t;
9
- }
10
- };
11
- }
12
- //#endregion
13
- export { t as resolveMaybeSignal };
14
-
15
- //# sourceMappingURL=resolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.js","names":[],"sources":["../../src/core/resolve.ts"],"sourcesContent":["import { isReactive, type Readable } from '@vielzeug/ripple';\nimport type { MaybeSignal } from '../types';\n\n/**\n * Normalizes a `MaybeSignal<T>` into a `Readable<T>`. Plain values are wrapped\n * in a constant readable so chart factories can `.value`/`.peek` uniformly and\n * drop repeated `isReactive()` checks per render.\n */\nexport function resolveMaybeSignal<T>(value: MaybeSignal<T>): Readable<T> {\n return isReactive(value)\n ? value\n : {\n peek: () => value,\n subscribe: () => () => {},\n get value() {\n return value;\n },\n };\n}\n"],"mappings":";;AAQA,SAAgB,EAAsB,GAAoC;CACxE,OAAO,EAAW,CAAK,IACnB,IACA;EACE,YAAY;EACZ,uBAAuB,CAAC;EACxB,IAAI,QAAQ;GACV,OAAO;EACT;CACF;AACN"}