semiotic 3.2.2 → 3.3.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 (73) hide show
  1. package/CLAUDE.md +118 -222
  2. package/README.md +37 -17
  3. package/ai/schema.json +64 -1
  4. package/ai/system-prompt.md +3 -3
  5. package/dist/components/Tooltip/Tooltip.d.ts +6 -1
  6. package/dist/components/charts/index.d.ts +2 -0
  7. package/dist/components/charts/ordinal/BarChart.d.ts +2 -0
  8. package/dist/components/charts/ordinal/GaugeChart.d.ts +55 -0
  9. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -0
  10. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -0
  11. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -0
  12. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +2 -0
  13. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +2 -0
  14. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +2 -0
  15. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +2 -0
  16. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +2 -0
  17. package/dist/components/charts/shared/hooks.d.ts +5 -1
  18. package/dist/components/charts/shared/types.d.ts +14 -5
  19. package/dist/components/charts/shared/useChartSetup.d.ts +2 -0
  20. package/dist/components/charts/xy/AreaChart.d.ts +17 -2
  21. package/dist/components/charts/xy/LineChart.d.ts +14 -3
  22. package/dist/components/realtime/RingBuffer.d.ts +11 -0
  23. package/dist/components/realtime/types.d.ts +4 -0
  24. package/dist/components/semiotic-ordinal.d.ts +2 -0
  25. package/dist/components/semiotic-server.d.ts +6 -1
  26. package/dist/components/semiotic-utils.d.ts +2 -1
  27. package/dist/components/semiotic.d.ts +3 -3
  28. package/dist/components/server/animatedGif.d.ts +78 -0
  29. package/dist/components/server/renderToStaticSVG.d.ts +85 -5
  30. package/dist/components/server/staticAnnotations.d.ts +40 -0
  31. package/dist/components/server/staticLegend.d.ts +39 -0
  32. package/dist/components/server/svgHatchPattern.d.ts +26 -0
  33. package/dist/components/server/themeResolver.d.ts +35 -0
  34. package/dist/components/store/LinkedCrosshairStore.d.ts +6 -2
  35. package/dist/components/stream/CanvasHitTester.d.ts +13 -0
  36. package/dist/components/stream/GeoPipelineStore.d.ts +6 -1
  37. package/dist/components/stream/NetworkPipelineStore.d.ts +20 -0
  38. package/dist/components/stream/OrdinalPipelineStore.d.ts +11 -0
  39. package/dist/components/stream/OrdinalSVGOverlay.d.ts +6 -1
  40. package/dist/components/stream/PipelineStore.d.ts +28 -1
  41. package/dist/components/stream/SVGOverlay.d.ts +11 -5
  42. package/dist/components/stream/accessorUtils.d.ts +3 -3
  43. package/dist/components/stream/geoTypes.d.ts +2 -0
  44. package/dist/components/stream/hitTestUtils.d.ts +15 -0
  45. package/dist/components/stream/networkTypes.d.ts +33 -0
  46. package/dist/components/stream/ordinalTypes.d.ts +37 -4
  47. package/dist/components/stream/renderers/resolveCSSColor.d.ts +17 -0
  48. package/dist/components/stream/types.d.ts +58 -5
  49. package/dist/components/stream/xySceneBuilders/mixedScene.d.ts +12 -0
  50. package/dist/components/stream/xySceneBuilders/types.d.ts +15 -0
  51. package/dist/geo.min.js +1 -1
  52. package/dist/geo.module.min.js +1 -1
  53. package/dist/network.min.js +1 -1
  54. package/dist/network.module.min.js +1 -1
  55. package/dist/ordinal.min.js +1 -1
  56. package/dist/ordinal.module.min.js +1 -1
  57. package/dist/realtime.min.js +1 -1
  58. package/dist/realtime.module.min.js +1 -1
  59. package/dist/semiotic-ai.min.js +1 -1
  60. package/dist/semiotic-ai.module.min.js +1 -1
  61. package/dist/semiotic-ordinal.d.ts +2 -0
  62. package/dist/semiotic-server.d.ts +6 -1
  63. package/dist/semiotic-utils.d.ts +2 -1
  64. package/dist/semiotic-utils.min.js +1 -1
  65. package/dist/semiotic-utils.module.min.js +1 -1
  66. package/dist/semiotic.d.ts +3 -3
  67. package/dist/semiotic.min.js +1 -1
  68. package/dist/semiotic.module.min.js +1 -1
  69. package/dist/server.min.js +1 -1
  70. package/dist/server.module.min.js +1 -1
  71. package/dist/xy.min.js +1 -1
  72. package/dist/xy.module.min.js +1 -1
  73. package/package.json +21 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semiotic",
3
- "version": "3.2.2",
3
+ "version": "3.3.0",
4
4
  "mcpName": "io.github.nteract/semiotic",
5
5
  "description": "React data visualization library with built-in MCP server for AI-assisted chart generation",
6
6
  "main": "dist/semiotic.min.js",
@@ -106,6 +106,7 @@
106
106
  "bench:baseline": "vitest bench --run && node scripts/save-baseline.js",
107
107
  "bench:compare": "vitest bench --run && node scripts/compare-baseline.js",
108
108
  "serve-examples": "npm run dist && parcel serve integration-tests/index.html integration-tests/xy-examples/index.html integration-tests/ordinal-examples/index.html integration-tests/network-examples/index.html integration-tests/hoc-legend-examples/index.html integration-tests/coordinated-examples/index.html integration-tests/accessibility-examples/index.html integration-tests/geo-examples/index.html integration-tests/realtime-examples/index.html integration-tests/streaming-regression-examples/index.html --dist-dir .parcel-cache/integration-tests",
