@outsidedata/dolex 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/data/geo/continents/africa.json +1 -0
- package/data/geo/continents/asia.json +1 -0
- package/data/geo/continents/europe.json +1 -0
- package/data/geo/continents/north-america.json +1 -0
- package/data/geo/continents/oceania.json +1 -0
- package/data/geo/continents/south-america.json +1 -0
- package/data/geo/countries/argentina/provinces.json +1 -0
- package/data/geo/countries/australia/states.json +1 -0
- package/data/geo/countries/brazil/states.json +1 -0
- package/data/geo/countries/canada/provinces.json +1 -0
- package/data/geo/countries/china/provinces.json +1 -0
- package/data/geo/countries/colombia/departments.json +1 -0
- package/data/geo/countries/france/departments.json +1 -0
- package/data/geo/countries/germany/regions.json +1 -0
- package/data/geo/countries/india/states.json +1 -0
- package/data/geo/countries/italy/regions.json +1 -0
- package/data/geo/countries/japan/prefectures.json +1 -0
- package/data/geo/countries/mexico/states.json +1 -0
- package/data/geo/countries/russia/regions.json +1 -0
- package/data/geo/countries/south-africa/provinces.json +1 -0
- package/data/geo/countries/south-korea/provinces.json +1 -0
- package/data/geo/countries/spain/comunidades.json +1 -0
- package/data/geo/countries/uk/counties.json +1 -0
- package/data/geo/countries-110m.json +1 -0
- package/data/geo/countries-50m.json +1 -0
- package/data/geo/countries-no-antarctica.json +1 -0
- package/data/geo/states-10m.json +1 -0
- package/data/geo/us/congressional-districts-20m.json +1 -0
- package/data/geo/us/counties-10m.json +1 -0
- package/data/geo/us/counties-albers-10m.json +1 -0
- package/data/geo/us/nation-10m.json +1 -0
- package/data/geo/us/nation-albers-10m.json +1 -0
- package/data/geo/us/states-10m.json +1 -0
- package/data/geo/us/states-albers-10m.json +1 -0
- package/dist/src/analysis/classify.d.ts +4 -0
- package/dist/src/analysis/classify.d.ts.map +1 -0
- package/dist/src/analysis/classify.js +60 -0
- package/dist/src/analysis/classify.js.map +1 -0
- package/dist/src/analysis/index.d.ts +5 -0
- package/dist/src/analysis/index.d.ts.map +1 -0
- package/dist/src/analysis/index.js +4 -0
- package/dist/src/analysis/index.js.map +1 -0
- package/dist/src/analysis/planner.d.ts +4 -0
- package/dist/src/analysis/planner.d.ts.map +1 -0
- package/dist/src/analysis/planner.js +51 -0
- package/dist/src/analysis/planner.js.map +1 -0
- package/dist/src/analysis/rules.d.ts +5 -0
- package/dist/src/analysis/rules.d.ts.map +1 -0
- package/dist/src/analysis/rules.js +139 -0
- package/dist/src/analysis/rules.js.map +1 -0
- package/dist/src/analysis/types.d.ts +39 -0
- package/dist/src/analysis/types.d.ts.map +1 -0
- package/dist/src/analysis/types.js +2 -0
- package/dist/src/analysis/types.js.map +1 -0
- package/dist/src/connectors/csv.d.ts +11 -0
- package/dist/src/connectors/csv.d.ts.map +1 -0
- package/dist/src/connectors/csv.js +330 -0
- package/dist/src/connectors/csv.js.map +1 -0
- package/dist/src/connectors/dsl-compiler.d.ts +21 -0
- package/dist/src/connectors/dsl-compiler.d.ts.map +1 -0
- package/dist/src/connectors/dsl-compiler.js +313 -0
- package/dist/src/connectors/dsl-compiler.js.map +1 -0
- package/dist/src/connectors/dsl-validator.d.ts +19 -0
- package/dist/src/connectors/dsl-validator.d.ts.map +1 -0
- package/dist/src/connectors/dsl-validator.js +434 -0
- package/dist/src/connectors/dsl-validator.js.map +1 -0
- package/dist/src/connectors/index.d.ts +12 -0
- package/dist/src/connectors/index.d.ts.map +1 -0
- package/dist/src/connectors/index.js +13 -0
- package/dist/src/connectors/index.js.map +1 -0
- package/dist/src/connectors/js-aggregation.d.ts +22 -0
- package/dist/src/connectors/js-aggregation.d.ts.map +1 -0
- package/dist/src/connectors/js-aggregation.js +342 -0
- package/dist/src/connectors/js-aggregation.js.map +1 -0
- package/dist/src/connectors/manager.d.ts +92 -0
- package/dist/src/connectors/manager.d.ts.map +1 -0
- package/dist/src/connectors/manager.js +341 -0
- package/dist/src/connectors/manager.js.map +1 -0
- package/dist/src/connectors/mysql.d.ts +11 -0
- package/dist/src/connectors/mysql.d.ts.map +1 -0
- package/dist/src/connectors/mysql.js +293 -0
- package/dist/src/connectors/mysql.js.map +1 -0
- package/dist/src/connectors/postgres.d.ts +11 -0
- package/dist/src/connectors/postgres.d.ts.map +1 -0
- package/dist/src/connectors/postgres.js +289 -0
- package/dist/src/connectors/postgres.js.map +1 -0
- package/dist/src/connectors/sqlite.d.ts +10 -0
- package/dist/src/connectors/sqlite.d.ts.map +1 -0
- package/dist/src/connectors/sqlite.js +297 -0
- package/dist/src/connectors/sqlite.js.map +1 -0
- package/dist/src/connectors/types.d.ts +57 -0
- package/dist/src/connectors/types.d.ts.map +1 -0
- package/dist/src/connectors/types.js +5 -0
- package/dist/src/connectors/types.js.map +1 -0
- package/dist/src/index.d.ts +26 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +27 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp/app-shell.d.ts +15 -0
- package/dist/src/mcp/app-shell.d.ts.map +1 -0
- package/dist/src/mcp/app-shell.js +260 -0
- package/dist/src/mcp/app-shell.js.map +1 -0
- package/dist/src/mcp/index.d.ts +28 -0
- package/dist/src/mcp/index.d.ts.map +1 -0
- package/dist/src/mcp/index.js +262 -0
- package/dist/src/mcp/index.js.map +1 -0
- package/dist/src/mcp/prompts.d.ts +3 -0
- package/dist/src/mcp/prompts.d.ts.map +1 -0
- package/dist/src/mcp/prompts.js +30 -0
- package/dist/src/mcp/prompts.js.map +1 -0
- package/dist/src/mcp/spec-store.d.ts +37 -0
- package/dist/src/mcp/spec-store.d.ts.map +1 -0
- package/dist/src/mcp/spec-store.js +99 -0
- package/dist/src/mcp/spec-store.js.map +1 -0
- package/dist/src/mcp/tools/analyze.d.ts +22 -0
- package/dist/src/mcp/tools/analyze.d.ts.map +1 -0
- package/dist/src/mcp/tools/analyze.js +34 -0
- package/dist/src/mcp/tools/analyze.js.map +1 -0
- package/dist/src/mcp/tools/bug-report.d.ts +42 -0
- package/dist/src/mcp/tools/bug-report.d.ts.map +1 -0
- package/dist/src/mcp/tools/bug-report.js +154 -0
- package/dist/src/mcp/tools/bug-report.js.map +1 -0
- package/dist/src/mcp/tools/dashboard-refine.d.ts +23 -0
- package/dist/src/mcp/tools/dashboard-refine.d.ts.map +1 -0
- package/dist/src/mcp/tools/dashboard-refine.js +394 -0
- package/dist/src/mcp/tools/dashboard-refine.js.map +1 -0
- package/dist/src/mcp/tools/dashboard.d.ts +14 -0
- package/dist/src/mcp/tools/dashboard.d.ts.map +1 -0
- package/dist/src/mcp/tools/dashboard.js +40 -0
- package/dist/src/mcp/tools/dashboard.js.map +1 -0
- package/dist/src/mcp/tools/dsl-schemas.d.ts +1540 -0
- package/dist/src/mcp/tools/dsl-schemas.d.ts.map +1 -0
- package/dist/src/mcp/tools/dsl-schemas.js +237 -0
- package/dist/src/mcp/tools/dsl-schemas.js.map +1 -0
- package/dist/src/mcp/tools/export-html.d.ts +18 -0
- package/dist/src/mcp/tools/export-html.d.ts.map +1 -0
- package/dist/src/mcp/tools/export-html.js +40 -0
- package/dist/src/mcp/tools/export-html.js.map +1 -0
- package/dist/src/mcp/tools/list-patterns.d.ts +9 -0
- package/dist/src/mcp/tools/list-patterns.d.ts.map +1 -0
- package/dist/src/mcp/tools/list-patterns.js +286 -0
- package/dist/src/mcp/tools/list-patterns.js.map +1 -0
- package/dist/src/mcp/tools/operation-log.d.ts +54 -0
- package/dist/src/mcp/tools/operation-log.d.ts.map +1 -0
- package/dist/src/mcp/tools/operation-log.js +70 -0
- package/dist/src/mcp/tools/operation-log.js.map +1 -0
- package/dist/src/mcp/tools/query-data.d.ts +43 -0
- package/dist/src/mcp/tools/query-data.d.ts.map +1 -0
- package/dist/src/mcp/tools/query-data.js +65 -0
- package/dist/src/mcp/tools/query-data.js.map +1 -0
- package/dist/src/mcp/tools/query-source.d.ts +336 -0
- package/dist/src/mcp/tools/query-source.d.ts.map +1 -0
- package/dist/src/mcp/tools/query-source.js +62 -0
- package/dist/src/mcp/tools/query-source.js.map +1 -0
- package/dist/src/mcp/tools/refine.d.ts +24 -0
- package/dist/src/mcp/tools/refine.d.ts.map +1 -0
- package/dist/src/mcp/tools/refine.js +345 -0
- package/dist/src/mcp/tools/refine.js.map +1 -0
- package/dist/src/mcp/tools/result-cache.d.ts +24 -0
- package/dist/src/mcp/tools/result-cache.d.ts.map +1 -0
- package/dist/src/mcp/tools/result-cache.js +48 -0
- package/dist/src/mcp/tools/result-cache.js.map +1 -0
- package/dist/src/mcp/tools/screenshot.d.ts +30 -0
- package/dist/src/mcp/tools/screenshot.d.ts.map +1 -0
- package/dist/src/mcp/tools/screenshot.js +79 -0
- package/dist/src/mcp/tools/screenshot.js.map +1 -0
- package/dist/src/mcp/tools/server-privacy.d.ts +28 -0
- package/dist/src/mcp/tools/server-privacy.d.ts.map +1 -0
- package/dist/src/mcp/tools/server-privacy.js +77 -0
- package/dist/src/mcp/tools/server-privacy.js.map +1 -0
- package/dist/src/mcp/tools/shared.d.ts +49 -0
- package/dist/src/mcp/tools/shared.d.ts.map +1 -0
- package/dist/src/mcp/tools/shared.js +170 -0
- package/dist/src/mcp/tools/shared.js.map +1 -0
- package/dist/src/mcp/tools/sources.d.ts +160 -0
- package/dist/src/mcp/tools/sources.d.ts.map +1 -0
- package/dist/src/mcp/tools/sources.js +177 -0
- package/dist/src/mcp/tools/sources.js.map +1 -0
- package/dist/src/mcp/tools/visualize-from-source.d.ts +518 -0
- package/dist/src/mcp/tools/visualize-from-source.d.ts.map +1 -0
- package/dist/src/mcp/tools/visualize-from-source.js +61 -0
- package/dist/src/mcp/tools/visualize-from-source.js.map +1 -0
- package/dist/src/mcp/tools/visualize.d.ts +325 -0
- package/dist/src/mcp/tools/visualize.d.ts.map +1 -0
- package/dist/src/mcp/tools/visualize.js +190 -0
- package/dist/src/mcp/tools/visualize.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/bar.d.ts +10 -0
- package/dist/src/patterns/definitions/comparison/bar.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/bar.js +99 -0
- package/dist/src/patterns/definitions/comparison/bar.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/bullet.d.ts +11 -0
- package/dist/src/patterns/definitions/comparison/bullet.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/bullet.js +121 -0
- package/dist/src/patterns/definitions/comparison/bullet.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/bump-chart.d.ts +11 -0
- package/dist/src/patterns/definitions/comparison/bump-chart.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/bump-chart.js +124 -0
- package/dist/src/patterns/definitions/comparison/bump-chart.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/connected-dot-plot.d.ts +11 -0
- package/dist/src/patterns/definitions/comparison/connected-dot-plot.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/connected-dot-plot.js +99 -0
- package/dist/src/patterns/definitions/comparison/connected-dot-plot.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/diverging-bar.d.ts +10 -0
- package/dist/src/patterns/definitions/comparison/diverging-bar.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/diverging-bar.js +97 -0
- package/dist/src/patterns/definitions/comparison/diverging-bar.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/grouped-bar.d.ts +6 -0
- package/dist/src/patterns/definitions/comparison/grouped-bar.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/grouped-bar.js +103 -0
- package/dist/src/patterns/definitions/comparison/grouped-bar.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/index.d.ts +9 -0
- package/dist/src/patterns/definitions/comparison/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/index.js +9 -0
- package/dist/src/patterns/definitions/comparison/index.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/lollipop.d.ts +11 -0
- package/dist/src/patterns/definitions/comparison/lollipop.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/lollipop.js +122 -0
- package/dist/src/patterns/definitions/comparison/lollipop.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/slope-chart.d.ts +10 -0
- package/dist/src/patterns/definitions/comparison/slope-chart.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/slope-chart.js +99 -0
- package/dist/src/patterns/definitions/comparison/slope-chart.js.map +1 -0
- package/dist/src/patterns/definitions/comparison/waterfall.d.ts +6 -0
- package/dist/src/patterns/definitions/comparison/waterfall.d.ts.map +1 -0
- package/dist/src/patterns/definitions/comparison/waterfall.js +85 -0
- package/dist/src/patterns/definitions/comparison/waterfall.js.map +1 -0
- package/dist/src/patterns/definitions/composition/circle-pack.d.ts +9 -0
- package/dist/src/patterns/definitions/composition/circle-pack.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/circle-pack.js +103 -0
- package/dist/src/patterns/definitions/composition/circle-pack.js.map +1 -0
- package/dist/src/patterns/definitions/composition/donut.d.ts +6 -0
- package/dist/src/patterns/definitions/composition/donut.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/donut.js +101 -0
- package/dist/src/patterns/definitions/composition/donut.js.map +1 -0
- package/dist/src/patterns/definitions/composition/icicle.d.ts +10 -0
- package/dist/src/patterns/definitions/composition/icicle.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/icicle.js +114 -0
- package/dist/src/patterns/definitions/composition/icicle.js.map +1 -0
- package/dist/src/patterns/definitions/composition/index.d.ts +9 -0
- package/dist/src/patterns/definitions/composition/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/index.js +9 -0
- package/dist/src/patterns/definitions/composition/index.js.map +1 -0
- package/dist/src/patterns/definitions/composition/marimekko.d.ts +9 -0
- package/dist/src/patterns/definitions/composition/marimekko.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/marimekko.js +124 -0
- package/dist/src/patterns/definitions/composition/marimekko.js.map +1 -0
- package/dist/src/patterns/definitions/composition/metric.d.ts +9 -0
- package/dist/src/patterns/definitions/composition/metric.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/metric.js +112 -0
- package/dist/src/patterns/definitions/composition/metric.js.map +1 -0
- package/dist/src/patterns/definitions/composition/stacked-bar.d.ts +10 -0
- package/dist/src/patterns/definitions/composition/stacked-bar.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/stacked-bar.js +104 -0
- package/dist/src/patterns/definitions/composition/stacked-bar.js.map +1 -0
- package/dist/src/patterns/definitions/composition/sunburst.d.ts +10 -0
- package/dist/src/patterns/definitions/composition/sunburst.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/sunburst.js +100 -0
- package/dist/src/patterns/definitions/composition/sunburst.js.map +1 -0
- package/dist/src/patterns/definitions/composition/treemap.d.ts +10 -0
- package/dist/src/patterns/definitions/composition/treemap.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/treemap.js +104 -0
- package/dist/src/patterns/definitions/composition/treemap.js.map +1 -0
- package/dist/src/patterns/definitions/composition/waffle.d.ts +11 -0
- package/dist/src/patterns/definitions/composition/waffle.d.ts.map +1 -0
- package/dist/src/patterns/definitions/composition/waffle.js +111 -0
- package/dist/src/patterns/definitions/composition/waffle.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/beeswarm.d.ts +10 -0
- package/dist/src/patterns/definitions/distribution/beeswarm.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/beeswarm.js +103 -0
- package/dist/src/patterns/definitions/distribution/beeswarm.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/box-plot.d.ts +9 -0
- package/dist/src/patterns/definitions/distribution/box-plot.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/box-plot.js +104 -0
- package/dist/src/patterns/definitions/distribution/box-plot.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/density-plot.d.ts +10 -0
- package/dist/src/patterns/definitions/distribution/density-plot.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/density-plot.js +112 -0
- package/dist/src/patterns/definitions/distribution/density-plot.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/histogram.d.ts +10 -0
- package/dist/src/patterns/definitions/distribution/histogram.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/histogram.js +109 -0
- package/dist/src/patterns/definitions/distribution/histogram.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/index.d.ts +9 -0
- package/dist/src/patterns/definitions/distribution/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/index.js +9 -0
- package/dist/src/patterns/definitions/distribution/index.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/ridgeline.d.ts +10 -0
- package/dist/src/patterns/definitions/distribution/ridgeline.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/ridgeline.js +105 -0
- package/dist/src/patterns/definitions/distribution/ridgeline.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/strip-plot.d.ts +10 -0
- package/dist/src/patterns/definitions/distribution/strip-plot.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/strip-plot.js +93 -0
- package/dist/src/patterns/definitions/distribution/strip-plot.js.map +1 -0
- package/dist/src/patterns/definitions/distribution/violin.d.ts +10 -0
- package/dist/src/patterns/definitions/distribution/violin.d.ts.map +1 -0
- package/dist/src/patterns/definitions/distribution/violin.js +105 -0
- package/dist/src/patterns/definitions/distribution/violin.js.map +1 -0
- package/dist/src/patterns/definitions/flow/alluvial.d.ts +11 -0
- package/dist/src/patterns/definitions/flow/alluvial.d.ts.map +1 -0
- package/dist/src/patterns/definitions/flow/alluvial.js +107 -0
- package/dist/src/patterns/definitions/flow/alluvial.js.map +1 -0
- package/dist/src/patterns/definitions/flow/chord.d.ts +11 -0
- package/dist/src/patterns/definitions/flow/chord.d.ts.map +1 -0
- package/dist/src/patterns/definitions/flow/chord.js +123 -0
- package/dist/src/patterns/definitions/flow/chord.js.map +1 -0
- package/dist/src/patterns/definitions/flow/funnel.d.ts +6 -0
- package/dist/src/patterns/definitions/flow/funnel.d.ts.map +1 -0
- package/dist/src/patterns/definitions/flow/funnel.js +69 -0
- package/dist/src/patterns/definitions/flow/funnel.js.map +1 -0
- package/dist/src/patterns/definitions/flow/index.d.ts +7 -0
- package/dist/src/patterns/definitions/flow/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/flow/index.js +7 -0
- package/dist/src/patterns/definitions/flow/index.js.map +1 -0
- package/dist/src/patterns/definitions/flow/sankey.d.ts +10 -0
- package/dist/src/patterns/definitions/flow/sankey.d.ts.map +1 -0
- package/dist/src/patterns/definitions/flow/sankey.js +120 -0
- package/dist/src/patterns/definitions/flow/sankey.js.map +1 -0
- package/dist/src/patterns/definitions/geo/choropleth.d.ts +3 -0
- package/dist/src/patterns/definitions/geo/choropleth.d.ts.map +1 -0
- package/dist/src/patterns/definitions/geo/choropleth.js +72 -0
- package/dist/src/patterns/definitions/geo/choropleth.js.map +1 -0
- package/dist/src/patterns/definitions/geo/index.d.ts +6 -0
- package/dist/src/patterns/definitions/geo/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/geo/index.js +6 -0
- package/dist/src/patterns/definitions/geo/index.js.map +1 -0
- package/dist/src/patterns/definitions/geo/proportional-symbol.d.ts +10 -0
- package/dist/src/patterns/definitions/geo/proportional-symbol.d.ts.map +1 -0
- package/dist/src/patterns/definitions/geo/proportional-symbol.js +81 -0
- package/dist/src/patterns/definitions/geo/proportional-symbol.js.map +1 -0
- package/dist/src/patterns/definitions/relationship/connected-scatter.d.ts +11 -0
- package/dist/src/patterns/definitions/relationship/connected-scatter.d.ts.map +1 -0
- package/dist/src/patterns/definitions/relationship/connected-scatter.js +108 -0
- package/dist/src/patterns/definitions/relationship/connected-scatter.js.map +1 -0
- package/dist/src/patterns/definitions/relationship/heatmap.d.ts +10 -0
- package/dist/src/patterns/definitions/relationship/heatmap.d.ts.map +1 -0
- package/dist/src/patterns/definitions/relationship/heatmap.js +152 -0
- package/dist/src/patterns/definitions/relationship/heatmap.js.map +1 -0
- package/dist/src/patterns/definitions/relationship/index.d.ts +8 -0
- package/dist/src/patterns/definitions/relationship/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/relationship/index.js +8 -0
- package/dist/src/patterns/definitions/relationship/index.js.map +1 -0
- package/dist/src/patterns/definitions/relationship/parallel-coordinates.d.ts +10 -0
- package/dist/src/patterns/definitions/relationship/parallel-coordinates.d.ts.map +1 -0
- package/dist/src/patterns/definitions/relationship/parallel-coordinates.js +104 -0
- package/dist/src/patterns/definitions/relationship/parallel-coordinates.js.map +1 -0
- package/dist/src/patterns/definitions/relationship/radar.d.ts +11 -0
- package/dist/src/patterns/definitions/relationship/radar.d.ts.map +1 -0
- package/dist/src/patterns/definitions/relationship/radar.js +125 -0
- package/dist/src/patterns/definitions/relationship/radar.js.map +1 -0
- package/dist/src/patterns/definitions/relationship/scatter.d.ts +10 -0
- package/dist/src/patterns/definitions/relationship/scatter.d.ts.map +1 -0
- package/dist/src/patterns/definitions/relationship/scatter.js +122 -0
- package/dist/src/patterns/definitions/relationship/scatter.js.map +1 -0
- package/dist/src/patterns/definitions/time/area.d.ts +9 -0
- package/dist/src/patterns/definitions/time/area.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/area.js +97 -0
- package/dist/src/patterns/definitions/time/area.js.map +1 -0
- package/dist/src/patterns/definitions/time/calendar-heatmap.d.ts +10 -0
- package/dist/src/patterns/definitions/time/calendar-heatmap.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/calendar-heatmap.js +109 -0
- package/dist/src/patterns/definitions/time/calendar-heatmap.js.map +1 -0
- package/dist/src/patterns/definitions/time/horizon-chart.d.ts +3 -0
- package/dist/src/patterns/definitions/time/horizon-chart.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/horizon-chart.js +92 -0
- package/dist/src/patterns/definitions/time/horizon-chart.js.map +1 -0
- package/dist/src/patterns/definitions/time/index.d.ts +8 -0
- package/dist/src/patterns/definitions/time/index.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/index.js +8 -0
- package/dist/src/patterns/definitions/time/index.js.map +1 -0
- package/dist/src/patterns/definitions/time/line.d.ts +10 -0
- package/dist/src/patterns/definitions/time/line.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/line.js +104 -0
- package/dist/src/patterns/definitions/time/line.js.map +1 -0
- package/dist/src/patterns/definitions/time/small-multiples.d.ts +11 -0
- package/dist/src/patterns/definitions/time/small-multiples.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/small-multiples.js +99 -0
- package/dist/src/patterns/definitions/time/small-multiples.js.map +1 -0
- package/dist/src/patterns/definitions/time/sparkline-grid.d.ts +10 -0
- package/dist/src/patterns/definitions/time/sparkline-grid.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/sparkline-grid.js +123 -0
- package/dist/src/patterns/definitions/time/sparkline-grid.js.map +1 -0
- package/dist/src/patterns/definitions/time/stream-graph.d.ts +10 -0
- package/dist/src/patterns/definitions/time/stream-graph.d.ts.map +1 -0
- package/dist/src/patterns/definitions/time/stream-graph.js +122 -0
- package/dist/src/patterns/definitions/time/stream-graph.js.map +1 -0
- package/dist/src/patterns/index.d.ts +23 -0
- package/dist/src/patterns/index.d.ts.map +1 -0
- package/dist/src/patterns/index.js +32 -0
- package/dist/src/patterns/index.js.map +1 -0
- package/dist/src/patterns/registry.d.ts +69 -0
- package/dist/src/patterns/registry.d.ts.map +1 -0
- package/dist/src/patterns/registry.js +230 -0
- package/dist/src/patterns/registry.js.map +1 -0
- package/dist/src/patterns/selector.d.ts +68 -0
- package/dist/src/patterns/selector.d.ts.map +1 -0
- package/dist/src/patterns/selector.js +441 -0
- package/dist/src/patterns/selector.js.map +1 -0
- package/dist/src/patterns/utils.d.ts +77 -0
- package/dist/src/patterns/utils.d.ts.map +1 -0
- package/dist/src/patterns/utils.js +353 -0
- package/dist/src/patterns/utils.js.map +1 -0
- package/dist/src/query-engine/candidate-matcher.d.ts +31 -0
- package/dist/src/query-engine/candidate-matcher.d.ts.map +1 -0
- package/dist/src/query-engine/candidate-matcher.js +157 -0
- package/dist/src/query-engine/candidate-matcher.js.map +1 -0
- package/dist/src/query-engine/chart-detector.d.ts +26 -0
- package/dist/src/query-engine/chart-detector.d.ts.map +1 -0
- package/dist/src/query-engine/chart-detector.js +61 -0
- package/dist/src/query-engine/chart-detector.js.map +1 -0
- package/dist/src/query-engine/index.d.ts +56 -0
- package/dist/src/query-engine/index.d.ts.map +1 -0
- package/dist/src/query-engine/index.js +185 -0
- package/dist/src/query-engine/index.js.map +1 -0
- package/dist/src/query-engine/llm-selector.d.ts +47 -0
- package/dist/src/query-engine/llm-selector.d.ts.map +1 -0
- package/dist/src/query-engine/llm-selector.js +223 -0
- package/dist/src/query-engine/llm-selector.js.map +1 -0
- package/dist/src/query-engine/schema-loader.d.ts +33 -0
- package/dist/src/query-engine/schema-loader.d.ts.map +1 -0
- package/dist/src/query-engine/schema-loader.js +144 -0
- package/dist/src/query-engine/schema-loader.js.map +1 -0
- package/dist/src/query-engine/session.d.ts +71 -0
- package/dist/src/query-engine/session.d.ts.map +1 -0
- package/dist/src/query-engine/session.js +117 -0
- package/dist/src/query-engine/session.js.map +1 -0
- package/dist/src/query-engine/sql-builder.d.ts +33 -0
- package/dist/src/query-engine/sql-builder.d.ts.map +1 -0
- package/dist/src/query-engine/sql-builder.js +146 -0
- package/dist/src/query-engine/sql-builder.js.map +1 -0
- package/dist/src/query-engine/validator.d.ts +29 -0
- package/dist/src/query-engine/validator.d.ts.map +1 -0
- package/dist/src/query-engine/validator.js +93 -0
- package/dist/src/query-engine/validator.js.map +1 -0
- package/dist/src/renderers/d3/comparison/bar.d.ts +6 -0
- package/dist/src/renderers/d3/comparison/bar.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/bar.js +306 -0
- package/dist/src/renderers/d3/comparison/bar.js.map +1 -0
- package/dist/src/renderers/d3/comparison/bullet.d.ts +3 -0
- package/dist/src/renderers/d3/comparison/bullet.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/bullet.js +209 -0
- package/dist/src/renderers/d3/comparison/bullet.js.map +1 -0
- package/dist/src/renderers/d3/comparison/bump-chart.d.ts +10 -0
- package/dist/src/renderers/d3/comparison/bump-chart.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/bump-chart.js +210 -0
- package/dist/src/renderers/d3/comparison/bump-chart.js.map +1 -0
- package/dist/src/renderers/d3/comparison/connected-dot-plot.d.ts +10 -0
- package/dist/src/renderers/d3/comparison/connected-dot-plot.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/connected-dot-plot.js +235 -0
- package/dist/src/renderers/d3/comparison/connected-dot-plot.js.map +1 -0
- package/dist/src/renderers/d3/comparison/diverging-bar.d.ts +7 -0
- package/dist/src/renderers/d3/comparison/diverging-bar.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/diverging-bar.js +295 -0
- package/dist/src/renderers/d3/comparison/diverging-bar.js.map +1 -0
- package/dist/src/renderers/d3/comparison/grouped-bar.d.ts +7 -0
- package/dist/src/renderers/d3/comparison/grouped-bar.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/grouped-bar.js +267 -0
- package/dist/src/renderers/d3/comparison/grouped-bar.js.map +1 -0
- package/dist/src/renderers/d3/comparison/index.d.ts +13 -0
- package/dist/src/renderers/d3/comparison/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/index.js +13 -0
- package/dist/src/renderers/d3/comparison/index.js.map +1 -0
- package/dist/src/renderers/d3/comparison/lollipop.d.ts +6 -0
- package/dist/src/renderers/d3/comparison/lollipop.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/lollipop.js +318 -0
- package/dist/src/renderers/d3/comparison/lollipop.js.map +1 -0
- package/dist/src/renderers/d3/comparison/slope-chart.d.ts +6 -0
- package/dist/src/renderers/d3/comparison/slope-chart.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/slope-chart.js +272 -0
- package/dist/src/renderers/d3/comparison/slope-chart.js.map +1 -0
- package/dist/src/renderers/d3/comparison/waterfall.d.ts +6 -0
- package/dist/src/renderers/d3/comparison/waterfall.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison/waterfall.js +208 -0
- package/dist/src/renderers/d3/comparison/waterfall.js.map +1 -0
- package/dist/src/renderers/d3/comparison.d.ts +8 -0
- package/dist/src/renderers/d3/comparison.d.ts.map +1 -0
- package/dist/src/renderers/d3/comparison.js +284 -0
- package/dist/src/renderers/d3/comparison.js.map +1 -0
- package/dist/src/renderers/d3/composition/circle-pack.d.ts +9 -0
- package/dist/src/renderers/d3/composition/circle-pack.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/circle-pack.js +196 -0
- package/dist/src/renderers/d3/composition/circle-pack.js.map +1 -0
- package/dist/src/renderers/d3/composition/donut.d.ts +7 -0
- package/dist/src/renderers/d3/composition/donut.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/donut.js +178 -0
- package/dist/src/renderers/d3/composition/donut.js.map +1 -0
- package/dist/src/renderers/d3/composition/icicle.d.ts +10 -0
- package/dist/src/renderers/d3/composition/icicle.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/icicle.js +380 -0
- package/dist/src/renderers/d3/composition/icicle.js.map +1 -0
- package/dist/src/renderers/d3/composition/index.d.ts +13 -0
- package/dist/src/renderers/d3/composition/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/index.js +13 -0
- package/dist/src/renderers/d3/composition/index.js.map +1 -0
- package/dist/src/renderers/d3/composition/marimekko.d.ts +3 -0
- package/dist/src/renderers/d3/composition/marimekko.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/marimekko.js +229 -0
- package/dist/src/renderers/d3/composition/marimekko.js.map +1 -0
- package/dist/src/renderers/d3/composition/metric.d.ts +9 -0
- package/dist/src/renderers/d3/composition/metric.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/metric.js +224 -0
- package/dist/src/renderers/d3/composition/metric.js.map +1 -0
- package/dist/src/renderers/d3/composition/stacked-bar.d.ts +7 -0
- package/dist/src/renderers/d3/composition/stacked-bar.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/stacked-bar.js +251 -0
- package/dist/src/renderers/d3/composition/stacked-bar.js.map +1 -0
- package/dist/src/renderers/d3/composition/sunburst.d.ts +11 -0
- package/dist/src/renderers/d3/composition/sunburst.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/sunburst.js +315 -0
- package/dist/src/renderers/d3/composition/sunburst.js.map +1 -0
- package/dist/src/renderers/d3/composition/treemap.d.ts +9 -0
- package/dist/src/renderers/d3/composition/treemap.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/treemap.js +224 -0
- package/dist/src/renderers/d3/composition/treemap.js.map +1 -0
- package/dist/src/renderers/d3/composition/waffle.d.ts +8 -0
- package/dist/src/renderers/d3/composition/waffle.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition/waffle.js +130 -0
- package/dist/src/renderers/d3/composition/waffle.js.map +1 -0
- package/dist/src/renderers/d3/composition.d.ts +8 -0
- package/dist/src/renderers/d3/composition.d.ts.map +1 -0
- package/dist/src/renderers/d3/composition.js +325 -0
- package/dist/src/renderers/d3/composition.js.map +1 -0
- package/dist/src/renderers/d3/connected-scatter.d.ts +10 -0
- package/dist/src/renderers/d3/connected-scatter.d.ts.map +1 -0
- package/dist/src/renderers/d3/connected-scatter.js +358 -0
- package/dist/src/renderers/d3/connected-scatter.js.map +1 -0
- package/dist/src/renderers/d3/distribution/beeswarm.d.ts +13 -0
- package/dist/src/renderers/d3/distribution/beeswarm.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/beeswarm.js +346 -0
- package/dist/src/renderers/d3/distribution/beeswarm.js.map +1 -0
- package/dist/src/renderers/d3/distribution/box-plot.d.ts +9 -0
- package/dist/src/renderers/d3/distribution/box-plot.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/box-plot.js +369 -0
- package/dist/src/renderers/d3/distribution/box-plot.js.map +1 -0
- package/dist/src/renderers/d3/distribution/density-plot.d.ts +10 -0
- package/dist/src/renderers/d3/distribution/density-plot.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/density-plot.js +325 -0
- package/dist/src/renderers/d3/distribution/density-plot.js.map +1 -0
- package/dist/src/renderers/d3/distribution/histogram.d.ts +12 -0
- package/dist/src/renderers/d3/distribution/histogram.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/histogram.js +359 -0
- package/dist/src/renderers/d3/distribution/histogram.js.map +1 -0
- package/dist/src/renderers/d3/distribution/index.d.ts +11 -0
- package/dist/src/renderers/d3/distribution/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/index.js +11 -0
- package/dist/src/renderers/d3/distribution/index.js.map +1 -0
- package/dist/src/renderers/d3/distribution/ridgeline.d.ts +9 -0
- package/dist/src/renderers/d3/distribution/ridgeline.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/ridgeline.js +230 -0
- package/dist/src/renderers/d3/distribution/ridgeline.js.map +1 -0
- package/dist/src/renderers/d3/distribution/strip-plot.d.ts +12 -0
- package/dist/src/renderers/d3/distribution/strip-plot.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/strip-plot.js +284 -0
- package/dist/src/renderers/d3/distribution/strip-plot.js.map +1 -0
- package/dist/src/renderers/d3/distribution/violin.d.ts +10 -0
- package/dist/src/renderers/d3/distribution/violin.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution/violin.js +298 -0
- package/dist/src/renderers/d3/distribution/violin.js.map +1 -0
- package/dist/src/renderers/d3/distribution.d.ts +8 -0
- package/dist/src/renderers/d3/distribution.d.ts.map +1 -0
- package/dist/src/renderers/d3/distribution.js +364 -0
- package/dist/src/renderers/d3/distribution.js.map +1 -0
- package/dist/src/renderers/d3/flow/alluvial.d.ts +10 -0
- package/dist/src/renderers/d3/flow/alluvial.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow/alluvial.js +352 -0
- package/dist/src/renderers/d3/flow/alluvial.js.map +1 -0
- package/dist/src/renderers/d3/flow/chord.d.ts +9 -0
- package/dist/src/renderers/d3/flow/chord.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow/chord.js +235 -0
- package/dist/src/renderers/d3/flow/chord.js.map +1 -0
- package/dist/src/renderers/d3/flow/funnel.d.ts +10 -0
- package/dist/src/renderers/d3/flow/funnel.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow/funnel.js +284 -0
- package/dist/src/renderers/d3/flow/funnel.js.map +1 -0
- package/dist/src/renderers/d3/flow/index.d.ts +9 -0
- package/dist/src/renderers/d3/flow/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow/index.js +8 -0
- package/dist/src/renderers/d3/flow/index.js.map +1 -0
- package/dist/src/renderers/d3/flow/sankey-layout.d.ts +35 -0
- package/dist/src/renderers/d3/flow/sankey-layout.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow/sankey-layout.js +148 -0
- package/dist/src/renderers/d3/flow/sankey-layout.js.map +1 -0
- package/dist/src/renderers/d3/flow/sankey.d.ts +6 -0
- package/dist/src/renderers/d3/flow/sankey.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow/sankey.js +141 -0
- package/dist/src/renderers/d3/flow/sankey.js.map +1 -0
- package/dist/src/renderers/d3/flow.d.ts +10 -0
- package/dist/src/renderers/d3/flow.d.ts.map +1 -0
- package/dist/src/renderers/d3/flow.js +274 -0
- package/dist/src/renderers/d3/flow.js.map +1 -0
- package/dist/src/renderers/d3/geo/choropleth.d.ts +3 -0
- package/dist/src/renderers/d3/geo/choropleth.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/choropleth.js +176 -0
- package/dist/src/renderers/d3/geo/choropleth.js.map +1 -0
- package/dist/src/renderers/d3/geo/geo-registry.d.ts +18 -0
- package/dist/src/renderers/d3/geo/geo-registry.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/geo-registry.js +269 -0
- package/dist/src/renderers/d3/geo/geo-registry.js.map +1 -0
- package/dist/src/renderers/d3/geo/geo-scope.d.ts +31 -0
- package/dist/src/renderers/d3/geo/geo-scope.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/geo-scope.js +257 -0
- package/dist/src/renderers/d3/geo/geo-scope.js.map +1 -0
- package/dist/src/renderers/d3/geo/index.d.ts +7 -0
- package/dist/src/renderers/d3/geo/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/index.js +5 -0
- package/dist/src/renderers/d3/geo/index.js.map +1 -0
- package/dist/src/renderers/d3/geo/names/countries.d.ts +4 -0
- package/dist/src/renderers/d3/geo/names/countries.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/names/countries.js +225 -0
- package/dist/src/renderers/d3/geo/names/countries.js.map +1 -0
- package/dist/src/renderers/d3/geo/names/fuzzy.d.ts +8 -0
- package/dist/src/renderers/d3/geo/names/fuzzy.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/names/fuzzy.js +41 -0
- package/dist/src/renderers/d3/geo/names/fuzzy.js.map +1 -0
- package/dist/src/renderers/d3/geo/names/index.d.ts +6 -0
- package/dist/src/renderers/d3/geo/names/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/names/index.js +5 -0
- package/dist/src/renderers/d3/geo/names/index.js.map +1 -0
- package/dist/src/renderers/d3/geo/names/normalize.d.ts +2 -0
- package/dist/src/renderers/d3/geo/names/normalize.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/names/normalize.js +10 -0
- package/dist/src/renderers/d3/geo/names/normalize.js.map +1 -0
- package/dist/src/renderers/d3/geo/names/subdivisions.d.ts +3 -0
- package/dist/src/renderers/d3/geo/names/subdivisions.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/names/subdivisions.js +622 -0
- package/dist/src/renderers/d3/geo/names/subdivisions.js.map +1 -0
- package/dist/src/renderers/d3/geo/proportional-symbol.d.ts +13 -0
- package/dist/src/renderers/d3/geo/proportional-symbol.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/proportional-symbol.js +466 -0
- package/dist/src/renderers/d3/geo/proportional-symbol.js.map +1 -0
- package/dist/src/renderers/d3/geo/topojson-loader.d.ts +3 -0
- package/dist/src/renderers/d3/geo/topojson-loader.d.ts.map +1 -0
- package/dist/src/renderers/d3/geo/topojson-loader.js +13 -0
- package/dist/src/renderers/d3/geo/topojson-loader.js.map +1 -0
- package/dist/src/renderers/d3/heatmap.d.ts +9 -0
- package/dist/src/renderers/d3/heatmap.d.ts.map +1 -0
- package/dist/src/renderers/d3/heatmap.js +228 -0
- package/dist/src/renderers/d3/heatmap.js.map +1 -0
- package/dist/src/renderers/d3/index.d.ts +70 -0
- package/dist/src/renderers/d3/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/index.js +163 -0
- package/dist/src/renderers/d3/index.js.map +1 -0
- package/dist/src/renderers/d3/parallel-coordinates.d.ts +12 -0
- package/dist/src/renderers/d3/parallel-coordinates.d.ts.map +1 -0
- package/dist/src/renderers/d3/parallel-coordinates.js +181 -0
- package/dist/src/renderers/d3/parallel-coordinates.js.map +1 -0
- package/dist/src/renderers/d3/radar.d.ts +11 -0
- package/dist/src/renderers/d3/radar.d.ts.map +1 -0
- package/dist/src/renderers/d3/radar.js +258 -0
- package/dist/src/renderers/d3/radar.js.map +1 -0
- package/dist/src/renderers/d3/relationship.d.ts +6 -0
- package/dist/src/renderers/d3/relationship.d.ts.map +1 -0
- package/dist/src/renderers/d3/relationship.js +232 -0
- package/dist/src/renderers/d3/relationship.js.map +1 -0
- package/dist/src/renderers/d3/shared.d.ts +152 -0
- package/dist/src/renderers/d3/shared.d.ts.map +1 -0
- package/dist/src/renderers/d3/shared.js +869 -0
- package/dist/src/renderers/d3/shared.js.map +1 -0
- package/dist/src/renderers/d3/time/area.d.ts +8 -0
- package/dist/src/renderers/d3/time/area.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/area.js +415 -0
- package/dist/src/renderers/d3/time/area.js.map +1 -0
- package/dist/src/renderers/d3/time/calendar-heatmap.d.ts +11 -0
- package/dist/src/renderers/d3/time/calendar-heatmap.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/calendar-heatmap.js +471 -0
- package/dist/src/renderers/d3/time/calendar-heatmap.js.map +1 -0
- package/dist/src/renderers/d3/time/horizon-chart.d.ts +3 -0
- package/dist/src/renderers/d3/time/horizon-chart.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/horizon-chart.js +314 -0
- package/dist/src/renderers/d3/time/horizon-chart.js.map +1 -0
- package/dist/src/renderers/d3/time/index.d.ts +11 -0
- package/dist/src/renderers/d3/time/index.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/index.js +11 -0
- package/dist/src/renderers/d3/time/index.js.map +1 -0
- package/dist/src/renderers/d3/time/line.d.ts +8 -0
- package/dist/src/renderers/d3/time/line.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/line.js +313 -0
- package/dist/src/renderers/d3/time/line.js.map +1 -0
- package/dist/src/renderers/d3/time/small-multiples.d.ts +6 -0
- package/dist/src/renderers/d3/time/small-multiples.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/small-multiples.js +159 -0
- package/dist/src/renderers/d3/time/small-multiples.js.map +1 -0
- package/dist/src/renderers/d3/time/sparkline-grid.d.ts +9 -0
- package/dist/src/renderers/d3/time/sparkline-grid.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/sparkline-grid.js +190 -0
- package/dist/src/renderers/d3/time/sparkline-grid.js.map +1 -0
- package/dist/src/renderers/d3/time/stream-graph.d.ts +9 -0
- package/dist/src/renderers/d3/time/stream-graph.d.ts.map +1 -0
- package/dist/src/renderers/d3/time/stream-graph.js +301 -0
- package/dist/src/renderers/d3/time/stream-graph.js.map +1 -0
- package/dist/src/renderers/d3/time.d.ts +7 -0
- package/dist/src/renderers/d3/time.d.ts.map +1 -0
- package/dist/src/renderers/d3/time.js +298 -0
- package/dist/src/renderers/d3/time.js.map +1 -0
- package/dist/src/renderers/html/_generated/bundles.d.ts +44 -0
- package/dist/src/renderers/html/_generated/bundles.d.ts.map +1 -0
- package/dist/src/renderers/html/_generated/bundles.js +45 -0
- package/dist/src/renderers/html/_generated/bundles.js.map +1 -0
- package/dist/src/renderers/html/builders/alluvial.d.ts +3 -0
- package/dist/src/renderers/html/builders/alluvial.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/alluvial.js +6 -0
- package/dist/src/renderers/html/builders/alluvial.js.map +1 -0
- package/dist/src/renderers/html/builders/area.d.ts +3 -0
- package/dist/src/renderers/html/builders/area.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/area.js +6 -0
- package/dist/src/renderers/html/builders/area.js.map +1 -0
- package/dist/src/renderers/html/builders/bar.d.ts +3 -0
- package/dist/src/renderers/html/builders/bar.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/bar.js +6 -0
- package/dist/src/renderers/html/builders/bar.js.map +1 -0
- package/dist/src/renderers/html/builders/beeswarm.d.ts +3 -0
- package/dist/src/renderers/html/builders/beeswarm.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/beeswarm.js +6 -0
- package/dist/src/renderers/html/builders/beeswarm.js.map +1 -0
- package/dist/src/renderers/html/builders/box-plot.d.ts +3 -0
- package/dist/src/renderers/html/builders/box-plot.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/box-plot.js +6 -0
- package/dist/src/renderers/html/builders/box-plot.js.map +1 -0
- package/dist/src/renderers/html/builders/bullet.d.ts +3 -0
- package/dist/src/renderers/html/builders/bullet.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/bullet.js +6 -0
- package/dist/src/renderers/html/builders/bullet.js.map +1 -0
- package/dist/src/renderers/html/builders/bump-chart.d.ts +3 -0
- package/dist/src/renderers/html/builders/bump-chart.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/bump-chart.js +6 -0
- package/dist/src/renderers/html/builders/bump-chart.js.map +1 -0
- package/dist/src/renderers/html/builders/calendar-heatmap.d.ts +3 -0
- package/dist/src/renderers/html/builders/calendar-heatmap.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/calendar-heatmap.js +6 -0
- package/dist/src/renderers/html/builders/calendar-heatmap.js.map +1 -0
- package/dist/src/renderers/html/builders/chord.d.ts +3 -0
- package/dist/src/renderers/html/builders/chord.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/chord.js +6 -0
- package/dist/src/renderers/html/builders/chord.js.map +1 -0
- package/dist/src/renderers/html/builders/choropleth.d.ts +3 -0
- package/dist/src/renderers/html/builders/choropleth.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/choropleth.js +6 -0
- package/dist/src/renderers/html/builders/choropleth.js.map +1 -0
- package/dist/src/renderers/html/builders/circle-pack.d.ts +3 -0
- package/dist/src/renderers/html/builders/circle-pack.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/circle-pack.js +6 -0
- package/dist/src/renderers/html/builders/circle-pack.js.map +1 -0
- package/dist/src/renderers/html/builders/compound.d.ts +18 -0
- package/dist/src/renderers/html/builders/compound.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/compound.js +468 -0
- package/dist/src/renderers/html/builders/compound.js.map +1 -0
- package/dist/src/renderers/html/builders/connected-dot-plot.d.ts +3 -0
- package/dist/src/renderers/html/builders/connected-dot-plot.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/connected-dot-plot.js +6 -0
- package/dist/src/renderers/html/builders/connected-dot-plot.js.map +1 -0
- package/dist/src/renderers/html/builders/connected-scatter.d.ts +3 -0
- package/dist/src/renderers/html/builders/connected-scatter.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/connected-scatter.js +6 -0
- package/dist/src/renderers/html/builders/connected-scatter.js.map +1 -0
- package/dist/src/renderers/html/builders/dashboard.d.ts +26 -0
- package/dist/src/renderers/html/builders/dashboard.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/dashboard.js +420 -0
- package/dist/src/renderers/html/builders/dashboard.js.map +1 -0
- package/dist/src/renderers/html/builders/density-plot.d.ts +3 -0
- package/dist/src/renderers/html/builders/density-plot.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/density-plot.js +6 -0
- package/dist/src/renderers/html/builders/density-plot.js.map +1 -0
- package/dist/src/renderers/html/builders/diverging-bar.d.ts +3 -0
- package/dist/src/renderers/html/builders/diverging-bar.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/diverging-bar.js +6 -0
- package/dist/src/renderers/html/builders/diverging-bar.js.map +1 -0
- package/dist/src/renderers/html/builders/donut.d.ts +3 -0
- package/dist/src/renderers/html/builders/donut.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/donut.js +6 -0
- package/dist/src/renderers/html/builders/donut.js.map +1 -0
- package/dist/src/renderers/html/builders/funnel.d.ts +3 -0
- package/dist/src/renderers/html/builders/funnel.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/funnel.js +6 -0
- package/dist/src/renderers/html/builders/funnel.js.map +1 -0
- package/dist/src/renderers/html/builders/grouped-bar.d.ts +3 -0
- package/dist/src/renderers/html/builders/grouped-bar.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/grouped-bar.js +6 -0
- package/dist/src/renderers/html/builders/grouped-bar.js.map +1 -0
- package/dist/src/renderers/html/builders/heatmap.d.ts +3 -0
- package/dist/src/renderers/html/builders/heatmap.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/heatmap.js +6 -0
- package/dist/src/renderers/html/builders/heatmap.js.map +1 -0
- package/dist/src/renderers/html/builders/histogram.d.ts +3 -0
- package/dist/src/renderers/html/builders/histogram.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/histogram.js +6 -0
- package/dist/src/renderers/html/builders/histogram.js.map +1 -0
- package/dist/src/renderers/html/builders/horizon-chart.d.ts +3 -0
- package/dist/src/renderers/html/builders/horizon-chart.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/horizon-chart.js +6 -0
- package/dist/src/renderers/html/builders/horizon-chart.js.map +1 -0
- package/dist/src/renderers/html/builders/icicle.d.ts +3 -0
- package/dist/src/renderers/html/builders/icicle.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/icicle.js +6 -0
- package/dist/src/renderers/html/builders/icicle.js.map +1 -0
- package/dist/src/renderers/html/builders/line.d.ts +3 -0
- package/dist/src/renderers/html/builders/line.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/line.js +6 -0
- package/dist/src/renderers/html/builders/line.js.map +1 -0
- package/dist/src/renderers/html/builders/lollipop.d.ts +3 -0
- package/dist/src/renderers/html/builders/lollipop.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/lollipop.js +6 -0
- package/dist/src/renderers/html/builders/lollipop.js.map +1 -0
- package/dist/src/renderers/html/builders/marimekko.d.ts +3 -0
- package/dist/src/renderers/html/builders/marimekko.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/marimekko.js +6 -0
- package/dist/src/renderers/html/builders/marimekko.js.map +1 -0
- package/dist/src/renderers/html/builders/metric.d.ts +3 -0
- package/dist/src/renderers/html/builders/metric.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/metric.js +6 -0
- package/dist/src/renderers/html/builders/metric.js.map +1 -0
- package/dist/src/renderers/html/builders/parallel-coordinates.d.ts +3 -0
- package/dist/src/renderers/html/builders/parallel-coordinates.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/parallel-coordinates.js +6 -0
- package/dist/src/renderers/html/builders/parallel-coordinates.js.map +1 -0
- package/dist/src/renderers/html/builders/proportional-symbol.d.ts +3 -0
- package/dist/src/renderers/html/builders/proportional-symbol.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/proportional-symbol.js +6 -0
- package/dist/src/renderers/html/builders/proportional-symbol.js.map +1 -0
- package/dist/src/renderers/html/builders/radar.d.ts +3 -0
- package/dist/src/renderers/html/builders/radar.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/radar.js +6 -0
- package/dist/src/renderers/html/builders/radar.js.map +1 -0
- package/dist/src/renderers/html/builders/ridgeline.d.ts +3 -0
- package/dist/src/renderers/html/builders/ridgeline.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/ridgeline.js +6 -0
- package/dist/src/renderers/html/builders/ridgeline.js.map +1 -0
- package/dist/src/renderers/html/builders/sankey.d.ts +3 -0
- package/dist/src/renderers/html/builders/sankey.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/sankey.js +6 -0
- package/dist/src/renderers/html/builders/sankey.js.map +1 -0
- package/dist/src/renderers/html/builders/scatter.d.ts +3 -0
- package/dist/src/renderers/html/builders/scatter.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/scatter.js +6 -0
- package/dist/src/renderers/html/builders/scatter.js.map +1 -0
- package/dist/src/renderers/html/builders/slope-chart.d.ts +3 -0
- package/dist/src/renderers/html/builders/slope-chart.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/slope-chart.js +6 -0
- package/dist/src/renderers/html/builders/slope-chart.js.map +1 -0
- package/dist/src/renderers/html/builders/small-multiples.d.ts +3 -0
- package/dist/src/renderers/html/builders/small-multiples.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/small-multiples.js +6 -0
- package/dist/src/renderers/html/builders/small-multiples.js.map +1 -0
- package/dist/src/renderers/html/builders/sparkline-grid.d.ts +3 -0
- package/dist/src/renderers/html/builders/sparkline-grid.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/sparkline-grid.js +6 -0
- package/dist/src/renderers/html/builders/sparkline-grid.js.map +1 -0
- package/dist/src/renderers/html/builders/stacked-bar.d.ts +3 -0
- package/dist/src/renderers/html/builders/stacked-bar.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/stacked-bar.js +6 -0
- package/dist/src/renderers/html/builders/stacked-bar.js.map +1 -0
- package/dist/src/renderers/html/builders/stream-graph.d.ts +3 -0
- package/dist/src/renderers/html/builders/stream-graph.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/stream-graph.js +6 -0
- package/dist/src/renderers/html/builders/stream-graph.js.map +1 -0
- package/dist/src/renderers/html/builders/strip-plot.d.ts +3 -0
- package/dist/src/renderers/html/builders/strip-plot.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/strip-plot.js +6 -0
- package/dist/src/renderers/html/builders/strip-plot.js.map +1 -0
- package/dist/src/renderers/html/builders/sunburst.d.ts +3 -0
- package/dist/src/renderers/html/builders/sunburst.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/sunburst.js +6 -0
- package/dist/src/renderers/html/builders/sunburst.js.map +1 -0
- package/dist/src/renderers/html/builders/treemap.d.ts +3 -0
- package/dist/src/renderers/html/builders/treemap.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/treemap.js +6 -0
- package/dist/src/renderers/html/builders/treemap.js.map +1 -0
- package/dist/src/renderers/html/builders/violin.d.ts +3 -0
- package/dist/src/renderers/html/builders/violin.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/violin.js +6 -0
- package/dist/src/renderers/html/builders/violin.js.map +1 -0
- package/dist/src/renderers/html/builders/waffle.d.ts +3 -0
- package/dist/src/renderers/html/builders/waffle.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/waffle.js +6 -0
- package/dist/src/renderers/html/builders/waffle.js.map +1 -0
- package/dist/src/renderers/html/builders/waterfall.d.ts +3 -0
- package/dist/src/renderers/html/builders/waterfall.d.ts.map +1 -0
- package/dist/src/renderers/html/builders/waterfall.js +6 -0
- package/dist/src/renderers/html/builders/waterfall.js.map +1 -0
- package/dist/src/renderers/html/compound.d.ts +18 -0
- package/dist/src/renderers/html/compound.d.ts.map +1 -0
- package/dist/src/renderers/html/compound.js +150 -0
- package/dist/src/renderers/html/compound.js.map +1 -0
- package/dist/src/renderers/html/index.d.ts +82 -0
- package/dist/src/renderers/html/index.d.ts.map +1 -0
- package/dist/src/renderers/html/index.js +236 -0
- package/dist/src/renderers/html/index.js.map +1 -0
- package/dist/src/renderers/html/render/alluvial.render.d.ts +3 -0
- package/dist/src/renderers/html/render/alluvial.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/alluvial.render.js +3 -0
- package/dist/src/renderers/html/render/alluvial.render.js.map +1 -0
- package/dist/src/renderers/html/render/area.render.d.ts +3 -0
- package/dist/src/renderers/html/render/area.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/area.render.js +3 -0
- package/dist/src/renderers/html/render/area.render.js.map +1 -0
- package/dist/src/renderers/html/render/bar.render.d.ts +3 -0
- package/dist/src/renderers/html/render/bar.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/bar.render.js +3 -0
- package/dist/src/renderers/html/render/bar.render.js.map +1 -0
- package/dist/src/renderers/html/render/beeswarm.render.d.ts +3 -0
- package/dist/src/renderers/html/render/beeswarm.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/beeswarm.render.js +3 -0
- package/dist/src/renderers/html/render/beeswarm.render.js.map +1 -0
- package/dist/src/renderers/html/render/box-plot.render.d.ts +3 -0
- package/dist/src/renderers/html/render/box-plot.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/box-plot.render.js +3 -0
- package/dist/src/renderers/html/render/box-plot.render.js.map +1 -0
- package/dist/src/renderers/html/render/bullet.render.d.ts +3 -0
- package/dist/src/renderers/html/render/bullet.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/bullet.render.js +3 -0
- package/dist/src/renderers/html/render/bullet.render.js.map +1 -0
- package/dist/src/renderers/html/render/bump-chart.render.d.ts +3 -0
- package/dist/src/renderers/html/render/bump-chart.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/bump-chart.render.js +3 -0
- package/dist/src/renderers/html/render/bump-chart.render.js.map +1 -0
- package/dist/src/renderers/html/render/calendar-heatmap.render.d.ts +3 -0
- package/dist/src/renderers/html/render/calendar-heatmap.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/calendar-heatmap.render.js +3 -0
- package/dist/src/renderers/html/render/calendar-heatmap.render.js.map +1 -0
- package/dist/src/renderers/html/render/chord.render.d.ts +3 -0
- package/dist/src/renderers/html/render/chord.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/chord.render.js +3 -0
- package/dist/src/renderers/html/render/chord.render.js.map +1 -0
- package/dist/src/renderers/html/render/choropleth.render.d.ts +3 -0
- package/dist/src/renderers/html/render/choropleth.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/choropleth.render.js +5 -0
- package/dist/src/renderers/html/render/choropleth.render.js.map +1 -0
- package/dist/src/renderers/html/render/circle-pack.render.d.ts +3 -0
- package/dist/src/renderers/html/render/circle-pack.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/circle-pack.render.js +3 -0
- package/dist/src/renderers/html/render/circle-pack.render.js.map +1 -0
- package/dist/src/renderers/html/render/connected-dot-plot.render.d.ts +3 -0
- package/dist/src/renderers/html/render/connected-dot-plot.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/connected-dot-plot.render.js +3 -0
- package/dist/src/renderers/html/render/connected-dot-plot.render.js.map +1 -0
- package/dist/src/renderers/html/render/connected-scatter.render.d.ts +3 -0
- package/dist/src/renderers/html/render/connected-scatter.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/connected-scatter.render.js +3 -0
- package/dist/src/renderers/html/render/connected-scatter.render.js.map +1 -0
- package/dist/src/renderers/html/render/density-plot.render.d.ts +3 -0
- package/dist/src/renderers/html/render/density-plot.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/density-plot.render.js +3 -0
- package/dist/src/renderers/html/render/density-plot.render.js.map +1 -0
- package/dist/src/renderers/html/render/diverging-bar.render.d.ts +3 -0
- package/dist/src/renderers/html/render/diverging-bar.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/diverging-bar.render.js +3 -0
- package/dist/src/renderers/html/render/diverging-bar.render.js.map +1 -0
- package/dist/src/renderers/html/render/donut.render.d.ts +3 -0
- package/dist/src/renderers/html/render/donut.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/donut.render.js +3 -0
- package/dist/src/renderers/html/render/donut.render.js.map +1 -0
- package/dist/src/renderers/html/render/funnel.render.d.ts +3 -0
- package/dist/src/renderers/html/render/funnel.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/funnel.render.js +3 -0
- package/dist/src/renderers/html/render/funnel.render.js.map +1 -0
- package/dist/src/renderers/html/render/grouped-bar.render.d.ts +3 -0
- package/dist/src/renderers/html/render/grouped-bar.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/grouped-bar.render.js +3 -0
- package/dist/src/renderers/html/render/grouped-bar.render.js.map +1 -0
- package/dist/src/renderers/html/render/heatmap.render.d.ts +3 -0
- package/dist/src/renderers/html/render/heatmap.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/heatmap.render.js +3 -0
- package/dist/src/renderers/html/render/heatmap.render.js.map +1 -0
- package/dist/src/renderers/html/render/histogram.render.d.ts +3 -0
- package/dist/src/renderers/html/render/histogram.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/histogram.render.js +3 -0
- package/dist/src/renderers/html/render/histogram.render.js.map +1 -0
- package/dist/src/renderers/html/render/horizon-chart.render.d.ts +3 -0
- package/dist/src/renderers/html/render/horizon-chart.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/horizon-chart.render.js +3 -0
- package/dist/src/renderers/html/render/horizon-chart.render.js.map +1 -0
- package/dist/src/renderers/html/render/icicle.render.d.ts +3 -0
- package/dist/src/renderers/html/render/icicle.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/icicle.render.js +3 -0
- package/dist/src/renderers/html/render/icicle.render.js.map +1 -0
- package/dist/src/renderers/html/render/line.render.d.ts +3 -0
- package/dist/src/renderers/html/render/line.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/line.render.js +3 -0
- package/dist/src/renderers/html/render/line.render.js.map +1 -0
- package/dist/src/renderers/html/render/lollipop.render.d.ts +3 -0
- package/dist/src/renderers/html/render/lollipop.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/lollipop.render.js +3 -0
- package/dist/src/renderers/html/render/lollipop.render.js.map +1 -0
- package/dist/src/renderers/html/render/marimekko.render.d.ts +3 -0
- package/dist/src/renderers/html/render/marimekko.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/marimekko.render.js +3 -0
- package/dist/src/renderers/html/render/marimekko.render.js.map +1 -0
- package/dist/src/renderers/html/render/metric.render.d.ts +3 -0
- package/dist/src/renderers/html/render/metric.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/metric.render.js +3 -0
- package/dist/src/renderers/html/render/metric.render.js.map +1 -0
- package/dist/src/renderers/html/render/parallel-coordinates.render.d.ts +3 -0
- package/dist/src/renderers/html/render/parallel-coordinates.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/parallel-coordinates.render.js +3 -0
- package/dist/src/renderers/html/render/parallel-coordinates.render.js.map +1 -0
- package/dist/src/renderers/html/render/proportional-symbol.render.d.ts +3 -0
- package/dist/src/renderers/html/render/proportional-symbol.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/proportional-symbol.render.js +5 -0
- package/dist/src/renderers/html/render/proportional-symbol.render.js.map +1 -0
- package/dist/src/renderers/html/render/radar.render.d.ts +3 -0
- package/dist/src/renderers/html/render/radar.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/radar.render.js +3 -0
- package/dist/src/renderers/html/render/radar.render.js.map +1 -0
- package/dist/src/renderers/html/render/ridgeline.render.d.ts +3 -0
- package/dist/src/renderers/html/render/ridgeline.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/ridgeline.render.js +3 -0
- package/dist/src/renderers/html/render/ridgeline.render.js.map +1 -0
- package/dist/src/renderers/html/render/sankey.render.d.ts +3 -0
- package/dist/src/renderers/html/render/sankey.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/sankey.render.js +3 -0
- package/dist/src/renderers/html/render/sankey.render.js.map +1 -0
- package/dist/src/renderers/html/render/scatter.render.d.ts +3 -0
- package/dist/src/renderers/html/render/scatter.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/scatter.render.js +3 -0
- package/dist/src/renderers/html/render/scatter.render.js.map +1 -0
- package/dist/src/renderers/html/render/slope-chart.render.d.ts +3 -0
- package/dist/src/renderers/html/render/slope-chart.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/slope-chart.render.js +3 -0
- package/dist/src/renderers/html/render/slope-chart.render.js.map +1 -0
- package/dist/src/renderers/html/render/small-multiples.render.d.ts +3 -0
- package/dist/src/renderers/html/render/small-multiples.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/small-multiples.render.js +3 -0
- package/dist/src/renderers/html/render/small-multiples.render.js.map +1 -0
- package/dist/src/renderers/html/render/sparkline-grid.render.d.ts +3 -0
- package/dist/src/renderers/html/render/sparkline-grid.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/sparkline-grid.render.js +3 -0
- package/dist/src/renderers/html/render/sparkline-grid.render.js.map +1 -0
- package/dist/src/renderers/html/render/stacked-bar.render.d.ts +3 -0
- package/dist/src/renderers/html/render/stacked-bar.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/stacked-bar.render.js +3 -0
- package/dist/src/renderers/html/render/stacked-bar.render.js.map +1 -0
- package/dist/src/renderers/html/render/stream-graph.render.d.ts +3 -0
- package/dist/src/renderers/html/render/stream-graph.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/stream-graph.render.js +3 -0
- package/dist/src/renderers/html/render/stream-graph.render.js.map +1 -0
- package/dist/src/renderers/html/render/strip-plot.render.d.ts +3 -0
- package/dist/src/renderers/html/render/strip-plot.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/strip-plot.render.js +3 -0
- package/dist/src/renderers/html/render/strip-plot.render.js.map +1 -0
- package/dist/src/renderers/html/render/sunburst.render.d.ts +3 -0
- package/dist/src/renderers/html/render/sunburst.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/sunburst.render.js +3 -0
- package/dist/src/renderers/html/render/sunburst.render.js.map +1 -0
- package/dist/src/renderers/html/render/treemap.render.d.ts +3 -0
- package/dist/src/renderers/html/render/treemap.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/treemap.render.js +3 -0
- package/dist/src/renderers/html/render/treemap.render.js.map +1 -0
- package/dist/src/renderers/html/render/violin.render.d.ts +3 -0
- package/dist/src/renderers/html/render/violin.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/violin.render.js +3 -0
- package/dist/src/renderers/html/render/violin.render.js.map +1 -0
- package/dist/src/renderers/html/render/waffle.render.d.ts +3 -0
- package/dist/src/renderers/html/render/waffle.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/waffle.render.js +3 -0
- package/dist/src/renderers/html/render/waffle.render.js.map +1 -0
- package/dist/src/renderers/html/render/waterfall.render.d.ts +3 -0
- package/dist/src/renderers/html/render/waterfall.render.d.ts.map +1 -0
- package/dist/src/renderers/html/render/waterfall.render.js +3 -0
- package/dist/src/renderers/html/render/waterfall.render.js.map +1 -0
- package/dist/src/renderers/html/sizing.d.ts +12 -0
- package/dist/src/renderers/html/sizing.d.ts.map +1 -0
- package/dist/src/renderers/html/sizing.js +126 -0
- package/dist/src/renderers/html/sizing.js.map +1 -0
- package/dist/src/renderers/html/template.d.ts +30 -0
- package/dist/src/renderers/html/template.d.ts.map +1 -0
- package/dist/src/renderers/html/template.js +777 -0
- package/dist/src/renderers/html/template.js.map +1 -0
- package/dist/src/renderers/react/Alluvial.d.ts +7 -0
- package/dist/src/renderers/react/Alluvial.d.ts.map +1 -0
- package/dist/src/renderers/react/Alluvial.js +8 -0
- package/dist/src/renderers/react/Alluvial.js.map +1 -0
- package/dist/src/renderers/react/Area.d.ts +7 -0
- package/dist/src/renderers/react/Area.d.ts.map +1 -0
- package/dist/src/renderers/react/Area.js +8 -0
- package/dist/src/renderers/react/Area.js.map +1 -0
- package/dist/src/renderers/react/Bar.d.ts +7 -0
- package/dist/src/renderers/react/Bar.d.ts.map +1 -0
- package/dist/src/renderers/react/Bar.js +8 -0
- package/dist/src/renderers/react/Bar.js.map +1 -0
- package/dist/src/renderers/react/Beeswarm.d.ts +7 -0
- package/dist/src/renderers/react/Beeswarm.d.ts.map +1 -0
- package/dist/src/renderers/react/Beeswarm.js +8 -0
- package/dist/src/renderers/react/Beeswarm.js.map +1 -0
- package/dist/src/renderers/react/BoxPlot.d.ts +3 -0
- package/dist/src/renderers/react/BoxPlot.d.ts.map +1 -0
- package/dist/src/renderers/react/BoxPlot.js +8 -0
- package/dist/src/renderers/react/BoxPlot.js.map +1 -0
- package/dist/src/renderers/react/Bullet.d.ts +3 -0
- package/dist/src/renderers/react/Bullet.d.ts.map +1 -0
- package/dist/src/renderers/react/Bullet.js +8 -0
- package/dist/src/renderers/react/Bullet.js.map +1 -0
- package/dist/src/renderers/react/BumpChart.d.ts +9 -0
- package/dist/src/renderers/react/BumpChart.d.ts.map +1 -0
- package/dist/src/renderers/react/BumpChart.js +18 -0
- package/dist/src/renderers/react/BumpChart.js.map +1 -0
- package/dist/src/renderers/react/CalendarHeatmap.d.ts +7 -0
- package/dist/src/renderers/react/CalendarHeatmap.d.ts.map +1 -0
- package/dist/src/renderers/react/CalendarHeatmap.js +8 -0
- package/dist/src/renderers/react/CalendarHeatmap.js.map +1 -0
- package/dist/src/renderers/react/Chord.d.ts +7 -0
- package/dist/src/renderers/react/Chord.d.ts.map +1 -0
- package/dist/src/renderers/react/Chord.js +8 -0
- package/dist/src/renderers/react/Chord.js.map +1 -0
- package/dist/src/renderers/react/Choropleth.d.ts +7 -0
- package/dist/src/renderers/react/Choropleth.d.ts.map +1 -0
- package/dist/src/renderers/react/Choropleth.js +16 -0
- package/dist/src/renderers/react/Choropleth.js.map +1 -0
- package/dist/src/renderers/react/CirclePack.d.ts +7 -0
- package/dist/src/renderers/react/CirclePack.d.ts.map +1 -0
- package/dist/src/renderers/react/CirclePack.js +8 -0
- package/dist/src/renderers/react/CirclePack.js.map +1 -0
- package/dist/src/renderers/react/CompoundChart.d.ts +31 -0
- package/dist/src/renderers/react/CompoundChart.d.ts.map +1 -0
- package/dist/src/renderers/react/CompoundChart.js +80 -0
- package/dist/src/renderers/react/CompoundChart.js.map +1 -0
- package/dist/src/renderers/react/ConnectedDotPlot.d.ts +7 -0
- package/dist/src/renderers/react/ConnectedDotPlot.d.ts.map +1 -0
- package/dist/src/renderers/react/ConnectedDotPlot.js +8 -0
- package/dist/src/renderers/react/ConnectedDotPlot.js.map +1 -0
- package/dist/src/renderers/react/ConnectedScatter.d.ts +7 -0
- package/dist/src/renderers/react/ConnectedScatter.d.ts.map +1 -0
- package/dist/src/renderers/react/ConnectedScatter.js +8 -0
- package/dist/src/renderers/react/ConnectedScatter.js.map +1 -0
- package/dist/src/renderers/react/DataTable.d.ts +29 -0
- package/dist/src/renderers/react/DataTable.d.ts.map +1 -0
- package/dist/src/renderers/react/DataTable.js +128 -0
- package/dist/src/renderers/react/DataTable.js.map +1 -0
- package/dist/src/renderers/react/DensityPlot.d.ts +3 -0
- package/dist/src/renderers/react/DensityPlot.d.ts.map +1 -0
- package/dist/src/renderers/react/DensityPlot.js +8 -0
- package/dist/src/renderers/react/DensityPlot.js.map +1 -0
- package/dist/src/renderers/react/DivergingBar.d.ts +7 -0
- package/dist/src/renderers/react/DivergingBar.d.ts.map +1 -0
- package/dist/src/renderers/react/DivergingBar.js +8 -0
- package/dist/src/renderers/react/DivergingBar.js.map +1 -0
- package/dist/src/renderers/react/Donut.d.ts +7 -0
- package/dist/src/renderers/react/Donut.d.ts.map +1 -0
- package/dist/src/renderers/react/Donut.js +8 -0
- package/dist/src/renderers/react/Donut.js.map +1 -0
- package/dist/src/renderers/react/Funnel.d.ts +3 -0
- package/dist/src/renderers/react/Funnel.d.ts.map +1 -0
- package/dist/src/renderers/react/Funnel.js +8 -0
- package/dist/src/renderers/react/Funnel.js.map +1 -0
- package/dist/src/renderers/react/GroupedBar.d.ts +3 -0
- package/dist/src/renderers/react/GroupedBar.d.ts.map +1 -0
- package/dist/src/renderers/react/GroupedBar.js +8 -0
- package/dist/src/renderers/react/GroupedBar.js.map +1 -0
- package/dist/src/renderers/react/Heatmap.d.ts +3 -0
- package/dist/src/renderers/react/Heatmap.d.ts.map +1 -0
- package/dist/src/renderers/react/Heatmap.js +8 -0
- package/dist/src/renderers/react/Heatmap.js.map +1 -0
- package/dist/src/renderers/react/Histogram.d.ts +7 -0
- package/dist/src/renderers/react/Histogram.d.ts.map +1 -0
- package/dist/src/renderers/react/Histogram.js +8 -0
- package/dist/src/renderers/react/Histogram.js.map +1 -0
- package/dist/src/renderers/react/HorizonChart.d.ts +3 -0
- package/dist/src/renderers/react/HorizonChart.d.ts.map +1 -0
- package/dist/src/renderers/react/HorizonChart.js +8 -0
- package/dist/src/renderers/react/HorizonChart.js.map +1 -0
- package/dist/src/renderers/react/Icicle.d.ts +3 -0
- package/dist/src/renderers/react/Icicle.d.ts.map +1 -0
- package/dist/src/renderers/react/Icicle.js +8 -0
- package/dist/src/renderers/react/Icicle.js.map +1 -0
- package/dist/src/renderers/react/Line.d.ts +7 -0
- package/dist/src/renderers/react/Line.d.ts.map +1 -0
- package/dist/src/renderers/react/Line.js +8 -0
- package/dist/src/renderers/react/Line.js.map +1 -0
- package/dist/src/renderers/react/Lollipop.d.ts +3 -0
- package/dist/src/renderers/react/Lollipop.d.ts.map +1 -0
- package/dist/src/renderers/react/Lollipop.js +8 -0
- package/dist/src/renderers/react/Lollipop.js.map +1 -0
- package/dist/src/renderers/react/Marimekko.d.ts +7 -0
- package/dist/src/renderers/react/Marimekko.d.ts.map +1 -0
- package/dist/src/renderers/react/Marimekko.js +8 -0
- package/dist/src/renderers/react/Marimekko.js.map +1 -0
- package/dist/src/renderers/react/Metric.d.ts +7 -0
- package/dist/src/renderers/react/Metric.d.ts.map +1 -0
- package/dist/src/renderers/react/Metric.js +8 -0
- package/dist/src/renderers/react/Metric.js.map +1 -0
- package/dist/src/renderers/react/ParallelCoordinates.d.ts +7 -0
- package/dist/src/renderers/react/ParallelCoordinates.d.ts.map +1 -0
- package/dist/src/renderers/react/ParallelCoordinates.js +8 -0
- package/dist/src/renderers/react/ParallelCoordinates.js.map +1 -0
- package/dist/src/renderers/react/ProportionalSymbol.d.ts +7 -0
- package/dist/src/renderers/react/ProportionalSymbol.d.ts.map +1 -0
- package/dist/src/renderers/react/ProportionalSymbol.js +16 -0
- package/dist/src/renderers/react/ProportionalSymbol.js.map +1 -0
- package/dist/src/renderers/react/Radar.d.ts +7 -0
- package/dist/src/renderers/react/Radar.d.ts.map +1 -0
- package/dist/src/renderers/react/Radar.js +8 -0
- package/dist/src/renderers/react/Radar.js.map +1 -0
- package/dist/src/renderers/react/Ridgeline.d.ts +7 -0
- package/dist/src/renderers/react/Ridgeline.d.ts.map +1 -0
- package/dist/src/renderers/react/Ridgeline.js +8 -0
- package/dist/src/renderers/react/Ridgeline.js.map +1 -0
- package/dist/src/renderers/react/Sankey.d.ts +7 -0
- package/dist/src/renderers/react/Sankey.d.ts.map +1 -0
- package/dist/src/renderers/react/Sankey.js +8 -0
- package/dist/src/renderers/react/Sankey.js.map +1 -0
- package/dist/src/renderers/react/Scatter.d.ts +7 -0
- package/dist/src/renderers/react/Scatter.d.ts.map +1 -0
- package/dist/src/renderers/react/Scatter.js +8 -0
- package/dist/src/renderers/react/Scatter.js.map +1 -0
- package/dist/src/renderers/react/SlopeChart.d.ts +7 -0
- package/dist/src/renderers/react/SlopeChart.d.ts.map +1 -0
- package/dist/src/renderers/react/SlopeChart.js +8 -0
- package/dist/src/renderers/react/SlopeChart.js.map +1 -0
- package/dist/src/renderers/react/SmallMultiples.d.ts +7 -0
- package/dist/src/renderers/react/SmallMultiples.d.ts.map +1 -0
- package/dist/src/renderers/react/SmallMultiples.js +8 -0
- package/dist/src/renderers/react/SmallMultiples.js.map +1 -0
- package/dist/src/renderers/react/SparklineGrid.d.ts +7 -0
- package/dist/src/renderers/react/SparklineGrid.d.ts.map +1 -0
- package/dist/src/renderers/react/SparklineGrid.js +8 -0
- package/dist/src/renderers/react/SparklineGrid.js.map +1 -0
- package/dist/src/renderers/react/StackedBar.d.ts +7 -0
- package/dist/src/renderers/react/StackedBar.d.ts.map +1 -0
- package/dist/src/renderers/react/StackedBar.js +8 -0
- package/dist/src/renderers/react/StackedBar.js.map +1 -0
- package/dist/src/renderers/react/StreamGraph.d.ts +3 -0
- package/dist/src/renderers/react/StreamGraph.d.ts.map +1 -0
- package/dist/src/renderers/react/StreamGraph.js +8 -0
- package/dist/src/renderers/react/StreamGraph.js.map +1 -0
- package/dist/src/renderers/react/StripPlot.d.ts +7 -0
- package/dist/src/renderers/react/StripPlot.d.ts.map +1 -0
- package/dist/src/renderers/react/StripPlot.js +8 -0
- package/dist/src/renderers/react/StripPlot.js.map +1 -0
- package/dist/src/renderers/react/Sunburst.d.ts +7 -0
- package/dist/src/renderers/react/Sunburst.d.ts.map +1 -0
- package/dist/src/renderers/react/Sunburst.js +8 -0
- package/dist/src/renderers/react/Sunburst.js.map +1 -0
- package/dist/src/renderers/react/Treemap.d.ts +7 -0
- package/dist/src/renderers/react/Treemap.d.ts.map +1 -0
- package/dist/src/renderers/react/Treemap.js +8 -0
- package/dist/src/renderers/react/Treemap.js.map +1 -0
- package/dist/src/renderers/react/Violin.d.ts +7 -0
- package/dist/src/renderers/react/Violin.d.ts.map +1 -0
- package/dist/src/renderers/react/Violin.js +8 -0
- package/dist/src/renderers/react/Violin.js.map +1 -0
- package/dist/src/renderers/react/Waffle.d.ts +7 -0
- package/dist/src/renderers/react/Waffle.d.ts.map +1 -0
- package/dist/src/renderers/react/Waffle.js +8 -0
- package/dist/src/renderers/react/Waffle.js.map +1 -0
- package/dist/src/renderers/react/Waterfall.d.ts +3 -0
- package/dist/src/renderers/react/Waterfall.d.ts.map +1 -0
- package/dist/src/renderers/react/Waterfall.js +8 -0
- package/dist/src/renderers/react/Waterfall.js.map +1 -0
- package/dist/src/renderers/react/index.d.ts +60 -0
- package/dist/src/renderers/react/index.d.ts.map +1 -0
- package/dist/src/renderers/react/index.js +66 -0
- package/dist/src/renderers/react/index.js.map +1 -0
- package/dist/src/renderers/react/types.d.ts +17 -0
- package/dist/src/renderers/react/types.d.ts.map +1 -0
- package/dist/src/renderers/react/types.js +5 -0
- package/dist/src/renderers/react/types.js.map +1 -0
- package/dist/src/renderers/react/useChart.d.ts +21 -0
- package/dist/src/renderers/react/useChart.d.ts.map +1 -0
- package/dist/src/renderers/react/useChart.js +45 -0
- package/dist/src/renderers/react/useChart.js.map +1 -0
- package/dist/src/theme/colors.d.ts +128 -0
- package/dist/src/theme/colors.d.ts.map +1 -0
- package/dist/src/theme/colors.js +242 -0
- package/dist/src/theme/colors.js.map +1 -0
- package/dist/src/theme/index.d.ts +293 -0
- package/dist/src/theme/index.d.ts.map +1 -0
- package/dist/src/theme/index.js +83 -0
- package/dist/src/theme/index.js.map +1 -0
- package/dist/src/theme/spacing.d.ts +170 -0
- package/dist/src/theme/spacing.d.ts.map +1 -0
- package/dist/src/theme/spacing.js +143 -0
- package/dist/src/theme/spacing.js.map +1 -0
- package/dist/src/theme/typography.d.ts +137 -0
- package/dist/src/theme/typography.d.ts.map +1 -0
- package/dist/src/theme/typography.js +139 -0
- package/dist/src/theme/typography.js.map +1 -0
- package/dist/src/types.d.ts +473 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +20 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/export.d.ts +42 -0
- package/dist/src/utils/export.d.ts.map +1 -0
- package/dist/src/utils/export.js +124 -0
- package/dist/src/utils/export.js.map +1 -0
- package/dist/src/utils/index.d.ts +9 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +7 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/labels.d.ts +81 -0
- package/dist/src/utils/labels.d.ts.map +1 -0
- package/dist/src/utils/labels.js +208 -0
- package/dist/src/utils/labels.js.map +1 -0
- package/dist/src/utils/responsive.d.ts +55 -0
- package/dist/src/utils/responsive.d.ts.map +1 -0
- package/dist/src/utils/responsive.js +91 -0
- package/dist/src/utils/responsive.js.map +1 -0
- package/package.json +115 -0
- package/src/analysis/classify.ts +64 -0
- package/src/analysis/index.ts +4 -0
- package/src/analysis/planner.ts +60 -0
- package/src/analysis/rules.ts +249 -0
- package/src/analysis/types.ts +32 -0
- package/src/connectors/csv.ts +407 -0
- package/src/connectors/dsl-compiler.ts +367 -0
- package/src/connectors/dsl-validator.ts +490 -0
- package/src/connectors/index.ts +23 -0
- package/src/connectors/js-aggregation.ts +399 -0
- package/src/connectors/manager.ts +414 -0
- package/src/connectors/mysql.ts +378 -0
- package/src/connectors/postgres.ts +367 -0
- package/src/connectors/sqlite.ts +364 -0
- package/src/connectors/types.ts +59 -0
- package/src/index.ts +130 -0
- package/src/mcp/app-shell.ts +263 -0
- package/src/mcp/index.ts +394 -0
- package/src/mcp/prompts.ts +35 -0
- package/src/mcp/spec-store.ts +141 -0
- package/src/mcp/tools/analyze.ts +45 -0
- package/src/mcp/tools/bug-report.ts +183 -0
- package/src/mcp/tools/dashboard-refine.ts +456 -0
- package/src/mcp/tools/dashboard.ts +62 -0
- package/src/mcp/tools/dsl-schemas.ts +262 -0
- package/src/mcp/tools/export-html.ts +46 -0
- package/src/mcp/tools/list-patterns.ts +301 -0
- package/src/mcp/tools/operation-log.ts +110 -0
- package/src/mcp/tools/query-source.ts +69 -0
- package/src/mcp/tools/refine.ts +385 -0
- package/src/mcp/tools/result-cache.ts +61 -0
- package/src/mcp/tools/screenshot.ts +99 -0
- package/src/mcp/tools/server-privacy.ts +92 -0
- package/src/mcp/tools/shared.ts +220 -0
- package/src/mcp/tools/sources.ts +203 -0
- package/src/mcp/tools/visualize-from-source.ts +77 -0
- package/src/mcp/tools/visualize.ts +229 -0
- package/src/patterns/definitions/comparison/bar.ts +110 -0
- package/src/patterns/definitions/comparison/bullet.ts +136 -0
- package/src/patterns/definitions/comparison/bump-chart.ts +143 -0
- package/src/patterns/definitions/comparison/connected-dot-plot.ts +113 -0
- package/src/patterns/definitions/comparison/diverging-bar.ts +110 -0
- package/src/patterns/definitions/comparison/grouped-bar.ts +119 -0
- package/src/patterns/definitions/comparison/index.ts +9 -0
- package/src/patterns/definitions/comparison/lollipop.ts +138 -0
- package/src/patterns/definitions/comparison/slope-chart.ts +110 -0
- package/src/patterns/definitions/comparison/waterfall.ts +99 -0
- package/src/patterns/definitions/composition/circle-pack.ts +117 -0
- package/src/patterns/definitions/composition/donut.ts +115 -0
- package/src/patterns/definitions/composition/icicle.ts +130 -0
- package/src/patterns/definitions/composition/index.ts +9 -0
- package/src/patterns/definitions/composition/marimekko.ts +140 -0
- package/src/patterns/definitions/composition/metric.ts +126 -0
- package/src/patterns/definitions/composition/stacked-bar.ts +118 -0
- package/src/patterns/definitions/composition/sunburst.ts +114 -0
- package/src/patterns/definitions/composition/treemap.ts +118 -0
- package/src/patterns/definitions/composition/waffle.ts +127 -0
- package/src/patterns/definitions/distribution/beeswarm.ts +115 -0
- package/src/patterns/definitions/distribution/box-plot.ts +115 -0
- package/src/patterns/definitions/distribution/density-plot.ts +126 -0
- package/src/patterns/definitions/distribution/histogram.ts +125 -0
- package/src/patterns/definitions/distribution/index.ts +9 -0
- package/src/patterns/definitions/distribution/ridgeline.ts +120 -0
- package/src/patterns/definitions/distribution/strip-plot.ts +106 -0
- package/src/patterns/definitions/distribution/violin.ts +118 -0
- package/src/patterns/definitions/flow/alluvial.ts +124 -0
- package/src/patterns/definitions/flow/chord.ts +132 -0
- package/src/patterns/definitions/flow/funnel.ts +75 -0
- package/src/patterns/definitions/flow/index.ts +7 -0
- package/src/patterns/definitions/flow/sankey.ts +140 -0
- package/src/patterns/definitions/geo/choropleth.ts +82 -0
- package/src/patterns/definitions/geo/index.ts +6 -0
- package/src/patterns/definitions/geo/proportional-symbol.ts +94 -0
- package/src/patterns/definitions/relationship/connected-scatter.ts +123 -0
- package/src/patterns/definitions/relationship/heatmap.ts +168 -0
- package/src/patterns/definitions/relationship/index.ts +8 -0
- package/src/patterns/definitions/relationship/parallel-coordinates.ts +118 -0
- package/src/patterns/definitions/relationship/radar.ts +143 -0
- package/src/patterns/definitions/relationship/scatter.ts +138 -0
- package/src/patterns/definitions/time/area.ts +111 -0
- package/src/patterns/definitions/time/calendar-heatmap.ts +121 -0
- package/src/patterns/definitions/time/horizon-chart.ts +105 -0
- package/src/patterns/definitions/time/index.ts +8 -0
- package/src/patterns/definitions/time/line.ts +120 -0
- package/src/patterns/definitions/time/small-multiples.ts +113 -0
- package/src/patterns/definitions/time/sparkline-grid.ts +139 -0
- package/src/patterns/definitions/time/stream-graph.ts +136 -0
- package/src/patterns/index.ts +87 -0
- package/src/patterns/registry.ts +275 -0
- package/src/patterns/selector.ts +548 -0
- package/src/patterns/utils.ts +406 -0
- package/src/renderers/d3/comparison/bar.ts +397 -0
- package/src/renderers/d3/comparison/bullet.ts +252 -0
- package/src/renderers/d3/comparison/bump-chart.ts +262 -0
- package/src/renderers/d3/comparison/connected-dot-plot.ts +305 -0
- package/src/renderers/d3/comparison/diverging-bar.ts +374 -0
- package/src/renderers/d3/comparison/grouped-bar.ts +323 -0
- package/src/renderers/d3/comparison/index.ts +13 -0
- package/src/renderers/d3/comparison/lollipop.ts +422 -0
- package/src/renderers/d3/comparison/slope-chart.ts +322 -0
- package/src/renderers/d3/comparison/waterfall.ts +263 -0
- package/src/renderers/d3/composition/circle-pack.ts +246 -0
- package/src/renderers/d3/composition/donut.ts +226 -0
- package/src/renderers/d3/composition/icicle.ts +456 -0
- package/src/renderers/d3/composition/index.ts +13 -0
- package/src/renderers/d3/composition/marimekko.ts +312 -0
- package/src/renderers/d3/composition/metric.ts +238 -0
- package/src/renderers/d3/composition/stacked-bar.ts +309 -0
- package/src/renderers/d3/composition/sunburst.ts +403 -0
- package/src/renderers/d3/composition/treemap.ts +274 -0
- package/src/renderers/d3/composition/waffle.ts +170 -0
- package/src/renderers/d3/connected-scatter.ts +429 -0
- package/src/renderers/d3/distribution/beeswarm.ts +455 -0
- package/src/renderers/d3/distribution/box-plot.ts +453 -0
- package/src/renderers/d3/distribution/density-plot.ts +394 -0
- package/src/renderers/d3/distribution/histogram.ts +461 -0
- package/src/renderers/d3/distribution/index.ts +11 -0
- package/src/renderers/d3/distribution/ridgeline.ts +298 -0
- package/src/renderers/d3/distribution/strip-plot.ts +376 -0
- package/src/renderers/d3/distribution/violin.ts +381 -0
- package/src/renderers/d3/flow/alluvial.ts +464 -0
- package/src/renderers/d3/flow/chord.ts +278 -0
- package/src/renderers/d3/flow/funnel.ts +346 -0
- package/src/renderers/d3/flow/index.ts +9 -0
- package/src/renderers/d3/flow/sankey-layout.ts +202 -0
- package/src/renderers/d3/flow/sankey.ts +189 -0
- package/src/renderers/d3/geo/choropleth.ts +198 -0
- package/src/renderers/d3/geo/geo-registry.ts +289 -0
- package/src/renderers/d3/geo/geo-scope.ts +313 -0
- package/src/renderers/d3/geo/index.ts +6 -0
- package/src/renderers/d3/geo/names/countries.ts +245 -0
- package/src/renderers/d3/geo/names/fuzzy.ts +56 -0
- package/src/renderers/d3/geo/names/index.ts +5 -0
- package/src/renderers/d3/geo/names/normalize.ts +9 -0
- package/src/renderers/d3/geo/names/subdivisions.ts +642 -0
- package/src/renderers/d3/geo/proportional-symbol.ts +511 -0
- package/src/renderers/d3/geo/topojson-loader.ts +15 -0
- package/src/renderers/d3/heatmap.ts +273 -0
- package/src/renderers/d3/index.ts +230 -0
- package/src/renderers/d3/parallel-coordinates.ts +227 -0
- package/src/renderers/d3/radar.ts +313 -0
- package/src/renderers/d3/relationship.ts +288 -0
- package/src/renderers/d3/shared.ts +1029 -0
- package/src/renderers/d3/time/area.ts +552 -0
- package/src/renderers/d3/time/calendar-heatmap.ts +544 -0
- package/src/renderers/d3/time/horizon-chart.ts +395 -0
- package/src/renderers/d3/time/index.ts +11 -0
- package/src/renderers/d3/time/line.ts +409 -0
- package/src/renderers/d3/time/small-multiples.ts +190 -0
- package/src/renderers/d3/time/sparkline-grid.ts +237 -0
- package/src/renderers/d3/time/stream-graph.ts +401 -0
- package/src/renderers/html/_generated/bundles.ts +45 -0
- package/src/renderers/html/builders/alluvial.ts +7 -0
- package/src/renderers/html/builders/area.ts +7 -0
- package/src/renderers/html/builders/bar.ts +7 -0
- package/src/renderers/html/builders/beeswarm.ts +7 -0
- package/src/renderers/html/builders/box-plot.ts +7 -0
- package/src/renderers/html/builders/bullet.ts +7 -0
- package/src/renderers/html/builders/bump-chart.ts +7 -0
- package/src/renderers/html/builders/calendar-heatmap.ts +7 -0
- package/src/renderers/html/builders/chord.ts +7 -0
- package/src/renderers/html/builders/choropleth.ts +7 -0
- package/src/renderers/html/builders/circle-pack.ts +7 -0
- package/src/renderers/html/builders/compound.ts +481 -0
- package/src/renderers/html/builders/connected-dot-plot.ts +7 -0
- package/src/renderers/html/builders/connected-scatter.ts +7 -0
- package/src/renderers/html/builders/dashboard.ts +449 -0
- package/src/renderers/html/builders/density-plot.ts +7 -0
- package/src/renderers/html/builders/diverging-bar.ts +7 -0
- package/src/renderers/html/builders/donut.ts +7 -0
- package/src/renderers/html/builders/funnel.ts +7 -0
- package/src/renderers/html/builders/grouped-bar.ts +7 -0
- package/src/renderers/html/builders/heatmap.ts +7 -0
- package/src/renderers/html/builders/histogram.ts +7 -0
- package/src/renderers/html/builders/horizon-chart.ts +7 -0
- package/src/renderers/html/builders/icicle.ts +7 -0
- package/src/renderers/html/builders/line.ts +7 -0
- package/src/renderers/html/builders/lollipop.ts +7 -0
- package/src/renderers/html/builders/marimekko.ts +7 -0
- package/src/renderers/html/builders/metric.ts +7 -0
- package/src/renderers/html/builders/parallel-coordinates.ts +7 -0
- package/src/renderers/html/builders/proportional-symbol.ts +7 -0
- package/src/renderers/html/builders/radar.ts +7 -0
- package/src/renderers/html/builders/ridgeline.ts +7 -0
- package/src/renderers/html/builders/sankey.ts +7 -0
- package/src/renderers/html/builders/scatter.ts +7 -0
- package/src/renderers/html/builders/slope-chart.ts +7 -0
- package/src/renderers/html/builders/small-multiples.ts +7 -0
- package/src/renderers/html/builders/sparkline-grid.ts +7 -0
- package/src/renderers/html/builders/stacked-bar.ts +7 -0
- package/src/renderers/html/builders/stream-graph.ts +7 -0
- package/src/renderers/html/builders/strip-plot.ts +7 -0
- package/src/renderers/html/builders/sunburst.ts +7 -0
- package/src/renderers/html/builders/treemap.ts +7 -0
- package/src/renderers/html/builders/violin.ts +7 -0
- package/src/renderers/html/builders/waffle.ts +7 -0
- package/src/renderers/html/builders/waterfall.ts +7 -0
- package/src/renderers/html/compound.ts +178 -0
- package/src/renderers/html/index.ts +257 -0
- package/src/renderers/html/render/alluvial.render.ts +2 -0
- package/src/renderers/html/render/area.render.ts +2 -0
- package/src/renderers/html/render/bar.render.ts +2 -0
- package/src/renderers/html/render/beeswarm.render.ts +2 -0
- package/src/renderers/html/render/box-plot.render.ts +2 -0
- package/src/renderers/html/render/bullet.render.ts +2 -0
- package/src/renderers/html/render/bump-chart.render.ts +2 -0
- package/src/renderers/html/render/calendar-heatmap.render.ts +2 -0
- package/src/renderers/html/render/chord.render.ts +2 -0
- package/src/renderers/html/render/choropleth.render.ts +6 -0
- package/src/renderers/html/render/circle-pack.render.ts +2 -0
- package/src/renderers/html/render/connected-dot-plot.render.ts +2 -0
- package/src/renderers/html/render/connected-scatter.render.ts +2 -0
- package/src/renderers/html/render/density-plot.render.ts +2 -0
- package/src/renderers/html/render/diverging-bar.render.ts +2 -0
- package/src/renderers/html/render/donut.render.ts +2 -0
- package/src/renderers/html/render/funnel.render.ts +2 -0
- package/src/renderers/html/render/grouped-bar.render.ts +2 -0
- package/src/renderers/html/render/heatmap.render.ts +2 -0
- package/src/renderers/html/render/histogram.render.ts +2 -0
- package/src/renderers/html/render/horizon-chart.render.ts +2 -0
- package/src/renderers/html/render/icicle.render.ts +2 -0
- package/src/renderers/html/render/line.render.ts +2 -0
- package/src/renderers/html/render/lollipop.render.ts +2 -0
- package/src/renderers/html/render/marimekko.render.ts +2 -0
- package/src/renderers/html/render/metric.render.ts +2 -0
- package/src/renderers/html/render/parallel-coordinates.render.ts +2 -0
- package/src/renderers/html/render/proportional-symbol.render.ts +6 -0
- package/src/renderers/html/render/radar.render.ts +2 -0
- package/src/renderers/html/render/ridgeline.render.ts +2 -0
- package/src/renderers/html/render/sankey.render.ts +2 -0
- package/src/renderers/html/render/scatter.render.ts +2 -0
- package/src/renderers/html/render/slope-chart.render.ts +2 -0
- package/src/renderers/html/render/small-multiples.render.ts +2 -0
- package/src/renderers/html/render/sparkline-grid.render.ts +2 -0
- package/src/renderers/html/render/stacked-bar.render.ts +2 -0
- package/src/renderers/html/render/stream-graph.render.ts +2 -0
- package/src/renderers/html/render/strip-plot.render.ts +2 -0
- package/src/renderers/html/render/sunburst.render.ts +2 -0
- package/src/renderers/html/render/treemap.render.ts +2 -0
- package/src/renderers/html/render/violin.render.ts +2 -0
- package/src/renderers/html/render/waffle.render.ts +2 -0
- package/src/renderers/html/render/waterfall.render.ts +2 -0
- package/src/renderers/html/sizing.ts +150 -0
- package/src/renderers/html/template.ts +789 -0
- package/src/renderers/react/Alluvial.tsx +21 -0
- package/src/renderers/react/Area.tsx +21 -0
- package/src/renderers/react/Bar.tsx +21 -0
- package/src/renderers/react/Beeswarm.tsx +21 -0
- package/src/renderers/react/BoxPlot.tsx +16 -0
- package/src/renderers/react/Bullet.tsx +15 -0
- package/src/renderers/react/BumpChart.tsx +37 -0
- package/src/renderers/react/CalendarHeatmap.tsx +21 -0
- package/src/renderers/react/Chord.tsx +21 -0
- package/src/renderers/react/Choropleth.tsx +35 -0
- package/src/renderers/react/CirclePack.tsx +21 -0
- package/src/renderers/react/CompoundChart.tsx +146 -0
- package/src/renderers/react/ConnectedDotPlot.tsx +21 -0
- package/src/renderers/react/ConnectedScatter.tsx +21 -0
- package/src/renderers/react/DataTable.tsx +214 -0
- package/src/renderers/react/DensityPlot.tsx +15 -0
- package/src/renderers/react/DivergingBar.tsx +21 -0
- package/src/renderers/react/Donut.tsx +21 -0
- package/src/renderers/react/Funnel.tsx +15 -0
- package/src/renderers/react/GroupedBar.tsx +15 -0
- package/src/renderers/react/Heatmap.tsx +16 -0
- package/src/renderers/react/Histogram.tsx +21 -0
- package/src/renderers/react/HorizonChart.tsx +15 -0
- package/src/renderers/react/Icicle.tsx +15 -0
- package/src/renderers/react/Line.tsx +21 -0
- package/src/renderers/react/Lollipop.tsx +15 -0
- package/src/renderers/react/Marimekko.tsx +21 -0
- package/src/renderers/react/Metric.tsx +21 -0
- package/src/renderers/react/ParallelCoordinates.tsx +21 -0
- package/src/renderers/react/ProportionalSymbol.tsx +35 -0
- package/src/renderers/react/Radar.tsx +21 -0
- package/src/renderers/react/Ridgeline.tsx +21 -0
- package/src/renderers/react/Sankey.tsx +21 -0
- package/src/renderers/react/Scatter.tsx +21 -0
- package/src/renderers/react/SlopeChart.tsx +21 -0
- package/src/renderers/react/SmallMultiples.tsx +21 -0
- package/src/renderers/react/SparklineGrid.tsx +21 -0
- package/src/renderers/react/StackedBar.tsx +21 -0
- package/src/renderers/react/StreamGraph.tsx +15 -0
- package/src/renderers/react/StripPlot.tsx +21 -0
- package/src/renderers/react/Sunburst.tsx +21 -0
- package/src/renderers/react/Treemap.tsx +21 -0
- package/src/renderers/react/Violin.tsx +21 -0
- package/src/renderers/react/Waffle.tsx +21 -0
- package/src/renderers/react/Waterfall.tsx +15 -0
- package/src/renderers/react/index.ts +86 -0
- package/src/renderers/react/types.ts +18 -0
- package/src/renderers/react/useChart.ts +58 -0
- package/src/theme/colors.ts +286 -0
- package/src/theme/index.ts +184 -0
- package/src/theme/spacing.ts +176 -0
- package/src/theme/typography.ts +170 -0
- package/src/types.ts +601 -0
- package/src/utils/export.ts +148 -0
- package/src/utils/index.ts +37 -0
- package/src/utils/labels.ts +266 -0
- package/src/utils/responsive.ts +121 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stacked Bar Chart — part-to-whole over categories.
|
|
3
|
+
*
|
|
4
|
+
* Shows both the total and the composition of that total.
|
|
5
|
+
* Best when you care about both the parts AND the whole.
|
|
6
|
+
* Supports normalized (100%) mode for pure composition comparison.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { VisualizationPattern, VisualizationSpec } from '../../../types.js';
|
|
10
|
+
|
|
11
|
+
export const stackedBarPattern: VisualizationPattern = {
|
|
12
|
+
id: 'stacked-bar',
|
|
13
|
+
name: 'Stacked Bar Chart',
|
|
14
|
+
category: 'composition',
|
|
15
|
+
description:
|
|
16
|
+
'Bars divided into colored segments, showing both total values and their composition. Each segment represents a subcategory contribution.',
|
|
17
|
+
bestFor:
|
|
18
|
+
'Showing how a total breaks down into parts across categories. Revenue by product by region, population by age group by country.',
|
|
19
|
+
notFor:
|
|
20
|
+
'Comparing individual segment values across bars (hard to compare non-baseline segments). Use grouped bar for precise comparison of parts.',
|
|
21
|
+
|
|
22
|
+
dataRequirements: {
|
|
23
|
+
minRows: 4,
|
|
24
|
+
maxRows: 200,
|
|
25
|
+
requiredColumns: [
|
|
26
|
+
{ type: 'categorical', count: 2, description: 'Category axis and segment grouping' },
|
|
27
|
+
{ type: 'numeric', count: 1, description: 'Value for each segment' },
|
|
28
|
+
],
|
|
29
|
+
minCategories: 2,
|
|
30
|
+
maxCategories: 15,
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
selectionRules: [
|
|
34
|
+
{
|
|
35
|
+
condition: 'Two categorical dimensions + numeric value — natural for stacked bar',
|
|
36
|
+
weight: 55,
|
|
37
|
+
matches: (ctx) => {
|
|
38
|
+
return (
|
|
39
|
+
ctx.dataShape.categoricalColumnCount >= 2 &&
|
|
40
|
+
ctx.dataShape.numericColumnCount >= 1 &&
|
|
41
|
+
ctx.dataShape.seriesCount >= 2 &&
|
|
42
|
+
ctx.dataShape.seriesCount <= 8
|
|
43
|
+
);
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
condition: 'Intent mentions breakdown, composition, or stacked',
|
|
48
|
+
weight: 45,
|
|
49
|
+
matches: (ctx) => {
|
|
50
|
+
return /\b(breakdown|stacked|composed|composition|made\s+up|constitut|contribution|split\s+by)\b/i.test(
|
|
51
|
+
ctx.intent
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
condition: 'Moderate number of series segments (2-8)',
|
|
57
|
+
weight: 20,
|
|
58
|
+
matches: (ctx) => {
|
|
59
|
+
return ctx.dataShape.seriesCount >= 2 && ctx.dataShape.seriesCount <= 8;
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
condition: 'Penalize for too many series — segments become unreadable',
|
|
64
|
+
weight: -30,
|
|
65
|
+
matches: (ctx) => {
|
|
66
|
+
return ctx.dataShape.seriesCount > 8;
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
condition: 'Penalize for single categorical dimension — use regular bar',
|
|
71
|
+
weight: -20,
|
|
72
|
+
matches: (ctx) => {
|
|
73
|
+
return ctx.dataShape.categoricalColumnCount < 2 && ctx.dataShape.seriesCount <= 1;
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
|
|
78
|
+
generateSpec: (data, columns, options) => {
|
|
79
|
+
const categoryCol = columns[0];
|
|
80
|
+
const seriesCol = columns.length > 1 ? columns[1] : columns[0];
|
|
81
|
+
const valueCol = columns.length > 2 ? columns[2] : columns.length > 1 ? columns[1] : columns[0];
|
|
82
|
+
|
|
83
|
+
const spec: VisualizationSpec = {
|
|
84
|
+
pattern: 'stacked-bar',
|
|
85
|
+
title: options?.title ?? `${valueCol} by ${categoryCol} and ${seriesCol}`,
|
|
86
|
+
data,
|
|
87
|
+
encoding: {
|
|
88
|
+
x: {
|
|
89
|
+
field: categoryCol,
|
|
90
|
+
type: 'nominal',
|
|
91
|
+
title: categoryCol,
|
|
92
|
+
},
|
|
93
|
+
y: {
|
|
94
|
+
field: valueCol,
|
|
95
|
+
type: 'quantitative',
|
|
96
|
+
title: valueCol,
|
|
97
|
+
},
|
|
98
|
+
color: {
|
|
99
|
+
field: seriesCol,
|
|
100
|
+
type: 'nominal',
|
|
101
|
+
title: seriesCol,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
config: {
|
|
105
|
+
categoryField: categoryCol,
|
|
106
|
+
seriesField: seriesCol,
|
|
107
|
+
valueField: valueCol,
|
|
108
|
+
sortBy: options?.sortBy,
|
|
109
|
+
sortOrder: options?.sortOrder ?? 'descending',
|
|
110
|
+
normalized: options?.normalized ?? false,
|
|
111
|
+
showLabels: options?.showLabels ?? (data.length <= 40),
|
|
112
|
+
showTotal: options?.showTotal ?? true,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
return spec;
|
|
117
|
+
},
|
|
118
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sunburst — nested hierarchical composition.
|
|
3
|
+
*
|
|
4
|
+
* Concentric rings showing hierarchy from center outward.
|
|
5
|
+
* Like a treemap but radial, which can better show the
|
|
6
|
+
* relationship between levels. Supports interactive drill-down.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { VisualizationPattern, VisualizationSpec } from '../../../types.js';
|
|
10
|
+
|
|
11
|
+
export const sunburstPattern: VisualizationPattern = {
|
|
12
|
+
id: 'sunburst',
|
|
13
|
+
name: 'Sunburst Chart',
|
|
14
|
+
category: 'composition',
|
|
15
|
+
description:
|
|
16
|
+
'Concentric rings where each ring represents a level of hierarchy. Inner rings are parents, outer rings are children. Arc angle encodes proportion.',
|
|
17
|
+
bestFor:
|
|
18
|
+
'Multi-level hierarchies (3+ levels): org charts with budget, file system usage, taxonomy breakdowns, nested categories.',
|
|
19
|
+
notFor:
|
|
20
|
+
'Flat data (use waffle), two levels only (treemap is simpler), precise value comparison (arc angles are hard to read).',
|
|
21
|
+
|
|
22
|
+
dataRequirements: {
|
|
23
|
+
minRows: 6,
|
|
24
|
+
maxRows: 300,
|
|
25
|
+
requiredColumns: [
|
|
26
|
+
{ type: 'categorical', count: 2, description: 'Hierarchy levels (parent, child)' },
|
|
27
|
+
{ type: 'numeric', count: 1, description: 'Size value for arc angle' },
|
|
28
|
+
],
|
|
29
|
+
requiresHierarchy: true,
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
selectionRules: [
|
|
33
|
+
{
|
|
34
|
+
condition: 'Deep hierarchy (3+ categorical levels) — sunburst shows nesting clearly',
|
|
35
|
+
weight: 80,
|
|
36
|
+
matches: (ctx) => {
|
|
37
|
+
return (
|
|
38
|
+
ctx.dataShape.hasHierarchy &&
|
|
39
|
+
ctx.dataShape.categoricalColumnCount >= 3 &&
|
|
40
|
+
ctx.dataShape.numericColumnCount >= 1
|
|
41
|
+
);
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
condition: 'Intent mentions sunburst, nested, or multi-level hierarchy',
|
|
46
|
+
weight: 60,
|
|
47
|
+
matches: (ctx) => {
|
|
48
|
+
return /\b(sunburst|concentric|nested|multi.level|drill\s*down|tree|taxonomy)\b/i.test(ctx.intent);
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
condition: 'Two-level hierarchy with many items — sunburst is visually appealing',
|
|
53
|
+
weight: 40,
|
|
54
|
+
matches: (ctx) => {
|
|
55
|
+
return (
|
|
56
|
+
ctx.dataShape.hasHierarchy &&
|
|
57
|
+
ctx.dataShape.categoricalColumnCount >= 2 &&
|
|
58
|
+
ctx.dataShape.categoryCount >= 5
|
|
59
|
+
);
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
condition: 'Penalize for flat data — no hierarchy to show',
|
|
64
|
+
weight: -50,
|
|
65
|
+
matches: (ctx) => {
|
|
66
|
+
return !ctx.dataShape.hasHierarchy;
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
condition: 'Penalize for too few items — not enough to fill the rings',
|
|
71
|
+
weight: -30,
|
|
72
|
+
matches: (ctx) => {
|
|
73
|
+
return ctx.dataShape.rowCount < 6;
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
|
|
78
|
+
generateSpec: (data, columns, options) => {
|
|
79
|
+
// Expect columns ordered by hierarchy depth: level0, level1, ..., value
|
|
80
|
+
const levels = columns.slice(0, -1);
|
|
81
|
+
const valueCol = columns[columns.length - 1];
|
|
82
|
+
|
|
83
|
+
const spec: VisualizationSpec = {
|
|
84
|
+
pattern: 'sunburst',
|
|
85
|
+
title: options?.title ?? `Hierarchical composition: ${levels.join(' > ')}`,
|
|
86
|
+
data,
|
|
87
|
+
encoding: {
|
|
88
|
+
angle: {
|
|
89
|
+
field: valueCol,
|
|
90
|
+
type: 'quantitative',
|
|
91
|
+
title: valueCol,
|
|
92
|
+
},
|
|
93
|
+
color: {
|
|
94
|
+
field: levels[0],
|
|
95
|
+
type: 'nominal',
|
|
96
|
+
title: levels[0],
|
|
97
|
+
},
|
|
98
|
+
label: {
|
|
99
|
+
field: levels[levels.length - 1],
|
|
100
|
+
type: 'nominal',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
config: {
|
|
104
|
+
levelFields: levels,
|
|
105
|
+
valueField: valueCol,
|
|
106
|
+
innerRadius: options?.innerRadius ?? 40,
|
|
107
|
+
showLabels: options?.showLabels ?? true,
|
|
108
|
+
showValues: options?.showValues ?? false,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
return spec;
|
|
113
|
+
},
|
|
114
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Treemap — hierarchical composition.
|
|
3
|
+
*
|
|
4
|
+
* Nested rectangles where area encodes value. Excels at showing
|
|
5
|
+
* hierarchical part-to-whole relationships: how a total breaks
|
|
6
|
+
* down into groups, which break down into subgroups.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { VisualizationPattern, VisualizationSpec } from '../../../types.js';
|
|
10
|
+
|
|
11
|
+
export const treemapPattern: VisualizationPattern = {
|
|
12
|
+
id: 'treemap',
|
|
13
|
+
name: 'Treemap',
|
|
14
|
+
category: 'composition',
|
|
15
|
+
description:
|
|
16
|
+
'Nested rectangles where area represents value. Shows hierarchical composition: total → groups → subgroups. Space-efficient for many items.',
|
|
17
|
+
bestFor:
|
|
18
|
+
'Hierarchical data with size values: file system usage, organizational budgets, market cap by sector and company, product category revenue.',
|
|
19
|
+
notFor:
|
|
20
|
+
'Non-hierarchical flat data (use waffle), comparing exact values (hard to compare rectangle areas), time series.',
|
|
21
|
+
|
|
22
|
+
dataRequirements: {
|
|
23
|
+
minRows: 4,
|
|
24
|
+
maxRows: 500,
|
|
25
|
+
requiredColumns: [
|
|
26
|
+
{ type: 'categorical', count: 1, description: 'Category labels (or hierarchical groups)' },
|
|
27
|
+
{ type: 'numeric', count: 1, description: 'Size value for rectangle area' },
|
|
28
|
+
],
|
|
29
|
+
requiresHierarchy: false, // Works with flat data too, just better with hierarchy
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
selectionRules: [
|
|
33
|
+
{
|
|
34
|
+
condition: 'Hierarchical data — treemap is the natural choice',
|
|
35
|
+
weight: 80,
|
|
36
|
+
matches: (ctx) => {
|
|
37
|
+
return (
|
|
38
|
+
ctx.dataShape.hasHierarchy &&
|
|
39
|
+
ctx.dataShape.numericColumnCount >= 1 &&
|
|
40
|
+
ctx.dataShape.categoricalColumnCount >= 2
|
|
41
|
+
);
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
condition: 'Many categories (10+) with composition intent — treemap handles scale',
|
|
46
|
+
weight: 55,
|
|
47
|
+
matches: (ctx) => {
|
|
48
|
+
return (
|
|
49
|
+
ctx.dataShape.categoryCount >= 10 &&
|
|
50
|
+
ctx.dataShape.numericColumnCount >= 1 &&
|
|
51
|
+
/\b(compos|proportion|share|breakdown|makeup|size|biggest|largest)\b/i.test(ctx.intent)
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
condition: 'Intent mentions treemap or hierarchical visualization',
|
|
57
|
+
weight: 60,
|
|
58
|
+
matches: (ctx) => {
|
|
59
|
+
return /\b(treemap|hierarch|nested|drill\s*down|parent|child|sub\s*category)\b/i.test(ctx.intent);
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
condition: 'Multiple categorical dimensions for nesting',
|
|
64
|
+
weight: 40,
|
|
65
|
+
matches: (ctx) => {
|
|
66
|
+
return ctx.dataShape.categoricalColumnCount >= 2 && ctx.dataShape.numericColumnCount >= 1;
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
condition: 'Penalize for very few categories — waffle or bar is clearer',
|
|
71
|
+
weight: -30,
|
|
72
|
+
matches: (ctx) => {
|
|
73
|
+
return ctx.dataShape.categoryCount < 5 && !ctx.dataShape.hasHierarchy;
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
|
|
78
|
+
generateSpec: (data, columns, options) => {
|
|
79
|
+
const categoryCol = columns[0];
|
|
80
|
+
const valueCol = columns.length > 1 ? columns[1] : columns[0];
|
|
81
|
+
const parentCol = columns.length > 2 ? columns[0] : undefined;
|
|
82
|
+
const childCol = columns.length > 2 ? columns[1] : undefined;
|
|
83
|
+
const sizeCol = columns.length > 2 ? columns[2] : valueCol;
|
|
84
|
+
|
|
85
|
+
const spec: VisualizationSpec = {
|
|
86
|
+
pattern: 'treemap',
|
|
87
|
+
title: options?.title ?? `${valueCol} composition${parentCol ? ` (${parentCol} > ${childCol})` : ''}`,
|
|
88
|
+
data,
|
|
89
|
+
encoding: {
|
|
90
|
+
size: {
|
|
91
|
+
field: sizeCol,
|
|
92
|
+
type: 'quantitative',
|
|
93
|
+
title: sizeCol,
|
|
94
|
+
},
|
|
95
|
+
color: {
|
|
96
|
+
field: parentCol ?? categoryCol,
|
|
97
|
+
type: 'nominal',
|
|
98
|
+
title: parentCol ?? categoryCol,
|
|
99
|
+
},
|
|
100
|
+
label: {
|
|
101
|
+
field: childCol ?? categoryCol,
|
|
102
|
+
type: 'nominal',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
config: {
|
|
106
|
+
categoryField: categoryCol,
|
|
107
|
+
valueField: sizeCol,
|
|
108
|
+
parentField: parentCol ?? null,
|
|
109
|
+
childField: childCol ?? null,
|
|
110
|
+
showLabels: options?.showLabels ?? true,
|
|
111
|
+
padding: options?.padding ?? 2,
|
|
112
|
+
borderWidth: options?.borderWidth ?? 1,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
return spec;
|
|
117
|
+
},
|
|
118
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waffle Chart — part-to-whole, better than pie.
|
|
3
|
+
*
|
|
4
|
+
* A grid of small squares where each square represents a unit
|
|
5
|
+
* (usually 1%). More accurate than pie charts because humans
|
|
6
|
+
* are better at counting squares than estimating angles.
|
|
7
|
+
* The go-to replacement for pie charts.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { VisualizationPattern, VisualizationSpec } from '../../../types.js';
|
|
11
|
+
|
|
12
|
+
export const wafflePattern: VisualizationPattern = {
|
|
13
|
+
id: 'waffle',
|
|
14
|
+
name: 'Waffle Chart',
|
|
15
|
+
category: 'composition',
|
|
16
|
+
description:
|
|
17
|
+
'A 10x10 grid of colored squares, each representing 1% of the total. More perceptually accurate than pie charts for showing proportions.',
|
|
18
|
+
bestFor:
|
|
19
|
+
'Part-to-whole comparisons with 2-8 categories. Percentage breakdowns. Survey results. Market share. Election results.',
|
|
20
|
+
notFor:
|
|
21
|
+
'Many categories over 8 (too many colors). Very small differences (hard to see 1% vs 2%). Non-percentage data (requires total context).',
|
|
22
|
+
|
|
23
|
+
dataRequirements: {
|
|
24
|
+
minRows: 2,
|
|
25
|
+
maxRows: 8,
|
|
26
|
+
requiredColumns: [
|
|
27
|
+
{ type: 'categorical', count: 1, description: 'Category labels' },
|
|
28
|
+
{ type: 'numeric', count: 1, description: 'Value (will be converted to proportions)' },
|
|
29
|
+
],
|
|
30
|
+
minCategories: 2,
|
|
31
|
+
maxCategories: 8,
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
selectionRules: [
|
|
35
|
+
{
|
|
36
|
+
condition: 'Part-to-whole with few categories — waffle beats pie every time',
|
|
37
|
+
weight: 75,
|
|
38
|
+
matches: (ctx) => {
|
|
39
|
+
return (
|
|
40
|
+
ctx.dataShape.categoryCount >= 2 &&
|
|
41
|
+
ctx.dataShape.categoryCount <= 8 &&
|
|
42
|
+
ctx.dataShape.numericColumnCount >= 1
|
|
43
|
+
);
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
condition: 'Intent mentions percentage, proportion, or share',
|
|
48
|
+
weight: 60,
|
|
49
|
+
matches: (ctx) => {
|
|
50
|
+
return /\b(percent|proportion|share|part.of|makeup|pie|waffle|how\s+much\s+of)\b/i.test(
|
|
51
|
+
ctx.intent
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
condition: 'Very few categories (2-4) — waffle is clearest',
|
|
57
|
+
weight: 30,
|
|
58
|
+
matches: (ctx) => {
|
|
59
|
+
return ctx.dataShape.categoryCount >= 2 && ctx.dataShape.categoryCount <= 4;
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
condition: 'Penalize for too many categories — colors become indistinguishable',
|
|
64
|
+
weight: -40,
|
|
65
|
+
matches: (ctx) => {
|
|
66
|
+
return ctx.dataShape.categoryCount > 8;
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
condition: 'Penalize when data has time dimension — composition over time is better as stacked',
|
|
71
|
+
weight: -20,
|
|
72
|
+
matches: (ctx) => {
|
|
73
|
+
return ctx.dataShape.hasTimeSeries;
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
condition: 'Penalize for hierarchical data — treemap is better',
|
|
78
|
+
weight: -25,
|
|
79
|
+
matches: (ctx) => {
|
|
80
|
+
return ctx.dataShape.hasHierarchy;
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
|
|
85
|
+
generateSpec: (data, columns, options) => {
|
|
86
|
+
const categoryCol = columns[0];
|
|
87
|
+
const valueCol = columns.length > 1 ? columns[1] : columns[0];
|
|
88
|
+
|
|
89
|
+
// Calculate percentages
|
|
90
|
+
const total = data.reduce((sum, row) => sum + (Number(row[valueCol]) || 0), 0);
|
|
91
|
+
const waffleData = data.map((row) => ({
|
|
92
|
+
...row,
|
|
93
|
+
_percentage: total > 0 ? ((Number(row[valueCol]) || 0) / total) * 100 : 0,
|
|
94
|
+
_squares: total > 0 ? Math.round(((Number(row[valueCol]) || 0) / total) * 100) : 0,
|
|
95
|
+
}));
|
|
96
|
+
|
|
97
|
+
// Ensure squares sum to 100 by adjusting the largest category
|
|
98
|
+
const totalSquares = waffleData.reduce((sum, row) => sum + row._squares, 0);
|
|
99
|
+
if (totalSquares !== 100 && waffleData.length > 0) {
|
|
100
|
+
const sorted = [...waffleData].sort((a, b) => b._percentage - a._percentage);
|
|
101
|
+
sorted[0]._squares += 100 - totalSquares;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const spec: VisualizationSpec = {
|
|
105
|
+
pattern: 'waffle',
|
|
106
|
+
title: options?.title ?? `${valueCol} composition`,
|
|
107
|
+
data: waffleData,
|
|
108
|
+
encoding: {
|
|
109
|
+
color: {
|
|
110
|
+
field: categoryCol,
|
|
111
|
+
type: 'nominal',
|
|
112
|
+
title: categoryCol,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
config: {
|
|
116
|
+
categoryField: categoryCol,
|
|
117
|
+
valueField: valueCol,
|
|
118
|
+
gridSize: options?.gridSize ?? 10,
|
|
119
|
+
squareSize: options?.squareSize ?? 20,
|
|
120
|
+
gap: options?.gap ?? 2,
|
|
121
|
+
total,
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
return spec;
|
|
126
|
+
},
|
|
127
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beeswarm Plot — individual points, avoids overplotting.
|
|
3
|
+
*
|
|
4
|
+
* Shows every data point while using force-directed positioning
|
|
5
|
+
* to prevent overlap. Reveals distribution shape AND individual
|
|
6
|
+
* values, making outliers and clusters immediately visible.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { VisualizationPattern, VisualizationSpec } from '../../../types.js';
|
|
10
|
+
|
|
11
|
+
export const beeswarmPattern: VisualizationPattern = {
|
|
12
|
+
id: 'beeswarm',
|
|
13
|
+
name: 'Beeswarm Plot',
|
|
14
|
+
category: 'distribution',
|
|
15
|
+
description:
|
|
16
|
+
'Dots arranged along a single axis, jittered to avoid overlap. Shows individual data points while revealing distribution shape, clusters, and outliers.',
|
|
17
|
+
bestFor:
|
|
18
|
+
'Medium-sized datasets (20-500 rows) where individual points matter. Finding outliers, clusters, and gaps. Comparing distributions across a few groups.',
|
|
19
|
+
notFor:
|
|
20
|
+
'Very large datasets over 1000 points (too slow/cluttered), very small datasets under 10 (use strip plot).',
|
|
21
|
+
|
|
22
|
+
dataRequirements: {
|
|
23
|
+
minRows: 10,
|
|
24
|
+
maxRows: 500,
|
|
25
|
+
requiredColumns: [
|
|
26
|
+
{ type: 'numeric', count: 1, description: 'Value to distribute points along' },
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
selectionRules: [
|
|
31
|
+
{
|
|
32
|
+
condition: 'Intent mentions outliers — beeswarm makes every point visible',
|
|
33
|
+
weight: 80,
|
|
34
|
+
matches: (ctx) => {
|
|
35
|
+
return /\b(outlier|individual|point|each|every|anomal|extreme|unusual)\b/i.test(ctx.intent);
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
condition: 'Medium dataset size (20-500) — sweet spot for beeswarm',
|
|
40
|
+
weight: 50,
|
|
41
|
+
matches: (ctx) => {
|
|
42
|
+
return ctx.dataShape.rowCount >= 20 && ctx.dataShape.rowCount <= 500;
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
condition: 'Distribution with a grouping column (1-5 groups)',
|
|
47
|
+
weight: 40,
|
|
48
|
+
matches: (ctx) => {
|
|
49
|
+
return (
|
|
50
|
+
ctx.dataShape.numericColumnCount >= 1 &&
|
|
51
|
+
ctx.dataShape.categoricalColumnCount >= 1 &&
|
|
52
|
+
ctx.dataShape.categoryCount >= 2 &&
|
|
53
|
+
ctx.dataShape.categoryCount <= 5
|
|
54
|
+
);
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
condition: 'Penalize for very large datasets — too many points',
|
|
59
|
+
weight: -40,
|
|
60
|
+
matches: (ctx) => {
|
|
61
|
+
return ctx.dataShape.rowCount > 500;
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
condition: 'Penalize for time series — not the right chart type',
|
|
66
|
+
weight: -30,
|
|
67
|
+
matches: (ctx) => {
|
|
68
|
+
return ctx.dataShape.hasTimeSeries;
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
|
|
73
|
+
generateSpec: (data, columns, options) => {
|
|
74
|
+
const valueCol = columns[0];
|
|
75
|
+
const groupCol = columns.length > 1 ? columns[1] : undefined;
|
|
76
|
+
|
|
77
|
+
const spec: VisualizationSpec = {
|
|
78
|
+
pattern: 'beeswarm',
|
|
79
|
+
title: options?.title ?? `Distribution of ${valueCol}${groupCol ? ` by ${groupCol}` : ''}`,
|
|
80
|
+
data,
|
|
81
|
+
encoding: {
|
|
82
|
+
x: {
|
|
83
|
+
field: valueCol,
|
|
84
|
+
type: 'quantitative',
|
|
85
|
+
title: valueCol,
|
|
86
|
+
},
|
|
87
|
+
y: groupCol
|
|
88
|
+
? {
|
|
89
|
+
field: groupCol,
|
|
90
|
+
type: 'nominal',
|
|
91
|
+
title: groupCol,
|
|
92
|
+
}
|
|
93
|
+
: undefined,
|
|
94
|
+
color: groupCol
|
|
95
|
+
? {
|
|
96
|
+
field: groupCol,
|
|
97
|
+
type: 'nominal',
|
|
98
|
+
}
|
|
99
|
+
: {
|
|
100
|
+
field: valueCol,
|
|
101
|
+
type: 'quantitative',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
config: {
|
|
105
|
+
valueField: valueCol,
|
|
106
|
+
categoryField: groupCol ?? null,
|
|
107
|
+
dotRadius: options?.dotRadius ?? 4,
|
|
108
|
+
showMedianLine: options?.showMedianLine ?? true,
|
|
109
|
+
opacity: options?.opacity ?? 0.7,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
return spec;
|
|
114
|
+
},
|
|
115
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Box Plot — compact distribution summary.
|
|
3
|
+
*
|
|
4
|
+
* Shows quartiles, median, whiskers, and outliers for numeric data
|
|
5
|
+
* across groups. The fundamental distribution summary chart.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { VisualizationPattern, VisualizationSpec } from '../../../types.js';
|
|
9
|
+
|
|
10
|
+
export const boxPlotPattern: VisualizationPattern = {
|
|
11
|
+
id: 'box-plot',
|
|
12
|
+
name: 'Box Plot',
|
|
13
|
+
category: 'distribution',
|
|
14
|
+
description:
|
|
15
|
+
'Quartile summary showing median, Q1/Q3 box, whiskers, and outliers. Compact distribution comparison across groups.',
|
|
16
|
+
bestFor:
|
|
17
|
+
'Comparing distributions across 2-12 groups with a compact summary. Salary by department, test scores by school, response times by endpoint.',
|
|
18
|
+
notFor:
|
|
19
|
+
'Single group with no comparison (use histogram). Showing distribution shape detail (use violin). Very few data points per group under 5.',
|
|
20
|
+
|
|
21
|
+
dataRequirements: {
|
|
22
|
+
minRows: 10,
|
|
23
|
+
requiredColumns: [
|
|
24
|
+
{ type: 'numeric', count: 1, description: 'Value to analyze' },
|
|
25
|
+
{ type: 'categorical', count: 1, description: 'Group variable (2-12 groups)' },
|
|
26
|
+
],
|
|
27
|
+
minCategories: 2,
|
|
28
|
+
maxCategories: 20,
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
selectionRules: [
|
|
32
|
+
{
|
|
33
|
+
condition: 'Numeric values grouped by categories — box plot summarizes distribution',
|
|
34
|
+
weight: 55,
|
|
35
|
+
matches: (ctx) => {
|
|
36
|
+
return (
|
|
37
|
+
ctx.dataShape.numericColumnCount >= 1 &&
|
|
38
|
+
ctx.dataShape.categoricalColumnCount >= 1 &&
|
|
39
|
+
ctx.dataShape.categoryCount >= 2 &&
|
|
40
|
+
ctx.dataShape.categoryCount <= 12 &&
|
|
41
|
+
ctx.dataShape.rowCount >= 10
|
|
42
|
+
);
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
condition: 'Intent mentions box plot, quartile, outlier, or compact distribution summary',
|
|
47
|
+
weight: 60,
|
|
48
|
+
matches: (ctx) => {
|
|
49
|
+
return /\b(box\s*plot|boxplot|quartile|outlier|whisker|iqr|interquartile)\b/i.test(ctx.intent);
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
condition: 'Medium-sized groups with enough data for meaningful quartiles',
|
|
54
|
+
weight: 25,
|
|
55
|
+
matches: (ctx) => {
|
|
56
|
+
if (ctx.dataShape.categoryCount === 0) return false;
|
|
57
|
+
const avgPerGroup = ctx.dataShape.rowCount / ctx.dataShape.categoryCount;
|
|
58
|
+
return avgPerGroup >= 5 && avgPerGroup <= 500;
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
condition: 'Penalize for single group — use histogram instead',
|
|
63
|
+
weight: -40,
|
|
64
|
+
matches: (ctx) => {
|
|
65
|
+
return ctx.dataShape.categoricalColumnCount === 0 || ctx.dataShape.categoryCount < 2;
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
condition: 'Penalize for too many groups — consider ridgeline or violin',
|
|
70
|
+
weight: -25,
|
|
71
|
+
matches: (ctx) => {
|
|
72
|
+
return ctx.dataShape.categoryCount > 12;
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
|
|
77
|
+
generateSpec: (data, columns, options) => {
|
|
78
|
+
const valueCol = columns[0];
|
|
79
|
+
const groupCol = columns.length > 1 ? columns[1] : columns[0];
|
|
80
|
+
|
|
81
|
+
const spec: VisualizationSpec = {
|
|
82
|
+
pattern: 'box-plot',
|
|
83
|
+
title: options?.title ?? `${valueCol} by ${groupCol}`,
|
|
84
|
+
data,
|
|
85
|
+
encoding: {
|
|
86
|
+
x: {
|
|
87
|
+
field: groupCol,
|
|
88
|
+
type: 'nominal',
|
|
89
|
+
title: groupCol,
|
|
90
|
+
},
|
|
91
|
+
y: {
|
|
92
|
+
field: valueCol,
|
|
93
|
+
type: 'quantitative',
|
|
94
|
+
title: valueCol,
|
|
95
|
+
},
|
|
96
|
+
color: {
|
|
97
|
+
field: groupCol,
|
|
98
|
+
type: 'nominal',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
config: {
|
|
102
|
+
valueField: valueCol,
|
|
103
|
+
categoryField: groupCol,
|
|
104
|
+
orientation: options?.orientation ?? 'vertical',
|
|
105
|
+
sortBy: options?.sortBy ?? 'value',
|
|
106
|
+
sortOrder: options?.sortOrder ?? 'descending',
|
|
107
|
+
whiskerType: options?.whiskerType ?? 'iqr',
|
|
108
|
+
showOutliers: options?.showOutliers ?? true,
|
|
109
|
+
showMean: options?.showMean ?? false,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
return spec;
|
|
114
|
+
},
|
|
115
|
+
};
|