@cdc/core 4.26.2 → 4.26.3

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.
Files changed (186) hide show
  1. package/LICENSE +201 -0
  2. package/_stories/Gallery.Charts.stories.tsx +1 -1
  3. package/_stories/Gallery.DataBite.stories.tsx +1 -1
  4. package/_stories/Gallery.Maps.stories.tsx +1 -1
  5. package/_stories/PageART.stories.tsx +1 -1
  6. package/_stories/PageBRFSS.stories.tsx +1 -1
  7. package/_stories/PageCancerRegistries.stories.tsx +1 -1
  8. package/_stories/PageEasternEquineEncephalitis.stories.tsx +3 -3
  9. package/_stories/PageExcessiveAlcoholUse.stories.tsx +1 -1
  10. package/_stories/PageMaternalMortality.stories.tsx +1 -1
  11. package/_stories/PageOralHealth.stories.tsx +1 -1
  12. package/_stories/PageRespiratory.stories.tsx +4 -4
  13. package/_stories/PageSmokingTobacco.stories.tsx +1 -1
  14. package/_stories/PageStateDiabetesProfiles.stories.tsx +1 -1
  15. package/_stories/PageWastewater.stories.tsx +4 -4
  16. package/_stories/VegaImport.stories.tsx +3 -3
  17. package/assets/callout-flag.svg +7 -0
  18. package/components/AdvancedEditor/EmbedEditor.tsx +1 -1
  19. package/components/Alert/components/Alert.styles.css +2 -2
  20. package/components/ComboBox/combobox.styles.css +48 -48
  21. package/components/CustomColorsEditor/CustomColorsEditor.css +53 -53
  22. package/components/DataTable/DataTable.tsx +46 -18
  23. package/components/DataTable/DataTableStandAlone.tsx +1 -0
  24. package/components/DataTable/components/ChartHeader.tsx +21 -12
  25. package/components/DataTable/components/MapHeader.tsx +34 -28
  26. package/components/DataTable/components/SortIcon/sort-icon.css +5 -5
  27. package/components/DataTable/data-table.css +50 -52
  28. package/components/DataTable/helpers/applyCustomOrder.ts +17 -0
  29. package/components/DataTable/helpers/getChartCellValue.ts +10 -7
  30. package/components/DataTable/helpers/getMapDataTableColumnKeys.ts +22 -0
  31. package/components/DataTable/helpers/mapCellMatrix.tsx +33 -23
  32. package/components/DataTable/helpers/tests/mapCellMatrix.test.ts +33 -0
  33. package/components/DownloadButton.tsx +14 -6
  34. package/components/EditorPanel/ColumnsEditor.tsx +38 -31
  35. package/components/EditorPanel/CustomSortOrder.tsx +94 -0
  36. package/components/EditorPanel/DataTableEditor.tsx +139 -23
  37. package/components/EditorPanel/EditorPanel.styles.css +71 -71
  38. package/components/EditorPanel/EditorPanel.tsx +3 -8
  39. package/components/EditorPanel/EditorPanelDispatch.tsx +4 -4
  40. package/components/EditorPanel/FootnotesEditor.tsx +2 -2
  41. package/components/EditorPanel/VizFilterEditor/NestedDropdownEditor.tsx +7 -6
  42. package/components/EditorPanel/VizFilterEditor/VizFilterEditor.tsx +12 -10
  43. package/components/EditorPanel/components/MarkupVariablesEditor.tsx +160 -106
  44. package/components/EditorPanel/components/PanelMarkup.tsx +5 -1
  45. package/{styles/v2/components → components/EditorPanel}/editor.scss +67 -13
  46. package/components/EditorPanel/sections/StyleTreatmentSection.tsx +99 -0
  47. package/components/EditorPanel/sections/VisualSection.tsx +11 -0
  48. package/components/EditorWrapper/editor-wrapper.style.css +1 -1
  49. package/components/Filters/Filters.tsx +3 -5
  50. package/components/Filters/components/Tabs.tsx +19 -7
  51. package/{styles → components/Filters}/filters.scss +3 -3
  52. package/components/Footnotes/FootnotesStandAlone.tsx +4 -2
  53. package/components/HeaderThemeSelector/HeaderThemeSelector.css +61 -5
  54. package/components/Layout/components/Responsive.tsx +14 -6
  55. package/components/Layout/components/Sidebar/components/Sidebar.tsx +1 -1
  56. package/components/Layout/components/Sidebar/components/sidebar.styles.scss +12 -18
  57. package/components/Layout/components/Visualization/index.tsx +39 -38
  58. package/components/Layout/components/Visualization/visualizations.scss +232 -15
  59. package/components/Layout/components/VisualizationContainer.test.tsx +67 -0
  60. package/components/Layout/components/VisualizationContainer.tsx +37 -0
  61. package/components/Layout/components/VisualizationContent.test.tsx +182 -0
  62. package/components/Layout/components/VisualizationContent.tsx +75 -0
  63. package/components/Layout/index.tsx +5 -5
  64. package/components/Layout/styles/editor-utils.scss +3 -3
  65. package/components/Layout/styles/editor.scss +4 -4
  66. package/components/Legend/Legend.Gradient.tsx +7 -1
  67. package/components/Loader/loader.styles.css +2 -2
  68. package/components/Loading.jsx +1 -1
  69. package/components/MediaControls.tsx +10 -2
  70. package/components/MultiSelect/multiselect.styles.css +19 -19
  71. package/components/NestedDropdown/nesteddropdown.styles.css +15 -15
  72. package/components/PaletteSelector/PaletteSelector.css +15 -15
  73. package/components/RichTooltip/richTooltip.css +6 -6
  74. package/components/Table/table.styles.css +2 -2
  75. package/components/Waiting.tsx +1 -1
  76. package/components/_stories/Filters.stories.tsx +1 -1
  77. package/components/_stories/styles.scss +0 -1
  78. package/components/elements/Button.jsx +1 -1
  79. package/components/elements/Card.jsx +1 -1
  80. package/{styles/v2/components → components/elements}/button.scss +9 -8
  81. package/components/inputs/InputCheckbox.jsx +1 -1
  82. package/components/inputs/InputSelect.tsx +1 -1
  83. package/components/inputs/InputText.jsx +1 -1
  84. package/components/inputs/InputToggle.tsx +1 -1
  85. package/{styles/v2/components/input → components/inputs}/_input-check-radio.scss +2 -2
  86. package/{styles/v2/components/input → components/inputs}/_input-group.scss +3 -3
  87. package/{styles/v2/components/input → components/inputs}/_input-slider.scss +2 -2
  88. package/{styles/v2/components/input → components/inputs}/_input.scss +5 -5
  89. package/{styles/v2/components/input → components/inputs}/index.scss +2 -2
  90. package/{styles → components}/loading.scss +1 -1
  91. package/components/managers/DataDesigner.tsx +1 -1
  92. package/{styles/v2/components → components/managers}/data-designer.scss +6 -7
  93. package/components/ui/Accordion.jsx +1 -1
  94. package/components/ui/Icon.tsx +1 -1
  95. package/components/ui/LoadSpin.jsx +1 -1
  96. package/components/ui/Modal.jsx +1 -1
  97. package/components/ui/Overlay.jsx +1 -1
  98. package/components/ui/Title/index.test.tsx +34 -0
  99. package/components/ui/Title/index.tsx +24 -7
  100. package/components/ui/Title/title.styles.css +119 -25
  101. package/components/ui/Tooltip.tsx +1 -1
  102. package/components/ui/_stories/Title.stories.tsx +1 -1
  103. package/{styles/v2/components → components/ui}/accordion.scss +3 -3
  104. package/components/ui/accordion.styles.css +11 -11
  105. package/{styles/v2/components → components/ui}/modal.scss +2 -2
  106. package/{styles/v2/components → components/ui}/overlay.scss +6 -6
  107. package/{styles/v2/components → components}/ui/tooltip.scss +1 -1
  108. package/{styles → components}/waiting.scss +9 -3
  109. package/devTemplate/dev.js +50 -0
  110. package/dist/cove-main.css +528 -231
  111. package/dist/cove-main.css.map +1 -1
  112. package/generateViteConfig.js +2 -2
  113. package/helpers/backfillDefaults.ts +35 -0
  114. package/helpers/constants.ts +12 -0
  115. package/helpers/cove/date.ts +32 -3
  116. package/helpers/cove/number.ts +29 -15
  117. package/helpers/coveUpdateWorker.ts +12 -8
  118. package/helpers/displayDataAsText.ts +1 -1
  119. package/helpers/embed/embedHelper.js +13 -2
  120. package/helpers/embed/index.ts +0 -4
  121. package/helpers/extractDataAndMetadata.ts +20 -0
  122. package/helpers/fetchRemoteData.ts +14 -8
  123. package/helpers/labelHash.ts +9 -0
  124. package/helpers/markupProcessor.ts +56 -38
  125. package/helpers/prepareScreenshot.ts +6 -3
  126. package/helpers/testing.ts +1 -1
  127. package/helpers/tests/abbreviateNumber.test.ts +59 -0
  128. package/helpers/tests/backfillDefaults.test.ts +253 -0
  129. package/helpers/tests/date.test.ts +46 -0
  130. package/helpers/tests/extractDataAndMetadata.test.ts +93 -0
  131. package/helpers/tests/markupProcessor.test.ts +315 -124
  132. package/helpers/tests/number.test.ts +42 -0
  133. package/helpers/tests/prepareScreenshot.test.ts +28 -28
  134. package/helpers/tests/testStandaloneBuild.ts +36 -26
  135. package/helpers/tests/useDataVizClasses.test.ts +66 -0
  136. package/helpers/tests/visualizationWrapperUsage.test.ts +57 -0
  137. package/helpers/useDataVizClasses.ts +13 -7
  138. package/helpers/ver/4.24.4.ts +24 -0
  139. package/helpers/ver/4.26.3.ts +44 -0
  140. package/helpers/ver/4.26.4.ts +31 -0
  141. package/helpers/ver/tests/4.26.3.test.ts +168 -0
  142. package/helpers/ver/tests/4.26.4.test.ts +88 -0
  143. package/helpers/ver/tests/coveUpdateWorker.test.ts +57 -0
  144. package/package.json +2 -2
  145. package/styles/_global.scss +7 -7
  146. package/styles/_reset.scss +2 -2
  147. package/styles/{v2/base → base}/_file-selector.scss +4 -4
  148. package/styles/{v2/base → base}/_general.scss +2 -4
  149. package/styles/{v2/base → base}/index.scss +1 -1
  150. package/styles/base.scss +107 -165
  151. package/styles/cove-main.scss +3 -6
  152. package/styles/layout/_component.scss +110 -0
  153. package/styles/{v2/layout → layout}/_data-table.scss +7 -7
  154. package/styles/layout/_wrapper-padding.scss +27 -0
  155. package/styles/{v2/main.scss → main.scss} +3 -1
  156. package/styles/{v2/themes → themes}/_color-definitions.scss +46 -41
  157. package/styles/{_accessibility.scss → utils/_accessibility.scss} +1 -1
  158. package/styles/{_global-variables.scss → utils/_properties.scss} +133 -112
  159. package/styles/{v2/utils → utils}/index.scss +2 -1
  160. package/types/Axis.ts +2 -0
  161. package/types/ComponentStyles.ts +1 -0
  162. package/types/ConfigureData.ts +1 -0
  163. package/types/MarkupInclude.ts +1 -0
  164. package/types/MarkupVariable.ts +2 -1
  165. package/types/Palette.ts +1 -0
  166. package/types/Table.ts +9 -0
  167. package/types/Visualization.ts +1 -0
  168. package/styles/_common-components.css +0 -73
  169. package/styles/_variables.scss +0 -63
  170. package/styles/v2/layout/_component.scss +0 -21
  171. package/styles/v2/utils/_variables.scss +0 -9
  172. package/{styles/v2/components/card.scss → components/elements/card.css} +2 -2
  173. /package/{styles/v2/components → components/ui}/icon.scss +0 -0
  174. /package/{styles/v2/components → components/ui}/loadspin.scss +0 -0
  175. /package/styles/{v2/base → base}/_heading.scss +0 -0
  176. /package/styles/{v2/base → base}/_reset.scss +0 -0
  177. /package/styles/{v2/layout → layout}/_alert.scss +0 -0
  178. /package/styles/{v2/layout → layout}/_progression.scss +0 -0
  179. /package/styles/{v2/layout → layout}/_tooltip.scss +0 -0
  180. /package/styles/{v2/layout → layout}/index.scss +0 -0
  181. /package/styles/{v2/themes → themes}/index.scss +0 -0
  182. /package/styles/{v2/utils → utils}/_align.scss +0 -0
  183. /package/styles/{v2/utils → utils}/_animations.scss +0 -0
  184. /package/styles/{v2/utils → utils}/_breakpoints.scss +0 -0
  185. /package/styles/{v2/utils → utils}/_grid.scss +0 -0
  186. /package/styles/{v2/utils → utils}/_mixins.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../styles/utils/_properties.scss","../styles/base/_reset.scss","../styles/base.scss","../styles/_global.scss","../styles/_button-section.scss","../styles/_series-list.scss","../styles/heading-colors.scss","../components/ui/tooltip.scss","../styles/utils/_accessibility.scss","../styles/utils/_align.scss","../styles/utils/_animations.scss","../styles/utils/_grid.scss","../styles/themes/_color-definitions.scss","../styles/main.scss","../styles/layout/_alert.scss","../styles/layout/_component.scss","../styles/layout/_progression.scss","../styles/utils/_mixins.scss","../styles/layout/_tooltip.scss","../styles/utils/_breakpoints.scss"],"names":[],"mappings":";AAqFE;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAON;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AC1HF;AAAA;AAAA;EAGE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EAGE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;IACE;;EAGF;AAAA;AAAA;IAGE;IACA;IACA;IACA;;;ACpEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EA+DE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;ACtHJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACvNF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAMF;EACE;EACA;;AAEF;EACE;;ACjCJ;EAEE;EACA;;AAIS;EACP,YAHO;;;AAMA;EACP,eAPO;;;AAUT;EACE;;AAEA;EACE;;AAIJ;EACE,aAnBO;EAoBP,cApBO;EAqBP;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA,cA3CO;EA4CP,aA5CO;EA6CP;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AHuCJ;EACE;;;AI9HF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOA;AAAA;EACE;;AAKA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGE;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;;AAGE;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;;AP9DN;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAON;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AQxHF;AAAA;EAEE;EACA;EACA;;;ACHE;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACJN;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;ACrBJ;EACE;EACA;;;AAjCE;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AASF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAgBJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EA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rCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AArCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AArCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AArCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AArCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AArCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AArCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AZpFN;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;AAON;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AC1HF;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;AAGF;AAAA;EAEE;;AAGF;EACE;;AAGF;EAGE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IACE;;EAGF;AAAA;AAAA;IAGE;IACA;IACA;IACA;;;ACpEJ;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EA+DE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;ACtHJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACvNF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAMF;EACE;EACA;;AAEF;EACE;;ACjCJ;EAEE;EACA;;AAIS;EACP,YAHO;;;AAMA;EACP,eAPO;;;AAUT;EACE;;AAEA;EACE;;AAIJ;EACE,aAnBO;EAoBP,cApBO;EAqBP;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA,cA3CO;EA4CP,aA5CO;EA6CP;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AHuCJ;EACE;;AW7HJ;EAEE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AClDJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AClCJ;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE,YHmKW;;AG/Jf;EACE;;AClBF;ECAE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDRA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AEzER;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA,OAhBmB;EAiBnB,kBAlBgB;EAmBhB;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAMJ;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;ACxFA;ENeA","file":"cove-main.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../styles/utils/_properties.scss","../styles/base.scss","../styles/base/_reset.scss","../styles/_global.scss","../styles/_button-section.scss","../styles/_series-list.scss","../styles/heading-colors.scss","../components/ui/tooltip.scss","../styles/utils/_accessibility.scss","../styles/utils/_align.scss","../styles/utils/_animations.scss","../styles/utils/_grid.scss","../styles/themes/_color-definitions.scss","../styles/main.scss","../styles/layout/_alert.scss","../styles/layout/_component.scss","../styles/layout/_wrapper-padding.scss","../styles/layout/_progression.scss","../styles/utils/_mixins.scss","../styles/layout/_tooltip.scss","../styles/utils/_breakpoints.scss"],"names":[],"mappings":";AAyFE;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAON;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AChIF;EACE;;;AAGF;EACE;;;ACRF;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;AAGF;AAAA;EAEE;;AAGF;EACE;;AAGF;EAGE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IACE;;EAGF;AAAA;AAAA;IAGE;IACA;IACA;IACA;;;AD7DJ;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAoEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAMA;EACE;EACA;;AAEF;EACE;EACA;;AExIN;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACvNF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAMF;EACE;EACA;;AAEF;EACE;;ACjCJ;EAEE;EACA;;AAIS;EACP,YAHO;;;AAMA;EACP,eAPO;;;AAUT;EACE;;AAEA;EACE;;AAIJ;EACE,aAnBO;EAoBP,cApBO;EAqBP;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA,cA3CO;EA4CP,aA5CO;EA6CP;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AJ0DJ;EACE;;;AKjJF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOA;AAAA;EACE;;AAKA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGE;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;;AAGE;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;;AP1DN;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAON;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AQjIF;AAAA;EAEE;EACA;EACA;;;ACHE;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACJN;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;ACrBJ;EACE;EACA;;;AAjCE;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAbF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AASF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAgBJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AA2BJ;EAxCE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAbF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IA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EACE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;;AAUF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AA7CF;EACE;EAC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EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACvNF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAMF;EACE;EACA;;AAEF;EACE;;ACjCJ;EAEE;EACA;;AAIS;EACP,YAHO;;;AAMA;EACP,eAPO;;;AAUT;EACE;;AAEA;EACE;;AAIJ;EACE,aAnBO;EAoBP,cApBO;EAqBP;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA,cA3CO;EA4CP,aA5CO;EA6CP;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AJ0DJ;EACE;;AYhJJ;EAEE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACpDJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AChCJ;EACE;;AAGF;EACE;EACA;;AAEA;EAEE;;AANJ;EAQE;EACA;EACA;ECfA;EACA;EACA;EACA;;AAEA;EAIE;EACA;;ADQF;EACE;;AAGF;EACE,YHkKW;;AG/Jb;EACE;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAQN;AAAA;EACE;;AAEA;AAAA;EACE;;AAMJ;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;;AAGF;EACE;;AAKN;EACE;EACA;EACA;;AE3GF;ECAE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDRA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AEzER;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA,OAhBmB;EAiBnB,kBAlBgB;EAmBhB;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAMJ;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;ACxFA;EPiBA","file":"cove-main.css"}