109
+ "serve-examples:ci": "parcel serve integration-tests/index.html integration-tests/xy-examples/index.html integration-tests/ordinal-examples/index.html integration-tests/network-examples/index.html integration-tests/hoc-legend-examples/index.html integration-tests/coordinated-examples/index.html integration-tests/accessibility-examples/index.html integration-tests/geo-examples/index.html integration-tests/realtime-examples/index.html integration-tests/streaming-regression-examples/index.html --dist-dir .parcel-cache/integration-tests",
109
110
  "dist": "node scripts/build.mjs",
110
111
  "dist:prod": "node scripts/build.mjs --production",
111
112
  "lint": "eslint src",
@@ -118,7 +119,8 @@
118
119
  "website:start": "npm run dist:prod && npm run docs:api:json && parcel serve --target website --no-cache",
119
120
  "website:start:clean": "npm run clean && npm run dist:prod && parcel serve --target website --no-cache",
120
121
  "generate:ssr-gallery": "npx tsx scripts/ssr-gallery.tsx > docs/public/ssr-gallery.html 2>/dev/null",
121
- "website:build": "npm run dist:prod && npm run docs:api:json && npm run generate:ssr-gallery && parcel build --target website && node scripts/prerender.mjs",
122
+ "generate:demo-gifs": "node -e \"try{require.resolve('sharp');require.resolve('gifenc')}catch{console.log('Skipping GIF generation (sharp/gifenc not installed)');process.exit(0)}\" && npx tsx scripts/generate-demo-gifs.ts",
123
+ "website:build": "npm run dist:prod && npm run docs:api:json && npm run generate:ssr-gallery && npm run generate:demo-gifs && parcel build --target website && node scripts/prerender.mjs",
122
124
  "build:mcp": "esbuild ai/mcp-server.ts --bundle --platform=node --target=node18 --format=cjs --outfile=ai/dist/mcp-server.js --external:react --external:react-dom --external:semiotic --external:semiotic/ai --external:semiotic/geo --banner:js='#!/usr/bin/env node'",
123
125
  "docs:api": "typedoc",
124
126
  "docs:api:json": "typedoc --json docs/public/api/api.json",
@@ -210,6 +212,7 @@
210
212
  "@playwright/test": "^1.17.1",
211
213
  "@rollup/plugin-node-resolve": "^16.0.3",
212
214
  "@rollup/plugin-terser": "^1.0.0",
215
+ "@rollup/plugin-typescript": "^12.3.0",
213
216
  "@size-limit/file": "^11.0.0",
214
217
  "@testing-library/jest-dom": "^6.9.1",
215
218
  "@testing-library/react": "^14.3.0",
@@ -233,38 +236,48 @@
233
236
  "@types/react-dom": "^18.3.7",
234
237
  "@types/seedrandom": "^3.0.5",
235
238
  "@types/topojson-client": "^3.1.5",
236
- "@typescript-eslint/eslint-plugin": "^5.4.6",
237
- "@typescript-eslint/parser": "^5.4.6",
239
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
240
+ "@typescript-eslint/parser": "^6.21.0",
238
241
  "@vitest/coverage-v8": "^4.1.0",
239
242
  "@vitest/ui": "^4.0.18",
243
+ "buffer": "^6.0.3",
244
+ "crypto-browserify": "^3.12.1",
240
245
  "d3-dsv": "1.0.5",
241
246
  "d3-flextree-v4": "^1.0.1",
242
247
  "esbuild": "^0.27.4",
243
248
  "eslint": "^8.0.0",
244
249
  "eslint-plugin-react": "^7.27.1",
250
+ "events": "^3.3.0",
245
251
  "jsdom": "^26.1.0",
246
252
  "marked": "4.0.10",
253
+ "os-browserify": "^0.3.0",
247
254
  "parcel": "^2.16.4",
255
+ "path-browserify": "^1.0.1",
248
256
  "playwright-chromium": "^1.17.1",
249
257
  "prettier": "^3.8.1",
258
+ "process": "^0.11.10",
250
259
  "react": "^18.1.0",
251
260
  "react-dom": "^18.1.0",
252
261
  "react-router-dom": "^6.2.1",
253
262
  "rollup": "^4.59.0",
254
263
  "rollup-plugin-auto-external": "^2.0.0",
255
- "rollup-plugin-typescript2": "^0.34.1",
256
264
  "rollup-plugin-visualizer": "^7.0.0",
257
265
  "seedrandom": "^3.0.5",
258
266
  "size-limit": "^11.0.0",
267
+ "stream-browserify": "^3.0.0",
268
+ "tslib": "^2.8.1",
259
269
  "typedoc": "^0.28.17",
260
270
  "typescript": "~5.9.3",
261
- "vitest": "^4.0.18"
271
+ "util": "^0.12.5",
272
+ "vitest": "^4.0.18",
273
+ "vm-browserify": "^1.1.2"
262
274
  },
263
275
  "peerDependencies": {
264
276
  "react": "^18.1.0 || ^19.0.0",
265
277
  "react-dom": "^18.1.0 || ^19.0.0"
266
278
  },
267
279
  "optionalDependencies": {
280
+ "gifenc": "^1.0.3",
268
281
  "sharp": ">=0.33.0"
269
282
  },
270
283
  "dependencies": {
@@ -300,6 +313,7 @@
300
313
  "node": "22.22.1"
301
314
  },
302
315
  "overrides": {
303
- "flatted": "3.4.2"
316
+ "flatted": "3.4.2",
317
+ "minimatch": ">=9.0.7"
304
318
  }
305
319
  }