@cdc/core 4.24.9-1 → 4.24.10
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/assets/icon-combo-chart.svg +1 -0
- package/assets/icon-epi-chart.svg +27 -0
- package/components/BlurStrokeText.tsx +44 -0
- package/components/DataTable/DataTable.tsx +51 -35
- package/components/DataTable/DataTableStandAlone.tsx +37 -6
- package/components/DataTable/components/ChartHeader.tsx +31 -26
- package/components/DataTable/components/MapHeader.tsx +19 -10
- package/components/DataTable/components/SortIcon/index.tsx +25 -0
- package/components/DataTable/components/SortIcon/sort-icon.css +21 -0
- package/{styles/_data-table.scss → components/DataTable/data-table.css} +268 -298
- package/components/DataTable/helpers/customSort.ts +11 -15
- package/components/DataTable/helpers/getDataSeriesColumns.ts +5 -1
- package/components/DataTable/helpers/getNewSortBy.ts +35 -0
- package/components/DataTable/helpers/tests/customSort.test.ts +52 -0
- package/components/DataTable/helpers/tests/getNewSortBy.test.ts +26 -0
- package/components/EditorPanel/DataTableEditor.tsx +132 -26
- package/components/EditorPanel/Inputs.tsx +42 -4
- package/components/EditorPanel/VizFilterEditor/NestedDropdownEditor.tsx +25 -7
- package/components/EditorPanel/VizFilterEditor/VizFilterEditor.tsx +1 -1
- package/components/{Filters.tsx → Filters/Filters.tsx} +48 -39
- package/components/Filters/helpers/applyQueuedActive.ts +12 -0
- package/components/Filters/helpers/getNestedOptions.ts +29 -0
- package/components/Filters/helpers/handleSorting.ts +18 -0
- package/components/Filters/helpers/tests/applyQueuedActive.test.ts +49 -0
- package/components/Filters/helpers/tests/getNestedOptions.test.ts +93 -0
- package/components/Filters/helpers/tests/handleSorting.test.ts +68 -0
- package/components/Filters/index.ts +5 -0
- package/components/Layout/components/Sidebar/components/sidebar.styles.scss +1 -3
- package/components/Legend/Legend.Gradient.tsx +2 -9
- package/components/Loader/Loader.tsx +33 -0
- package/components/Loader/index.ts +1 -0
- package/components/Loader/loader.styles.css +13 -0
- package/components/NestedDropdown/NestedDropdown.tsx +90 -48
- package/components/NestedDropdown/nestedDropdownHelpers.ts +34 -0
- package/components/NestedDropdown/nesteddropdown.styles.css +7 -0
- package/components/NestedDropdown/tests/nestedDropdownHelpers.test.ts +58 -0
- package/components/Table/components/GroupRow.tsx +1 -1
- package/components/_stories/BlurStrokeTest.stories.tsx +27 -0
- package/components/_stories/NestedDropdown.stories.tsx +22 -46
- package/components/_stories/_mocks/nested-dropdown.json +30 -0
- package/components/_stories/styles.scss +0 -1
- package/components/ui/{Tooltip.jsx → Tooltip.tsx} +38 -14
- package/data/colorPalettes.js +107 -10
- package/dist/cove-main.css +6114 -0
- package/dist/cove-main.css.map +1 -0
- package/helpers/addValuesToFilters.ts +8 -3
- package/helpers/cove/number.js +46 -25
- package/helpers/coveUpdateWorker.ts +6 -7
- package/helpers/pivotData.ts +52 -11
- package/helpers/tests/gatherQueryParams.test.ts +13 -1
- package/helpers/tests/pivotData.test.ts +50 -0
- package/helpers/ver/4.24.10.ts +47 -0
- package/helpers/ver/4.24.9.ts +0 -3
- package/helpers/ver/tests/4.24.10.test.ts +45 -0
- package/helpers/viewports.ts +9 -0
- package/package.json +7 -3
- package/styles/_button-section.scss +4 -0
- package/styles/_global-variables.scss +19 -1
- package/styles/_global.scss +1 -8
- package/styles/_reset.scss +2 -15
- package/styles/base.scss +0 -1
- package/styles/cove-main.scss +6 -0
- package/styles/filters.scss +6 -4
- package/styles/v2/components/ui/tooltip.scss +42 -40
- package/styles/v2/layout/_component.scss +0 -6
- package/styles/v2/layout/index.scss +0 -1
- package/types/Axis.ts +2 -0
- package/types/General.ts +1 -0
- package/types/Table.ts +2 -1
- package/types/Visualization.ts +13 -1
- package/types/VizFilter.ts +2 -1
- package/components/DataTable/components/Icons.tsx +0 -10
- package/components/_stories/EditorPanel.stories.tsx +0 -54
- package/components/_stories/Layout.Debug.stories.tsx +0 -91
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../styles/_reset.scss","../styles/_global-variables.scss","../styles/filters.scss","../styles/base.scss","../styles/_variables.scss","../styles/_global.scss","../styles/_button-section.scss","../styles/_series-list.scss","../styles/_typography.scss","../styles/heading-colors.scss","../styles/v2/themes/_color-definitions.scss","../styles/v2/components/ui/tooltip.scss","../styles/v2/utils/_align.scss","../styles/v2/utils/_animations.scss","../styles/v2/utils/_grid.scss","../styles/v2/utils/_spacers.scss","../styles/v2/main.scss","../styles/v2/base/_general.scss","../styles/v2/base/_heading.scss","../styles/v2/base/_file-selector.scss","../styles/v2/layout/_alert.scss","../styles/v2/layout/_component.scss","../styles/v2/layout/_progression.scss","../styles/v2/utils/_mixins.scss","../styles/v2/layout/_tooltip.scss","../styles/v2/utils/_breakpoints.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAEE;;AAGF;EACE;;;AAIF;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;AAAA;AAAA;AAAA;AAAA;EAwEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAEE;AAAA;EAEA;AAEA;AAAA;EAEA;AAEA;AAAA;EAEA;AAEA;AAAA;EAEA;;AAGF;AACE;EACA;;AAGF;AACE;AAAA;EAEA;;;ACzEF;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;;;AAON;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;IACE;;;ACxFF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;;AACA;EACE;;;AAON;EAGE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIA;EACE;EACA;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;;ACnEN;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA,OCnEU;EDoEV;EACA;EAcA;EACA;EACA;;AAhDE;EAkCA;;AEvEJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EAIA;EACA;;AAJA;EAHF;IAII;;;AAIF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGJ;EACE,kBD3EE;EC4EF;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAGJ;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA,YDrJG;ECsJH;EACA;EACA;EACA;;AAEF;EACE,YD3JW;EC4JX;EACA;;AAEF;EACE;;AAEF;EACE;EACA,ODrKG;ECsKH;;AACA;EACE;;AAGJ;EACE;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;ACjMF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;EACA;EAUA;;AATA;EACE;;AAEF;EAC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F;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;;AC9KR;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;;;AChJJ;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;;;AC1BJ;EACE;EACA;;;AA5BE;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAQF;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;;;AAeJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;ACXF;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;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E;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AO7KR;EACE;EACA;EACA;EACA;EACA;EACA,OP6KU;EO5KV;EACA;;AAEA;EACE;EACA;EACA;EACA,OPyKS;;AOtKX;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AC9BJ;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AClBF;EACE;EACA;EACA;EACA,OTqLW;ESpLX;EACA;EACA;EACA;;AAEA;EACE,kBT4KW;;ASzKb;EACE;EACA,OTsKG;ESrKH;;AHRF;AAAA;EAEE;;AAWF;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;;AIxDJ;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,YXyKW;;AWrKf;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;ETqBA","file":"cove-main.css"}
|
|
@@ -72,9 +72,9 @@ const handleVizParents = (filter: VizFilter, data: any[] | MapData, filtersLooku
|
|
|
72
72
|
let filteredData = Array.isArray(data) ? data : Object.values(data).flat(1)
|
|
73
73
|
filter.parents.forEach(parentKey => {
|
|
74
74
|
const parent = filtersLookup[parentKey]
|
|
75
|
-
if (parent
|
|
75
|
+
if (parent?.filterStyle === 'nested-dropdown') {
|
|
76
76
|
const { subGrouping } = parent as VizFilter
|
|
77
|
-
if (subGrouping
|
|
77
|
+
if (subGrouping?.active) {
|
|
78
78
|
filteredData = filteredData.filter(d => {
|
|
79
79
|
const matchingParentGroup = parent.active == d[parent.columnName]
|
|
80
80
|
const matchingSubGroup = subGrouping.active == d[subGrouping.columnName]
|
|
@@ -122,7 +122,12 @@ export const addValuesToFilters = (filters: VizFilter[], data: any[] | MapData):
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
if (filterCopy.subGrouping) {
|
|
125
|
-
const
|
|
125
|
+
const groupName = filterCopy.active as string
|
|
126
|
+
const subGroupingFilter = {
|
|
127
|
+
...filterCopy.subGrouping,
|
|
128
|
+
values: filterCopy.subGrouping.valuesLookup[groupName].values
|
|
129
|
+
}
|
|
130
|
+
const queryStringFilterValue = getQueryStringFilterValue(subGroupingFilter)
|
|
126
131
|
const groupActive = filterCopy.active || filterCopy.values[0]
|
|
127
132
|
const defaultValue = filterCopy.subGrouping.valuesLookup[groupActive as string].values[0]
|
|
128
133
|
// if the value doesn't exist in the subGrouping then return the default
|
package/helpers/cove/number.js
CHANGED
|
@@ -30,10 +30,24 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
|
|
|
30
30
|
if (isNegative) {
|
|
31
31
|
num = Math.abs(num)
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
// destructure dataFormat values
|
|
35
35
|
let {
|
|
36
|
-
dataFormat: {
|
|
36
|
+
dataFormat: {
|
|
37
|
+
commas,
|
|
38
|
+
abbreviated,
|
|
39
|
+
roundTo,
|
|
40
|
+
prefix,
|
|
41
|
+
suffix,
|
|
42
|
+
rightRoundTo,
|
|
43
|
+
bottomRoundTo,
|
|
44
|
+
rightPrefix,
|
|
45
|
+
rightSuffix,
|
|
46
|
+
bottomPrefix,
|
|
47
|
+
bottomSuffix,
|
|
48
|
+
bottomAbbreviated,
|
|
49
|
+
onlyShowTopPrefixSuffix
|
|
50
|
+
}
|
|
37
51
|
} = config
|
|
38
52
|
|
|
39
53
|
// destructure Additional Col dataformat values
|
|
@@ -108,7 +122,10 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
|
|
|
108
122
|
// Edge case for small numbers with decimals
|
|
109
123
|
// - if roundTo undefined which means it is blank, then do not round
|
|
110
124
|
|
|
111
|
-
if (
|
|
125
|
+
if (
|
|
126
|
+
(axis === 'left' && commas && abbreviated && shouldAbbreviate) ||
|
|
127
|
+
(axis === 'bottom' && commas && abbreviated && shouldAbbreviate)
|
|
128
|
+
) {
|
|
112
129
|
num = num // eslint-disable-line
|
|
113
130
|
} else {
|
|
114
131
|
num = num.toLocaleString('en-US', stringFormattingOptions)
|
|
@@ -123,38 +140,42 @@ const formatNumber = (num, axis, shouldAbbreviate = false, config = null, addCol
|
|
|
123
140
|
num = abbreviateNumber(parseFloat(num))
|
|
124
141
|
}
|
|
125
142
|
|
|
126
|
-
if (
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
143
|
+
if (!onlyShowTopPrefixSuffix) {
|
|
144
|
+
if (addColPrefix !== undefined && axis === 'left') {
|
|
145
|
+
result = addColPrefix + result
|
|
146
|
+
} else {
|
|
147
|
+
if (prefix && axis === 'left') {
|
|
148
|
+
result = prefix + result
|
|
149
|
+
}
|
|
131
150
|
}
|
|
132
|
-
}
|
|
133
151
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
152
|
+
if (rightPrefix && axis === 'right') {
|
|
153
|
+
result += rightPrefix
|
|
154
|
+
}
|
|
137
155
|
|
|
138
|
-
|
|
139
|
-
|
|
156
|
+
if (bottomPrefix && axis === 'bottom') {
|
|
157
|
+
result += bottomPrefix
|
|
158
|
+
}
|
|
140
159
|
}
|
|
141
160
|
|
|
142
161
|
result += num
|
|
143
162
|
|
|
144
|
-
if (
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
163
|
+
if (!onlyShowTopPrefixSuffix) {
|
|
164
|
+
if (addColSuffix !== undefined && axis === 'left') {
|
|
165
|
+
result += addColSuffix
|
|
166
|
+
} else {
|
|
167
|
+
if (suffix && axis === 'left') {
|
|
168
|
+
result += suffix
|
|
169
|
+
}
|
|
149
170
|
}
|
|
150
|
-
}
|
|
151
171
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
172
|
+
if (rightSuffix && axis === 'right') {
|
|
173
|
+
result += rightSuffix
|
|
174
|
+
}
|
|
155
175
|
|
|
156
|
-
|
|
157
|
-
|
|
176
|
+
if (bottomSuffix && axis === 'bottom') {
|
|
177
|
+
result += bottomSuffix
|
|
178
|
+
}
|
|
158
179
|
}
|
|
159
180
|
if (isNegative) {
|
|
160
181
|
result = '-' + result
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
// If config key names or position in the config have been changed with a version change,
|
|
2
2
|
// process those config entries and format old values into new
|
|
3
|
+
|
|
4
|
+
import { UpdateFunction } from 'json-edit-react'
|
|
5
|
+
|
|
3
6
|
import update_4_24_4 from './ver/4.24.4'
|
|
4
7
|
import update_4_24_3 from './ver/4.24.3'
|
|
5
8
|
import update_4_24_5 from './ver/4.24.5'
|
|
6
9
|
import update_4_24_7 from './ver/4.24.7'
|
|
7
10
|
import update_4_24_9 from './ver/4.24.9'
|
|
8
11
|
import versionNeedsUpdate from './ver/versionNeedsUpdate'
|
|
9
|
-
import
|
|
12
|
+
import update_4_24_10 from './ver/4.24.10'
|
|
10
13
|
|
|
11
14
|
export const coveUpdateWorker = config => {
|
|
12
|
-
if (config.multiDashboards) {
|
|
13
|
-
config.multiDashboards.forEach((dashboard, index) => {
|
|
14
|
-
config.multiDashboards[index] = coveUpdateWorker(dashboard)
|
|
15
|
-
})
|
|
16
|
-
}
|
|
17
15
|
let genConfig = config
|
|
18
16
|
|
|
19
17
|
const versions = [
|
|
@@ -21,7 +19,8 @@ export const coveUpdateWorker = config => {
|
|
|
21
19
|
['4.24.4', update_4_24_4],
|
|
22
20
|
['4.24.5', update_4_24_5],
|
|
23
21
|
['4.24.7', update_4_24_7, true],
|
|
24
|
-
['4.24.9', update_4_24_9]
|
|
22
|
+
['4.24.9', update_4_24_9],
|
|
23
|
+
['4.24.10', update_4_24_10]
|
|
25
24
|
]
|
|
26
25
|
|
|
27
26
|
versions.forEach(([version, updateFunction, alwaysRun]: [string, UpdateFunction, boolean?]) => {
|
package/helpers/pivotData.ts
CHANGED
|
@@ -1,18 +1,59 @@
|
|
|
1
1
|
import _ from 'lodash'
|
|
2
2
|
|
|
3
|
+
const getKeyFromRow = (row: Record<string, any>, columns: string[]) => {
|
|
4
|
+
return columns.map(column => row[column] || '').join(':')
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const getColumns = (data: Record<string, any>[], columnName: string, pivot: string[]) => {
|
|
8
|
+
const excludedColumns = [columnName, ...pivot]
|
|
9
|
+
return _.uniq(data.flatMap(row => Object.keys(row))).filter(col => !excludedColumns.includes(col))
|
|
10
|
+
}
|
|
11
|
+
|
|
3
12
|
/** columnName is the column you'd like to select data values from to show as column headers.
|
|
4
13
|
* Pivot is the value column who's data you'd like to show under those respective columns*/
|
|
5
|
-
export const pivotData = (data: Record<string, any>[], columnName: string, pivot: string) => {
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
export const pivotData = (data: Record<string, any>[], columnName: string, pivot: string[]): Record<string, any>[] => {
|
|
15
|
+
const columns = getColumns(data, columnName, pivot)
|
|
16
|
+
const newColumns = {}
|
|
17
|
+
// there should be one row for every aggregate row
|
|
18
|
+
const aggregateRows = data.reduce((acc, row) => {
|
|
19
|
+
const key = getKeyFromRow(row, columns)
|
|
20
|
+
if (!acc[key]) {
|
|
21
|
+
acc[key] = {}
|
|
22
|
+
}
|
|
23
|
+
return acc
|
|
24
|
+
}, {})
|
|
25
|
+
|
|
26
|
+
data.forEach(row => {
|
|
27
|
+
const key = getKeyFromRow(row, columns)
|
|
28
|
+
if (pivot.length > 1) {
|
|
29
|
+
pivot.forEach(pivotColumn => {
|
|
30
|
+
const toAdd = _.omit(row, [columnName, ...pivot])
|
|
31
|
+
aggregateRows[key][pivotColumn] = {
|
|
32
|
+
...aggregateRows[key][pivotColumn],
|
|
33
|
+
...toAdd,
|
|
34
|
+
[row[columnName]]: row[pivotColumn]
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
} else {
|
|
38
|
+
const _pivot = pivot[0]
|
|
39
|
+
const toAdd = _.omit(row, [columnName, ...pivot])
|
|
40
|
+
aggregateRows[key] = {
|
|
41
|
+
...aggregateRows[key],
|
|
42
|
+
...toAdd,
|
|
43
|
+
[row[columnName]]: row[_pivot]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
newColumns[row[columnName]] = ''
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
if (pivot.length > 1) {
|
|
51
|
+
return Object.keys(aggregateRows).flatMap(aggregateKey => {
|
|
52
|
+
return Object.keys(aggregateRows[aggregateKey]).map(pivotColumn => ({
|
|
53
|
+
pivotColumn,
|
|
54
|
+
...aggregateRows[aggregateKey][pivotColumn]
|
|
55
|
+
}))
|
|
15
56
|
})
|
|
16
57
|
}
|
|
17
|
-
return
|
|
58
|
+
return Object.values(aggregateRows).map(row => ({ ...newColumns, ...row }))
|
|
18
59
|
}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest'
|
|
2
1
|
import { gatherQueryParams } from '../gatherQueryParams'
|
|
2
|
+
import { expect, describe, it } from 'vitest'
|
|
3
|
+
|
|
4
|
+
describe('invertValue', () => {
|
|
5
|
+
it('should return the inverted value if xScale has an invert function', () => {
|
|
6
|
+
const _params = [
|
|
7
|
+
{ key: 'YearQuarter', value: '2020-Q3' },
|
|
8
|
+
{ key: 'abc', value: 'def' }
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
const result = gatherQueryParams('', _params)
|
|
12
|
+
expect(result).toBe('?YearQuarter="2020-Q3"&abc="def"')
|
|
13
|
+
})
|
|
14
|
+
})
|
|
3
15
|
|
|
4
16
|
describe('gatherQueryParams', () => {
|
|
5
17
|
it('should return a string of query params', () => {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import { pivotData } from '../pivotData'
|
|
4
|
+
|
|
5
|
+
describe('pivotData', () => {
|
|
6
|
+
const data = [
|
|
7
|
+
{ name: 'John', age: 25, city: 'New York' },
|
|
8
|
+
{ name: 'Jane', age: 30, city: 'San Francisco' },
|
|
9
|
+
{ name: 'Jane', age: 27, city: 'New York' },
|
|
10
|
+
{ name: 'John', age: 31, city: 'San Francisco' }
|
|
11
|
+
]
|
|
12
|
+
it('should pivot data correctly', () => {
|
|
13
|
+
const result = pivotData(data, 'name', ['age'])
|
|
14
|
+
expect(result).toEqual([
|
|
15
|
+
{ city: 'New York', John: 25, Jane: 27 },
|
|
16
|
+
{ city: 'San Francisco', Jane: 30, John: 31 }
|
|
17
|
+
])
|
|
18
|
+
})
|
|
19
|
+
it('should fill in columns with no data with empty strings', () => {
|
|
20
|
+
const data2 = [data[0], data[1]]
|
|
21
|
+
const result = pivotData(data2, 'name', ['age'])
|
|
22
|
+
|
|
23
|
+
expect(result).toEqual([
|
|
24
|
+
{ city: 'New York', John: 25, Jane: '' },
|
|
25
|
+
{ city: 'San Francisco', Jane: 30, John: '' }
|
|
26
|
+
])
|
|
27
|
+
|
|
28
|
+
const data3 = [data[0], data[1], data[2]]
|
|
29
|
+
const result2 = pivotData(data3, 'name', ['age'])
|
|
30
|
+
expect(result2).toEqual([
|
|
31
|
+
{ city: 'New York', John: 25, Jane: 27 },
|
|
32
|
+
{ city: 'San Francisco', Jane: 30, John: '' }
|
|
33
|
+
])
|
|
34
|
+
})
|
|
35
|
+
it('should be able to pivot more than one column', () => {
|
|
36
|
+
const data = [
|
|
37
|
+
{ name: 'John', age: 25, color: 'blue', city: 'New York' },
|
|
38
|
+
{ name: 'Jane', age: 27, color: 'red', city: 'New York' },
|
|
39
|
+
{ name: 'Jane', age: 30, color: 'yellow', city: 'San Francisco' },
|
|
40
|
+
{ name: 'John', age: 31, color: 'green', city: 'San Francisco' }
|
|
41
|
+
]
|
|
42
|
+
const result = pivotData(data, 'name', ['age', 'color'])
|
|
43
|
+
expect(result).toEqual([
|
|
44
|
+
{ city: 'New York', John: 25, Jane: 27, pivotColumn: 'age' },
|
|
45
|
+
{ city: 'New York', John: 'blue', Jane: 'red', pivotColumn: 'color' },
|
|
46
|
+
{ city: 'San Francisco', Jane: 30, John: 31, pivotColumn: 'age' },
|
|
47
|
+
{ city: 'San Francisco', Jane: 'yellow', John: 'green', pivotColumn: 'color' }
|
|
48
|
+
])
|
|
49
|
+
})
|
|
50
|
+
})
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import _ from 'lodash'
|
|
2
|
+
|
|
3
|
+
export const removeMultiSelectPropFromMultiselect = newConfig => {
|
|
4
|
+
if (newConfig.type === 'dashboard') {
|
|
5
|
+
newConfig.dashboard?.sharedFilters.forEach((filter, index) => {
|
|
6
|
+
if (filter.multiSelect) {
|
|
7
|
+
newConfig.dashboard.sharedFilters[index].filterStyle = 'multi-select'
|
|
8
|
+
delete newConfig.dashboard.sharedFilters[index].multiSelect
|
|
9
|
+
}
|
|
10
|
+
})
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const changePivotColumns = newConfig => {
|
|
15
|
+
if (newConfig.type === 'dashboard') {
|
|
16
|
+
Object.keys(newConfig.visualizations).forEach(key => {
|
|
17
|
+
const currentViz = newConfig.visualizations[key]
|
|
18
|
+
if (currentViz.table?.pivot?.valueColumn) {
|
|
19
|
+
newConfig.visualizations[key].table.pivot.valueColumns = [currentViz.table.pivot.valueColumn]
|
|
20
|
+
delete newConfig.visualizations[key].table.pivot.valueColumn
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
if (newConfig.table?.pivot?.valueColumn) {
|
|
25
|
+
newConfig.table.pivot.valueColumns = [newConfig.table.pivot.valueColumn]
|
|
26
|
+
delete newConfig.table.pivot.valueColumn
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return newConfig
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const setXAxisLabelOffsetToZero = newConfig => {
|
|
33
|
+
if (!newConfig.xAxis?.labelOffset) return
|
|
34
|
+
newConfig.xAxis.labelOffset = 0
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const update_4_24_10 = config => {
|
|
38
|
+
const ver = '4.24.10'
|
|
39
|
+
const newConfig = _.cloneDeep(config)
|
|
40
|
+
setXAxisLabelOffsetToZero(newConfig)
|
|
41
|
+
changePivotColumns(newConfig)
|
|
42
|
+
removeMultiSelectPropFromMultiselect(newConfig)
|
|
43
|
+
newConfig.version = ver
|
|
44
|
+
return newConfig
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default update_4_24_10
|
package/helpers/ver/4.24.9.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Legend } from './../../types/Legend'
|
|
2
1
|
import _ from 'lodash'
|
|
3
2
|
import { AnyVisualization } from '../../types/Visualization'
|
|
4
3
|
import { VizFilter } from '../../types/VizFilter'
|
|
5
|
-
import { AnyVisualization } from '../../types/Visualization'
|
|
6
|
-
import { VizFilter } from '../../types/VizFilter'
|
|
7
4
|
import versionNeedsUpdate from './versionNeedsUpdate'
|
|
8
5
|
|
|
9
6
|
/**
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ChartConfig } from '@cdc/chart/src/types/ChartConfig'
|
|
2
|
+
import { changePivotColumns, removeMultiSelectPropFromMultiselect, setXAxisLabelOffsetToZero } from '../4.24.10'
|
|
3
|
+
import { expect, describe, it } from 'vitest'
|
|
4
|
+
|
|
5
|
+
describe('removeMultiSelectPropFromMultiSelect() ', () => {
|
|
6
|
+
it('replaces multiSelect boolean with filterStyle = multiSelect', () => {
|
|
7
|
+
const mockConfig = { type: 'dashboard', dashboard: { sharedFilters: [{ multiSelect: true }] } } as any
|
|
8
|
+
removeMultiSelectPropFromMultiselect(mockConfig)
|
|
9
|
+
expect(mockConfig.dashboard.sharedFilters[0].filterStyle).toBe('multi-select')
|
|
10
|
+
expect(mockConfig.dashboard.sharedFilters[0].multiSelect).toBeUndefined()
|
|
11
|
+
})
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
describe('changePivotColumns() ', () => {
|
|
15
|
+
it('works with dashboards', () => {
|
|
16
|
+
const config = {
|
|
17
|
+
type: 'dashboard',
|
|
18
|
+
visualizations: { a: { table: { pivot: { valueColumn: 'value' } } } }
|
|
19
|
+
}
|
|
20
|
+
const expectedConfig = {
|
|
21
|
+
type: 'dashboard',
|
|
22
|
+
visualizations: { a: { table: { pivot: { valueColumns: ['value'] } } } }
|
|
23
|
+
}
|
|
24
|
+
expect(changePivotColumns(config)).toEqual(expectedConfig)
|
|
25
|
+
})
|
|
26
|
+
it('works with regularVisualizations', () => {
|
|
27
|
+
const config = {
|
|
28
|
+
type: 'chart',
|
|
29
|
+
table: { pivot: { valueColumn: 'value' } }
|
|
30
|
+
}
|
|
31
|
+
const expectedConfig = {
|
|
32
|
+
type: 'chart',
|
|
33
|
+
table: { pivot: { valueColumns: ['value'] } }
|
|
34
|
+
}
|
|
35
|
+
expect(changePivotColumns(config)).toEqual(expectedConfig)
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
describe('setXAxisLabelOffsetToZero(config) ', () => {
|
|
40
|
+
it('sets the x-axis label offset to 0', () => {
|
|
41
|
+
const mockConfig = { xAxis: { labelOffset: 5 } } as Partial<ChartConfig>
|
|
42
|
+
setXAxisLabelOffsetToZero(mockConfig)
|
|
43
|
+
expect(mockConfig.xAxis?.labelOffset).toBe(0)
|
|
44
|
+
})
|
|
45
|
+
})
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
function isLegendWrapViewport(currentViewport) {
|
|
2
|
+
return ['xs', 'xxs'].includes(currentViewport)
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
function isMobileHeightViewport(currentViewport) {
|
|
6
|
+
return ['xs', 'xxs'].includes(currentViewport)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { isLegendWrapViewport, isMobileHeightViewport }
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdc/core",
|
|
3
|
-
"version": "4.24.
|
|
3
|
+
"version": "4.24.10",
|
|
4
4
|
"description": "Core components, styles, hooks, and helpers, for the CDC Open Visualization project",
|
|
5
5
|
"moduleName": "CdcCore",
|
|
6
6
|
"main": "dist/cdccore",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"test": "vitest run --environment jsdom --reporter verbose",
|
|
9
9
|
"test-watch": "vitest watch --reporter verbose",
|
|
10
|
-
"test-watch:ui": "vitest --ui"
|
|
10
|
+
"test-watch:ui": "vitest --ui",
|
|
11
|
+
"build": "sass styles/cove-main.scss dist/cove-main.css"
|
|
11
12
|
},
|
|
12
13
|
"repository": {
|
|
13
14
|
"type": "git",
|
|
@@ -33,5 +34,8 @@
|
|
|
33
34
|
"react": "^18.2.0",
|
|
34
35
|
"react-dom": "^18.2.0"
|
|
35
36
|
},
|
|
36
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "a4d88d1bc91f596e1b0307d8e25c57ad8c668b75",
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"sass": "^1.79.4"
|
|
40
|
+
}
|
|
37
41
|
}
|
|
@@ -72,4 +72,22 @@ $colors: (
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
@include theme();
|
|
75
|
+
@include theme();
|
|
76
|
+
|
|
77
|
+
:root {
|
|
78
|
+
--editorWidth: 350px;
|
|
79
|
+
--breakpoint-xs: 480px;
|
|
80
|
+
--breakpoint-sm: 768px;
|
|
81
|
+
--breakpoint-md: 960px;
|
|
82
|
+
--breakpoint-lg: 1170px;
|
|
83
|
+
--breakpoint-xl: 1280px;
|
|
84
|
+
--font-size: 17px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
@media (max-width: 768px) {
|
|
89
|
+
:root {
|
|
90
|
+
--font-size: 0.9em;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
package/styles/_global.scss
CHANGED
|
@@ -2,10 +2,6 @@ strong {
|
|
|
2
2
|
font-weight: 600;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
.subtext {
|
|
6
|
-
margin-top: 1em;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
5
|
.error-box {
|
|
10
6
|
background: #ffc2c2;
|
|
11
7
|
display: flex;
|
|
@@ -183,9 +179,6 @@ select {
|
|
|
183
179
|
section.introText {
|
|
184
180
|
width: 100%;
|
|
185
181
|
margin-bottom: 25px;
|
|
186
|
-
&.legend_visible_top {
|
|
187
|
-
margin-bottom: 0;
|
|
188
|
-
}
|
|
189
182
|
}
|
|
190
183
|
|
|
191
184
|
section.footnotes {
|
|
@@ -195,7 +188,7 @@ section.footnotes {
|
|
|
195
188
|
}
|
|
196
189
|
|
|
197
190
|
.cdc-chart-inner-container .subtext {
|
|
198
|
-
|
|
191
|
+
margin-top: 20px;
|
|
199
192
|
}
|
|
200
193
|
|
|
201
194
|
.margin-left-href {
|
package/styles/_reset.scss
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
.cdc-open-viz-module {
|
|
2
2
|
margin: 0;
|
|
3
|
-
font: 1em/1.6 system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Droid Sans,
|
|
3
|
+
font: 1em/1.6 system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Droid Sans,
|
|
4
|
+
Helvetica Neue, Fira Sans, sans-serif;
|
|
4
5
|
font-weight: 400;
|
|
5
6
|
font-style: normal;
|
|
6
7
|
text-rendering: optimizeLegibility;
|
|
@@ -69,14 +70,7 @@
|
|
|
69
70
|
form,
|
|
70
71
|
label,
|
|
71
72
|
legend,
|
|
72
|
-
table,
|
|
73
73
|
caption,
|
|
74
|
-
tbody,
|
|
75
|
-
tfoot,
|
|
76
|
-
thead,
|
|
77
|
-
tr,
|
|
78
|
-
th,
|
|
79
|
-
td,
|
|
80
74
|
article,
|
|
81
75
|
aside,
|
|
82
76
|
canvas,
|
|
@@ -146,11 +140,4 @@
|
|
|
146
140
|
half as far down as the superscript moved up */
|
|
147
141
|
bottom: -0.25em;
|
|
148
142
|
}
|
|
149
|
-
|
|
150
|
-
ul > li:first-child {
|
|
151
|
-
margin-top: auto;
|
|
152
|
-
}
|
|
153
|
-
ul > li:last-of-type {
|
|
154
|
-
margin-bottom: auto;
|
|
155
|
-
}
|
|
156
143
|
}
|
package/styles/base.scss
CHANGED
package/styles/filters.scss
CHANGED
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
gap: 7px 15px;
|
|
6
6
|
margin-top: 15px;
|
|
7
7
|
margin-bottom: 15px;
|
|
8
|
+
label {
|
|
9
|
+
display: inherit;
|
|
10
|
+
margin-bottom: 5px;
|
|
11
|
+
font-weight: 600;
|
|
12
|
+
font-size: 16px;
|
|
13
|
+
}
|
|
8
14
|
}
|
|
9
15
|
|
|
10
16
|
&__intro-text {
|
|
@@ -28,10 +34,6 @@ section.filters-section {
|
|
|
28
34
|
border-radius: 10px;
|
|
29
35
|
margin-bottom: 10px;
|
|
30
36
|
display: block !important;
|
|
31
|
-
|
|
32
|
-
&.legend_visible_top {
|
|
33
|
-
margin-bottom: 0px;
|
|
34
|
-
}
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
div.single-filters {
|