@@ -20,9 +20,9 @@ const __dirname = path.dirname(__filename)
20
20
  const devTemplatePath = path.join(__dirname, 'devTemplate')
21
21
 
22
22
  // Default editor padding CSS - can be overridden by passing custom CSS to devOptions
23
- // Dashboard overrides this with .cdc-open-viz-module.type-dashboard:not(.isDashboardEditor)
23
+ // Dashboard overrides this with .cove-visualization.type-dashboard:not(.is-dashboard-editor)
24
24
  const DEFAULT_PACKAGE_CSS = `
25
- .cdc-open-viz-module:not(.isEditor) {
25
+ .cove-visualization:not(.is-editor) {
26
26
  padding: 1rem;
27
27
  }`
28
28
 
@@ -0,0 +1,35 @@
1
+ type LegacyDefaults = Record<string, Record<string, unknown>>
2
+
3
+ /**
4
+ * Backfills missing properties from `defaults` into `config` sections, respecting
5
+ * legacy defaults so that existing configs aren't affected by new/changed defaults
6
+ * in initial-state.js.
7
+ *
8
+ * For each top-level key in `defaults` that is a non-array object in `config`,
9
+ * any property that is `undefined` in `config[key]` is filled:
10
+ * - If `legacyDefaults[key]` has an entry for the property, the legacy value is
11
+ * used. A legacy value of `undefined` means "don't backfill" (for brand-new
12
+ * properties that old configs should not receive).
13
+ * - Otherwise the current default value is used.
14
+ *
15
+ * Mutates `config` in place.
16
+ */
17
+ export function backfillDefaults(
18
+ config: Record<string, any>,
19
+ defaults: Record<string, any>,
20
+ legacyDefaults: LegacyDefaults = {}
21
+ ): void {
22
+ for (const key of Object.keys(defaults)) {
23
+ if (config[key] && typeof config[key] === 'object' && !Array.isArray(config[key])) {
24
+ for (const prop of Object.keys(defaults[key])) {
25
+ if (config[key][prop] === undefined) {
26
+ const inLegacy = legacyDefaults[key] && prop in legacyDefaults[key]
27
+ const fillValue = inLegacy ? legacyDefaults[key][prop] : defaults[key][prop]
28
+ if (fillValue !== undefined) {
29
+ config[key][prop] = fillValue
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
@@ -8,6 +8,16 @@ export const EDITOR_WIDTH = 350
8
8
  // Palette migration behavior flag
9
9
  export const USE_V2_MIGRATION = true // Set to true to enable v2 migration and conversion modal
10
10
 
11
+ // Map editor feature flag for Data Bite-style visual controls
12
+ export const ENABLE_MAP_DATA_BITE_VISUAL_SETTINGS = true
13
+
14
+ // Chart feature flag for visual controls (border, accent, background). Intentionally enabled — UI is considered stable.
15
+ export const ENABLE_CHART_VISUAL_SETTINGS = true
16
+
17
+ // Turn these to true if we ever want the tp5 treatment for maps/charts
18
+ export const ENABLE_CHART_MAP_TP5_TREATMENT = false
19
+ export const ENABLE_CHART_MAP_TP5_TREATMENT_SELECTION = false
20
+
11
21
  // Data operators for conditional logic
12
22
  export const DATA_OPERATOR_LESS = '<'
13
23
  export const DATA_OPERATOR_GREATER = '>'
@@ -33,6 +43,7 @@ export const DATA_FUNCTION_MIN = 'Min'
33
43
  export const DATA_FUNCTION_MODE = 'Mode'
34
44
  export const DATA_FUNCTION_RANGE = 'Range'
35
45
  export const DATA_FUNCTION_SUM = 'Sum'
46
+ export const DATA_FUNCTION_PASSTHROUGH = 'Pass Through'
36
47
 
37
48
  export const DATA_FUNCTIONS = [
38
49
  DATA_FUNCTION_COUNT,
@@ -41,6 +52,7 @@ export const DATA_FUNCTIONS = [
41
52
  DATA_FUNCTION_MEDIAN,
42
53
  DATA_FUNCTION_MIN,
43
54
  DATA_FUNCTION_MODE,
55
+ DATA_FUNCTION_PASSTHROUGH,
44
56
  DATA_FUNCTION_RANGE,
45
57
  DATA_FUNCTION_SUM
46
58
  ]
@@ -1,8 +1,35 @@
1
- import { timeFormat, timeParse } from 'd3-time-format'
1
+ import { timeFormat, timeParse, timeFormatLocale, type TimeLocaleDefinition } from 'd3-time-format'
2
2
  import { type Axis } from '@cdc/core/types/Axis'
3
3
 
4
4
  const NBSP = '\u00A0'
5
5
 
6
+ /** Locale definitions for d3-time-format. Add new locales here as needed. */
7
+ const localeDefinitions: Record<string, TimeLocaleDefinition> = {
8
+ 'es-MX': {
9
+ dateTime: '%x, %X',
10
+ date: '%d/%m/%Y',
11
+ time: '%-I:%M:%S %p',
12
+ periods: ['AM', 'PM'],
13
+ days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
14
+ shortDays: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],
15
+ months: [
16
+ 'enero',
17
+ 'febrero',
18
+ 'marzo',
19
+ 'abril',
20
+ 'mayo',
21
+ 'junio',
22
+ 'julio',
23
+ 'agosto',
24
+ 'septiembre',
25
+ 'octubre',
26
+ 'noviembre',
27
+ 'diciembre'
28
+ ],
29
+ shortMonths: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic']
30
+ }
31
+ }
32
+
6
33
  /**
7
34
  * Converts a date display format string for rendering:
8
35
  *
@@ -27,9 +54,11 @@ export function getDateRenderFormat(format: string | undefined): string | undefi
27
54
  return format.replace(/(%[bBm]\.?) (%-?[de]|%[de])/g, `$1${NBSP}$2`)
28
55
  }
29
56
 
30
- export function formatDate(format = undefined, date) {
57
+ export function formatDate(format = undefined, date, locale?: string) {
31
58
  const renderFormat = getDateRenderFormat(format)
32
- let result = timeFormat(renderFormat)(date)
59
+ const localeDef = locale && localeDefinitions[locale]
60
+ const formatter = localeDef ? timeFormatLocale(localeDef).format : timeFormat
61
+ let result = formatter(renderFormat)(date)
33
62
  // "May" is already 3 letters — strip the trailing period added by %b.
34
63
  if (renderFormat?.includes('%b.') && result.includes('May.')) {
35
64
  result = result.replace(/May\./g, 'May')
@@ -1,17 +1,24 @@
1
1
  import numberFromString from '@cdc/core/helpers/numberFromString'
2
2
 
3
- const abbreviateNumber = num => {
3
+ const abbreviationUnits: Record<string, { K: string; M: string; B: string }> = {
4
+ 'es-MX': { K: ' mil', M: ' M', B: ' mil M' }
5
+ }
6
+
7
+ const defaultUnits = { K: 'K', M: 'M', B: 'B' }
8
+
9
+ export const abbreviateNumber = (num, locale?: string) => {
10
+ const units = (locale && abbreviationUnits[locale]) || defaultUnits
4
11
  let unit = ''
5
12
  let absNum = Math.abs(num)
6
13
 
7
14
  if (absNum >= 1e9) {
8
- unit = 'B'
15
+ unit = units.B
9
16
  num = num / 1e9
10
17
  } else if (absNum >= 1e6) {
11
- unit = 'M'
18
+ unit = units.M
12
19
  num = num / 1e6
13
20
  } else if (absNum >= 1e3) {
14
- unit = 'K'
21
+ unit = units.K
15
22
  num = num / 1e3
16
23
  }
17
24
 
@@ -106,15 +113,22 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
106
113
  }
107
114
 
108
115
  if (axis === 'right') {
116
+ let rightRoundToPlace
117
+ if (addColRoundTo !== undefined) {
118
+ rightRoundToPlace = Number(addColRoundTo) || 0
119
+ } else {
120
+ rightRoundToPlace = rightRoundTo ? Number(rightRoundTo) : 0
121
+ }
122
+
109
123
  if (preserveOriginalDecimals) {
110
124
  stringFormattingOptions = {
111
- useGrouping: config.dataFormat.rightCommas ? true : false
125
+ useGrouping: addColCommas !== undefined ? addColCommas : config.dataFormat.rightCommas ? true : false
112
126
  }
113
127
  } else {
114
128
  stringFormattingOptions = {
115
- useGrouping: config.dataFormat.rightCommas ? true : false,
116
- minimumFractionDigits: rightRoundTo ? Number(rightRoundTo) : 0,
117
- maximumFractionDigits: rightRoundTo ? Number(rightRoundTo) : 0
129
+ useGrouping: addColCommas !== undefined ? addColCommas : config.dataFormat.rightCommas ? true : false,
130
+ minimumFractionDigits: rightRoundToPlace,
131
+ maximumFractionDigits: rightRoundToPlace
118
132
  }
119
133
  }
120
134
  }
@@ -163,20 +177,20 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
163
177
  ) {
164
178
  num = num // eslint-disable-line
165
179
  } else {
166
- num = num.toLocaleString('en-US', stringFormattingOptions)
180
+ num = num.toLocaleString(config.locale, stringFormattingOptions)
167
181
  }
168
182
  let result = ''
169
183
 
170
184
  if (abbreviated && axis === 'left' && shouldAbbreviate) {
171
- num = abbreviateNumber(parseFloat(num))
185
+ num = abbreviateNumber(parseFloat(num), config?.locale)
172
186
  }
173
187
 
174
188
  if (bottomAbbreviated && axis === 'bottom' && shouldAbbreviate) {
175
- num = abbreviateNumber(parseFloat(num))
189
+ num = abbreviateNumber(parseFloat(num), config?.locale)
176
190
  }
177
191
 
178
192
  if (!inlineLabel || addColPrefix) {
179
- if (addColPrefix !== undefined && axis === 'left') {
193
+ if (addColPrefix !== undefined && ['left', 'right'].includes(axis)) {
180
194
  result = addColPrefix + result
181
195
  } else {
182
196
  if (prefix && axis === 'left') {
@@ -184,7 +198,7 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
184
198
  }
185
199
  }
186
200
 
187
- if (rightPrefix && axis === 'right') {
201
+ if (rightPrefix && axis === 'right' && addColPrefix === undefined) {
188
202
  result += rightPrefix
189
203
  }
190
204
 
@@ -196,7 +210,7 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
196
210
  result += num
197
211
 
198
212
  if (!inlineLabel || addColSuffix) {
199
- if (addColSuffix !== undefined && axis === 'left') {
213
+ if (addColSuffix !== undefined && ['left', 'right'].includes(axis)) {
200
214
  result += addColSuffix
201
215
  } else {
202
216
  if (suffix && axis === 'left') {
@@ -204,7 +218,7 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
204
218
  }
205
219
  }
206
220
 
207
- if (rightSuffix && axis === 'right') {
221
+ if (rightSuffix && axis === 'right' && addColSuffix === undefined) {
208
222
  result += rightSuffix
209
223
  }
210
224
 
@@ -22,6 +22,8 @@ import update_4_25_10 from './ver/4.25.10'
22
22
  import update_4_25_11 from './ver/4.25.11'
23
23
  import update_4_26_1 from './ver/4.26.1'
24
24
  import update_4_26_2 from './ver/4.26.2'
25
+ import update_4_26_3 from './ver/4.26.3'
26
+ import update_4_26_4 from './ver/4.26.4'
25
27
 
26
28
  import { stripDataFromConfig, restoreDataToConfig } from './configDataHelpers'
27
29
 
@@ -50,7 +52,9 @@ export const coveUpdateWorker = (config, multiDashboardVersion?) => {
50
52
  ['4.25.10', update_4_25_10, true],
51
53
  ['4.25.11', update_4_25_11, true],
52
54
  ['4.26.1', update_4_26_1],
53
- ['4.26.2', update_4_26_2]
55
+ ['4.26.2', update_4_26_2],
56
+ ['4.26.3', update_4_26_3],
57
+ ['4.26.4', update_4_26_4]
54
58
  ]
55
59
 
56
60
  const initialVersion = genConfig.version
@@ -58,16 +62,16 @@ export const coveUpdateWorker = (config, multiDashboardVersion?) => {
58
62
  versions.forEach(([version, updateFunction, alwaysRun]: [string, UpdateFunction, boolean?]) => {
59
63
  if (versionNeedsUpdate(initialVersion, version) || alwaysRun) {
60
64
  genConfig = updateFunction(genConfig)
61
-
62
- if (genConfig.multiDashboards) {
63
- genConfig.multiDashboards.forEach((dashboard, index) => {
64
- dashboard.type = 'dashboard'
65
- genConfig.multiDashboards[index] = coveUpdateWorker(dashboard, genConfig.version)
66
- })
67
- }
68
65
  }
69
66
  })
70
67
 
68
+ if (genConfig.multiDashboards) {
69
+ genConfig.multiDashboards.forEach((dashboard, index) => {
70
+ dashboard.type = 'dashboard'
71
+ genConfig.multiDashboards[index] = coveUpdateWorker(dashboard, initialVersion)
72
+ })
73
+ }
74
+
71
75
  // Always set to the latest version
72
76
  genConfig.version = versions[versions.length - 1][0]
73
77
 
@@ -46,7 +46,7 @@ export const displayDataAsText = (value: string | number, columnName, state: Map
46
46
  if (columnObj.hasOwnProperty('useCommas') && columnObj.useCommas === true) {
47
47
  // Formats number to string with commas - allows up to 5 decimal places, if rounding is not defined.
48
48
  // Otherwise, uses the rounding value set at 'columnObj.roundToPlace'.
49
- formattedValue = Number(value).toLocaleString('en-US', {
49
+ formattedValue = Number(value).toLocaleString(state.locale, {
50
50
  style: 'decimal',
51
51
  minimumFractionDigits: hasDecimal ? decimalPoint : 0,
52
52
  maximumFractionDigits: hasDecimal ? decimalPoint : 5
@@ -131,13 +131,24 @@ observer.observe(document.body, {
131
131
 
132
132
  // Listen for resize messages from embedded visualizations
133
133
  window.addEventListener('message', function (event) {
134
+ const type = event?.data?.type
135
+
136
+ // Ignore unrelated cross-window traffic (extensions, frameworks, etc.).
137
+ if (typeof type !== 'string' || !type.startsWith('cove:')) {
138
+ return
139
+ }
140
+
134
141
  if (!isValidMessageOrigin(event.origin)) {
135
- console.warn('Embed Helper: Rejected message from invalid origin:', event.origin)
142
+ console.warn('CDC COVE Embed Helper: Rejected COVE message from invalid origin', {
143
+ origin: event.origin,
144
+ type,
145
+ id: event?.data?.id
146
+ })
136
147
  return
137
148
  }
138
149
 
139
150
  // Handle resize events
140
- if (event.data && event.data.type === 'cove:resize') {
151
+ if (type === 'cove:resize') {
141
152
  const iframeId = event.data.id
142
153
  const height = event.data.height
143
154
 
@@ -15,7 +15,3 @@ export {
15
15
  } from './filterUtils'
16
16
 
17
17
  export { getConfigUrlParam, isValidConfigUrl, isValidMessageOrigin } from './urlValidation'
18
-
19
- // Import embed helper to initialize iframe resizing
20
- // This runs immediately when imported
21
- import './embedHelper.js'
@@ -0,0 +1,20 @@
1
+ type DataWithMetadata = {
2
+ data: any[]
3
+ dataMetadata: Record<string, string>
4
+ }
5
+
6
+ /**
7
+ * Separates a data file response into the data array and any sibling metadata fields.
8
+ * Supports both plain arrays (current format) and the wrapper format:
9
+ * { "lastUpdated": "...", "source": "...", "data": [...] }
10
+ */
11
+ export function extractDataAndMetadata(response: any): DataWithMetadata {
12
+ if (Array.isArray(response)) {
13
+ return { data: response, dataMetadata: {} }
14
+ }
15
+ if (response && typeof response === 'object' && Array.isArray(response.data)) {
16
+ const { data, ...dataMetadata } = response
17
+ return { data, dataMetadata }
18
+ }
19
+ return { data: response, dataMetadata: {} }
20
+ }
@@ -1,7 +1,10 @@
1
1
  import { isSolrCsv } from '@cdc/core/helpers/isSolr'
2
2
  import { parseCsvWithQuotes } from '@cdc/core/helpers/parseCsvWithQuotes'
3
+ import { extractDataAndMetadata } from '@cdc/core/helpers/extractDataAndMetadata'
3
4
 
4
- export default function fetchRemoteData(_url) {
5
+ type FetchResult = { data: any[]; dataMetadata: Record<string, string> }
6
+
7
+ export default function fetchRemoteData(_url): Promise<FetchResult> {
5
8
  let url = new URL(_url, window.location.origin)
6
9
  const path = url.pathname
7
10
  const regex = /(?:\.([^.]+))?$/
@@ -11,17 +14,20 @@ export default function fetchRemoteData(_url) {
11
14
  return fetch(url.href)
12
15
  .then(response => response.text())
13
16
  .then(responseText => {
14
- return parseCsvWithQuotes(responseText, {
17
+ const data = parseCsvWithQuotes(responseText, {
15
18
  delimiter: '|',
16
19
  dynamicTyping: false
17
20
  })
21
+ return { data, dataMetadata: {} }
18
22
  })
19
23
  } else {
20
- return fetch(isSolrCsv(_url) ? _url : url.href).then(response => {
21
- if (!response.ok) {
22
- return Promise.reject(response)
23
- }
24
- return response.json()
25
- })
24
+ return fetch(isSolrCsv(_url) ? _url : url.href)
25
+ .then(response => {
26
+ if (!response.ok) {
27
+ return Promise.reject(response)
28
+ }
29
+ return response.json()
30
+ })
31
+ .then(json => extractDataAndMetadata(json))
26
32
  }
27
33
  }
@@ -14,6 +14,15 @@ export const labelHash = {
14
14
  'filtered-text': 'Filtered Text',
15
15
  dashboardFilters: 'Filter Dropdowns',
16
16
  Sankey: 'Sankey Chart',
17
+ Combo: 'Combo',
18
+ 'Scatter Plot': 'Scatter Plot',
19
+ 'Area Chart': 'Area Chart',
20
+ 'Deviation Bar': 'Deviation Bar',
21
+ 'Paired Bar': 'Paired Bar',
22
+ 'Box Plot': 'Box Plot',
23
+ 'Forest Plot': 'Forest Plot',
24
+ Forecasting: 'Forecasting',
25
+ 'Warming Stripes': 'Warming Stripes',
17
26
  table: 'Table',
18
27
  'data-table': 'Data Table',
19
28
  chart: 'Chart',
@@ -26,13 +26,23 @@ export const processMarkupVariables = (
26
26
  filters?: VizFilter[]
27
27
  datasets?: Datasets
28
28
  configDataKey?: string // Add support for widget's assigned dataset
29
+ locale?: string
30
+ dataMetadata?: Record<string, string>
29
31
  } = {}
30
32
  ): {
31
33
  processedContent: string
32
34
  shouldHideSection: boolean
33
35
  shouldShowNoDataMessage: boolean
34
36
  } => {
35
- const { isEditor = false, showNoDataMessage = false, allowHideSection = false, filters = [], datasets, configDataKey } = options
37
+ const {
38
+ isEditor = false,
39
+ showNoDataMessage = false,
40
+ allowHideSection = false,
41
+ filters = [],
42
+ datasets,
43
+ configDataKey,
44
+ locale = 'en-US'
45
+ } = options
36
46
 
37
47
  // Helper function to get data for a specific variable
38
48
  const getDataForVariable = (variable: MarkupVariable): any[] => {
@@ -65,41 +75,51 @@ export const processMarkupVariables = (
65
75
  const workingVariable = markupVariables.find(variable => variable.tag === variableTag)
66
76
  if (!workingVariable) return variableTag
67
77
 
68
- // Validate that columnName exists
69
- if (!workingVariable.columnName) {
70
- console.warn(`Markup variable ${variableTag} has no columnName specified`)
71
- return variableTag
78
+ // Resolve the data source for this variable. Metadata-sourced variables
79
+ // (metadataKey) pull a single value from the data file's top-level fields,
80
+ // while column-sourced variables (columnName) pull from dataset rows.
81
+ // Both paths produce a `conditionFilteredData` array so the downstream
82
+ // extraction, formatting (addCommas), dedup, and hide-check logic is shared.
83
+ let effectiveColumnName: string
84
+ let conditionFilteredData: any[]
85
+
86
+ if (workingVariable.metadataKey) {
87
+ // Metadata path: synthesize a single-row array from the file-level metadata
88
+ // so it flows through the same formatting pipeline as column values.
89
+ effectiveColumnName = workingVariable.metadataKey
90
+ const metaValue = options.dataMetadata?.[effectiveColumnName] ?? ''
91
+ conditionFilteredData = metaValue ? [{ [effectiveColumnName]: metaValue }] : []
92
+ } else {
93
+ // Column path: pull values from the dataset, applying filters and conditions.
94
+ if (!workingVariable.columnName) {
95
+ console.warn(`Markup variable ${variableTag} has no columnName specified`)
96
+ return variableTag
97
+ }
98
+ effectiveColumnName = workingVariable.columnName
99
+
100
+ let variableData = getDataForVariable(workingVariable)
101
+ if (filters && filters.length > 0) {
102
+ variableData = filterVizData(filters, variableData)
103
+ }
104
+
105
+ conditionFilteredData =
106
+ workingVariable.conditions.length === 0
107
+ ? variableData
108
+ : filterDataByConditions(variableData, [...workingVariable.conditions])
72
109
  }
73
110
 
74
- // Get the appropriate dataset for this variable
75
- let variableData = getDataForVariable(workingVariable)
76
-
77
- // Apply global filters if present
78
- if (filters && filters.length > 0) {
79
- variableData = filterVizData(filters, variableData)
80
- }
81
-
82
- // Filter data with error handling (apply conditions on top of already filtered data)
83
- const conditionFilteredData =
84
- workingVariable.conditions.length === 0
85
- ? variableData
86
- : filterDataByConditions(variableData, [...workingVariable.conditions])
87
-
88
111
  // Extract values with error handling
89
112
  const variableValues: string[] = _.uniq(
90
113
  (conditionFilteredData || []).map(dataObject => {
91
114
  try {
92
- const dataObjectValue = dataObject[workingVariable.columnName]
115
+ const dataObjectValue = dataObject[effectiveColumnName]
93
116
 
94
- // Handle undefined column
95
117
  if (dataObjectValue === undefined && isEditor) {
96
- console.warn(
97
- `Column "${workingVariable.columnName}" not found in data for variable ${variableTag}`
98
- )
118
+ console.warn(`Column "${effectiveColumnName}" not found in data for variable ${variableTag}`)
99
119
  }
100
120
 
101
121
  return workingVariable.addCommas && !isNaN(parseFloat(dataObjectValue))
102
- ? parseFloat(dataObjectValue).toLocaleString('en-US', { useGrouping: true })
122
+ ? parseFloat(dataObjectValue).toLocaleString(locale, { useGrouping: true })
103
123
  : String(dataObjectValue || '')
104
124
  } catch (error) {
105
125
  console.error(`Error processing data value for ${variableTag}:`, error)
@@ -153,13 +173,12 @@ const filterDataByConditions = (data: any[], conditions: MarkupCondition[]): any
153
173
  const [currentCondition, ...remainingConditions] = conditions
154
174
  const { columnName, isOrIsNotEqualTo, value } = currentCondition
155
175
 
156
- const filteredData = isOrIsNotEqualTo === 'is'
157
- ? data.filter(dataObject => String(dataObject[columnName]) === value)
158
- : data.filter(dataObject => String(dataObject[columnName]) !== value)
176
+ const filteredData =
177
+ isOrIsNotEqualTo === 'is'
178
+ ? data.filter(dataObject => String(dataObject[columnName]) === value)
179
+ : data.filter(dataObject => String(dataObject[columnName]) !== value)
159
180
 
160
- return remainingConditions.length === 0
161
- ? filteredData
162
- : filterDataByConditions(filteredData, remainingConditions)
181
+ return remainingConditions.length === 0 ? filteredData : filterDataByConditions(filteredData, remainingConditions)
163
182
  }
164
183
 
165
184
  /**
@@ -180,10 +199,7 @@ const formatValuesList = (values: string[], conjunction: string): string[] => {
180
199
  /**
181
200
  * Validates markup variables configuration
182
201
  */
183
- export const validateMarkupVariables = (
184
- markupVariables: MarkupVariable[],
185
- data: any[]
186
- ): string[] => {
202
+ export const validateMarkupVariables = (markupVariables: MarkupVariable[], data: any[]): string[] => {
187
203
  const errors: string[] = []
188
204
 
189
205
  if (!markupVariables || !Array.isArray(markupVariables)) {
@@ -197,9 +213,9 @@ export const validateMarkupVariables = (
197
213
  errors.push(`Variable ${index + 1}: Tag must be in format {{tagName}}`)
198
214
  }
199
215
 
200
- if (!variable.columnName) {
216
+ if (!variable.metadataKey && !variable.columnName) {
201
217
  errors.push(`Variable ${index + 1}: Column name is required`)
202
- } else if (availableColumns.length > 0 && !availableColumns.includes(variable.columnName)) {
218
+ } else if (variable.columnName && availableColumns.length > 0 && !availableColumns.includes(variable.columnName)) {
203
219
  errors.push(`Variable ${index + 1}: Column "${variable.columnName}" not found in data`)
204
220
  }
205
221
 
@@ -207,7 +223,9 @@ export const validateMarkupVariables = (
207
223
  if (!condition.columnName) {
208
224
  errors.push(`Variable ${index + 1}, Condition ${condIndex + 1}: Column name is required`)
209
225
  } else if (availableColumns.length > 0 && !availableColumns.includes(condition.columnName)) {
210
- errors.push(`Variable ${index + 1}, Condition ${condIndex + 1}: Column "${condition.columnName}" not found in data`)
226
+ errors.push(
227
+ `Variable ${index + 1}, Condition ${condIndex + 1}: Column "${condition.columnName}" not found in data`
228
+ )
211
229
  }
212
230
 
213
231
  if (!condition.value) {