@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,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for @buildcanada/charts
|
|
3
|
+
*
|
|
4
|
+
* These types are extracted from @ourworldindata/types and include only
|
|
5
|
+
* the visualization-related types needed for the charts library.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// Domain types
|
|
9
|
+
export {
|
|
10
|
+
type Base64String,
|
|
11
|
+
type GitCommit,
|
|
12
|
+
type HexString,
|
|
13
|
+
type Integer,
|
|
14
|
+
JsonError,
|
|
15
|
+
type JsonString,
|
|
16
|
+
type SerializedGridProgram,
|
|
17
|
+
type OwidVariableId,
|
|
18
|
+
type QueryParams,
|
|
19
|
+
} from "./domainTypes/Various.js"
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
Position,
|
|
23
|
+
type PositionMap,
|
|
24
|
+
AxisAlign,
|
|
25
|
+
VerticalAlign,
|
|
26
|
+
type GridParameters,
|
|
27
|
+
HorizontalAlign,
|
|
28
|
+
} from "./domainTypes/Layout.js"
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
type TableSlug,
|
|
32
|
+
type ColumnSlugs,
|
|
33
|
+
type TimeTolerance,
|
|
34
|
+
type CoreRow,
|
|
35
|
+
InputType,
|
|
36
|
+
TransformType,
|
|
37
|
+
JsTypes,
|
|
38
|
+
type CsvString,
|
|
39
|
+
type CoreValueType,
|
|
40
|
+
type CoreColumnStore,
|
|
41
|
+
type CoreTableInputOption,
|
|
42
|
+
type CoreQuery,
|
|
43
|
+
type CoreMatrix,
|
|
44
|
+
OwidTableSlugs,
|
|
45
|
+
type EntityName,
|
|
46
|
+
type EntityCode,
|
|
47
|
+
type EntityId,
|
|
48
|
+
type Entity,
|
|
49
|
+
type OwidColumnDef,
|
|
50
|
+
OwidEntityNameColumnDef,
|
|
51
|
+
OwidEntityIdColumnDef,
|
|
52
|
+
OwidEntityCodeColumnDef,
|
|
53
|
+
StandardOwidColumnDefs,
|
|
54
|
+
type OwidRow,
|
|
55
|
+
type OwidVariableRow,
|
|
56
|
+
ColumnTypeNames,
|
|
57
|
+
type ColumnColorScale,
|
|
58
|
+
type CoreColumnDef,
|
|
59
|
+
ErrorValue,
|
|
60
|
+
} from "./domainTypes/CoreTableTypes.js"
|
|
61
|
+
|
|
62
|
+
// Grapher types
|
|
63
|
+
export {
|
|
64
|
+
IDEAL_PLOT_ASPECT_RATIO,
|
|
65
|
+
EPOCH_DATE,
|
|
66
|
+
GRAPHER_MAP_TYPE,
|
|
67
|
+
GRAPHER_CHART_TYPES,
|
|
68
|
+
GRAPHER_TAB_NAMES,
|
|
69
|
+
GRAPHER_TAB_CONFIG_OPTIONS,
|
|
70
|
+
GRAPHER_TAB_QUERY_PARAMS,
|
|
71
|
+
ALL_GRAPHER_CHART_TYPES,
|
|
72
|
+
} from "./grapherTypes/GrapherConstants.js"
|
|
73
|
+
|
|
74
|
+
export {
|
|
75
|
+
type Box,
|
|
76
|
+
type BasicChartInformation,
|
|
77
|
+
SortBy,
|
|
78
|
+
type SortConfig,
|
|
79
|
+
SortOrder,
|
|
80
|
+
type ValueRange,
|
|
81
|
+
type Year,
|
|
82
|
+
TimeBoundValue,
|
|
83
|
+
TimeBoundValueStr,
|
|
84
|
+
type TimeRange,
|
|
85
|
+
type Color,
|
|
86
|
+
type ColumnSlug,
|
|
87
|
+
KeyChartLevel,
|
|
88
|
+
type PrimitiveType,
|
|
89
|
+
DimensionProperty,
|
|
90
|
+
type RelatedChart,
|
|
91
|
+
ToleranceStrategy,
|
|
92
|
+
ScaleType,
|
|
93
|
+
type Time,
|
|
94
|
+
type TimeBound,
|
|
95
|
+
type TimeBounds,
|
|
96
|
+
type TickFormattingOptions,
|
|
97
|
+
type ColorScaleConfigInterface,
|
|
98
|
+
ColorSchemeName,
|
|
99
|
+
type GrapherChartOrMapType,
|
|
100
|
+
type GrapherTabConfigOption,
|
|
101
|
+
type GrapherTabName,
|
|
102
|
+
type GrapherTabQueryParam,
|
|
103
|
+
type GrapherChartType,
|
|
104
|
+
StackMode,
|
|
105
|
+
EntitySelectionMode,
|
|
106
|
+
ScatterPointLabelStrategy,
|
|
107
|
+
type RelatedQuestionsConfig,
|
|
108
|
+
FacetStrategy,
|
|
109
|
+
type SeriesColorMap,
|
|
110
|
+
FacetAxisDomain,
|
|
111
|
+
type AnnotationFieldsInTitle,
|
|
112
|
+
MissingDataStrategy,
|
|
113
|
+
SeriesStrategy,
|
|
114
|
+
type GrapherInterface,
|
|
115
|
+
grapherKeysToSerialize,
|
|
116
|
+
type GrapherQueryParams,
|
|
117
|
+
type LegacyGrapherInterface,
|
|
118
|
+
MapRegionName,
|
|
119
|
+
type GlobeRegionName,
|
|
120
|
+
LogoOption,
|
|
121
|
+
type ComparisonLineConfig,
|
|
122
|
+
type VerticalComparisonLineConfig,
|
|
123
|
+
type CustomComparisonLineConfig,
|
|
124
|
+
type AxisConfigInterface,
|
|
125
|
+
type ColorSchemeInterface,
|
|
126
|
+
type Tickmark,
|
|
127
|
+
type SeriesName,
|
|
128
|
+
type LegacyGrapherQueryParams,
|
|
129
|
+
GRAPHER_QUERY_PARAM_KEYS,
|
|
130
|
+
type ChartRedirect,
|
|
131
|
+
type DetailsMarker,
|
|
132
|
+
GrapherWindowType,
|
|
133
|
+
AxisMinMaxValueStr,
|
|
134
|
+
GrapherTooltipAnchor,
|
|
135
|
+
type MapConfigInterface,
|
|
136
|
+
type GlobeConfig,
|
|
137
|
+
type ProjectionColumnInfo,
|
|
138
|
+
GrapherVariant,
|
|
139
|
+
type ChartErrorInfo,
|
|
140
|
+
type ToleranceOptions,
|
|
141
|
+
type AdditionalGrapherDataFetchFn,
|
|
142
|
+
type GrapherTrendArrowDirection,
|
|
143
|
+
} from "./grapherTypes/GrapherTypes.js"
|
|
144
|
+
|
|
145
|
+
export {
|
|
146
|
+
logBinningStrategies,
|
|
147
|
+
equalSizeBinningStrategies,
|
|
148
|
+
automaticBinningStrategies,
|
|
149
|
+
binningStrategiesIncludingManual,
|
|
150
|
+
type LogBinningStrategy,
|
|
151
|
+
type EqualSizeBinningStrategy,
|
|
152
|
+
type ResolvedLogBinningStrategy,
|
|
153
|
+
type BinningStrategyIncludingManual,
|
|
154
|
+
type AutomaticBinningStrategy,
|
|
155
|
+
type ResolvedBinningStrategy,
|
|
156
|
+
type MidpointMode,
|
|
157
|
+
} from "./grapherTypes/BinningStrategyTypes.js"
|
|
158
|
+
|
|
159
|
+
// Variable types
|
|
160
|
+
export {
|
|
161
|
+
type OwidVariableWithSource,
|
|
162
|
+
type OwidVariableWithSourceAndDimension,
|
|
163
|
+
type OwidVariableWithSourceAndDimensionWithoutId,
|
|
164
|
+
type OwidVariableMixedData,
|
|
165
|
+
type OwidVariableWithDataAndSource,
|
|
166
|
+
type OwidVariableDimension,
|
|
167
|
+
type OwidVariableDimensions,
|
|
168
|
+
type OwidVariableDataMetadataDimensions,
|
|
169
|
+
type MultipleOwidVariableDataDimensionsMap,
|
|
170
|
+
type OwidVariableDimensionValuePartial,
|
|
171
|
+
type OwidVariableDimensionValueFull,
|
|
172
|
+
type OwidVariablePresentation,
|
|
173
|
+
type OwidEntityKey,
|
|
174
|
+
type OwidLicense,
|
|
175
|
+
type OwidProcessingLevel,
|
|
176
|
+
type IndicatorTitleWithFragments,
|
|
177
|
+
joinTitleFragments,
|
|
178
|
+
type OwidVariableType,
|
|
179
|
+
} from "./OwidVariable.js"
|
|
180
|
+
|
|
181
|
+
export type { OwidSource } from "./OwidSource.js"
|
|
182
|
+
export type { OwidOrigin } from "./OwidOrigin.js"
|
|
183
|
+
|
|
184
|
+
export {
|
|
185
|
+
type OwidVariableDisplayConfigInterface,
|
|
186
|
+
type OwidVariableDataTableConfigInterface,
|
|
187
|
+
OwidVariableRoundingMode,
|
|
188
|
+
type OwidChartDimensionInterface,
|
|
189
|
+
type OwidChartDimensionInterfaceWithMandatorySlug,
|
|
190
|
+
} from "./OwidVariableDisplayConfigInterface.js"
|
|
191
|
+
|
|
192
|
+
export { type Nominal, wrap, unwrap } from "./NominalType.js"
|
|
193
|
+
|
|
194
|
+
// Archive types (needed for data loading)
|
|
195
|
+
export {
|
|
196
|
+
type ArchivalDateString,
|
|
197
|
+
ARCHIVE_DATE_TIME_FORMAT,
|
|
198
|
+
type AssetMap,
|
|
199
|
+
type ArchiveContext,
|
|
200
|
+
type ArchivedPageVersion,
|
|
201
|
+
} from "./domainTypes/Archive.js"
|
|
202
|
+
|
|
203
|
+
// Gdoc types (stubs for type compatibility)
|
|
204
|
+
export {
|
|
205
|
+
OwidGdocType,
|
|
206
|
+
type NarrativeChartInfo,
|
|
207
|
+
type DetailDictionary,
|
|
208
|
+
type EnrichedDetail,
|
|
209
|
+
type UserCountryInformation,
|
|
210
|
+
type OwidGdocBaseInterface,
|
|
211
|
+
type OwidGdocContent,
|
|
212
|
+
type OwidGdoc,
|
|
213
|
+
type OwidGdocJSON,
|
|
214
|
+
type OwidGdocPostInterface,
|
|
215
|
+
type OwidGdocPostContent,
|
|
216
|
+
type OwidGdocDataInsightInterface,
|
|
217
|
+
type OwidGdocDataInsightContent,
|
|
218
|
+
type OwidGdocAuthorInterface,
|
|
219
|
+
type OwidGdocAuthorContent,
|
|
220
|
+
type OwidGdocAboutInterface,
|
|
221
|
+
type OwidGdocAboutContent,
|
|
222
|
+
type OwidGdocHomepageInterface,
|
|
223
|
+
type OwidGdocHomepageContent,
|
|
224
|
+
type OwidEnrichedGdocBlock,
|
|
225
|
+
type Span,
|
|
226
|
+
type EnrichedBlockKeyInsightsSlide,
|
|
227
|
+
type EnrichedTopicPageIntroRelatedTopic,
|
|
228
|
+
type EnrichedTopicPageIntroDownloadButton,
|
|
229
|
+
type EnrichedHybridLink,
|
|
230
|
+
type TocHeadingWithTitleSupertitle,
|
|
231
|
+
type DisplaySource,
|
|
232
|
+
} from "./gdocTypes/Gdoc.js"
|
|
233
|
+
|
|
234
|
+
// Database types (stubs)
|
|
235
|
+
export { type DbPlainTag } from "./dbTypes/Tags.js"
|
|
236
|
+
|
|
237
|
+
// Constants for site sections
|
|
238
|
+
export const ALL_CHARTS_ID = "all-charts"
|
|
239
|
+
export const FEATURED_DATA_INSIGHTS_ID = "featured-data-insights"
|
|
240
|
+
export const EXPLORE_DATA_SECTION_DEFAULT_TITLE = "Explore our data"
|
|
241
|
+
export const EXPLORE_DATA_SECTION_ID = "explore-data"
|
|
242
|
+
|
|
243
|
+
// Analytics types
|
|
244
|
+
export {
|
|
245
|
+
EventCategory,
|
|
246
|
+
type EntityControlEvent,
|
|
247
|
+
type EntitySelectorEvent,
|
|
248
|
+
type GrapherImageDownloadEvent,
|
|
249
|
+
type GrapherInteractionEvent,
|
|
250
|
+
GrapherErrorAction,
|
|
251
|
+
type GrapherAnalyticsContext,
|
|
252
|
+
type GAEvent,
|
|
253
|
+
} from "./analyticsTypes.js"
|
|
254
|
+
|
|
255
|
+
// Additional stub types
|
|
256
|
+
export type SubNavId = string
|
|
257
|
+
export const SubNavId = {} as Record<string, SubNavId>
|
|
258
|
+
|
|
259
|
+
export const gdocUrlRegex = /^https?:\/\/docs\.google\.com\/document\/d\/[a-zA-Z0-9_-]+/
|
|
260
|
+
|
|
261
|
+
export type BlockSize = "full" | "medium" | "small" | "wide" | "narrow"
|
|
262
|
+
export const BlockSize = {
|
|
263
|
+
full: "full" as const,
|
|
264
|
+
medium: "medium" as const,
|
|
265
|
+
small: "small" as const,
|
|
266
|
+
Wide: "wide" as const,
|
|
267
|
+
Narrow: "narrow" as const,
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export enum ChartConfigType {
|
|
271
|
+
Grapher = "grapher",
|
|
272
|
+
Explorer = "explorer",
|
|
273
|
+
MultiDim = "multi-dim",
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export interface MultiDimDimensionChoices {
|
|
277
|
+
[key: string]: string
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export interface ImageMetadata {
|
|
281
|
+
src: string
|
|
282
|
+
width?: number
|
|
283
|
+
height?: number
|
|
284
|
+
alt?: string
|
|
285
|
+
filename?: string
|
|
286
|
+
originalWidth?: number
|
|
287
|
+
originalHeight?: number
|
|
288
|
+
cloudflareId?: string
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export interface TagGraphNode {
|
|
292
|
+
children: TagGraphNode[]
|
|
293
|
+
id: number
|
|
294
|
+
isTopic: boolean
|
|
295
|
+
name: string
|
|
296
|
+
path: number[]
|
|
297
|
+
slug: string | null
|
|
298
|
+
weight: number
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
export const TagGraphRootName = "tag-graph-root" as const
|
|
302
|
+
|
|
303
|
+
export type TagGraphRoot = TagGraphNode & {
|
|
304
|
+
children: TagGraphNode[]
|
|
305
|
+
id: number
|
|
306
|
+
isTopic: false
|
|
307
|
+
name: typeof TagGraphRootName
|
|
308
|
+
path: [number]
|
|
309
|
+
slug: null
|
|
310
|
+
weight: 0
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Site constants
|
|
314
|
+
export const DATAPAGE_ABOUT_THIS_DATA_SECTION_ID = "about-this-data"
|
|
315
|
+
export const DATAPAGE_SOURCES_AND_PROCESSING_SECTION_ID = "sources-and-processing"
|
|
316
|
+
export const REUSE_THIS_WORK_SECTION_ID = "reuse-this-work"
|