gitextract_7ww1rax1/ ├── .github/ │ └── workflows/ │ └── codeql.yml ├── .gitignore ├── .vscode/ │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── LICENSE ├── README.md ├── SECURITY.md ├── azure-pipelines.yml ├── dev.md ├── docker-jekyll-local/ │ ├── Dockerfile │ ├── README.md │ └── docker-compose.yml ├── docs/ │ ├── Gemfile │ ├── _config.yml │ ├── _data/ │ │ ├── apitree.json │ │ ├── outlines.json │ │ └── tree.json │ ├── _includes/ │ │ └── footer-links.html │ ├── _layouts/ │ │ ├── api.html │ │ ├── default.html │ │ ├── docs.html │ │ ├── page.html │ │ └── typedoc.html │ ├── _sass/ │ │ ├── components/ │ │ │ ├── _components.breadcrumbs.scss │ │ │ ├── _components.buttons.scss │ │ │ ├── _components.page-content.scss │ │ │ ├── _components.page-foot.scss │ │ │ ├── _components.page-head.scss │ │ │ ├── _components.page-main.scss │ │ │ ├── _components.site-nav.scss │ │ │ └── _components.tree.scss │ │ ├── elements/ │ │ │ ├── _elements.code.scss │ │ │ ├── _elements.headings.scss │ │ │ ├── _elements.hr.scss │ │ │ ├── _elements.links.scss │ │ │ ├── _elements.page.scss │ │ │ └── _elements.tables.scss │ │ ├── generic/ │ │ │ └── _generic.syntax-highlight.scss │ │ ├── inuitcss/ │ │ │ ├── LICENSE │ │ │ ├── elements/ │ │ │ │ ├── _elements.headings.scss │ │ │ │ ├── _elements.images.scss │ │ │ │ ├── _elements.page.scss │ │ │ │ └── _elements.tables.scss │ │ │ ├── generic/ │ │ │ │ ├── _generic.box-sizing.scss │ │ │ │ ├── _generic.normalize.scss │ │ │ │ ├── _generic.reset.scss │ │ │ │ └── _generic.shared.scss │ │ │ ├── objects/ │ │ │ │ ├── _objects.block.scss │ │ │ │ ├── _objects.box.scss │ │ │ │ ├── _objects.crop.scss │ │ │ │ ├── _objects.flag.scss │ │ │ │ ├── _objects.layout.scss │ │ │ │ ├── _objects.list-bare.scss │ │ │ │ ├── _objects.list-inline.scss │ │ │ │ ├── _objects.media.scss │ │ │ │ ├── _objects.pack.scss │ │ │ │ ├── _objects.ratio.scss │ │ │ │ ├── _objects.table.scss │ │ │ │ └── _objects.wrapper.scss │ │ │ ├── settings/ │ │ │ │ └── _settings.core.scss │ │ │ ├── tools/ │ │ │ │ ├── _tools.clearfix.scss │ │ │ │ ├── _tools.font-size.scss │ │ │ │ └── _tools.hidden.scss │ │ │ └── utilities/ │ │ │ ├── _utilities.clearfix.scss │ │ │ ├── _utilities.headings.scss │ │ │ ├── _utilities.hide.scss │ │ │ ├── _utilities.print.scss │ │ │ ├── _utilities.responsive-spacings.scss │ │ │ ├── _utilities.spacings.scss │ │ │ └── _utilities.widths.scss │ │ ├── sass-mq/ │ │ │ ├── LICENSE.md │ │ │ └── _mq.scss │ │ └── settings/ │ │ ├── _settings.colors.scss │ │ └── _settings.global.scss │ ├── app/ │ │ ├── css/ │ │ │ ├── sanddance-app-site.css │ │ │ └── sanddance-app.css │ │ ├── index.html │ │ └── js/ │ │ └── sanddance-app.js │ ├── assets/ │ │ ├── css/ │ │ │ ├── main.scss │ │ │ └── typedoc.css │ │ └── js/ │ │ └── main.js │ ├── dist/ │ │ ├── azdata/ │ │ │ ├── v3/ │ │ │ │ └── azdata-sanddance-3.3.0.vsix │ │ │ └── v4/ │ │ │ ├── azdata-sanddance-4.0.0.vsix │ │ │ ├── azdata-sanddance-4.0.1.vsix │ │ │ ├── azdata-sanddance-4.0.2.vsix │ │ │ ├── azdata-sanddance-4.0.3.vsix │ │ │ ├── azdata-sanddance-4.1.0.vsix │ │ │ └── azdata-sanddance-4.1.1.vsix │ │ ├── powerbi/ │ │ │ ├── v3/ │ │ │ │ └── SandDance201929976D117A654D0BAB8E96507442D80B.3.2.0.pbiviz │ │ │ └── v4/ │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.0.0.pbiviz │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.1.0.pbiviz │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.1.1.pbiviz │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.1.2.0.pbix │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.1.2.pbiviz │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.2.0.0.pbiviz │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.2.0.1.pbiviz │ │ │ ├── SandDance201929976D117A654D0BAB8E96507442D80B.4.2.0.2.pbiviz │ │ │ ├── SandDance2019beta4.4.0.0.pbiviz │ │ │ ├── SandDance2019beta4.4.0.1.pbiviz │ │ │ ├── SandDance2019beta4.4.0.2.pbiviz │ │ │ ├── SandDance2019beta4.4.0.3.pbiviz │ │ │ ├── SandDance2019beta4.4.0.4.pbiviz │ │ │ ├── SandDance2019beta4.4.0.5.pbiviz │ │ │ ├── SandDance2019beta4.4.0.6.pbiviz │ │ │ ├── SandDance2019beta4.4.0.7.pbiviz │ │ │ ├── SandDance2019beta4.4.0.8.pbiviz │ │ │ └── SandDance2019beta4.4.0.9.pbiviz │ │ ├── sanddance/ │ │ │ ├── v1/ │ │ │ │ ├── sanddance.css │ │ │ │ └── sanddance.js │ │ │ ├── v2/ │ │ │ │ ├── sanddance.css │ │ │ │ └── sanddance.js │ │ │ ├── v3/ │ │ │ │ ├── sanddance.css │ │ │ │ └── sanddance.js │ │ │ └── v4/ │ │ │ ├── sanddance.css │ │ │ └── sanddance.js │ │ ├── sanddance-explorer/ │ │ │ ├── v1/ │ │ │ │ ├── sanddance-explorer.css │ │ │ │ └── sanddance-explorer.js │ │ │ ├── v2/ │ │ │ │ ├── sanddance-explorer.css │ │ │ │ └── sanddance-explorer.js │ │ │ ├── v3/ │ │ │ │ ├── sanddance-explorer.css │ │ │ │ └── sanddance-explorer.js │ │ │ └── v4/ │ │ │ ├── sanddance-explorer.css │ │ │ └── sanddance-explorer.js │ │ ├── sanddance-react/ │ │ │ └── v4/ │ │ │ └── sanddance-react.js │ │ ├── vega-deck.gl/ │ │ │ ├── v2/ │ │ │ │ └── vega-deck.gl.js │ │ │ └── v3/ │ │ │ └── vega-deck.gl.js │ │ ├── vega-morphcharts/ │ │ │ └── v1/ │ │ │ └── vega-morphcharts.js │ │ └── vscode/ │ │ ├── v3/ │ │ │ └── vscode-sanddance-3.3.0.vsix │ │ └── v4/ │ │ ├── vscode-sanddance-4.0.0-beta.0.vsix │ │ ├── vscode-sanddance-4.0.0-beta.1.vsix │ │ ├── vscode-sanddance-4.0.0-beta.2.vsix │ │ ├── vscode-sanddance-4.0.0.vsix │ │ ├── vscode-sanddance-4.0.1.vsix │ │ ├── vscode-sanddance-4.0.2.vsix │ │ ├── vscode-sanddance-4.0.3.vsix │ │ ├── vscode-sanddance-4.0.4.vsix │ │ ├── vscode-sanddance-4.1.0.vsix │ │ └── vscode-sanddance-4.2.0.vsix │ ├── docs/ │ │ ├── changelog.md │ │ ├── contributing.md │ │ └── index.md │ ├── embed/ │ │ ├── v1/ │ │ │ └── sanddance-embed.html │ │ ├── v2/ │ │ │ ├── sanddance-embed-privacy-footer.html │ │ │ └── sanddance-embed.html │ │ ├── v3/ │ │ │ └── sanddance-embed.html │ │ └── v4/ │ │ ├── dynamic/ │ │ │ ├── target.html │ │ │ └── test.html │ │ ├── sanddance-embed.html │ │ └── test.html │ ├── examples/ │ │ ├── index.md │ │ └── v3.md │ ├── external/ │ │ └── js/ │ │ ├── react-dom.development.js │ │ └── react.development.js │ ├── index.html │ ├── sample-data/ │ │ ├── demovote.tsv │ │ └── titanicmaster.tsv │ ├── tests/ │ │ ├── data-inference/ │ │ │ ├── v1/ │ │ │ │ ├── index.html │ │ │ │ └── js/ │ │ │ │ └── data-inference.js │ │ │ └── v2/ │ │ │ ├── index.html │ │ │ └── js/ │ │ │ └── data-inference.js │ │ ├── sanddance-specs/ │ │ │ ├── v1/ │ │ │ │ ├── index.html │ │ │ │ ├── js/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── sanddance-specs.js │ │ │ │ └── specs/ │ │ │ │ ├── column-categoric.json │ │ │ │ ├── column-facet-cross.json │ │ │ │ ├── column-facet-wrap.json │ │ │ │ ├── column-sum-strip-pct.json │ │ │ │ ├── column-sum-strip.json │ │ │ │ ├── column-sum-treemap.json │ │ │ │ ├── column.json │ │ │ │ ├── density-facet-cross.json │ │ │ │ ├── density-facet-wrap.json │ │ │ │ ├── density-treemap.json │ │ │ │ ├── density.json │ │ │ │ ├── scatter-facet-cross.json │ │ │ │ ├── scatter-facet-wrap-with-image.json │ │ │ │ ├── scatter-facet-wrap.json │ │ │ │ ├── scatter-with-image.json │ │ │ │ ├── scatter.json │ │ │ │ ├── stacks-facet-cross.json │ │ │ │ ├── stacks-facet-wrap-with-image.json │ │ │ │ ├── stacks-facet-wrap.json │ │ │ │ ├── stacks-with-image.json │ │ │ │ └── stacks.json │ │ │ └── v2/ │ │ │ ├── index.html │ │ │ ├── js/ │ │ │ │ ├── index.js │ │ │ │ └── sanddance-specs.js │ │ │ └── specs/ │ │ │ ├── column-categoric.json │ │ │ ├── column-facet-cross.json │ │ │ ├── column-facet-wrap.json │ │ │ ├── column-sum-strip-pct.json │ │ │ ├── column-sum-strip.json │ │ │ ├── column-sum-treemap.json │ │ │ ├── column.json │ │ │ ├── density-facet-cross.json │ │ │ ├── density-facet-wrap.json │ │ │ ├── density-treemap.json │ │ │ ├── density.json │ │ │ ├── scatter-facet-cross.json │ │ │ ├── scatter-facet-wrap-with-image.json │ │ │ ├── scatter-facet-wrap.json │ │ │ ├── scatter-with-image.json │ │ │ ├── scatter.json │ │ │ ├── stacks-facet-cross.json │ │ │ ├── stacks-facet-wrap-with-image.json │ │ │ ├── stacks-facet-wrap.json │ │ │ ├── stacks-with-image.json │ │ │ └── stacks.json │ │ ├── v2/ │ │ │ ├── es6/ │ │ │ │ ├── css/ │ │ │ │ │ └── sanddance.css │ │ │ │ ├── js/ │ │ │ │ │ └── sanddance.js │ │ │ │ └── sanddance.html │ │ │ └── umd/ │ │ │ ├── chromaticTextTest.html │ │ │ ├── css/ │ │ │ │ ├── test.css │ │ │ │ ├── transition.css │ │ │ │ └── vega-deck.gl.test.css │ │ │ ├── cubeTest.html │ │ │ ├── js/ │ │ │ │ ├── chromaticTextTest.js │ │ │ │ ├── cubeTest.js │ │ │ │ ├── qualBarChartTest.js │ │ │ │ ├── quanBarChartTest.js │ │ │ │ ├── scatterplotTest.js │ │ │ │ ├── test.js │ │ │ │ ├── transition.js │ │ │ │ ├── treeMapTest.js │ │ │ │ └── vega-deck.gl.test.js │ │ │ ├── qualBarChartTest.html │ │ │ ├── quanBarChartTest.html │ │ │ ├── scatterplotTest.html │ │ │ ├── specs/ │ │ │ │ ├── scatter3D.json │ │ │ │ └── titanic.json │ │ │ ├── test.html │ │ │ ├── transition.html │ │ │ ├── treeMapTest.html │ │ │ └── vega-deck.gl.test.html │ │ ├── v3/ │ │ │ ├── es6/ │ │ │ │ ├── app.html │ │ │ │ ├── css/ │ │ │ │ │ ├── sanddance-app-site.css │ │ │ │ │ ├── sanddance-app.css │ │ │ │ │ └── sanddance-test-es6.css │ │ │ │ ├── js/ │ │ │ │ │ ├── sanddance-app.js │ │ │ │ │ └── sanddance-test-es6.js │ │ │ │ └── sanddance-test-es6.html │ │ │ └── umd/ │ │ │ ├── css/ │ │ │ │ ├── test.css │ │ │ │ ├── transition.css │ │ │ │ └── vega-deck.gl.test.css │ │ │ ├── cubeTest.html │ │ │ ├── embed.html │ │ │ ├── js/ │ │ │ │ ├── cubeTest.js │ │ │ │ ├── qualBarChartTest.js │ │ │ │ ├── quanBarChartTest.js │ │ │ │ ├── scatterplotTest.js │ │ │ │ ├── test.js │ │ │ │ ├── transforms.js │ │ │ │ ├── transition.js │ │ │ │ ├── treeMapTest.js │ │ │ │ └── vega-deck.gl.test.js │ │ │ ├── qualBarChartTest.html │ │ │ ├── quanBarChartTest.html │ │ │ ├── sanddance-specs.html │ │ │ ├── scatterplotTest.html │ │ │ ├── specs/ │ │ │ │ ├── scatter3D.json │ │ │ │ └── titanic.json │ │ │ ├── test.html │ │ │ ├── transforms.html │ │ │ ├── transition.html │ │ │ ├── treeMapTest.html │ │ │ └── vega-deck.gl.test.html │ │ └── v4/ │ │ ├── es6/ │ │ │ ├── app.html │ │ │ ├── css/ │ │ │ │ ├── sanddance-app-site.css │ │ │ │ ├── sanddance-app.css │ │ │ │ ├── sanddance-test-es6.css │ │ │ │ └── vega-morphcharts-test-es6.css │ │ │ ├── js/ │ │ │ │ ├── sanddance-app.js │ │ │ │ ├── sanddance-test-es6.js │ │ │ │ └── vega-morphcharts-test-es6.js │ │ │ ├── sanddance-test-es6.html │ │ │ └── vega-morphcharts-test-es6.html │ │ └── umd/ │ │ ├── css/ │ │ │ ├── test.css │ │ │ ├── transition.css │ │ │ └── vega-morphcharts.test.css │ │ ├── embed.html │ │ ├── js/ │ │ │ ├── qualBarChartTest.js │ │ │ ├── quanBarChartTest.js │ │ │ ├── scatterplotTest.js │ │ │ ├── test.js │ │ │ ├── transforms.js │ │ │ ├── transition.js │ │ │ ├── treeMapTest.js │ │ │ └── vega-morphcharts.test.js │ │ ├── qualBarChartTest.html │ │ ├── quanBarChartTest.html │ │ ├── sanddance-react.html │ │ ├── sanddance-specs.html │ │ ├── scatterplotTest.html │ │ ├── specs/ │ │ │ ├── scatter3D.json │ │ │ └── titanic.json │ │ ├── test.html │ │ ├── transforms.html │ │ ├── transition.html │ │ ├── treeMapTest.html │ │ └── vega-morphcharts.test.html │ └── tutorial/ │ └── index.md ├── eslint.config.mjs ├── extensions/ │ ├── azdata-sanddance/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ ├── settings.json │ │ │ └── tasks.json │ │ ├── .vscodeignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── sql.bat │ │ ├── sql.sh │ │ ├── src/ │ │ │ ├── azdata.proposed.d.ts │ │ │ ├── extension.ts │ │ │ └── mssqlapis.d.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── common-backend/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── html.ts │ │ │ ├── index.ts │ │ │ └── panel.ts │ │ └── tsconfig.json │ ├── common-frontend/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── resources.js │ │ ├── src/ │ │ │ ├── app.tsx │ │ │ ├── css/ │ │ │ │ └── app.scss │ │ │ ├── fluentUI-icons.d.ts │ │ │ ├── fluentUI.d.ts │ │ │ ├── interfaces.d.ts │ │ │ ├── language.ts │ │ │ └── sanddance-explorer.d.ts │ │ ├── test/ │ │ │ └── sanddance-test.html │ │ └── tsconfig.json │ └── vscode-sanddance/ │ ├── .gitattributes │ ├── .gitignore │ ├── .vscode/ │ │ ├── settings.json │ │ └── tasks.json │ ├── .vscodeignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── scripts/ │ │ └── deploy.js │ ├── src/ │ │ └── extension.ts │ ├── tsconfig.json │ └── webpack.config.js ├── package.json ├── packages/ │ ├── chart-recommender/ │ │ ├── .gitignore │ │ ├── .mocharc.json │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── barChart.ts │ │ │ ├── geo.ts │ │ │ ├── index.ts │ │ │ ├── recommender.ts │ │ │ ├── recommenderSummary.ts │ │ │ ├── scatterPlot.ts │ │ │ └── treemap.ts │ │ ├── test/ │ │ │ ├── mocha.opts │ │ │ └── recommend.mjs │ │ ├── test-data/ │ │ │ ├── test1.tsv │ │ │ ├── test2.tsv │ │ │ ├── test3.tsv │ │ │ ├── test4.tsv │ │ │ └── test5.tsv │ │ └── tsconfig.json │ ├── chart-types/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── column.ts │ │ │ ├── dimensions.ts │ │ │ ├── index.ts │ │ │ ├── stats.ts │ │ │ └── view.ts │ │ └── tsconfig.json │ ├── data-inference/ │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── color.ts │ │ │ ├── index.ts │ │ │ ├── inference.ts │ │ │ ├── numeric.ts │ │ │ ├── stats.ts │ │ │ └── summary.ts │ │ ├── test/ │ │ │ ├── index.ts │ │ │ └── pandas.ipynb │ │ └── tsconfig.json │ ├── fluentui-icons/ │ │ ├── README.md │ │ ├── config/ │ │ │ └── fabric-icons.json │ │ ├── css/ │ │ │ ├── fabric-icons-inline.css │ │ │ └── fabric-icons.css │ │ ├── fabric-icons.html │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── prebuild.js │ │ ├── scss/ │ │ │ ├── fabric-icons-inline.scss │ │ │ └── fabric-icons.scss │ │ ├── src/ │ │ │ ├── fabric-icons.ts │ │ │ ├── fabric_icons_4ac17eec.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── fluentui-react-cdn-typings/ │ │ ├── LICENSE │ │ ├── index.d.ts │ │ ├── package.json │ │ └── types.d.ts │ ├── powerbi/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ ├── launch.json │ │ │ └── settings.json │ │ ├── capabilities.json │ │ ├── package.json │ │ ├── pbiviz.json │ │ ├── scripts/ │ │ │ ├── deploy.js │ │ │ └── version.js │ │ ├── src/ │ │ │ ├── app.ts │ │ │ ├── cleanInsight.ts │ │ │ ├── convertFilter.ts │ │ │ ├── convertTableToObjectArray.ts │ │ │ ├── fluentUIComponents.ts │ │ │ ├── fontfix.ts │ │ │ ├── language.ts │ │ │ ├── logView.tsx │ │ │ ├── settings.ts │ │ │ ├── version.ts │ │ │ └── visual.ts │ │ ├── style/ │ │ │ └── visual.less │ │ └── tsconfig.json │ ├── sanddance/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README-DEV.md │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── animator.ts │ │ │ ├── array.ts │ │ │ ├── axisSelection.ts │ │ │ ├── characterSet.ts │ │ │ ├── colorCubes.ts │ │ │ ├── colorSchemes.ts │ │ │ ├── constants.ts │ │ │ ├── css/ │ │ │ │ └── sanddance.scss │ │ │ ├── dataScope.ts │ │ │ ├── date.ts │ │ │ ├── defaults.ts │ │ │ ├── details.tsx │ │ │ ├── expression.ts │ │ │ ├── headers.ts │ │ │ ├── index.ts │ │ │ ├── legend.ts │ │ │ ├── ordinal.ts │ │ │ ├── search.ts │ │ │ ├── signals.ts │ │ │ ├── tooltip.tsx │ │ │ ├── transition.ts │ │ │ ├── types.ts │ │ │ ├── util.ts │ │ │ ├── version.ts │ │ │ └── viewer.ts │ │ └── tsconfig.json │ ├── sanddance-app/ │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── base.ts │ │ │ ├── css/ │ │ │ │ └── sanddance-app.scss │ │ │ ├── dataSourcePicker.tsx │ │ │ ├── download.ts │ │ │ ├── fluentUIComponents.ts │ │ │ ├── index.tsx │ │ │ ├── language.ts │ │ │ ├── sanddanceApp.tsx │ │ │ ├── snapshots.tsx │ │ │ ├── types.ts │ │ │ └── url.ts │ │ ├── tsconfig.json │ │ ├── vite.config.js │ │ └── vite.dev.config.js │ ├── sanddance-embed/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── css/ │ │ │ │ └── sanddance-embed.scss │ │ │ ├── deps.ts │ │ │ ├── gen/ │ │ │ │ ├── gen.ts │ │ │ │ └── tsconfig.json │ │ │ ├── prepare.ts │ │ │ ├── sanddance-embed.ts │ │ │ └── types/ │ │ │ ├── deps.d.ts │ │ │ ├── fluentUI-icons.d.ts │ │ │ ├── fluentUI.d.ts │ │ │ ├── message-request.d.ts │ │ │ ├── message-response.d.ts │ │ │ └── sanddance-explorer.d.ts │ │ ├── test/ │ │ │ ├── dynamic-deps/ │ │ │ │ ├── target.html │ │ │ │ └── test.html │ │ │ ├── standalone/ │ │ │ │ └── test.html │ │ │ └── static-deps/ │ │ │ ├── target.html │ │ │ └── test.html │ │ └── tsconfig.json │ ├── sanddance-explorer/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bundle/ │ │ │ └── umd.js │ │ ├── package.json │ │ ├── scripts/ │ │ │ ├── deploy.js │ │ │ └── prebuild.js │ │ ├── src/ │ │ │ ├── base.ts │ │ │ ├── canvas.ts │ │ │ ├── clickableTextLayer.tsx │ │ │ ├── colorMap.tsx │ │ │ ├── colorScheme.ts │ │ │ ├── columns.ts │ │ │ ├── controls/ │ │ │ │ ├── CommandBarButton.styles.ts │ │ │ │ ├── button.tsx │ │ │ │ ├── columnMap.tsx │ │ │ │ ├── columnTypeChanger.tsx │ │ │ │ ├── dataExporter.tsx │ │ │ │ ├── dataExporterHtml.ts │ │ │ │ ├── dataItem.tsx │ │ │ │ ├── dataScope.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── dropdown.tsx │ │ │ │ ├── group.tsx │ │ │ │ ├── iconButton.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── logo.tsx │ │ │ │ ├── renderer.tsx │ │ │ │ ├── scrollable.tsx │ │ │ │ ├── searchTerm.tsx │ │ │ │ ├── sideButton.tsx │ │ │ │ ├── sidebar.tsx │ │ │ │ ├── signal.tsx │ │ │ │ ├── textfield.tsx │ │ │ │ ├── toggleColumns.tsx │ │ │ │ └── topbar.tsx │ │ │ ├── css/ │ │ │ │ ├── color.scss │ │ │ │ ├── columnMap.scss │ │ │ │ ├── dataIndex.scss │ │ │ │ ├── dataItem.scss │ │ │ │ ├── dataScope.scss │ │ │ │ ├── group.scss │ │ │ │ ├── history.scss │ │ │ │ ├── note.scss │ │ │ │ ├── palette.scss │ │ │ │ ├── sanddance-explorer.scss │ │ │ │ ├── scrollable.scss │ │ │ │ ├── search.scss │ │ │ │ ├── sidebar.scss │ │ │ │ ├── snapshots.scss │ │ │ │ └── topbar.scss │ │ │ ├── dataLoader.ts │ │ │ ├── defaults.ts │ │ │ ├── dialogs/ │ │ │ │ ├── backgroundImageEditor.tsx │ │ │ │ ├── chart.tsx │ │ │ │ ├── color.tsx │ │ │ │ ├── dataBrowser.tsx │ │ │ │ ├── history.tsx │ │ │ │ ├── search.tsx │ │ │ │ ├── settings.tsx │ │ │ │ ├── snapshotEditor.tsx │ │ │ │ ├── snapshots.tsx │ │ │ │ └── transition.tsx │ │ │ ├── explorer.tsx │ │ │ ├── exportDelimited.ts │ │ │ ├── index.ts │ │ │ ├── interfaces.ts │ │ │ ├── keycodes.ts │ │ │ ├── language.ts │ │ │ ├── mouseEvent.ts │ │ │ ├── palettes/ │ │ │ │ ├── categorical.tsx │ │ │ │ ├── cyclical.tsx │ │ │ │ ├── diverging.tsx │ │ │ │ ├── dual.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── scheme.ts │ │ │ │ ├── sequentialMultiHue.tsx │ │ │ │ └── sequentialSingleHue.tsx │ │ │ ├── partialInsight.ts │ │ │ ├── searchGroups.ts │ │ │ ├── themes.ts │ │ │ └── version.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── sanddance-react/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── base.ts │ │ │ ├── css/ │ │ │ │ └── sanddance-react.scss │ │ │ ├── index.ts │ │ │ ├── util.ts │ │ │ ├── version.ts │ │ │ └── viewer.tsx │ │ ├── test/ │ │ │ ├── index.html │ │ │ ├── index.tsx │ │ │ └── tsconfig.json │ │ └── tsconfig.json │ ├── sanddance-specs/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── axes.ts │ │ │ ├── bin.ts │ │ │ ├── build.ts │ │ │ ├── charts/ │ │ │ │ ├── barchartH.ts │ │ │ │ ├── barchartV.ts │ │ │ │ ├── density.ts │ │ │ │ ├── grid.ts │ │ │ │ ├── index.ts │ │ │ │ ├── scatterplot.ts │ │ │ │ ├── stacks.ts │ │ │ │ ├── strips.ts │ │ │ │ └── treemap.ts │ │ │ ├── color.ts │ │ │ ├── constants.ts │ │ │ ├── defaults.ts │ │ │ ├── expr.ts │ │ │ ├── facetLayout.ts │ │ │ ├── facetSearch.ts │ │ │ ├── facetTitle.ts │ │ │ ├── fill.ts │ │ │ ├── globalScope.ts │ │ │ ├── image.ts │ │ │ ├── index.ts │ │ │ ├── inference.ts │ │ │ ├── insight.ts │ │ │ ├── interfaces.ts │ │ │ ├── layouts/ │ │ │ │ ├── aggregateContainer.ts │ │ │ │ ├── aggregateSquare.ts │ │ │ │ ├── band.ts │ │ │ │ ├── cross.ts │ │ │ │ ├── index.ts │ │ │ │ ├── layout.ts │ │ │ │ ├── scatter.ts │ │ │ │ ├── square.ts │ │ │ │ ├── stack.ts │ │ │ │ ├── strip.ts │ │ │ │ ├── treemap.ts │ │ │ │ └── wrap.ts │ │ │ ├── legends.ts │ │ │ ├── ordinal.ts │ │ │ ├── scales.ts │ │ │ ├── scope.ts │ │ │ ├── selection.ts │ │ │ ├── signals.ts │ │ │ ├── size.ts │ │ │ ├── specBuilder.ts │ │ │ ├── top.ts │ │ │ ├── transforms.ts │ │ │ ├── types.ts │ │ │ └── zBase.ts │ │ ├── test/ │ │ │ ├── demo.js │ │ │ └── perf.js │ │ ├── tsconfig.json │ │ └── uitest/ │ │ ├── chart-types.d.ts │ │ ├── index.ts │ │ ├── tsconfig.json │ │ └── vega.d.ts │ ├── sanddance-test-es6/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ └── sanddance-test-es6.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── sanddance-test-umd/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── qualBarChartTest.ts │ │ │ ├── quanBarChartTest.ts │ │ │ ├── scatterplotTest.ts │ │ │ ├── test.ts │ │ │ ├── transforms.ts │ │ │ ├── transition.ts │ │ │ ├── treeMapTest.ts │ │ │ ├── vega-morphcharts.test.ts │ │ │ └── vega.d.ts │ │ └── tsconfig.json │ ├── search-expression/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── package.json │ │ ├── src/ │ │ │ ├── compare.ts │ │ │ ├── exec.ts │ │ │ ├── group.ts │ │ │ ├── index.ts │ │ │ ├── invert.ts │ │ │ ├── narrow.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── vega-deck.gl/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── alias/ │ │ │ ├── deck-external.js │ │ │ ├── luma-external.js │ │ │ └── react-external.js │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── array.ts │ │ │ ├── base.ts │ │ │ ├── clone.ts │ │ │ ├── color.ts │ │ │ ├── constants.ts │ │ │ ├── controls.tsx │ │ │ ├── cube-layer/ │ │ │ │ ├── cube-layer-fragment.glsl.ts │ │ │ │ ├── cube-layer-vertex.glsl.ts │ │ │ │ └── cube-layer.ts │ │ │ ├── deck.gl-classes/ │ │ │ │ ├── deckgl.ts │ │ │ │ ├── linearInterpolator.ts │ │ │ │ └── orbitController.ts │ │ │ ├── defaults.ts │ │ │ ├── easing.ts │ │ │ ├── effects.ts │ │ │ ├── enums.ts │ │ │ ├── exports/ │ │ │ │ ├── controls.ts │ │ │ │ ├── types.ts │ │ │ │ └── util.ts │ │ │ ├── htmlHelpers.ts │ │ │ ├── index.ts │ │ │ ├── interfaces.ts │ │ │ ├── layers.ts │ │ │ ├── legend.tsx │ │ │ ├── marks/ │ │ │ │ ├── area.ts │ │ │ │ ├── interfaces.ts │ │ │ │ ├── legend.ts │ │ │ │ ├── line.ts │ │ │ │ ├── rect.ts │ │ │ │ ├── rule.ts │ │ │ │ └── text.ts │ │ │ ├── panel.tsx │ │ │ ├── patchedCubeArray.ts │ │ │ ├── presenter.ts │ │ │ ├── stagers.ts │ │ │ ├── vega-classes/ │ │ │ │ ├── rendererGl.ts │ │ │ │ └── viewGl.ts │ │ │ ├── viewState.ts │ │ │ └── zaxis.ts │ │ ├── test/ │ │ │ ├── cubelayer/ │ │ │ │ ├── cubeTest.css │ │ │ │ ├── cubeTest.html │ │ │ │ └── cubeTest.ts │ │ │ └── vegaspec/ │ │ │ ├── vega-deck.gl.test.css │ │ │ ├── vega-deck.gl.test.html │ │ │ └── vega-deck.gl.test.ts │ │ └── tsconfig.json │ ├── vega-morphcharts/ │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.mjs │ │ ├── scripts/ │ │ │ └── deploy.js │ │ ├── src/ │ │ │ ├── array.ts │ │ │ ├── base.ts │ │ │ ├── clone.ts │ │ │ ├── color.ts │ │ │ ├── controls.tsx │ │ │ ├── defaults.ts │ │ │ ├── easing.ts │ │ │ ├── enums.ts │ │ │ ├── exports/ │ │ │ │ ├── controls.ts │ │ │ │ ├── types.ts │ │ │ │ └── util.ts │ │ │ ├── htmlHelpers.ts │ │ │ ├── index.ts │ │ │ ├── interfaces.ts │ │ │ ├── legend.tsx │ │ │ ├── marks/ │ │ │ │ ├── image.ts │ │ │ │ ├── interfaces.ts │ │ │ │ ├── legend.ts │ │ │ │ ├── line.ts │ │ │ │ ├── rect.ts │ │ │ │ ├── rule.ts │ │ │ │ └── text.ts │ │ │ ├── morphcharts/ │ │ │ │ ├── axes.ts │ │ │ │ ├── bounds.ts │ │ │ │ ├── camera.ts │ │ │ │ ├── canvas.ts │ │ │ │ ├── color.ts │ │ │ │ ├── cubes.ts │ │ │ │ ├── defaults.ts │ │ │ │ ├── image.ts │ │ │ │ ├── index.ts │ │ │ │ ├── init.ts │ │ │ │ ├── lines.ts │ │ │ │ ├── render.ts │ │ │ │ ├── renderer.ts │ │ │ │ └── text.ts │ │ │ ├── panel.tsx │ │ │ ├── patchedCubeArray.ts │ │ │ ├── presenter.ts │ │ │ ├── stagers.ts │ │ │ ├── transition.ts │ │ │ ├── vega-classes/ │ │ │ │ ├── rendererGl.ts │ │ │ │ └── viewGl.ts │ │ │ └── version.ts │ │ ├── test/ │ │ │ ├── tsconfig.json │ │ │ └── vegaspec/ │ │ │ ├── vega-morphcharts.test.css │ │ │ ├── vega-morphcharts.test.html │ │ │ └── vega-morphcharts.test.ts │ │ ├── tsconfig.json │ │ └── vite.dev.config.js │ └── vega-morphcharts-test-es6/ │ ├── package.json │ ├── src/ │ │ └── vega-morphcharts-test-es6.ts │ ├── tsconfig.json │ └── vite.config.js ├── powerbi.md ├── scripts/ │ ├── copy_inuitcss.js │ ├── publish.mjs │ ├── readme.js │ ├── vega-version.mjs │ └── version.js └── test/ ├── data-inference.html ├── sanddance-app-direct.html ├── sanddance-app.html └── sanddance-test-es6.html