@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,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bullet Chart — compact horizontal bar with target marker and qualitative range bands.
|
|
3
|
+
*
|
|
4
|
+
* The bullet chart replaces dashboard gauges and meters with a compact,
|
|
5
|
+
* information-dense display. Shows a primary measure (actual) against a
|
|
6
|
+
* comparative measure (target) with qualitative ranges providing context
|
|
7
|
+
* (poor / satisfactory / good).
|
|
8
|
+
*/
|
|
9
|
+
import type { VisualizationPattern } from '../../../types.js';
|
|
10
|
+
export declare const bulletPattern: VisualizationPattern;
|
|
11
|
+
//# sourceMappingURL=bullet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bullet.d.ts","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/bullet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAEjF,eAAO,MAAM,aAAa,EAAE,oBA4H3B,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bullet Chart — compact horizontal bar with target marker and qualitative range bands.
|
|
3
|
+
*
|
|
4
|
+
* The bullet chart replaces dashboard gauges and meters with a compact,
|
|
5
|
+
* information-dense display. Shows a primary measure (actual) against a
|
|
6
|
+
* comparative measure (target) with qualitative ranges providing context
|
|
7
|
+
* (poor / satisfactory / good).
|
|
8
|
+
*/
|
|
9
|
+
export const bulletPattern = {
|
|
10
|
+
id: 'bullet',
|
|
11
|
+
name: 'Bullet Chart',
|
|
12
|
+
category: 'comparison',
|
|
13
|
+
description: 'Compact horizontal bar showing a primary measure against a target with qualitative range bands (poor/satisfactory/good). Stephen Few\'s replacement for gauges and meters.',
|
|
14
|
+
bestFor: 'Dashboard KPI tracking with context: actual vs target vs qualitative assessment. Revenue vs quota, CPU usage vs threshold, NPS score vs benchmark.',
|
|
15
|
+
notFor: 'Many categories without targets (use bar chart), composition or part-to-whole (use stacked bar or donut), time series (use line or sparkline).',
|
|
16
|
+
dataRequirements: {
|
|
17
|
+
minRows: 1,
|
|
18
|
+
maxRows: 12,
|
|
19
|
+
requiredColumns: [
|
|
20
|
+
{ type: 'categorical', count: 1, description: 'Metric name (label for each bullet)' },
|
|
21
|
+
{ type: 'numeric', count: 2, description: 'Actual value and target value (plus optional range thresholds)' },
|
|
22
|
+
],
|
|
23
|
+
minCategories: 1,
|
|
24
|
+
maxCategories: 12,
|
|
25
|
+
},
|
|
26
|
+
selectionRules: [
|
|
27
|
+
{
|
|
28
|
+
condition: 'Intent explicitly mentions bullet chart',
|
|
29
|
+
weight: 90,
|
|
30
|
+
matches: (ctx) => {
|
|
31
|
+
return /\b(bullet\s*chart|bullet)\b/i.test(ctx.intent);
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
condition: 'Intent mentions actual vs target, KPI tracking, or performance against benchmark',
|
|
36
|
+
weight: 70,
|
|
37
|
+
matches: (ctx) => {
|
|
38
|
+
return /\b(vs\.?\s*target|versus\s*target|actual\s*vs|against\s*(target|benchmark|quota|threshold|goal)|kpi\s*(track|dashboard|monitor)|performance\s*(vs|against|to)\s*(target|benchmark|quota))\b/i.test(ctx.intent);
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
condition: 'Data has target-like columns — suggests actual vs target comparison',
|
|
43
|
+
weight: 55,
|
|
44
|
+
matches: (ctx) => {
|
|
45
|
+
const colNames = ctx.columns.map((c) => c.name.toLowerCase());
|
|
46
|
+
const hasActual = colNames.some((n) => /\b(actual|current|value|score|result)\b/.test(n));
|
|
47
|
+
const hasTarget = colNames.some((n) => /\b(target|goal|benchmark|quota|threshold|budget)\b/.test(n));
|
|
48
|
+
return hasActual && hasTarget;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
condition: 'Few metrics with multiple numeric columns — good bullet chart candidate',
|
|
53
|
+
weight: 40,
|
|
54
|
+
matches: (ctx) => {
|
|
55
|
+
return (ctx.dataShape.rowCount >= 1 &&
|
|
56
|
+
ctx.dataShape.rowCount <= 8 &&
|
|
57
|
+
ctx.dataShape.numericColumnCount >= 2 &&
|
|
58
|
+
ctx.dataShape.categoricalColumnCount >= 1);
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
condition: 'Penalize for time series data — use line or sparkline instead',
|
|
63
|
+
weight: -40,
|
|
64
|
+
matches: (ctx) => {
|
|
65
|
+
return ctx.dataShape.hasTimeSeries;
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
condition: 'Penalize for too many rows — bullet charts are for few KPIs',
|
|
70
|
+
weight: -30,
|
|
71
|
+
matches: (ctx) => {
|
|
72
|
+
return ctx.dataShape.rowCount > 12;
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
condition: 'Penalize when only one numeric column — need at least actual and target',
|
|
77
|
+
weight: -50,
|
|
78
|
+
matches: (ctx) => {
|
|
79
|
+
return ctx.dataShape.numericColumnCount < 2;
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
generateSpec: (data, columns, options) => {
|
|
84
|
+
const categoryCol = columns[0];
|
|
85
|
+
const numericCols = columns.filter((col) => {
|
|
86
|
+
const sample = data[0]?.[col];
|
|
87
|
+
return sample !== undefined && !isNaN(Number(sample));
|
|
88
|
+
});
|
|
89
|
+
const actualCol = options?.actualField ?? numericCols[0] ?? columns[1];
|
|
90
|
+
const targetCol = options?.targetField ?? numericCols[1] ?? columns[2];
|
|
91
|
+
const rangeFields = options?.rangeFields ?? numericCols.slice(2);
|
|
92
|
+
const spec = {
|
|
93
|
+
pattern: 'bullet',
|
|
94
|
+
title: options?.title ?? 'Performance vs Target',
|
|
95
|
+
data,
|
|
96
|
+
encoding: {
|
|
97
|
+
x: {
|
|
98
|
+
field: actualCol,
|
|
99
|
+
type: 'quantitative',
|
|
100
|
+
title: actualCol,
|
|
101
|
+
},
|
|
102
|
+
color: {
|
|
103
|
+
field: categoryCol,
|
|
104
|
+
type: 'nominal',
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
config: {
|
|
108
|
+
metricField: categoryCol,
|
|
109
|
+
actualField: actualCol,
|
|
110
|
+
targetField: targetCol,
|
|
111
|
+
rangeFields: rangeFields.length > 0 ? rangeFields : undefined,
|
|
112
|
+
sortBy: options?.sortBy ?? 'value',
|
|
113
|
+
sortOrder: options?.sortOrder ?? 'descending',
|
|
114
|
+
rangeLabels: options?.rangeLabels,
|
|
115
|
+
showLabels: options?.showLabels ?? true,
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
return spec;
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=bullet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bullet.js","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/bullet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bump Chart — rank changes over time.
|
|
3
|
+
*
|
|
4
|
+
* Shows how the relative positions of entities change across
|
|
5
|
+
* ordered categories (usually time). Unlike line charts that show
|
|
6
|
+
* absolute values, bump charts show relative ranking, making it
|
|
7
|
+
* easy to spot who rose and who fell.
|
|
8
|
+
*/
|
|
9
|
+
import type { VisualizationPattern } from '../../../types.js';
|
|
10
|
+
export declare const bumpChartPattern: VisualizationPattern;
|
|
11
|
+
//# sourceMappingURL=bump-chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bump-chart.d.ts","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/bump-chart.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAEjF,eAAO,MAAM,gBAAgB,EAAE,oBAmI9B,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bump Chart — rank changes over time.
|
|
3
|
+
*
|
|
4
|
+
* Shows how the relative positions of entities change across
|
|
5
|
+
* ordered categories (usually time). Unlike line charts that show
|
|
6
|
+
* absolute values, bump charts show relative ranking, making it
|
|
7
|
+
* easy to spot who rose and who fell.
|
|
8
|
+
*/
|
|
9
|
+
export const bumpChartPattern = {
|
|
10
|
+
id: 'bump-chart',
|
|
11
|
+
name: 'Bump Chart',
|
|
12
|
+
category: 'comparison',
|
|
13
|
+
description: 'Tracks rank positions of entities over time or ordered categories. Lines connect rankings, and crossings show when one entity overtakes another.',
|
|
14
|
+
bestFor: 'Ranking changes: team standings over seasons, product market share rank, country GDP ranking over decades, leaderboard progression.',
|
|
15
|
+
notFor: 'Absolute values (use line chart), single time point (use bar), too many entities (>12 gets unreadable), non-ordinal x-axis.',
|
|
16
|
+
dataRequirements: {
|
|
17
|
+
minRows: 6,
|
|
18
|
+
maxRows: 200,
|
|
19
|
+
requiredColumns: [
|
|
20
|
+
{ type: 'categorical', count: 1, description: 'Entity being ranked (team, country, etc.)' },
|
|
21
|
+
{ type: 'numeric', count: 1, description: 'Value used to compute rankings' },
|
|
22
|
+
],
|
|
23
|
+
minCategories: 3,
|
|
24
|
+
maxCategories: 12,
|
|
25
|
+
requiresTimeSeries: true,
|
|
26
|
+
},
|
|
27
|
+
selectionRules: [
|
|
28
|
+
{
|
|
29
|
+
condition: 'Intent explicitly mentions rank, ranking, position, or standings',
|
|
30
|
+
weight: 90,
|
|
31
|
+
matches: (ctx) => {
|
|
32
|
+
return /\b(rank|ranking|position|standing|leaderboard|leader|place|moved up|moved down|overtake|overtook)\b/i.test(ctx.intent);
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
condition: 'Time series data with multiple categories (series) — potential for bump chart',
|
|
37
|
+
weight: 40,
|
|
38
|
+
matches: (ctx) => {
|
|
39
|
+
return (ctx.dataShape.hasTimeSeries &&
|
|
40
|
+
ctx.dataShape.seriesCount >= 3 &&
|
|
41
|
+
ctx.dataShape.seriesCount <= 12 &&
|
|
42
|
+
ctx.dataShape.numericColumnCount >= 1);
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
condition: 'Moderate number of entities and time points — sweet spot for bump charts',
|
|
47
|
+
weight: 20,
|
|
48
|
+
matches: (ctx) => {
|
|
49
|
+
const dateCols = ctx.columns.filter((c) => c.type === 'date');
|
|
50
|
+
const timePoints = dateCols.length > 0 ? dateCols[0].uniqueCount : 0;
|
|
51
|
+
return (ctx.dataShape.seriesCount >= 3 &&
|
|
52
|
+
ctx.dataShape.seriesCount <= 12 &&
|
|
53
|
+
timePoints >= 3 &&
|
|
54
|
+
timePoints <= 20);
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
condition: 'Penalize when no time dimension exists',
|
|
59
|
+
weight: -50,
|
|
60
|
+
matches: (ctx) => {
|
|
61
|
+
return !ctx.dataShape.hasTimeSeries && ctx.dataShape.dateColumnCount === 0;
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
condition: 'Penalize for too many entities — becomes unreadable',
|
|
66
|
+
weight: -30,
|
|
67
|
+
matches: (ctx) => {
|
|
68
|
+
return ctx.dataShape.seriesCount > 12;
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
generateSpec: (data, columns, options) => {
|
|
73
|
+
const entityCol = columns[0];
|
|
74
|
+
const timeCol = columns.length > 1 ? columns[1] : columns[0];
|
|
75
|
+
const valueCol = columns.length > 2 ? columns[2] : columns.length > 1 ? columns[1] : columns[0];
|
|
76
|
+
// Compute rankings from raw values
|
|
77
|
+
const timeValues = [...new Set(data.map((d) => d[timeCol]))];
|
|
78
|
+
const rankedData = [];
|
|
79
|
+
for (const time of timeValues) {
|
|
80
|
+
const rowsAtTime = data
|
|
81
|
+
.filter((d) => d[timeCol] === time)
|
|
82
|
+
.sort((a, b) => Number(b[valueCol]) - Number(a[valueCol]));
|
|
83
|
+
rowsAtTime.forEach((row, idx) => {
|
|
84
|
+
rankedData.push({
|
|
85
|
+
...row,
|
|
86
|
+
_rank: idx + 1,
|
|
87
|
+
_timePeriod: time,
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
const spec = {
|
|
92
|
+
pattern: 'bump-chart',
|
|
93
|
+
title: options?.title ?? `Ranking of ${entityCol} over ${timeCol}`,
|
|
94
|
+
data: rankedData,
|
|
95
|
+
encoding: {
|
|
96
|
+
x: {
|
|
97
|
+
field: timeCol,
|
|
98
|
+
type: 'ordinal',
|
|
99
|
+
title: timeCol,
|
|
100
|
+
},
|
|
101
|
+
y: {
|
|
102
|
+
field: '_rank',
|
|
103
|
+
type: 'quantitative',
|
|
104
|
+
title: 'Rank',
|
|
105
|
+
sort: 'ascending',
|
|
106
|
+
},
|
|
107
|
+
color: {
|
|
108
|
+
field: entityCol,
|
|
109
|
+
type: 'nominal',
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
config: {
|
|
113
|
+
categoryField: entityCol,
|
|
114
|
+
timeField: timeCol,
|
|
115
|
+
valueField: valueCol,
|
|
116
|
+
showLabels: true,
|
|
117
|
+
strokeWidth: options?.strokeWidth ?? 3,
|
|
118
|
+
dotRadius: options?.dotRadius ?? 5,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
return spec;
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=bump-chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bump-chart.js","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/bump-chart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connected Dot Plot — two metrics per category.
|
|
3
|
+
*
|
|
4
|
+
* Also called a "dumbbell chart" or "Cleveland dot plot".
|
|
5
|
+
* Shows two values per category connected by a line, making
|
|
6
|
+
* the gap between them the primary visual. Far clearer than
|
|
7
|
+
* grouped bars for comparing two measures.
|
|
8
|
+
*/
|
|
9
|
+
import type { VisualizationPattern } from '../../../types.js';
|
|
10
|
+
export declare const connectedDotPlotPattern: VisualizationPattern;
|
|
11
|
+
//# sourceMappingURL=connected-dot-plot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connected-dot-plot.d.ts","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/connected-dot-plot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAEjF,eAAO,MAAM,uBAAuB,EAAE,oBAqGrC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connected Dot Plot — two metrics per category.
|
|
3
|
+
*
|
|
4
|
+
* Also called a "dumbbell chart" or "Cleveland dot plot".
|
|
5
|
+
* Shows two values per category connected by a line, making
|
|
6
|
+
* the gap between them the primary visual. Far clearer than
|
|
7
|
+
* grouped bars for comparing two measures.
|
|
8
|
+
*/
|
|
9
|
+
export const connectedDotPlotPattern = {
|
|
10
|
+
id: 'connected-dot-plot',
|
|
11
|
+
name: 'Connected Dot Plot',
|
|
12
|
+
category: 'comparison',
|
|
13
|
+
description: 'Two dots per category connected by a line. The length of the connecting line encodes the gap between two values, making differences immediately visible.',
|
|
14
|
+
bestFor: 'Comparing two metrics per category: budget vs actual, male vs female, 2020 vs 2024, target vs achieved.',
|
|
15
|
+
notFor: 'Single metric (use bar), more than 2 metrics (use parallel coordinates or radar), time series with many points (use line).',
|
|
16
|
+
dataRequirements: {
|
|
17
|
+
minRows: 3,
|
|
18
|
+
maxRows: 30,
|
|
19
|
+
requiredColumns: [
|
|
20
|
+
{ type: 'categorical', count: 1, description: 'Category labels' },
|
|
21
|
+
{ type: 'numeric', count: 2, description: 'Two values to compare per category' },
|
|
22
|
+
],
|
|
23
|
+
minCategories: 3,
|
|
24
|
+
maxCategories: 20,
|
|
25
|
+
},
|
|
26
|
+
selectionRules: [
|
|
27
|
+
{
|
|
28
|
+
condition: 'Exactly 2 numeric columns — connected dot plot is superior to grouped bar',
|
|
29
|
+
weight: 70,
|
|
30
|
+
matches: (ctx) => {
|
|
31
|
+
return (ctx.dataShape.numericColumnCount === 2 &&
|
|
32
|
+
ctx.dataShape.categoricalColumnCount >= 1 &&
|
|
33
|
+
ctx.dataShape.categoryCount >= 3 &&
|
|
34
|
+
ctx.dataShape.categoryCount <= 20);
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
condition: 'Intent mentions comparing two things per category',
|
|
39
|
+
weight: 50,
|
|
40
|
+
matches: (ctx) => {
|
|
41
|
+
return /\b(budget\s*vs|actual\s*vs|male\s*(and|vs)|female\s*(and|vs)|gap|both|two\s+metric|dual|paired|dumbbell)\b/i.test(ctx.intent);
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
condition: 'Intent mentions range or span between values',
|
|
46
|
+
weight: 40,
|
|
47
|
+
matches: (ctx) => {
|
|
48
|
+
return /\b(range|span|min.+max|low.+high|start.+end)\b/i.test(ctx.intent);
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
condition: 'Penalize for single metric',
|
|
53
|
+
weight: -30,
|
|
54
|
+
matches: (ctx) => {
|
|
55
|
+
return ctx.dataShape.numericColumnCount < 2;
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
generateSpec: (data, columns, options) => {
|
|
60
|
+
const categoryCol = columns[0];
|
|
61
|
+
const metric1Col = columns.length > 1 ? columns[1] : columns[0];
|
|
62
|
+
const metric2Col = columns.length > 2 ? columns[2] : metric1Col;
|
|
63
|
+
const spec = {
|
|
64
|
+
pattern: 'connected-dot-plot',
|
|
65
|
+
title: options?.title ?? `${metric1Col} vs ${metric2Col} by ${categoryCol}`,
|
|
66
|
+
data,
|
|
67
|
+
encoding: {
|
|
68
|
+
y: {
|
|
69
|
+
field: categoryCol,
|
|
70
|
+
type: 'nominal',
|
|
71
|
+
title: categoryCol,
|
|
72
|
+
sort: null,
|
|
73
|
+
},
|
|
74
|
+
x: {
|
|
75
|
+
field: metric1Col,
|
|
76
|
+
type: 'quantitative',
|
|
77
|
+
title: `${metric1Col} / ${metric2Col}`,
|
|
78
|
+
},
|
|
79
|
+
color: {
|
|
80
|
+
scale: {
|
|
81
|
+
domain: [metric1Col, metric2Col],
|
|
82
|
+
range: options?.colors ?? ['#4e79a7', '#e15759'],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
config: {
|
|
87
|
+
metric1Field: metric1Col,
|
|
88
|
+
metric2Field: metric2Col,
|
|
89
|
+
categoryField: categoryCol,
|
|
90
|
+
showLabels: options?.showLabels ?? true,
|
|
91
|
+
showDifference: options?.showDifference ?? true,
|
|
92
|
+
sortBy: options?.sortBy ?? 'gap',
|
|
93
|
+
sortOrder: options?.sortOrder ?? 'descending',
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
return spec;
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=connected-dot-plot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connected-dot-plot.js","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/connected-dot-plot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diverging Bar Chart — differences from a baseline or zero.
|
|
3
|
+
*
|
|
4
|
+
* Excels when values span positive and negative, or when comparing
|
|
5
|
+
* deviations from an average/target. The visual encoding of direction
|
|
6
|
+
* (left vs right, or up vs down) makes differences instantly readable.
|
|
7
|
+
*/
|
|
8
|
+
import type { VisualizationPattern } from '../../../types.js';
|
|
9
|
+
export declare const divergingBarPattern: VisualizationPattern;
|
|
10
|
+
//# sourceMappingURL=diverging-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diverging-bar.d.ts","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/diverging-bar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAEjF,eAAO,MAAM,mBAAmB,EAAE,oBAmGjC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diverging Bar Chart — differences from a baseline or zero.
|
|
3
|
+
*
|
|
4
|
+
* Excels when values span positive and negative, or when comparing
|
|
5
|
+
* deviations from an average/target. The visual encoding of direction
|
|
6
|
+
* (left vs right, or up vs down) makes differences instantly readable.
|
|
7
|
+
*/
|
|
8
|
+
export const divergingBarPattern = {
|
|
9
|
+
id: 'diverging-bar',
|
|
10
|
+
name: 'Diverging Bar Chart',
|
|
11
|
+
category: 'comparison',
|
|
12
|
+
description: 'Horizontal bars extending left and right from a central baseline. Shows positive and negative deviations clearly.',
|
|
13
|
+
bestFor: 'Data with positive and negative values, profit/loss, above/below average, sentiment scores, change from baseline.',
|
|
14
|
+
notFor: 'All-positive data without a meaningful midpoint. Use standard bar instead.',
|
|
15
|
+
dataRequirements: {
|
|
16
|
+
minRows: 3,
|
|
17
|
+
maxRows: 40,
|
|
18
|
+
requiredColumns: [
|
|
19
|
+
{ type: 'categorical', count: 1, description: 'Category labels' },
|
|
20
|
+
{ type: 'numeric', count: 1, description: 'Value with positive and negative range' },
|
|
21
|
+
],
|
|
22
|
+
minCategories: 3,
|
|
23
|
+
},
|
|
24
|
+
selectionRules: [
|
|
25
|
+
{
|
|
26
|
+
condition: 'Data contains negative values — diverging bar is ideal',
|
|
27
|
+
weight: 70,
|
|
28
|
+
matches: (ctx) => {
|
|
29
|
+
return (ctx.dataShape.hasNegativeValues &&
|
|
30
|
+
ctx.dataShape.categoricalColumnCount >= 1 &&
|
|
31
|
+
ctx.dataShape.numericColumnCount >= 1);
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
condition: 'Intent mentions difference, change, deviation, or baseline',
|
|
36
|
+
weight: 50,
|
|
37
|
+
matches: (ctx) => {
|
|
38
|
+
return /\b(differ|change|deviat|baseline|target|above|below|gain|loss|profit|deficit|surplus|sentiment|positive|negative)\b/i.test(ctx.intent);
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
condition: 'Value range spans zero with meaningful spread on both sides',
|
|
43
|
+
weight: 30,
|
|
44
|
+
matches: (ctx) => {
|
|
45
|
+
const { min, max } = ctx.dataShape.valueRange;
|
|
46
|
+
return min < 0 && max > 0 && Math.abs(min) > max * 0.2 && Math.abs(max) > Math.abs(min) * 0.2;
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
condition: 'Penalize when no negative values exist',
|
|
51
|
+
weight: -40,
|
|
52
|
+
matches: (ctx) => {
|
|
53
|
+
return !ctx.dataShape.hasNegativeValues;
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
generateSpec: (data, columns, options) => {
|
|
58
|
+
const categoryCol = columns[0];
|
|
59
|
+
const valueCol = columns.length > 1 ? columns[1] : columns[0];
|
|
60
|
+
const spec = {
|
|
61
|
+
pattern: 'diverging-bar',
|
|
62
|
+
title: options?.title ?? `${valueCol} deviation by ${categoryCol}`,
|
|
63
|
+
data,
|
|
64
|
+
encoding: {
|
|
65
|
+
x: {
|
|
66
|
+
field: valueCol,
|
|
67
|
+
type: 'quantitative',
|
|
68
|
+
title: valueCol,
|
|
69
|
+
},
|
|
70
|
+
y: {
|
|
71
|
+
field: categoryCol,
|
|
72
|
+
type: 'nominal',
|
|
73
|
+
title: categoryCol,
|
|
74
|
+
sort: null,
|
|
75
|
+
},
|
|
76
|
+
color: {
|
|
77
|
+
field: valueCol,
|
|
78
|
+
type: 'quantitative',
|
|
79
|
+
scale: {
|
|
80
|
+
domain: [
|
|
81
|
+
Math.min(...data.map((d) => Number(d[valueCol]) || 0)),
|
|
82
|
+
0,
|
|
83
|
+
Math.max(...data.map((d) => Number(d[valueCol]) || 0)),
|
|
84
|
+
],
|
|
85
|
+
range: ['#d73027', '#f7f7f7', '#1a9850'],
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
config: {
|
|
90
|
+
orientation: 'horizontal',
|
|
91
|
+
showLabels: true,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
return spec;
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=diverging-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diverging-bar.js","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/diverging-bar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouped-bar.d.ts","sourceRoot":"","sources":["../../../../../src/patterns/definitions/comparison/grouped-bar.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAEjF,eAAO,MAAM,iBAAiB,EAAE,oBAgH/B,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grouped Bar — side-by-side bars for multi-metric comparison.
|
|
3
|
+
*/
|
|
4
|
+
export const groupedBarPattern = {
|
|
5
|
+
id: 'grouped-bar',
|
|
6
|
+
name: 'Grouped Bar Chart',
|
|
7
|
+
category: 'comparison',
|
|
8
|
+
description: 'Side-by-side bars for comparing multiple metrics or series across categories. Nested groups with color-coded series.',
|
|
9
|
+
bestFor: 'Direct comparison of 2-4 metrics per category: revenue vs cost by department, male vs female enrollment by year, Q1 vs Q2 sales by product.',
|
|
10
|
+
notFor: 'Single metric (use bar), part-to-whole (use stacked-bar), >5 series (too many bars per group), time series (use line).',
|
|
11
|
+
dataRequirements: {
|
|
12
|
+
minRows: 4,
|
|
13
|
+
maxRows: 100,
|
|
14
|
+
requiredColumns: [
|
|
15
|
+
{ type: 'categorical', count: 1, description: 'Group category' },
|
|
16
|
+
{ type: 'numeric', count: 1, description: 'Value to compare' },
|
|
17
|
+
],
|
|
18
|
+
minCategories: 2,
|
|
19
|
+
maxCategories: 20,
|
|
20
|
+
},
|
|
21
|
+
selectionRules: [
|
|
22
|
+
{
|
|
23
|
+
condition: 'Intent explicitly mentions grouped bar or side-by-side bar',
|
|
24
|
+
weight: 90,
|
|
25
|
+
matches: (ctx) => {
|
|
26
|
+
return /\b(grouped?\s*bar|side[\s-]*by[\s-]*side\s*bar|clustered?\s*bar)\b/i.test(ctx.intent);
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
condition: 'Two categorical columns + one numeric — classic grouped bar shape',
|
|
31
|
+
weight: 55,
|
|
32
|
+
matches: (ctx) => {
|
|
33
|
+
return (ctx.dataShape.categoricalColumnCount >= 2 &&
|
|
34
|
+
ctx.dataShape.numericColumnCount >= 1 &&
|
|
35
|
+
!ctx.dataShape.hasTimeSeries);
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
condition: 'Multiple numeric columns with categories — compare metrics side by side',
|
|
40
|
+
weight: 50,
|
|
41
|
+
matches: (ctx) => {
|
|
42
|
+
return (ctx.dataShape.categoricalColumnCount >= 1 &&
|
|
43
|
+
ctx.dataShape.numericColumnCount >= 2 &&
|
|
44
|
+
ctx.dataShape.numericColumnCount <= 5 &&
|
|
45
|
+
!ctx.dataShape.hasTimeSeries);
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
condition: 'Intent mentions comparing multiple metrics',
|
|
50
|
+
weight: 25,
|
|
51
|
+
matches: (ctx) => {
|
|
52
|
+
return /\b(compar\w+\s+(multiple|several|different)\s+(metric|measure|value|series)|side[\s-]*by[\s-]*side|grouped)\b/i.test(ctx.intent);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
condition: 'Penalize for single numeric column with single categorical — regular bar is simpler',
|
|
57
|
+
weight: -30,
|
|
58
|
+
matches: (ctx) => {
|
|
59
|
+
return (ctx.dataShape.numericColumnCount === 1 &&
|
|
60
|
+
ctx.dataShape.categoricalColumnCount === 1);
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
condition: 'Penalize for too many series (>5)',
|
|
65
|
+
weight: -25,
|
|
66
|
+
matches: (ctx) => {
|
|
67
|
+
return ctx.dataShape.numericColumnCount > 5;
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
condition: 'Penalize for time series data',
|
|
72
|
+
weight: -30,
|
|
73
|
+
matches: (ctx) => {
|
|
74
|
+
return ctx.dataShape.hasTimeSeries;
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
generateSpec: (data, columns, options) => {
|
|
79
|
+
const categoryCol = columns[0];
|
|
80
|
+
const seriesCol = columns.length > 2 ? columns[1] : undefined;
|
|
81
|
+
const valueCol = columns.length > 2 ? columns[2] : columns.length > 1 ? columns[1] : columns[0];
|
|
82
|
+
const spec = {
|
|
83
|
+
pattern: 'grouped-bar',
|
|
84
|
+
title: options?.title ?? `Comparison by ${categoryCol}`,
|
|
85
|
+
data,
|
|
86
|
+
encoding: {
|
|
87
|
+
x: { field: categoryCol, type: 'nominal', title: categoryCol },
|
|
88
|
+
y: { field: valueCol, type: 'quantitative', title: valueCol },
|
|
89
|
+
color: seriesCol
|
|
90
|
+
? { field: seriesCol, type: 'nominal', scale: {} }
|
|
91
|
+
: { field: categoryCol, type: 'nominal', scale: {} },
|
|
92
|
+
},
|
|
93
|
+
config: {
|
|
94
|
+
categoryField: categoryCol,
|
|
95
|
+
seriesField: seriesCol,
|
|
96
|
+
valueField: valueCol,
|
|
97
|
+
orientation: options?.orientation ?? 'vertical',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
return spec;
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=grouped-bar.js.map
|