@buildcanada/charts 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.md +8 -0
- package/README.md +113 -0
- package/package.json +137 -0
- package/src/components/BodyPortal/BodyPortal.tsx +40 -0
- package/src/components/Button/Button.scss +110 -0
- package/src/components/Button/Button.tsx +101 -0
- package/src/components/Checkbox.scss +93 -0
- package/src/components/Checkbox.tsx +47 -0
- package/src/components/ExpandableToggle/ExpandableToggle.scss +123 -0
- package/src/components/ExpandableToggle/ExpandableToggle.tsx +60 -0
- package/src/components/GrapherTabIcon.tsx +156 -0
- package/src/components/GrapherTrendArrow.scss +16 -0
- package/src/components/GrapherTrendArrow.tsx +30 -0
- package/src/components/Halo/Halo.tsx +44 -0
- package/src/components/LabeledSwitch/LabeledSwitch.scss +109 -0
- package/src/components/LabeledSwitch/LabeledSwitch.tsx +62 -0
- package/src/components/MarkdownTextWrap/MarkdownTextWrap.tsx +1173 -0
- package/src/components/OverlayHeader.scss +18 -0
- package/src/components/OverlayHeader.tsx +29 -0
- package/src/components/RadioButton.scss +69 -0
- package/src/components/RadioButton.tsx +42 -0
- package/src/components/SimpleMarkdownText.tsx +89 -0
- package/src/components/TextInput.scss +17 -0
- package/src/components/TextInput.tsx +19 -0
- package/src/components/TextWrap/TextWrap.tsx +361 -0
- package/src/components/TextWrap/TextWrapUtils.ts +32 -0
- package/src/components/closeButton/CloseButton.scss +40 -0
- package/src/components/closeButton/CloseButton.tsx +27 -0
- package/src/components/index.ts +70 -0
- package/src/components/loadingIndicator/LoadingIndicator.scss +40 -0
- package/src/components/loadingIndicator/LoadingIndicator.tsx +28 -0
- package/src/components/markdown/remarkPlainLinks.ts +36 -0
- package/src/components/reactUtil.ts +20 -0
- package/src/components/stubs/CodeSnippet.tsx +19 -0
- package/src/components/stubs/DataCitation.tsx +16 -0
- package/src/components/stubs/IndicatorKeyData.tsx +45 -0
- package/src/components/stubs/IndicatorProcessing.tsx +15 -0
- package/src/components/stubs/IndicatorSources.tsx +15 -0
- package/src/components/styles/colors.scss +113 -0
- package/src/components/styles/mixins.scss +630 -0
- package/src/components/styles/typography.scss +579 -0
- package/src/components/styles/util.scss +89 -0
- package/src/components/styles/variables.scss +208 -0
- package/src/config/ChartsConfig.ts +163 -0
- package/src/config/ChartsProvider.tsx +157 -0
- package/src/config/index.ts +20 -0
- package/src/core-table/CoreTable.ts +1355 -0
- package/src/core-table/CoreTableColumns.ts +973 -0
- package/src/core-table/CoreTableUtils.ts +793 -0
- package/src/core-table/ErrorValues.ts +73 -0
- package/src/core-table/OwidTable.ts +1175 -0
- package/src/core-table/OwidTableSynthesizers.ts +272 -0
- package/src/core-table/OwidTableUtil.ts +76 -0
- package/src/core-table/Transforms.ts +484 -0
- package/src/core-table/index.ts +82 -0
- package/src/explorer/ColumnGrammar.ts +217 -0
- package/src/explorer/Explorer.sample.ts +212 -0
- package/src/explorer/Explorer.scss +148 -0
- package/src/explorer/Explorer.tsx +1283 -0
- package/src/explorer/ExplorerConstants.ts +85 -0
- package/src/explorer/ExplorerControls.scss +156 -0
- package/src/explorer/ExplorerControls.tsx +210 -0
- package/src/explorer/ExplorerDecisionMatrix.ts +471 -0
- package/src/explorer/ExplorerGrammar.ts +161 -0
- package/src/explorer/ExplorerProgram.ts +568 -0
- package/src/explorer/ExplorerUtils.ts +59 -0
- package/src/explorer/GrapherGrammar.ts +387 -0
- package/src/explorer/gridLang/GrammarUtils.ts +121 -0
- package/src/explorer/gridLang/GridCell.ts +298 -0
- package/src/explorer/gridLang/GridLangConstants.ts +255 -0
- package/src/explorer/gridLang/GridProgram.ts +311 -0
- package/src/explorer/gridLang/readme.md +17 -0
- package/src/explorer/index.ts +69 -0
- package/src/explorer/readme.md +19 -0
- package/src/explorer/urlMigrations/CO2UrlMigration.ts +46 -0
- package/src/explorer/urlMigrations/CovidUrlMigration.ts +37 -0
- package/src/explorer/urlMigrations/EnergyUrlMigration.ts +41 -0
- package/src/explorer/urlMigrations/ExplorerPageUrlMigrationSpec.ts +12 -0
- package/src/explorer/urlMigrations/ExplorerUrlMigrationUtils.ts +45 -0
- package/src/explorer/urlMigrations/ExplorerUrlMigrations.ts +33 -0
- package/src/explorer/urlMigrations/LegacyCovidUrlMigration.ts +144 -0
- package/src/explorer/urlMigrations/readme.md +39 -0
- package/src/grapher/axis/Axis.ts +973 -0
- package/src/grapher/axis/AxisConfig.ts +179 -0
- package/src/grapher/axis/AxisViews.tsx +597 -0
- package/src/grapher/barCharts/DiscreteBarChart.tsx +728 -0
- package/src/grapher/barCharts/DiscreteBarChartConstants.ts +60 -0
- package/src/grapher/barCharts/DiscreteBarChartHelpers.ts +338 -0
- package/src/grapher/barCharts/DiscreteBarChartState.ts +354 -0
- package/src/grapher/barCharts/DiscreteBarChartThumbnail.tsx +34 -0
- package/src/grapher/captionedChart/CaptionedChart.scss +61 -0
- package/src/grapher/captionedChart/CaptionedChart.tsx +523 -0
- package/src/grapher/captionedChart/Logos.tsx +141 -0
- package/src/grapher/captionedChart/LogosSVG.tsx +16 -0
- package/src/grapher/captionedChart/StaticChartRasterizer.tsx +178 -0
- package/src/grapher/captionedChart/assets/buildcanada-logo-square.svg +15 -0
- package/src/grapher/captionedChart/assets/buildcanada-logo.svg +15 -0
- package/src/grapher/captionedChart/assets/canadaspends.svg +7 -0
- package/src/grapher/captionedChart/readme.md +14 -0
- package/src/grapher/chart/Chart.tsx +62 -0
- package/src/grapher/chart/ChartAreaContent.tsx +172 -0
- package/src/grapher/chart/ChartDimension.ts +121 -0
- package/src/grapher/chart/ChartInterface.ts +83 -0
- package/src/grapher/chart/ChartManager.ts +113 -0
- package/src/grapher/chart/ChartTabs.ts +178 -0
- package/src/grapher/chart/ChartTypeMap.tsx +158 -0
- package/src/grapher/chart/ChartTypeSwitcher.tsx +26 -0
- package/src/grapher/chart/ChartUtils.tsx +364 -0
- package/src/grapher/chart/DimensionSlot.ts +45 -0
- package/src/grapher/chart/StaticChartWrapper.tsx +94 -0
- package/src/grapher/chart/guidedChartUtils.ts +82 -0
- package/src/grapher/color/BinningStrategies.ts +484 -0
- package/src/grapher/color/BinningStrategyEqualSizeBins.ts +132 -0
- package/src/grapher/color/BinningStrategyLogarithmic.ts +121 -0
- package/src/grapher/color/CategoricalColorAssigner.ts +97 -0
- package/src/grapher/color/ColorBrewerSchemes.ts +80 -0
- package/src/grapher/color/ColorConstants.ts +20 -0
- package/src/grapher/color/ColorScale.ts +339 -0
- package/src/grapher/color/ColorScaleBin.ts +147 -0
- package/src/grapher/color/ColorScaleConfig.ts +204 -0
- package/src/grapher/color/ColorScheme.ts +137 -0
- package/src/grapher/color/ColorSchemes.ts +149 -0
- package/src/grapher/color/ColorUtils.ts +86 -0
- package/src/grapher/color/CustomSchemes.ts +1772 -0
- package/src/grapher/color/readme.md +84 -0
- package/src/grapher/comparisonLine/ComparisonLine.tsx +31 -0
- package/src/grapher/comparisonLine/ComparisonLineConstants.ts +11 -0
- package/src/grapher/comparisonLine/ComparisonLineGenerator.ts +60 -0
- package/src/grapher/comparisonLine/ComparisonLineHelpers.ts +10 -0
- package/src/grapher/comparisonLine/CustomComparisonLine.tsx +159 -0
- package/src/grapher/comparisonLine/VerticalComparisonLine.tsx +208 -0
- package/src/grapher/controls/ActionButtons.scss +97 -0
- package/src/grapher/controls/ActionButtons.tsx +453 -0
- package/src/grapher/controls/CommandPalette.scss +50 -0
- package/src/grapher/controls/CommandPalette.tsx +74 -0
- package/src/grapher/controls/ContentSwitchers.scss +93 -0
- package/src/grapher/controls/ContentSwitchers.tsx +238 -0
- package/src/grapher/controls/Controls.scss +158 -0
- package/src/grapher/controls/DataTableFilterDropdown.scss +7 -0
- package/src/grapher/controls/DataTableFilterDropdown.tsx +168 -0
- package/src/grapher/controls/DataTableSearchField.scss +3 -0
- package/src/grapher/controls/DataTableSearchField.tsx +76 -0
- package/src/grapher/controls/Dropdown.scss +252 -0
- package/src/grapher/controls/Dropdown.tsx +235 -0
- package/src/grapher/controls/EntitySelectionToggle.tsx +135 -0
- package/src/grapher/controls/MapRegionDropdown.scss +3 -0
- package/src/grapher/controls/MapRegionDropdown.tsx +104 -0
- package/src/grapher/controls/MapResetButton.tsx +115 -0
- package/src/grapher/controls/MapZoomDropdown.scss +9 -0
- package/src/grapher/controls/MapZoomDropdown.tsx +270 -0
- package/src/grapher/controls/MapZoomToSelectionButton.tsx +87 -0
- package/src/grapher/controls/SearchField.scss +78 -0
- package/src/grapher/controls/SearchField.tsx +63 -0
- package/src/grapher/controls/SettingsMenu.scss +191 -0
- package/src/grapher/controls/SettingsMenu.tsx +399 -0
- package/src/grapher/controls/ShareMenu.scss +58 -0
- package/src/grapher/controls/ShareMenu.tsx +304 -0
- package/src/grapher/controls/SortIcon.tsx +39 -0
- package/src/grapher/controls/VerticalScrollContainer.tsx +263 -0
- package/src/grapher/controls/controlsRow/ControlsRow.tsx +168 -0
- package/src/grapher/controls/dropdown-icons.scss +4 -0
- package/src/grapher/controls/entityPicker/EntityPicker.scss +255 -0
- package/src/grapher/controls/entityPicker/EntityPicker.tsx +816 -0
- package/src/grapher/controls/entityPicker/EntityPickerConstants.ts +23 -0
- package/src/grapher/controls/globalEntitySelector/GlobalEntitySelector.scss +129 -0
- package/src/grapher/controls/globalEntitySelector/GlobalEntitySelector.tsx +463 -0
- package/src/grapher/controls/globalEntitySelector/GlobalEntitySelectorConstants.ts +3 -0
- package/src/grapher/controls/globalEntitySelector/readme.md +17 -0
- package/src/grapher/controls/settings/AbsRelToggle.tsx +64 -0
- package/src/grapher/controls/settings/AxisScaleToggle.tsx +53 -0
- package/src/grapher/controls/settings/FacetStrategySelector.tsx +110 -0
- package/src/grapher/controls/settings/FacetYDomainToggle.tsx +51 -0
- package/src/grapher/controls/settings/NoDataAreaToggle.tsx +38 -0
- package/src/grapher/controls/settings/ZoomToggle.tsx +36 -0
- package/src/grapher/core/EntitiesByRegionType.ts +174 -0
- package/src/grapher/core/EntityCodes.ts +19 -0
- package/src/grapher/core/EntityUrlBuilder.ts +200 -0
- package/src/grapher/core/FetchingGrapher.tsx +156 -0
- package/src/grapher/core/Grapher.tsx +760 -0
- package/src/grapher/core/GrapherAnalytics.ts +229 -0
- package/src/grapher/core/GrapherConstants.ts +173 -0
- package/src/grapher/core/GrapherState.tsx +3659 -0
- package/src/grapher/core/GrapherUrl.ts +184 -0
- package/src/grapher/core/GrapherUrlMigrations.ts +29 -0
- package/src/grapher/core/GrapherUseHelpers.tsx +147 -0
- package/src/grapher/core/LegacyToOwidTable.ts +841 -0
- package/src/grapher/core/grapher.entry.ts +5 -0
- package/src/grapher/core/grapher.scss +257 -0
- package/src/grapher/core/loadGrapherTableHelpers.ts +116 -0
- package/src/grapher/core/loadVariable.ts +104 -0
- package/src/grapher/core/relatedQuestion.ts +12 -0
- package/src/grapher/core/typography.scss +206 -0
- package/src/grapher/dataTable/DataTable.sample.ts +206 -0
- package/src/grapher/dataTable/DataTable.scss +249 -0
- package/src/grapher/dataTable/DataTable.tsx +1332 -0
- package/src/grapher/dataTable/DataTableConstants.ts +186 -0
- package/src/grapher/entitySelector/EntitySelector.scss +255 -0
- package/src/grapher/entitySelector/EntitySelector.tsx +1838 -0
- package/src/grapher/facet/FacetChart.tsx +943 -0
- package/src/grapher/facet/FacetChartConstants.ts +24 -0
- package/src/grapher/facet/FacetChartUtils.ts +51 -0
- package/src/grapher/facet/FacetMap.tsx +604 -0
- package/src/grapher/facet/FacetMapConstants.ts +23 -0
- package/src/grapher/facet/readme.md +13 -0
- package/src/grapher/focus/FocusArray.ts +79 -0
- package/src/grapher/footer/Footer.scss +63 -0
- package/src/grapher/footer/Footer.tsx +809 -0
- package/src/grapher/footer/FooterManager.ts +44 -0
- package/src/grapher/fullScreen/FullScreen.scss +11 -0
- package/src/grapher/fullScreen/FullScreen.tsx +61 -0
- package/src/grapher/header/Header.scss +35 -0
- package/src/grapher/header/Header.tsx +372 -0
- package/src/grapher/header/HeaderManager.ts +28 -0
- package/src/grapher/index.ts +157 -0
- package/src/grapher/interaction/InteractionState.ts +60 -0
- package/src/grapher/legend/HorizontalColorLegends.tsx +923 -0
- package/src/grapher/legend/LegendInteractionState.ts +40 -0
- package/src/grapher/legend/VerticalColorLegend.tsx +295 -0
- package/src/grapher/lineCharts/LineChart.tsx +968 -0
- package/src/grapher/lineCharts/LineChartConstants.ts +89 -0
- package/src/grapher/lineCharts/LineChartHelpers.ts +184 -0
- package/src/grapher/lineCharts/LineChartState.ts +394 -0
- package/src/grapher/lineCharts/LineChartThumbnail.tsx +437 -0
- package/src/grapher/lineCharts/Lines.tsx +258 -0
- package/src/grapher/lineLegend/LineLegend.tsx +723 -0
- package/src/grapher/lineLegend/LineLegendConstants.ts +9 -0
- package/src/grapher/lineLegend/LineLegendFilterAlgorithms.ts +143 -0
- package/src/grapher/lineLegend/LineLegendHelpers.ts +253 -0
- package/src/grapher/lineLegend/LineLegendTypes.ts +32 -0
- package/src/grapher/mapCharts/CanadaTopology.ts +17922 -0
- package/src/grapher/mapCharts/ChoroplethGlobe.tsx +949 -0
- package/src/grapher/mapCharts/ChoroplethMap.tsx +662 -0
- package/src/grapher/mapCharts/GeoFeatures.ts +184 -0
- package/src/grapher/mapCharts/GlobeController.ts +496 -0
- package/src/grapher/mapCharts/MapAnnotationPlacements.json +1040 -0
- package/src/grapher/mapCharts/MapAnnotationPlacements.ts +31 -0
- package/src/grapher/mapCharts/MapAnnotations.ts +723 -0
- package/src/grapher/mapCharts/MapChart.sample.ts +59 -0
- package/src/grapher/mapCharts/MapChart.scss +5 -0
- package/src/grapher/mapCharts/MapChart.tsx +720 -0
- package/src/grapher/mapCharts/MapChartConstants.ts +260 -0
- package/src/grapher/mapCharts/MapChartState.ts +416 -0
- package/src/grapher/mapCharts/MapChartThumbnail.tsx +25 -0
- package/src/grapher/mapCharts/MapComponents.tsx +338 -0
- package/src/grapher/mapCharts/MapConfig.ts +156 -0
- package/src/grapher/mapCharts/MapHelpers.ts +181 -0
- package/src/grapher/mapCharts/MapProjections.ts +49 -0
- package/src/grapher/mapCharts/MapSparkline.tsx +257 -0
- package/src/grapher/mapCharts/MapTooltip.scss +49 -0
- package/src/grapher/mapCharts/MapTooltip.tsx +409 -0
- package/src/grapher/mapCharts/MapTopology.ts +1766 -0
- package/src/grapher/mapCharts/d3-bboxCollide.js +204 -0
- package/src/grapher/mapCharts/d3-geo-projection.ts +198 -0
- package/src/grapher/modal/DownloadIcons.tsx +39 -0
- package/src/grapher/modal/DownloadModal.scss +300 -0
- package/src/grapher/modal/DownloadModal.tsx +1226 -0
- package/src/grapher/modal/EmbedModal.scss +40 -0
- package/src/grapher/modal/EmbedModal.tsx +160 -0
- package/src/grapher/modal/EntitySelectorModal.tsx +59 -0
- package/src/grapher/modal/Modal.scss +31 -0
- package/src/grapher/modal/Modal.tsx +90 -0
- package/src/grapher/modal/ModalHeader.scss +12 -0
- package/src/grapher/modal/ModalHeader.tsx +16 -0
- package/src/grapher/modal/SourcesDescriptions.scss +87 -0
- package/src/grapher/modal/SourcesDescriptions.tsx +89 -0
- package/src/grapher/modal/SourcesKeyDataTable.scss +49 -0
- package/src/grapher/modal/SourcesKeyDataTable.tsx +87 -0
- package/src/grapher/modal/SourcesModal.scss +301 -0
- package/src/grapher/modal/SourcesModal.tsx +568 -0
- package/src/grapher/noDataModal/NoDataModal.tsx +125 -0
- package/src/grapher/scatterCharts/ConnectedScatterLegend.tsx +143 -0
- package/src/grapher/scatterCharts/MultiColorPolyline.tsx +129 -0
- package/src/grapher/scatterCharts/NoDataSection.scss +14 -0
- package/src/grapher/scatterCharts/NoDataSection.tsx +56 -0
- package/src/grapher/scatterCharts/ScatterPlotChart.tsx +792 -0
- package/src/grapher/scatterCharts/ScatterPlotChartConstants.ts +157 -0
- package/src/grapher/scatterCharts/ScatterPlotChartState.ts +678 -0
- package/src/grapher/scatterCharts/ScatterPlotChartThumbnail.tsx +155 -0
- package/src/grapher/scatterCharts/ScatterPlotTooltip.tsx +560 -0
- package/src/grapher/scatterCharts/ScatterPoints.tsx +153 -0
- package/src/grapher/scatterCharts/ScatterPointsWithLabels.tsx +708 -0
- package/src/grapher/scatterCharts/ScatterSizeLegend.tsx +327 -0
- package/src/grapher/scatterCharts/ScatterUtils.ts +265 -0
- package/src/grapher/scatterCharts/Triangle.tsx +41 -0
- package/src/grapher/schema/README.md +33 -0
- package/src/grapher/schema/defaultGrapherConfig.ts +100 -0
- package/src/grapher/schema/grapher-schema.009.yaml +781 -0
- package/src/grapher/schema/migrations/helpers.ts +58 -0
- package/src/grapher/schema/migrations/migrate.ts +75 -0
- package/src/grapher/schema/migrations/migrations.ts +158 -0
- package/src/grapher/selection/MapSelectionArray.ts +99 -0
- package/src/grapher/selection/SelectionArray.ts +71 -0
- package/src/grapher/selection/readme.md +16 -0
- package/src/grapher/sidePanel/SidePanel.scss +10 -0
- package/src/grapher/sidePanel/SidePanel.tsx +23 -0
- package/src/grapher/slideInDrawer/SlideInDrawer.scss +57 -0
- package/src/grapher/slideInDrawer/SlideInDrawer.tsx +125 -0
- package/src/grapher/slideshowController/SlideShowController.tsx +43 -0
- package/src/grapher/slideshowController/readme.md +7 -0
- package/src/grapher/slopeCharts/MarkX.tsx +45 -0
- package/src/grapher/slopeCharts/Slope.tsx +102 -0
- package/src/grapher/slopeCharts/SlopeChart.tsx +1152 -0
- package/src/grapher/slopeCharts/SlopeChartConstants.ts +33 -0
- package/src/grapher/slopeCharts/SlopeChartHelpers.ts +73 -0
- package/src/grapher/slopeCharts/SlopeChartState.ts +392 -0
- package/src/grapher/slopeCharts/SlopeChartThumbnail.tsx +368 -0
- package/src/grapher/stackedCharts/AbstractStackedChartState.ts +370 -0
- package/src/grapher/stackedCharts/MarimekkoBars.tsx +190 -0
- package/src/grapher/stackedCharts/MarimekkoBarsForOneEntity.tsx +168 -0
- package/src/grapher/stackedCharts/MarimekkoChart.tsx +1144 -0
- package/src/grapher/stackedCharts/MarimekkoChartConstants.ts +112 -0
- package/src/grapher/stackedCharts/MarimekkoChartHelpers.ts +21 -0
- package/src/grapher/stackedCharts/MarimekkoChartState.ts +465 -0
- package/src/grapher/stackedCharts/MarimekkoChartThumbnail.tsx +168 -0
- package/src/grapher/stackedCharts/MarimekkoInternalLabels.tsx +124 -0
- package/src/grapher/stackedCharts/StackedAreaChart.tsx +678 -0
- package/src/grapher/stackedCharts/StackedAreaChartState.ts +34 -0
- package/src/grapher/stackedCharts/StackedAreaChartThumbnail.tsx +215 -0
- package/src/grapher/stackedCharts/StackedAreas.tsx +223 -0
- package/src/grapher/stackedCharts/StackedBarChart.tsx +619 -0
- package/src/grapher/stackedCharts/StackedBarChartState.ts +80 -0
- package/src/grapher/stackedCharts/StackedBarChartThumbnail.tsx +220 -0
- package/src/grapher/stackedCharts/StackedBarSegment.tsx +87 -0
- package/src/grapher/stackedCharts/StackedBars.tsx +102 -0
- package/src/grapher/stackedCharts/StackedConstants.ts +109 -0
- package/src/grapher/stackedCharts/StackedDiscreteBarChart.tsx +270 -0
- package/src/grapher/stackedCharts/StackedDiscreteBarChartState.ts +296 -0
- package/src/grapher/stackedCharts/StackedDiscreteBarChartThumbnail.tsx +27 -0
- package/src/grapher/stackedCharts/StackedDiscreteBars.tsx +648 -0
- package/src/grapher/stackedCharts/StackedUtils.ts +142 -0
- package/src/grapher/tabs/Tabs.scss +169 -0
- package/src/grapher/tabs/Tabs.tsx +54 -0
- package/src/grapher/tabs/TabsWithDropdown.scss +62 -0
- package/src/grapher/tabs/TabsWithDropdown.tsx +114 -0
- package/src/grapher/testData/OwidTestData.sample.ts +273 -0
- package/src/grapher/testData/OwidTestData.ts +64 -0
- package/src/grapher/timeline/TimelineComponent.scss +139 -0
- package/src/grapher/timeline/TimelineComponent.tsx +658 -0
- package/src/grapher/timeline/TimelineController.ts +368 -0
- package/src/grapher/timeline/readme.md +7 -0
- package/src/grapher/tooltip/Tooltip.scss +510 -0
- package/src/grapher/tooltip/Tooltip.tsx +294 -0
- package/src/grapher/tooltip/TooltipContents.tsx +383 -0
- package/src/grapher/tooltip/TooltipProps.ts +123 -0
- package/src/grapher/tooltip/TooltipState.ts +81 -0
- package/src/grapher/verticalLabels/VerticalLabels.tsx +31 -0
- package/src/grapher/verticalLabels/VerticalLabelsState.ts +154 -0
- package/src/index.ts +226 -0
- package/src/styles/charts.scss +15 -0
- package/src/types/NominalType.ts +30 -0
- package/src/types/OwidOrigin.ts +18 -0
- package/src/types/OwidSource.ts +9 -0
- package/src/types/OwidVariable.ts +133 -0
- package/src/types/OwidVariableDisplayConfigInterface.ts +49 -0
- package/src/types/analyticsTypes.ts +54 -0
- package/src/types/dbTypes/Tags.ts +11 -0
- package/src/types/domainTypes/Archive.ts +139 -0
- package/src/types/domainTypes/Author.ts +28 -0
- package/src/types/domainTypes/ContentGraph.ts +76 -0
- package/src/types/domainTypes/CoreTableTypes.ts +305 -0
- package/src/types/domainTypes/DeployStatus.ts +23 -0
- package/src/types/domainTypes/Layout.ts +34 -0
- package/src/types/domainTypes/Posts.ts +34 -0
- package/src/types/domainTypes/Search.ts +299 -0
- package/src/types/domainTypes/Site.ts +8 -0
- package/src/types/domainTypes/StaticViz.ts +64 -0
- package/src/types/domainTypes/Toc.ts +11 -0
- package/src/types/domainTypes/Tombstone.ts +19 -0
- package/src/types/domainTypes/Various.ts +79 -0
- package/src/types/gdocTypes/Gdoc.ts +280 -0
- package/src/types/grapherTypes/BinningStrategyTypes.ts +46 -0
- package/src/types/grapherTypes/GrapherConstants.ts +53 -0
- package/src/types/grapherTypes/GrapherTypes.ts +743 -0
- package/src/types/index.ts +316 -0
- package/src/types/wordpressTypes/WordpressTypes.ts +9 -0
- package/src/utils/Bounds.ts +439 -0
- package/src/utils/BrowserUtils.ts +12 -0
- package/src/utils/FuzzySearch.ts +74 -0
- package/src/utils/MultiDimDataPageConfig.ts +31 -0
- package/src/utils/OwidVariable.ts +82 -0
- package/src/utils/PointVector.ts +97 -0
- package/src/utils/PromiseCache.ts +36 -0
- package/src/utils/PromiseSwitcher.ts +52 -0
- package/src/utils/TimeBounds.ts +130 -0
- package/src/utils/Tippy.tsx +57 -0
- package/src/utils/Util.ts +2369 -0
- package/src/utils/archival/archivalDate.ts +48 -0
- package/src/utils/dayjs.ts +32 -0
- package/src/utils/formatValue.ts +242 -0
- package/src/utils/grapherConfigUtils.ts +81 -0
- package/src/utils/image.ts +225 -0
- package/src/utils/index.ts +318 -0
- package/src/utils/isPresent.ts +5 -0
- package/src/utils/metadataHelpers.ts +329 -0
- package/src/utils/persistable/Persistable.ts +82 -0
- package/src/utils/persistable/readme.md +50 -0
- package/src/utils/regions.json +5635 -0
- package/src/utils/regions.ts +463 -0
- package/src/utils/serializers.ts +16 -0
- package/src/utils/string.ts +42 -0
- package/src/utils/urls/Url.ts +195 -0
- package/src/utils/urls/UrlMigration.ts +10 -0
- package/src/utils/urls/UrlUtils.ts +54 -0
- package/src/utils/urls/readme.md +90 -0
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
2
|
+
# if you update the required keys, make sure that the mergeGrapherConfigs and
|
|
3
|
+
# diffGrapherConfigs functions both reflect this change
|
|
4
|
+
$id: "https://files.ourworldindata.org/schemas/grapher-schema.009.json"
|
|
5
|
+
required:
|
|
6
|
+
- $schema
|
|
7
|
+
- dimensions
|
|
8
|
+
type: object
|
|
9
|
+
description: |
|
|
10
|
+
Our World In Data grapher configuration. Most of the fields can be left empty and will be
|
|
11
|
+
filled with reasonable default values.
|
|
12
|
+
properties:
|
|
13
|
+
$schema:
|
|
14
|
+
type: string
|
|
15
|
+
description: Url of the concrete schema version to use to validate this document
|
|
16
|
+
format: uri
|
|
17
|
+
default: "https://files.ourworldindata.org/schemas/grapher-schema.009.json"
|
|
18
|
+
# We restrict the $schema field to a single value since we expect all
|
|
19
|
+
# configs in our database to be valid against the latest schema.
|
|
20
|
+
# If we ever need to validate configs against multiple schema versions,
|
|
21
|
+
# we can remove this constraint.
|
|
22
|
+
const: "https://files.ourworldindata.org/schemas/grapher-schema.009.json"
|
|
23
|
+
id:
|
|
24
|
+
type: integer
|
|
25
|
+
description: Internal DB id. Useful internally for OWID but not required if just using grapher directly.
|
|
26
|
+
minimum: 0
|
|
27
|
+
map:
|
|
28
|
+
type: object
|
|
29
|
+
description: Configuration of the world map chart
|
|
30
|
+
properties:
|
|
31
|
+
region:
|
|
32
|
+
type: string
|
|
33
|
+
description: Which region to focus on
|
|
34
|
+
enum:
|
|
35
|
+
- World
|
|
36
|
+
- Europe
|
|
37
|
+
- Africa
|
|
38
|
+
- Asia
|
|
39
|
+
- NorthAmerica
|
|
40
|
+
- SouthAmerica
|
|
41
|
+
- Oceania
|
|
42
|
+
default: World
|
|
43
|
+
hideTimeline:
|
|
44
|
+
type: boolean
|
|
45
|
+
default: false
|
|
46
|
+
description: Whether the timeline should be hidden in the map view and thus the user not be able to change the year
|
|
47
|
+
colorScale:
|
|
48
|
+
$ref: "#/$defs/colorScale"
|
|
49
|
+
timeTolerance:
|
|
50
|
+
type: integer
|
|
51
|
+
description: |
|
|
52
|
+
Tolerance to use. If data points are missing for a time point, a match is accepted if it lies
|
|
53
|
+
within the specified time period. The unit is the dominating time unit, usually years but can be days for
|
|
54
|
+
daily time series. If not provided, the tolerance specified in the metadata of the indicator is used.
|
|
55
|
+
If that's not specified, 0 is used.
|
|
56
|
+
minimum: 0
|
|
57
|
+
toleranceStrategy:
|
|
58
|
+
type: string
|
|
59
|
+
description: |
|
|
60
|
+
Tolerance strategy to use. Options include accepting matches that are "closest" to the time point in question
|
|
61
|
+
(going forwards and backwards in time), and accepting matches that lie in the past ("backwards") or
|
|
62
|
+
the future ("forwards").
|
|
63
|
+
enum:
|
|
64
|
+
- closest
|
|
65
|
+
- forwards
|
|
66
|
+
- backwards
|
|
67
|
+
default: closest
|
|
68
|
+
tooltipUseCustomLabels:
|
|
69
|
+
type: boolean
|
|
70
|
+
default: false
|
|
71
|
+
description: Show the label from colorSchemeLabels in the tooltip instead of the numeric value
|
|
72
|
+
time:
|
|
73
|
+
description: Select a specific time to be displayed. If startTime is given, this acts as the end time.
|
|
74
|
+
default: "latest"
|
|
75
|
+
oneOf:
|
|
76
|
+
- type: number
|
|
77
|
+
- type: string
|
|
78
|
+
enum:
|
|
79
|
+
- latest
|
|
80
|
+
- earliest
|
|
81
|
+
startTime:
|
|
82
|
+
description: Select a specific start time to be displayed. If given, two maps are shown next to each other.
|
|
83
|
+
oneOf:
|
|
84
|
+
- type: number
|
|
85
|
+
- type: string
|
|
86
|
+
enum:
|
|
87
|
+
- latest
|
|
88
|
+
- earliest
|
|
89
|
+
columnSlug:
|
|
90
|
+
# TODO: remove this once we have a convention of using the first y dimension instead
|
|
91
|
+
description: |
|
|
92
|
+
Column to show in the map tab. Can be a column slug (e.g. in explorers) or a variable ID (as string).
|
|
93
|
+
If not provided, the first y dimension is used.
|
|
94
|
+
type: string
|
|
95
|
+
selectedEntityNames:
|
|
96
|
+
type: array
|
|
97
|
+
description: The initial selection of entities to show on the map
|
|
98
|
+
default: []
|
|
99
|
+
items:
|
|
100
|
+
type:
|
|
101
|
+
- string
|
|
102
|
+
globe:
|
|
103
|
+
type: object
|
|
104
|
+
description: Configuration of the globe
|
|
105
|
+
properties:
|
|
106
|
+
isActive:
|
|
107
|
+
type: boolean
|
|
108
|
+
description: Whether the globe is initially shown
|
|
109
|
+
rotation:
|
|
110
|
+
type: array
|
|
111
|
+
description: Latitude and Longitude of the globe rotation
|
|
112
|
+
items:
|
|
113
|
+
type:
|
|
114
|
+
- number
|
|
115
|
+
zoom:
|
|
116
|
+
type: number
|
|
117
|
+
description: Zoom level of the globe
|
|
118
|
+
additionalProperties: false
|
|
119
|
+
additionalProperties: false
|
|
120
|
+
maxTime:
|
|
121
|
+
description: End point of the initially selected time span.
|
|
122
|
+
default: latest
|
|
123
|
+
oneOf:
|
|
124
|
+
- type: number
|
|
125
|
+
- type: string
|
|
126
|
+
enum:
|
|
127
|
+
- latest
|
|
128
|
+
- earliest
|
|
129
|
+
subtitle:
|
|
130
|
+
type: string
|
|
131
|
+
description: The longer subtitle text to show beneath the title
|
|
132
|
+
selectedEntityNames:
|
|
133
|
+
type: array
|
|
134
|
+
description: The initial selection of entities
|
|
135
|
+
default: []
|
|
136
|
+
items:
|
|
137
|
+
type:
|
|
138
|
+
- string
|
|
139
|
+
focusedSeriesNames:
|
|
140
|
+
type: array
|
|
141
|
+
description: |
|
|
142
|
+
The initially focused chart elements. Is either a list of entity or variable names.
|
|
143
|
+
Only works for line and slope charts for now.
|
|
144
|
+
default: []
|
|
145
|
+
items:
|
|
146
|
+
type:
|
|
147
|
+
- string
|
|
148
|
+
baseColorScheme:
|
|
149
|
+
$ref: "#/$defs/colorScheme"
|
|
150
|
+
yAxis:
|
|
151
|
+
$ref: "#/$defs/axis"
|
|
152
|
+
tab:
|
|
153
|
+
type: string
|
|
154
|
+
description: The tab that is shown initially
|
|
155
|
+
default: chart
|
|
156
|
+
enum:
|
|
157
|
+
- chart
|
|
158
|
+
- map
|
|
159
|
+
- table
|
|
160
|
+
- line
|
|
161
|
+
- slope
|
|
162
|
+
- discrete-bar
|
|
163
|
+
- marimekko
|
|
164
|
+
matchingEntitiesOnly:
|
|
165
|
+
type: boolean
|
|
166
|
+
default: false
|
|
167
|
+
description: Exclude entities that do not belong in any color group
|
|
168
|
+
hideLegend:
|
|
169
|
+
type: boolean
|
|
170
|
+
default: false
|
|
171
|
+
hideLogo:
|
|
172
|
+
type: boolean
|
|
173
|
+
default: false
|
|
174
|
+
timelineMinTime:
|
|
175
|
+
description: |
|
|
176
|
+
The lowest year to show in the timeline. If this is set then the user is not able to see
|
|
177
|
+
any data before this year. If set to "earliest", then the earliest year in the data is used.
|
|
178
|
+
default: earliest
|
|
179
|
+
oneOf:
|
|
180
|
+
- type: number
|
|
181
|
+
- type: string
|
|
182
|
+
enum:
|
|
183
|
+
- earliest
|
|
184
|
+
variantName:
|
|
185
|
+
type: string
|
|
186
|
+
description: Optional internal variant name for distinguishing charts with the same title
|
|
187
|
+
hideTimeline:
|
|
188
|
+
type: boolean
|
|
189
|
+
default: false
|
|
190
|
+
description: "Whether to hide the timeline from the user. If it is hidden then the user can't change the time"
|
|
191
|
+
originUrl:
|
|
192
|
+
type: string
|
|
193
|
+
description: The page containing this chart where more context can be found
|
|
194
|
+
colorScale:
|
|
195
|
+
$ref: "#/$defs/colorScale"
|
|
196
|
+
scatterPointLabelStrategy:
|
|
197
|
+
type: string
|
|
198
|
+
default: year
|
|
199
|
+
description: |
|
|
200
|
+
When a user hovers over a connected series line in a ScatterPlot we show
|
|
201
|
+
a label for each point. By default that value will be from the "year" column
|
|
202
|
+
but by changing this option the column used for the x or y axis could be used instead.
|
|
203
|
+
enum:
|
|
204
|
+
- x
|
|
205
|
+
- "y"
|
|
206
|
+
- year
|
|
207
|
+
selectedFacetStrategy:
|
|
208
|
+
type: string
|
|
209
|
+
default: none
|
|
210
|
+
description: The desired facetting strategy (none for no facetting)
|
|
211
|
+
enum:
|
|
212
|
+
- none
|
|
213
|
+
- entity
|
|
214
|
+
- metric
|
|
215
|
+
sourceDesc:
|
|
216
|
+
type: string
|
|
217
|
+
description: Short comma-separated list of source names
|
|
218
|
+
isPublished:
|
|
219
|
+
type: boolean
|
|
220
|
+
description: Indicates if the chart is published on Our World In Data or still in draft
|
|
221
|
+
invertColorScheme:
|
|
222
|
+
type: boolean
|
|
223
|
+
default: false
|
|
224
|
+
description: Reverse the order of colors in the color scheme
|
|
225
|
+
hideRelativeToggle:
|
|
226
|
+
type: boolean
|
|
227
|
+
default: true
|
|
228
|
+
description: Whether to hide the relative mode UI toggle
|
|
229
|
+
comparisonLines:
|
|
230
|
+
description: List of comparison lines to draw
|
|
231
|
+
type: array
|
|
232
|
+
default: []
|
|
233
|
+
items:
|
|
234
|
+
anyOf:
|
|
235
|
+
- type: object
|
|
236
|
+
description: Comparison line of arbitrary shape defined by a formula. Defaults to `yEquals = x` if not specified
|
|
237
|
+
properties:
|
|
238
|
+
label:
|
|
239
|
+
type: string
|
|
240
|
+
yEquals:
|
|
241
|
+
type: string
|
|
242
|
+
additionalProperties: false
|
|
243
|
+
- type: object
|
|
244
|
+
description: Vertical comparison line drawn at a specific x-value
|
|
245
|
+
properties:
|
|
246
|
+
label:
|
|
247
|
+
type: string
|
|
248
|
+
xEquals:
|
|
249
|
+
type: number
|
|
250
|
+
required: [xEquals]
|
|
251
|
+
additionalProperties: false
|
|
252
|
+
slug:
|
|
253
|
+
type: string
|
|
254
|
+
description: Slug of the chart on Our World In Data
|
|
255
|
+
internalNotes:
|
|
256
|
+
type: string
|
|
257
|
+
version:
|
|
258
|
+
type: integer
|
|
259
|
+
minimum: 0
|
|
260
|
+
logo:
|
|
261
|
+
type: string
|
|
262
|
+
description: Which logo to show on the upper right side
|
|
263
|
+
default: owid
|
|
264
|
+
enum:
|
|
265
|
+
- owid
|
|
266
|
+
- core+owid
|
|
267
|
+
- gv+owid
|
|
268
|
+
entityType:
|
|
269
|
+
type: string
|
|
270
|
+
default: country or region
|
|
271
|
+
description: Display string for naming the primary entities of the data. Default is 'country or region', but you can specify a different one such as 'state' or 'region'
|
|
272
|
+
facettingLabelByYVariables:
|
|
273
|
+
type: string
|
|
274
|
+
default: metric
|
|
275
|
+
description: Display string that replaces 'metric' in the 'Split by metric' label in facet controls (e.g. 'product' displays 'Split by product')
|
|
276
|
+
note:
|
|
277
|
+
type: string
|
|
278
|
+
description: Note displayed in the footer of the chart. To be used for clarifications etc about the data.
|
|
279
|
+
dimensions:
|
|
280
|
+
type: array
|
|
281
|
+
description: List of dimensions and their mapping to variables
|
|
282
|
+
items:
|
|
283
|
+
type: object
|
|
284
|
+
required:
|
|
285
|
+
- property
|
|
286
|
+
- variableId
|
|
287
|
+
properties:
|
|
288
|
+
targetYear:
|
|
289
|
+
type: integer
|
|
290
|
+
description: |
|
|
291
|
+
Charts that can display more than one primary dimensions (i.e. scatter and marimekko)
|
|
292
|
+
sometimes need to "hardcode" one dimension to a specific year. This happens e.g. when
|
|
293
|
+
mixing a daily X variable in a scatter plot with a yearly one, e.g. population.
|
|
294
|
+
property:
|
|
295
|
+
type: string
|
|
296
|
+
description: Which dimension this property maps to
|
|
297
|
+
enum:
|
|
298
|
+
- "y"
|
|
299
|
+
- "x"
|
|
300
|
+
- "size"
|
|
301
|
+
- "color"
|
|
302
|
+
- "table"
|
|
303
|
+
display:
|
|
304
|
+
type: object
|
|
305
|
+
properties:
|
|
306
|
+
isProjection:
|
|
307
|
+
type: boolean
|
|
308
|
+
default: false
|
|
309
|
+
description: |
|
|
310
|
+
Indicates if this time series is a forward projection (if yes then this is rendered
|
|
311
|
+
differently in e.g. line charts)
|
|
312
|
+
plotMarkersOnlyInLineChart:
|
|
313
|
+
type: boolean
|
|
314
|
+
default: false
|
|
315
|
+
description: |
|
|
316
|
+
Indicates if data points should be connected with a line in a line chart
|
|
317
|
+
name:
|
|
318
|
+
type: string
|
|
319
|
+
description: The display string for this variable
|
|
320
|
+
description:
|
|
321
|
+
type: string
|
|
322
|
+
description: Variable description
|
|
323
|
+
$comment: This is a new field that did not exist prior to November 2021 in the DB. It overrides the description on the variable DB table.
|
|
324
|
+
tableDisplay:
|
|
325
|
+
type: object
|
|
326
|
+
description: Configuration for the table sheet for this variable
|
|
327
|
+
properties:
|
|
328
|
+
hideAbsoluteChange:
|
|
329
|
+
type: boolean
|
|
330
|
+
default: false
|
|
331
|
+
hideRelativeChange:
|
|
332
|
+
type: boolean
|
|
333
|
+
default: false
|
|
334
|
+
additionalProperties: false
|
|
335
|
+
tolerance:
|
|
336
|
+
type: integer
|
|
337
|
+
default: 0
|
|
338
|
+
description: |
|
|
339
|
+
Tolerance to use. If data points are missing for a time point, a match is accepted if it lies
|
|
340
|
+
within the specified time period. The unit is the dominating time unit, either years or days.
|
|
341
|
+
minimum: 0
|
|
342
|
+
entityAnnotationsMap:
|
|
343
|
+
type: string
|
|
344
|
+
description: Entity annotations
|
|
345
|
+
yearIsDay:
|
|
346
|
+
type: boolean
|
|
347
|
+
default: false
|
|
348
|
+
description: Switch to indicate if the number in the year column represents a day (since zeroDay) or not i.e. a year
|
|
349
|
+
color:
|
|
350
|
+
type: string
|
|
351
|
+
description: Default color for this time series
|
|
352
|
+
includeInTable:
|
|
353
|
+
type: boolean
|
|
354
|
+
default: true
|
|
355
|
+
description: Whether to render this time series in the table sheet
|
|
356
|
+
shortUnit:
|
|
357
|
+
type: string
|
|
358
|
+
description: Short unit symbol - This is used in tight UI spaces when the value is shown
|
|
359
|
+
conversionFactor:
|
|
360
|
+
type: number
|
|
361
|
+
description: Conversion factor to apply before showing values
|
|
362
|
+
unit:
|
|
363
|
+
type: string
|
|
364
|
+
description: Long unit text - This is shown in the UI when there is more space (e.g. tooltips) after values
|
|
365
|
+
roundingMode:
|
|
366
|
+
type: string
|
|
367
|
+
description: |
|
|
368
|
+
Rounding strategy to use. Supported are rounding to a fixed number of decimals and rounding to significant figures.
|
|
369
|
+
If 'decimalPlaces' is selected, then 'numDecimalPlaces' is used. If 'significantFigures' is selected, then 'numSignificantFigures' is used.
|
|
370
|
+
default: decimalPlaces
|
|
371
|
+
enum:
|
|
372
|
+
- decimalPlaces
|
|
373
|
+
- significantFigures
|
|
374
|
+
numDecimalPlaces:
|
|
375
|
+
type: integer
|
|
376
|
+
description: Number of decimal places to show
|
|
377
|
+
minimum: 0
|
|
378
|
+
default: 2
|
|
379
|
+
numSignificantFigures:
|
|
380
|
+
type: integer
|
|
381
|
+
description: Number of significant figures to show
|
|
382
|
+
minimum: 1
|
|
383
|
+
default: 3
|
|
384
|
+
zeroDay:
|
|
385
|
+
type: string
|
|
386
|
+
description: Iso date day string for the starting date if yearIsDay is used
|
|
387
|
+
default: "2020-01-21"
|
|
388
|
+
additionalProperties: false
|
|
389
|
+
variableId:
|
|
390
|
+
type: integer
|
|
391
|
+
description: The variable id to get the values for this time series
|
|
392
|
+
minimum: 0
|
|
393
|
+
additionalProperties: false
|
|
394
|
+
addCountryMode:
|
|
395
|
+
type: string
|
|
396
|
+
description: Whether the user can change countries, add additional ones or neither
|
|
397
|
+
default: add-country
|
|
398
|
+
enum:
|
|
399
|
+
- add-country
|
|
400
|
+
- change-country
|
|
401
|
+
- disabled
|
|
402
|
+
compareEndPointsOnly:
|
|
403
|
+
type: boolean
|
|
404
|
+
default: false
|
|
405
|
+
description: Drops in between points in scatter plots
|
|
406
|
+
selectedEntityColors:
|
|
407
|
+
type: object
|
|
408
|
+
description: Colors for selected entities
|
|
409
|
+
patternProperties:
|
|
410
|
+
".*":
|
|
411
|
+
type: string
|
|
412
|
+
relatedQuestions:
|
|
413
|
+
type: array
|
|
414
|
+
description: Links to related questions
|
|
415
|
+
default: []
|
|
416
|
+
items:
|
|
417
|
+
type: object
|
|
418
|
+
properties:
|
|
419
|
+
url:
|
|
420
|
+
type: string
|
|
421
|
+
text:
|
|
422
|
+
type: string
|
|
423
|
+
additionalProperties: false
|
|
424
|
+
title:
|
|
425
|
+
type: string
|
|
426
|
+
description: Big title text of the chart
|
|
427
|
+
chartTypes:
|
|
428
|
+
type: array
|
|
429
|
+
description: Which chart types should be shown
|
|
430
|
+
default: ["LineChart", "DiscreteBar"]
|
|
431
|
+
items:
|
|
432
|
+
type: string
|
|
433
|
+
enum:
|
|
434
|
+
- LineChart
|
|
435
|
+
- ScatterPlot
|
|
436
|
+
- StackedArea
|
|
437
|
+
- DiscreteBar
|
|
438
|
+
- StackedDiscreteBar
|
|
439
|
+
- SlopeChart
|
|
440
|
+
- StackedBar
|
|
441
|
+
- Marimekko
|
|
442
|
+
hasMapTab:
|
|
443
|
+
type: boolean
|
|
444
|
+
default: false
|
|
445
|
+
description: Indicates if the map tab should be shown
|
|
446
|
+
stackMode:
|
|
447
|
+
type: string
|
|
448
|
+
description: Stack mode. Only absolute and relative are actively used.
|
|
449
|
+
default: absolute
|
|
450
|
+
enum:
|
|
451
|
+
- absolute
|
|
452
|
+
- relative
|
|
453
|
+
- grouped
|
|
454
|
+
- stacked
|
|
455
|
+
minTime:
|
|
456
|
+
description: Start point of the initially selected time span.
|
|
457
|
+
default: earliest
|
|
458
|
+
oneOf:
|
|
459
|
+
- type: number
|
|
460
|
+
- type: string
|
|
461
|
+
enum:
|
|
462
|
+
- latest
|
|
463
|
+
- earliest
|
|
464
|
+
hideAnnotationFieldsInTitle:
|
|
465
|
+
type: object
|
|
466
|
+
description: Whether to hide any automatically added title annotations like the selected year
|
|
467
|
+
properties:
|
|
468
|
+
entity:
|
|
469
|
+
type: boolean
|
|
470
|
+
description: Whether to hide the entity annotation
|
|
471
|
+
default: false
|
|
472
|
+
time:
|
|
473
|
+
type: boolean
|
|
474
|
+
description: Whether to hide the time annotation
|
|
475
|
+
default: false
|
|
476
|
+
changeInPrefix:
|
|
477
|
+
type: boolean
|
|
478
|
+
description: Whether to hide "Change in" in relative line charts
|
|
479
|
+
default: false
|
|
480
|
+
excludedEntityNames:
|
|
481
|
+
type: array
|
|
482
|
+
description: Entities that should be excluded (opposite of includedEntityNames)
|
|
483
|
+
default: []
|
|
484
|
+
items:
|
|
485
|
+
type: string
|
|
486
|
+
includedEntityNames:
|
|
487
|
+
type: array
|
|
488
|
+
description: |
|
|
489
|
+
Entities that should be included (opposite of excludedEntityNames).
|
|
490
|
+
If empty, all available entities are used. If set, all entities not specified here are excluded.
|
|
491
|
+
excludedEntityNames are evaluated afterwards and can still remove entities even if they were included before.
|
|
492
|
+
default: []
|
|
493
|
+
items:
|
|
494
|
+
type: string
|
|
495
|
+
xAxis:
|
|
496
|
+
$ref: "#/$defs/axis"
|
|
497
|
+
timelineMaxTime:
|
|
498
|
+
description: |
|
|
499
|
+
The highest year to show in the timeline. If this is set then the user is not able to see
|
|
500
|
+
any data after this year. If set to "latest", then the latest year in the data is used.
|
|
501
|
+
default: latest
|
|
502
|
+
oneOf:
|
|
503
|
+
- type: number
|
|
504
|
+
- type: string
|
|
505
|
+
enum:
|
|
506
|
+
- latest
|
|
507
|
+
hideConnectedScatterLines:
|
|
508
|
+
type: boolean
|
|
509
|
+
default: false
|
|
510
|
+
description: Whether to hide connecting lines on scatter plots when a time range is selected
|
|
511
|
+
showNoDataArea:
|
|
512
|
+
type: boolean
|
|
513
|
+
default: true
|
|
514
|
+
description: Whether to show an area for entities that have no data (currently only used in marimekko charts)
|
|
515
|
+
zoomToSelection:
|
|
516
|
+
type: boolean
|
|
517
|
+
default: false
|
|
518
|
+
description: Whether to zoom to the selected data points
|
|
519
|
+
showYearLabels:
|
|
520
|
+
type: boolean
|
|
521
|
+
default: false
|
|
522
|
+
description: Whether to show year labels in bar charts
|
|
523
|
+
hideTotalValueLabel:
|
|
524
|
+
type: boolean
|
|
525
|
+
default: false
|
|
526
|
+
description: Whether to hide the total value label (used on stacked discrete bar charts)
|
|
527
|
+
hideScatterLabels:
|
|
528
|
+
type: boolean
|
|
529
|
+
default: false
|
|
530
|
+
description: Hide entity names in Scatter plots
|
|
531
|
+
sortBy:
|
|
532
|
+
type: string
|
|
533
|
+
description: Sort criterium (used by stacked bar charts and marimekko)
|
|
534
|
+
default: total
|
|
535
|
+
enum:
|
|
536
|
+
- column
|
|
537
|
+
- total
|
|
538
|
+
- entityName
|
|
539
|
+
- custom
|
|
540
|
+
sortOrder:
|
|
541
|
+
type: string
|
|
542
|
+
description: Sort order (used by stacked bar charts and marimekko)
|
|
543
|
+
default: desc
|
|
544
|
+
enum:
|
|
545
|
+
- desc
|
|
546
|
+
- asc
|
|
547
|
+
sortColumnSlug:
|
|
548
|
+
description: Sort column if sortBy is column (used by stacked bar charts and marimekko)
|
|
549
|
+
type: string
|
|
550
|
+
hideFacetControl:
|
|
551
|
+
type: boolean
|
|
552
|
+
default: true
|
|
553
|
+
description: Whether to hide the faceting control
|
|
554
|
+
entityTypePlural:
|
|
555
|
+
description: Plural of the entity type (i.e. when entityType is 'country' this would be 'countries')
|
|
556
|
+
default: countries and regions
|
|
557
|
+
type: string
|
|
558
|
+
missingDataStrategy:
|
|
559
|
+
type: string
|
|
560
|
+
default: auto
|
|
561
|
+
description: The desired strategy for handling entities with missing data
|
|
562
|
+
enum:
|
|
563
|
+
- auto
|
|
564
|
+
- hide
|
|
565
|
+
- show
|
|
566
|
+
additionalProperties: false
|
|
567
|
+
|
|
568
|
+
$defs:
|
|
569
|
+
axis:
|
|
570
|
+
type: object
|
|
571
|
+
properties:
|
|
572
|
+
removePointsOutsideDomain:
|
|
573
|
+
type: boolean
|
|
574
|
+
default: false
|
|
575
|
+
label:
|
|
576
|
+
type: string
|
|
577
|
+
description: Axis label
|
|
578
|
+
min:
|
|
579
|
+
description: |
|
|
580
|
+
Minimum domain value of the axis. Inferred from data if set to "auto".
|
|
581
|
+
Usually defaults to "auto", but defaults to 0 for line charts on the y-axis.
|
|
582
|
+
oneOf:
|
|
583
|
+
- type: number
|
|
584
|
+
- type: string
|
|
585
|
+
enum:
|
|
586
|
+
- auto
|
|
587
|
+
scaleType:
|
|
588
|
+
type: string
|
|
589
|
+
description: Toggle linear/logarithmic
|
|
590
|
+
default: linear
|
|
591
|
+
enum:
|
|
592
|
+
- linear
|
|
593
|
+
- log
|
|
594
|
+
max:
|
|
595
|
+
description: Maximum domain value of the axis. Inferred from data if set to "auto".
|
|
596
|
+
default: auto
|
|
597
|
+
oneOf:
|
|
598
|
+
- type: number
|
|
599
|
+
- type: string
|
|
600
|
+
enum:
|
|
601
|
+
- auto
|
|
602
|
+
canChangeScaleType:
|
|
603
|
+
type: boolean
|
|
604
|
+
description: Allow user to change lin/log
|
|
605
|
+
default: false
|
|
606
|
+
facetDomain:
|
|
607
|
+
type: string
|
|
608
|
+
description: Whether the axis domain should be the same across faceted charts (if possible)
|
|
609
|
+
default: shared
|
|
610
|
+
enum:
|
|
611
|
+
- independent
|
|
612
|
+
- shared
|
|
613
|
+
additionalProperties: false
|
|
614
|
+
colorScheme:
|
|
615
|
+
type: string
|
|
616
|
+
description: |
|
|
617
|
+
One of the predefined base color schemes.
|
|
618
|
+
If not provided, a default is automatically chosen based on the chart type.
|
|
619
|
+
enum:
|
|
620
|
+
- YlGn
|
|
621
|
+
- YlGnBu
|
|
622
|
+
- GnBu
|
|
623
|
+
- BuGn
|
|
624
|
+
- PuBuGn
|
|
625
|
+
- BuPu
|
|
626
|
+
- RdPu
|
|
627
|
+
- PuRd
|
|
628
|
+
- OrRd
|
|
629
|
+
- YlOrRd
|
|
630
|
+
- YlOrBr
|
|
631
|
+
- Purples
|
|
632
|
+
- Blues
|
|
633
|
+
- Greens
|
|
634
|
+
- Oranges
|
|
635
|
+
- Reds
|
|
636
|
+
- Greys
|
|
637
|
+
- PuOr
|
|
638
|
+
- BrBG
|
|
639
|
+
- PRGn
|
|
640
|
+
- PiYG
|
|
641
|
+
- RdBu
|
|
642
|
+
- RdGy
|
|
643
|
+
- RdYlBu
|
|
644
|
+
- Spectral
|
|
645
|
+
- RdYlGn
|
|
646
|
+
- Accent
|
|
647
|
+
- Dark2
|
|
648
|
+
- Paired
|
|
649
|
+
- Pastel1
|
|
650
|
+
- Pastel2
|
|
651
|
+
- Set1
|
|
652
|
+
- Set2
|
|
653
|
+
- Set3
|
|
654
|
+
- PuBu
|
|
655
|
+
- Magma
|
|
656
|
+
- Inferno
|
|
657
|
+
- Plasma
|
|
658
|
+
- Viridis
|
|
659
|
+
- continents
|
|
660
|
+
- stackedAreaDefault
|
|
661
|
+
- owid-distinct
|
|
662
|
+
- SingleColorDenim
|
|
663
|
+
- SingleColorTeal
|
|
664
|
+
- SingleColorPurple
|
|
665
|
+
- SingleColorDustyCoral
|
|
666
|
+
- SingleColorDarkCopper
|
|
667
|
+
- OwidCategoricalA
|
|
668
|
+
- OwidCategoricalB
|
|
669
|
+
- OwidCategoricalC
|
|
670
|
+
- OwidCategoricalD
|
|
671
|
+
- OwidCategoricalE
|
|
672
|
+
- OwidEnergy
|
|
673
|
+
- OwidEnergyLines
|
|
674
|
+
- OwidDistinctLines
|
|
675
|
+
- BinaryMapPaletteA
|
|
676
|
+
- BinaryMapPaletteB
|
|
677
|
+
- BinaryMapPaletteC
|
|
678
|
+
- BinaryMapPaletteD
|
|
679
|
+
- BinaryMapPaletteE
|
|
680
|
+
- SingleColorGradientDenim
|
|
681
|
+
- SingleColorGradientTeal
|
|
682
|
+
- SingleColorGradientPurple
|
|
683
|
+
- SingleColorGradientDustyCoral
|
|
684
|
+
- SingleColorGradientDarkCopper
|
|
685
|
+
colorScale:
|
|
686
|
+
type: object
|
|
687
|
+
description: Color scale definition
|
|
688
|
+
properties:
|
|
689
|
+
customNumericLabels:
|
|
690
|
+
type: array
|
|
691
|
+
description: |
|
|
692
|
+
Custom labels for each numeric bin. Only applied when strategy is `manual`.
|
|
693
|
+
`null` falls back to default label.
|
|
694
|
+
items:
|
|
695
|
+
type:
|
|
696
|
+
- string
|
|
697
|
+
- "null"
|
|
698
|
+
customCategoryColors:
|
|
699
|
+
type: object
|
|
700
|
+
description: Map of categorical values to colors. Colors are CSS colors, usually in the form `#aa9944`
|
|
701
|
+
patternProperties:
|
|
702
|
+
".*":
|
|
703
|
+
type: string
|
|
704
|
+
baseColorScheme:
|
|
705
|
+
$ref: "#/$defs/colorScheme"
|
|
706
|
+
customHiddenCategories:
|
|
707
|
+
type: object
|
|
708
|
+
description: Allow hiding categories from the legend
|
|
709
|
+
patternProperties:
|
|
710
|
+
".*":
|
|
711
|
+
type: boolean
|
|
712
|
+
binningStrategy:
|
|
713
|
+
type: string
|
|
714
|
+
description: The strategy for generating the bin boundaries
|
|
715
|
+
default: auto
|
|
716
|
+
enum:
|
|
717
|
+
- manual
|
|
718
|
+
- auto
|
|
719
|
+
- log-auto
|
|
720
|
+
- log-1-2-5
|
|
721
|
+
- log-1-3
|
|
722
|
+
- log-10
|
|
723
|
+
- equalSizeBins-few-bins
|
|
724
|
+
- equalSizeBins-normal
|
|
725
|
+
- equalSizeBins-many-bins
|
|
726
|
+
- equalSizeBins-percent
|
|
727
|
+
minValue:
|
|
728
|
+
type: number
|
|
729
|
+
description: Minimum value of the color scale, for automated binning.
|
|
730
|
+
maxValue:
|
|
731
|
+
type: number
|
|
732
|
+
description: Maximum value of the color scale, for automated binning.
|
|
733
|
+
midpoint:
|
|
734
|
+
type: number
|
|
735
|
+
default: 0
|
|
736
|
+
description: Midpoint value for the color scale, for automated binning around the midpoint.
|
|
737
|
+
midpointMode:
|
|
738
|
+
type: string
|
|
739
|
+
description: How to handle the midpoint when generating bins. Undefined means automatically choosing between 'none' and 'symmetric'.
|
|
740
|
+
enum:
|
|
741
|
+
- none
|
|
742
|
+
- symmetric
|
|
743
|
+
- same-num-bins
|
|
744
|
+
- asymmetric
|
|
745
|
+
createBinForMidpoint:
|
|
746
|
+
type: boolean
|
|
747
|
+
default: false
|
|
748
|
+
description: Whether to create a separate bin that only contains the midpoint value.
|
|
749
|
+
legendDescription:
|
|
750
|
+
type: string
|
|
751
|
+
description: A custom legend description. Only used in ScatterPlot legend titles for now.
|
|
752
|
+
customNumericColors:
|
|
753
|
+
type: array
|
|
754
|
+
description: |
|
|
755
|
+
Override some or all colors for the numerical color legend.
|
|
756
|
+
Colors are CSS colors, usually in the form `#aa9944`
|
|
757
|
+
`null` falls back the color scheme color.
|
|
758
|
+
items:
|
|
759
|
+
type:
|
|
760
|
+
- string
|
|
761
|
+
- "null"
|
|
762
|
+
customNumericValues:
|
|
763
|
+
type: array
|
|
764
|
+
description: Custom maximum brackets for each numeric bin. Only applied when strategy is `manual`
|
|
765
|
+
items:
|
|
766
|
+
type: number
|
|
767
|
+
customNumericColorsActive:
|
|
768
|
+
type: boolean
|
|
769
|
+
default: false
|
|
770
|
+
description: Whether `customNumericColors` are used to override the color scheme
|
|
771
|
+
colorSchemeInvert:
|
|
772
|
+
type: boolean
|
|
773
|
+
default: false
|
|
774
|
+
description: Reverse the order of colors in the color scheme
|
|
775
|
+
customCategoryLabels:
|
|
776
|
+
type: object
|
|
777
|
+
description: Map of category values to color legend labels.
|
|
778
|
+
patternProperties:
|
|
779
|
+
".*":
|
|
780
|
+
type: string
|
|
781
|
+
additionalProperties: false
|